lkml.org 
[lkml]   [2020]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 011/133] drm/i915/gt: Initialize reserved and unspecified MOCS indices
    Date
    From: Ayaz A Siddiqui <ayaz.siddiqui@intel.com>

    commit 849c0fe9e831dcebea1b46e2237e13f274a8756a upstream.

    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@chris-wilson.co.uk>
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Tomasz Lis <tomasz.lis@intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Francisco Jerez <currojerez@riseup.net>
    Cc: Mathew Alwin <alwin.mathew@intel.com>
    Cc: Mcguire Russell W <russell.w.mcguire@intel.com>
    Cc: Spruit Neil R <neil.r.spruit@intel.com>
    Cc: Zhou Cheng <cheng.zhou@intel.com>
    Cc: Benemelis Mike G <mike.g.benemelis@intel.com>

    Signed-off-by: Ayaz A Siddiqui <ayaz.siddiqui@intel.com>
    Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Acked-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200729102539.134731-2-ayaz.siddiqui@intel.com
    Cc: stable@vger.kernel.org
    (cherry picked from commit 4d8a5cfe3b131f60903949f998c5961cc922e0b0)
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/gpu/drm/i915/gt/intel_mocs.c | 16 +++++++++++-----
    1 file changed, 11 insertions(+), 5 deletions(-)

    --- 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
    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 */

    \
     
     \ /
      Last update: 2020-11-09 14:16    [W:4.338 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site