[Intel-gfx] [PATCH v4 1/1] drm/i915/gt: Initialize reserved and unspecified MOCS indices
Joonas Lahtinen
joonas.lahtinen at linux.intel.com
Mon Oct 12 14:53:05 UTC 2020
Quoting Ayaz A Siddiqui (2020-07-29 13:25:39)
> In order to avoid functional breakage of mis-programmed applications that
> have grown to depend on unused MOCS entries, we are programming
> those entries to be equal to fully cached ("L3 + LLC") entry.
>
> These reserved and unspecified entries should not be used as they may be
> changed to less performant variants with better coherency in the future
> if more entries are needed.
>
> V2: As suggested by Lucas De Marchi to utilise __init_mocs_table for
> programming default value, setting I915_MOCS_PTE index of tgl_mocs_table
> with desired value.
>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Lucas De Marchi <lucas.demarchi at intel.com>
> Cc: Tomasz Lis <tomasz.lis at intel.com>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Cc: Francisco Jerez <currojerez at riseup.net>
> Cc: Mathew Alwin <alwin.mathew at intel.com>
> Cc: Mcguire Russell W <russell.w.mcguire at intel.com>
> Cc: Spruit Neil R <neil.r.spruit at intel.com>
> Cc: Zhou Cheng <cheng.zhou at intel.com>
> Cc: Benemelis Mike G <mike.g.benemelis at intel.com>
>
> Signed-off-by: Ayaz A Siddiqui <ayaz.siddiqui at intel.com>
> Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>
Acked-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Regards, Joonas
> ---
> drivers/gpu/drm/i915/gt/intel_mocs.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_mocs.c b/drivers/gpu/drm/i915/gt/intel_mocs.c
> index 632e08a4592b..f5dde723f612 100644
> --- a/drivers/gpu/drm/i915/gt/intel_mocs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_mocs.c
> @@ -234,11 +234,17 @@ static const struct drm_i915_mocs_entry broxton_mocs_table[] = {
> L3_1_UC)
>
> static const struct drm_i915_mocs_entry tgl_mocs_table[] = {
> - /* Base - Error (Reserved for Non-Use) */
> - MOCS_ENTRY(0, 0x0, 0x0),
> - /* Base - Reserved */
> - MOCS_ENTRY(1, 0x0, 0x0),
>
> + /* NOTE:
> + * Reserved and unspecified MOCS indices have been set to (L3 + LCC).
> + * These reserved entries should never be used, they may be changed
> + * to low performant variants with better coherency in the future if
> + * more entries are needed. We are programming index I915_MOCS_PTE(1)
> + * only, __init_mocs_table() take care to program unused index with
> + * this entry.
> + */
> + MOCS_ENTRY(1, LE_3_WB | LE_TC_1_LLC | LE_LRUM(3),
> + L3_3_WB),
> GEN11_MOCS_ENTRIES,
>
> /* Implicitly enable L1 - HDC:L1 + L3 + LLC */
> @@ -265,6 +271,7 @@ static const struct drm_i915_mocs_entry tgl_mocs_table[] = {
> MOCS_ENTRY(61,
> LE_1_UC | LE_TC_1_LLC,
> L3_3_WB),
> +
> };
>
> static const struct drm_i915_mocs_entry icl_mocs_table[] = {
> --
> 2.26.2
>
More information about the Intel-gfx
mailing list