Skip to content
Permalink
Andi-Shyti/Mor…
Switch branches/tags

Commits on Nov 21, 2021

  1. drm/i915: Use to_root_gt() to refer to the root tile

    Starting from a patch from Matt to_root_gt() returns the
    reference to the root tile in order to abstract the root tile
    from th callers.
    
    Being the root tile identified as tile '0', embed the id in the
    name so that i915->gt becomes i915->gt0.
    
    The renaming has been mostly done with the following command and
    some manual fixes.
    
    sed -i -e sed -i 's/\&i915\->gt\./\&to_root_gt(i915)\->/g' \
    	-e sed -i 's/\&dev_priv\->gt\./\&to_root_gt(dev_priv)\->/g' \
    	-e 's/\&dev_priv\->gt/to_root_gt(dev_priv)/g' \
    	-e 's/\&i915\->gt/to_root_gt(i915)/g' \
    	-e 's/dev_priv\->gt\./to_root_gt(dev_priv)\->/g' \
    	-e 's/i915\->gt\./to_root_gt(i915)\->/g' \
    	`find drivers/gpu/drm/i915/ -name *.[ch]`
    
    Two small changes have been added to this commit:
    
     1. intel_reset_gpu() in intel_display.c retreives the gt from
        to_scanout_gt()
     2. in set_scheduler_caps() the gt is taken from the engine and
        not from i915.
    
    Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Andi Shyti authored and intel-lab-lkp committed Nov 21, 2021
  2. drm/i915: Store backpointer to GT in uncore

    We now support a per-gt uncore, yet we're not able to infer which GT
    we're operating upon.  Let's store a backpointer for now.
    
    Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
    Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
    Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    mwiniars authored and intel-lab-lkp committed Nov 21, 2021

Commits on Nov 19, 2021

  1. Merge remote-tracking branch 'drm-intel/drm-intel-gt-next' into drm-tip

    # Conflicts:
    #	drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
    matt-auld committed Nov 19, 2021
  2. Merge remote-tracking branch 'drm-intel/drm-intel-next' into drm-tip

    # Conflicts:
    #	drivers/gpu/drm/i915/display/intel_display.c
    #	drivers/gpu/drm/i915/display/intel_dp.c
    #	drivers/gpu/drm/i915/gt/intel_ggtt.c
    matt-auld committed Nov 19, 2021
  3. Merge remote-tracking branch 'drm-misc/drm-misc-next' into drm-tip

    # Conflicts:
    #	drivers/gpu/drm/scheduler/sched_main.c
    matt-auld committed Nov 19, 2021
  4. drm/i915: Drain the ttm delayed workqueue too

    Lets be thorough here. Users of the TTM backend would likely expect this
    behaviour.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211117142024.1043017-6-matthew.auld@intel.com
    mlankhorst authored and matt-auld committed Nov 19, 2021
  5. drm/i915: Remove resv from i915_vma

    It's just an alias to vma->obj->base.resv, no need to duplicate it.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211117142024.1043017-5-matthew.auld@intel.com
    mlankhorst authored and matt-auld committed Nov 19, 2021
  6. drm/i915: vma is always backed by an object.

    vma->obj and vma->resv are now never NULL, and some checks can be removed.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211117142024.1043017-4-matthew.auld@intel.com
    mlankhorst authored and matt-auld committed Nov 19, 2021
  7. drm/i915: Create a full object for mock_ring, v2.

    This allows us to finally get rid of all the assumptions that vma->obj
    is NULL.
    
    Changes since v1:
    - Ensure the mock_ring vma is pinned to prevent a fault.
    - Pin it high to avoid failure in evict_for_vma selftest.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211117142024.1043017-3-matthew.auld@intel.com
    mlankhorst authored and matt-auld committed Nov 19, 2021
  8. drm/i915: Create a dummy object for gen6 ppgtt

    We currently have to special case vma->obj being NULL because
    of gen6 ppgtt and mock_engine. Fix gen6 ppgtt, so we may soon
    be able to remove a few checks. As the object only exists as
    a fake object pointing to ggtt, we have no backing storage,
    so no real object is created. It just has to look real enough.
    
    Also kill pin_mutex, it's not compatible with ww locking,
    and we can use the vm lock instead.
    
    v2:
      - Drop IS_SHRINKABLE and shorten overly long line
    v3:
      - Checkpatch fix for alignment
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211117142024.1043017-2-matthew.auld@intel.com
    mlankhorst authored and matt-auld committed Nov 19, 2021
  9. drm/i915: move the pre_pin earlier

    In intel_context_do_pin_ww, when calling into the pre_pin hook(which is
    passed the ww context) it could in theory return -EDEADLK(which is very
    likely with debug kernels), once we start adding more ww locking in there,
    like in the next patch. If so then we need to be mindful of having to
    restart the do_pin at this point.
    
    If this is the kernel_context, or some other early in-kernel context
    where we have yet to setup the default_state, then we always inhibit the
    context restore, and instead rely on the delayed active_release to set
    the CONTEXT_VALID_BIT for us(if we even care), which should indicate
    that we have context switched away, and that our newly saved context
    state should now be valid. However, since we currently grab the active
    reference before the potential ww dance, we can end up setting the
    CONTEXT_VALID_BIT much too early, if we need to backoff, and then upon
    re-trying the do_pin, we could potentially cause the hardware to
    incorrectly load some garbage context state when later context switching
    to that context, but at the very least this will trigger the
    GEM_BUG_ON() in __engine_unpark. For now let's just move any ww dance
    stuff prior to arming the active reference.
    
    For normal user contexts this shouldn't be a concern, since we should
    already have the default_state ready when initialising the lrc state,
    and so there should be no concern with active_release somehow
    prematurely setting the CONTEXT_VALID_BIT.
    
    v2(Thomas):
      - Also re-order the onion unwind
    
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211117142024.1043017-1-matthew.auld@intel.com
    matt-auld committed Nov 19, 2021
  10. drm/i915/dg2: Implement WM0 cursor WA for DG2

    Bug in the register unit which results in WM1 register
    used when only WM0 is enabled on cursor.
    Software workaround is when only WM0 enabled on cursor,
    copy contents of CUR_WM_0[30:0] (exclude the enable bit)
    into CUR_WM_1[30:0].
    
    v2:  - s/dev_priv/i915/ (Ville Syrjälä)
         - Removed unneeded brackets (Ville Syrjälä)
    
    HSDES: 14012656716
    
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211118093907.18510-1-stanislav.lisovskiy@intel.com
    StanFox1984 committed Nov 19, 2021
  11. drm/i915/pxp: fix includes for headers in include/drm

    Use <> not "" for including headers from include/drm.
    
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211116135813.19806-1-jani.nikula@intel.com
    jnikula committed Nov 19, 2021
  12. drm/i915: drop intel_display.h include from intel_display_power.h

    Use forward declarations instead.
    
    Cc: Imre Deak <imre.deak@intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: Imre Deak <imre.deak@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211116171434.20516-5-jani.nikula@intel.com
    jnikula committed Nov 19, 2021
  13. drm/i915: move structs from intel_display_power.h to .c

    Anything internal to the implementation should be hidden away. Move the
    intel_display_power structs to the .c file.
    
    Cc: Imre Deak <imre.deak@intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: Imre Deak <imre.deak@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211116171434.20516-4-jani.nikula@intel.com
    jnikula committed Nov 19, 2021
  14. drm/i915/debugfs: move debug printing to intel_display_power.c

    The debugfs should have no special privileges to look into the
    implementation guts. Move the actual debug printing of power domains to
    intel_display_power.c.
    
    Cc: Imre Deak <imre.deak@intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: Imre Deak <imre.deak@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211116171434.20516-3-jani.nikula@intel.com
    jnikula committed Nov 19, 2021
  15. drm/i915: drop intel_display.h include from intel_dpll_mgr.h

    Use forward declarations instead.
    
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: Imre Deak <imre.deak@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211116171434.20516-2-jani.nikula@intel.com
    jnikula committed Nov 19, 2021
  16. drm/i915: drop intel_display.h include from intel_ddi.h

    Use forward declarations instead.
    
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: Imre Deak <imre.deak@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211116171434.20516-1-jani.nikula@intel.com
    jnikula committed Nov 19, 2021
  17. drm/aspeed: Fix vga_pw sysfs output

    Before the drm driver had support for this file there was a driver that
    exposed the contents of the vga password register to userspace. It would
    present the entire register instead of interpreting it.
    
    The drm implementation chose to mask of the lower bit, without explaining
    why. This breaks the existing userspace, which is looking for 0xa8 in
    the lower byte.
    
    Change our implementation to expose the entire register.
    
    Fixes: 696029e ("drm/aspeed: Add sysfs for output settings")
    Reported-by: Oskar Senft <osk@google.com>
    Signed-off-by: Joel Stanley <joel@jms.id.au>
    Reviewed-by: Jeremy Kerr <jk@codeconstruct.com.au>
    Tested-by: Oskar Senft <osk@google.com>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211117010145.297253-1-joel@jms.id.au
    shenki authored and mripard committed Nov 19, 2021
  18. drm/vc4: fix error code in vc4_create_object()

    The ->gem_create_object() functions are supposed to return NULL if there
    is an error.  None of the callers expect error pointers so returing one
    will lead to an Oops.  See drm_gem_vram_create(), for example.
    
    Fixes: c826a6e ("drm/vc4: Add a BO cache.")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211118111416.GC1147@kili
    error27 authored and mripard committed Nov 19, 2021
  19. drm/i915: Clean up CRC register defines

    Use REG_BIT() & co. for the CRC registers.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211112193813.8224-8-ville.syrjala@linux.intel.com
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    vsyrjala committed Nov 19, 2021
  20. drm/i915: Clean up DPINVGTT/VLV_DPFLIPSTAT bits

    Use REG_BIT() & co. for DPINVTT/VLV_DPFLIPSTAT bits.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211112193813.8224-9-ville.syrjala@linux.intel.com
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    vsyrjala committed Nov 19, 2021
  21. drm/i915: Clean up FPGA_DBG/CLAIM_ER bits

    Use REG_BIT() & co. for FPGA_DBG/CLAIM_ER bits.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211112193813.8224-10-ville.syrjala@linux.intel.com
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    vsyrjala committed Nov 19, 2021
  22. Merge tag 'amd-drm-fixes-5.16-2021-11-17' of https://gitlab.freedeskt…

    …op.org/agd5f/linux into drm-fixes
    
    amd-drm-fixes-5.16-2021-11-17:
    
    amdgpu:
    - Better debugging info for SMU msgs
    - Better error reporting when adding IP blocks
    - Fix UVD powergating regression on CZ
    - Clock reporting fix for navi1x
    - OLED panel backlight fix
    - Fix scaling on VGA/DVI for non-DC display code
    - Fix GLFCLK handling for RGP on some APUs
    - fix potential memory leak
    
    amdkfd:
    - GPU reset fix
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    From: Alex Deucher <alexander.deucher@amd.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211118041638.20831-1-alexander.deucher@amd.com
    airlied committed Nov 19, 2021
  23. Merge tag 'drm-intel-fixes-2021-11-18' of git://anongit.freedesktop.o…

    …rg/drm/drm-intel into drm-fixes
    
    One quick fix for return error handling, one fix for ADL-P display
    and one revert targeting stable 5.4, for TGL's DSI display clocks
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    
    From: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/YZbUPIHpR1S3JZ2b@intel.com
    airlied committed Nov 19, 2021
  24. Merge tag 'drm-misc-fixes-2021-11-18' of git://anongit.freedesktop.or…

    …g/drm/drm-misc into drm-fixes
    
    A infoframe corruption fix for nouveau, a wrong free function usage fix
    for GEM CMA helpers, a Kconfig dependency fix for sun4i, two fixes for
    drm/scheduler refcounting and a probing fix for efifb.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    
    From: Maxime Ripard <maxime@cerno.tech>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211118075447.5rn6zaulnrequqnm@gilmour
    airlied committed Nov 19, 2021

Commits on Nov 18, 2021

  1. drm/i915/: Extend VRR platform support to Gen 11

    VRR is supported on Gen 11 HW , hence extend the support
    in the driver to enable this for Gen 11.
    
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211116231209.28621-1-manasi.d.navare@intel.com
    mdnavare committed Nov 18, 2021
  2. drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks

    The nvkm_acr_lsfw_add() function never returns NULL.  It returns error
    pointers on error.
    
    Fixes: 22dcda4 ("drm/nouveau/acr: implement new subdev to replace "secure boot"")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Karol Herbst <kherbst@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211118111314.GB1147@kili
    error27 authored and karolherbst committed Nov 18, 2021
  3. drm/nouveau: recognise GA106

    I've got HW now, appears to work as expected so far.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Cc: <stable@vger.kernel.org> # 5.14+
    Reviewed-by: Karol Herbst <kherbst@redhat.com>
    Signed-off-by: Karol Herbst <kherbst@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211118030413.2610-1-skeggsb@gmail.com
    skeggsb authored and karolherbst committed Nov 18, 2021
  4. drm/i915: Disable DSB usage for now

    Turns out the DSB has trouble correctly loading the gamma LUT.
    From a cursory look maybe like some entries do not load
    properly, or they get loaded with some gibberish. Unfortunately
    our current kms_color/etc. tests do not seem to catch this.
    
    I had a brief look at the generated DSB batch and it looked
    correct. Tried a few quick tricks like writing the index
    register twice/etc. but didn't see any improvement.
    Also tried switching to the 10bit gamma mode in case
    there is yet another issue with the multi-segment mode, but
    even the 10bit mode was showing issues.
    
    Switching to mmio fixes all of it. I suppose one theory is that
    maybe the DSB bangs on the LUT too quickly and it can't keep up
    and instead some data either gets dropped or corrupted. To confirm
    that someone should try to slow down the DSB's progress a bit.
    Another thought was that maybe the LUT has crappy dual porting
    and you get contention if you try to load it during active
    scanout. But why then would the mmio path work, unless it's
    just sufficiently slow?
    
    Whatever the case, this is currently busted so let's disable
    it until we get to the root of the problem.
    
    Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3916
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211014181856.17581-2-ville.syrjala@linux.intel.com
    Reviewed-by: Uma Shankar <uma.shankar@intel.com>
    vsyrjala committed Nov 18, 2021
  5. drm/i915: Declare .(de)gamma_lut_tests for icl+

    All interpolated gamma modes including the icl+ multi segment
    mode require non-decreasing entries for the interpolation to
    work correctly. For some reason we're forgetting to declare
    that for icl+. Let us do so.
    
    References: https://gitlab.freedesktop.org/drm/intel/-/issues/3916
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211014181856.17581-1-ville.syrjala@linux.intel.com
    Reviewed-by: Uma Shankar <uma.shankar@intel.com>
    vsyrjala committed Nov 18, 2021
  6. drm/i915: Fix framestart_delay commens in VRR code

    Since I originally wrote these comments we decided to change our
    definition of framestart_delay from 0-3 to 1-4. Adjust the comments
    to match that new convention. The actual code was adjusted already.
    
    Cc: Manasi Navare <manasi.d.navare@intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211117183103.27418-3-ville.syrjala@linux.intel.com
    Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
    vsyrjala committed Nov 18, 2021
Older