/* * Check that the GT is a graphics GT and has an IP version within the * specified range (inclusive).
*/ #define IS_GFX_GT_IP_RANGE(gt, from, until) ( \
BUILD_BUG_ON_ZERO((from) < IP_VER(2, 0)) + \
BUILD_BUG_ON_ZERO((until) < (from)) + \
((gt)->type != GT_MEDIA && \
GRAPHICS_VER_FULL((gt)->i915) >= (from) && \
GRAPHICS_VER_FULL((gt)->i915) <= (until)))
/* * Check that the GT is a media GT and has an IP version within the * specified range (inclusive). * * Only usable on platforms with a standalone media design (i.e., IP version 13 * and higher).
*/ #define IS_MEDIA_GT_IP_RANGE(gt, from, until) ( \
BUILD_BUG_ON_ZERO((from) < IP_VER(13, 0)) + \
BUILD_BUG_ON_ZERO((until) < (from)) + \
((gt) && (gt)->type == GT_MEDIA && \
MEDIA_VER_FULL((gt)->i915) >= (from) && \
MEDIA_VER_FULL((gt)->i915) <= (until)))
/* * Check that the GT is a graphics GT with a specific IP version and has * a stepping in the range [from, until). The lower stepping bound is * inclusive, the upper bound is exclusive. The most common use-case of this * macro is for checking bounds for workarounds, which usually have a stepping * ("from") at which the hardware issue is first present and another stepping * ("until") at which a hardware fix is present and the software workaround is * no longer necessary. E.g., * * IS_GFX_GT_IP_STEP(gt, IP_VER(12, 70), STEP_A0, STEP_B0) * IS_GFX_GT_IP_STEP(gt, IP_VER(12, 71), STEP_B1, STEP_FOREVER) * * "STEP_FOREVER" can be passed as "until" for workarounds that have no upper * stepping bound for the specified IP version.
*/ #define IS_GFX_GT_IP_STEP(gt, ipver, from, until) ( \
BUILD_BUG_ON_ZERO((until) <= (from)) + \
(IS_GFX_GT_IP_RANGE((gt), (ipver), (ipver)) && \
IS_GRAPHICS_STEP((gt)->i915, (from), (until))))
/* * Check that the GT is a media GT with a specific IP version and has * a stepping in the range [from, until). The lower stepping bound is * inclusive, the upper bound is exclusive. The most common use-case of this * macro is for checking bounds for workarounds, which usually have a stepping * ("from") at which the hardware issue is first present and another stepping * ("until") at which a hardware fix is present and the software workaround is * no longer necessary. "STEP_FOREVER" can be passed as "until" for * workarounds that have no upper stepping bound for the specified IP version. * * This macro may only be used to match on platforms that have a standalone * media design (i.e., media version 13 or higher).
*/ #define IS_MEDIA_GT_IP_STEP(gt, ipver, from, until) ( \
BUILD_BUG_ON_ZERO((until) <= (from)) + \
(IS_MEDIA_GT_IP_RANGE((gt), (ipver), (ipver)) && \
IS_MEDIA_STEP((gt)->i915, (from), (until))))
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.