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 <[email protected]>
> Cc: Lucas De Marchi <[email protected]>
> Cc: Tomasz Lis <[email protected]>
> Cc: Matt Roper <[email protected]>
> Cc: Joonas Lahtinen <[email protected]>
> Cc: Francisco Jerez <[email protected]>
> Cc: Mathew Alwin <[email protected]>
> Cc: Mcguire Russell W <[email protected]>
> Cc: Spruit Neil R <[email protected]>
> Cc: Zhou Cheng <[email protected]>
> Cc: Benemelis Mike G <[email protected]>
>
> Signed-off-by: Ayaz A Siddiqui <[email protected]>
> Reviewed-by: Lucas De Marchi <[email protected]>
Acked-by: Joonas Lahtinen <[email protected]>
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
>
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx