[Intel-gfx] [PATCH v8 3/7] drm/i915/skl: Rework MOCS tables to keep common part in a define

Chris Wilson chris at chris-wilson.co.uk
Tue Jan 22 14:30:47 UTC 2019


Quoting Lucas De Marchi (2019-01-22 05:12:23)
> From: Tomasz Lis <tomasz.lis at intel.com>
> 
> The MOCS tables are going to be very similar across platforms.
> 
> To reduce the amount of copied code, this patch rips the common part and
> puts it into a definition valid for all gen9 platforms.
> 
> v2: Made defines for or-ing flags. Renamed macros from MOCS_TABLE
>     to MOCS_ENTRIES. (Joonas)
> v3 (Lucas):
>   - Fix indentation
>   - Rebase on rework done by additional patch
>   - Remove define for or-ing flags as it made the table more complex by
>     requiring zeroed values to be passed
>   - Do not embed comma in the macro, so to treat that just as another
>     item and please source code formatting tools
> 
> Signed-off-by: Tomasz Lis <tomasz.lis at intel.com>
> Suggested-by: Lucas De Marchi <lucas.demarchi at intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_mocs.c | 57 ++++++++++++++-----------------
>  1 file changed, 25 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_mocs.c b/drivers/gpu/drm/i915/intel_mocs.c
> index 4ea80bb7dcc8..c7a2a8d81d90 100644
> --- a/drivers/gpu/drm/i915/intel_mocs.c
> +++ b/drivers/gpu/drm/i915/intel_mocs.c
> @@ -93,46 +93,39 @@ struct drm_i915_mocs_table {
>   *       may only be updated incrementally by adding entries at the
>   *       end.
>   */
> +
> +#define GEN9_MOCS_ENTRIES \
> +       [I915_MOCS_UNCACHED] = { \
> +               /* 0x00000009 */ \
> +               .control_value = LE_1_UC | LE_TC_2_LLC_ELLC, \
> +               /* 0x0010 */ \
> +               .l3cc_value = L3_1_UC, \
> +       }, \
> +       [I915_MOCS_PTE] = { \
> +               /* 0x00000038 */ \
> +               .control_value = LE_0_PAGETABLE | LE_TC_2_LLC_ELLC | LE_LRUM(3), \
> +               /* 0x0030 */ \
> +               .l3cc_value = L3_3_WB, \
> +       }
> +
>  static const struct drm_i915_mocs_entry skylake_mocs_table[] = {
> -       [I915_MOCS_UNCACHED] = {
> -         /* 0x00000009 */
> -         .control_value = LE_1_UC | LE_TC_2_LLC_ELLC,
> -         /* 0x0010 */
> -         .l3cc_value =    L3_1_UC,
> -       },
> -       [I915_MOCS_PTE] = {
> -         /* 0x00000038 */
> -         .control_value = LE_0_PAGETABLE | LE_TC_2_LLC_ELLC | LE_LRUM(3),
> -         /* 0x0030 */
> -         .l3cc_value =    L3_3_WB,
> -       },
> +       GEN9_MOCS_ENTRIES,
>         [I915_MOCS_CACHED] = {
> -         /* 0x0000003b */
> -         .control_value = LE_3_WB | LE_TC_2_LLC_ELLC | LE_LRUM(3),
> -         /* 0x0030 */
> -         .l3cc_value =   L3_3_WB,
> +               /* 0x0000003b */

You scared me with the indentation change at the same time.

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris


More information about the Intel-gfx mailing list