1. 23 Nov, 2022 1 commit
    • Matt Roper's avatar
      drm/i915/gt: Manage uncore->lock while waiting on MCR register · 41f425ad
      Matt Roper authored
      The GT MCR code currently relies on uncore->lock to avoid race
      conditions on the steering control register during MCR operations.  The
      *_fw() versions of MCR operations expect the caller to already hold
      uncore->lock, while the non-fw variants manage the lock internally.
      However the sole callsite of intel_gt_mcr_wait_for_reg_fw() does not
      currently obtain the forcewake lock, allowing a potential race condition
      (and triggering an assertion on lockdep builds).  Furthermore, since
      'wait for register value' requests may not return immediately, it is
      undesirable to hold a fundamental lock like uncore->lock for the entire
      wait and block all other MMIO for the duration; rather the lock is only
      needed around the MCR read operations and can be released during the
      delays.
      
      Convert intel_gt_mcr_wait_for_reg_fw() to a non-fw variant that will
      manage uncore->lock internally.  This does have the side effect of
      causing an unnecessary lookup in the forcewake table on each read
      operation, but since the caller is still holding the relevant forcewake
      domain, this will ultimately just incremenent the reference count and
      won't actually cause any additional MMIO traffic.
      
      In the future we plan to switch to a dedicated MCR lock to protect the
      steering critical section rather than using the overloaded and
      high-traffic uncore->lock; on MTL and beyond the new lock can be
      implemented on top of the hardware-provided synchonization mechanism for
      steering.
      
      Fixes: 3068bec8 ("drm/i915/gt: Add intel_gt_mcr_wait_for_reg_fw()")
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20221117173358.1980230-1-matthew.d.roper@intel.com
      (cherry picked from commit 192bb40f)
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      41f425ad
  2. 22 Nov, 2022 4 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2022-11-18' of git://anongit.freedesktop.org/drm/drm-intel into drm-next · 3d335a52
      Dave Airlie authored
      GVT Changes:
      - gvt-next stuff mostly with refactor for the new MDEV interface.
      
      i915 Changes:
      - PSR fixes and improvements (Jouni)
      - DP DSC fixes (Vinod, Jouni)
      - More general display cleanups (Jani)
      - More display collor management cleanup targetting degamma (Ville)
      - remove circ_buf.h includes (Jiri)
      - wait power off delay at driver remove to optimize probe (Jani)
      - More audio cleanup targeting the ELD precompute readout (Ville)
      - Enable DC power states on all eDP ports (Imre)
      - RPL-P stepping info (Matt Atwood)
      - MTL enabling patches (RK)
      - Removal of DG2 force_probe (Matt)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/Y3f71obyEkImXoUF@intel.com
      3d335a52
    • Dave Airlie's avatar
      Merge tag 'drm-intel-gt-next-2022-11-18' of... · 242eb7b0
      Dave Airlie authored
      Merge tag 'drm-intel-gt-next-2022-11-18' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      Core Changes:
      
      - Backmerge of drm-next
      
      Driver Changes:
      
      - Restore probe_range behaviour for userptr (Matt A)
      - Fix use-after-free on lmem_userfault_list (Matt A)
      - Never purge busy TTM objects (Matt A)
      - Meteorlake enabling (Daniele, Badal, Daniele, Stuart, Aravind, Alan)
      - Demote GuC kernel contexts to normal priority (John)
      
      - Use RC6 residency types as arguments to residency functions (Ashutosh,
        Rodrigo, Jani)
      - Convert some legacy DRM debugging macros to new ones (Tvrtko)
      - Don't deadlock GuC busyness stats vs reset (John)
      - Remove excessive line feeds in GuC state dumps (John)
      - Use i915_sg_dma_sizes() for all backends (Matt A)
      - Prefer REG_FIELD_GET in intel_rps_get_cagf (Ashutosh, Rodrigo)
      - Use GEN12_RPSTAT register for GT freq (Don, Badal, Ashutosh)
      - Remove unwanted TTM ghost obj check (Matt A)
      - Update workaround documentation (Lucas)
      
      - Coding style and static checker fixes and cleanups
        (Jani, Umesh, Tvrtko, Lucas, Andrzej)
      - Selftest improvements (Chris, Daniele, Riana, Andrzej)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/Y3dMd9HDpfDehhWm@jlahtine-mobl.ger.corp.intel.com
      242eb7b0
    • Dave Airlie's avatar
      Merge tag 'amd-drm-next-6.2-2022-11-18' of https://gitlab.freedesktop.org/agd5f/linux into drm-next · fc58764b
      Dave Airlie authored
      amd-drm-next-6.2-2022-11-18:
      
      amdgpu:
      - SR-IOV fixes
      - Clean up DC checks
      - DCN 3.2.x fixes
      - DCN 3.1.x fixes
      - Don't enable degamma on asics which don't support it
      - IP discovery fixes
      - BACO fixes
      - Fix vbios allocation handling when vkms is enabled
      - Drop buggy tdr advanced mode GPU reset handling
      - Fix the build when DCN is not set in kconfig
      - MST DSC fixes
      - Userptr fixes
      - FRU and RAS EEPROM fixes
      - VCN 4.x RAS support
      - Aldrebaran CU occupancy reporting fix
      - PSP ring cleanup
      
      amdkfd:
      - Memory limit fix
      - Enable cooperative launch on gfx 10.3
      
      amd-drm-next-6.2-2022-11-11:
      
      amdgpu:
      - SMU 13.x updates
      - GPUVM TLB race fix
      - DCN 3.1.4 updates
      - DCN 3.2.x updates
      - PSR fixes
      - Kerneldoc fix
      - Vega10 fan fix
      - GPUVM locking fixes in error pathes
      - BACO fix for Beige Goby
      - EEPROM I2C address cleanup
      - GFXOFF fix
      - Fix DC memory leak in error pathes
      - Flexible array updates
      - Mtype fix for GPUVM PTEs
      - Move Kconfig into amdgpu directory
      - SR-IOV updates
      - Fix possible memory leak in CS IOCTL error path
      
      amdkfd:
      - Fix possible memory overrun
      - CRIU fixes
      
      radeon:
      - ACPI ref count fix
      - HDA audio notifier support
      - Move Kconfig into radeon directory
      
      UAPI:
      - Add new GEM_CREATE flags to help to transition more KFD functionality to the DRM UAPI.
        These are used internally in the driver to align location based memory coherency
        requirements from memory allocated in the KFD with how we manage GPUVM PTEs.  They
        are currently blocked in the GEM_CREATE IOCTL as we don't have a user right now.
        They are just used internally in the kernel driver for now for existing KFD memory
        allocations. So a change to the UAPI header, but no functional change in the UAPI.
      
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20221118170807.6505-1-alexander.deucher@amd.comSigned-off-by: default avatarDave Airlie <airlied@redhat.com>
      fc58764b
    • Dave Airlie's avatar
      Merge branch 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux into drm-next · 819683a1
      Dave Airlie authored
      please pull the following etnaviv changes for the next merge window.
      Mostly some small workarounds to get new hardware support going. But
      also more fixes to the softpin MMU handling and a nice addition from
      Christian to make the kernel logs on hang detection more useful.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Lucas Stach <l.stach@pengutronix.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/adcb1b3dec89a18d6c3c4ee6e179b9b2c9f25046.camel@pengutronix.de
      819683a1
  3. 21 Nov, 2022 1 commit
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2022-11-17' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 4302423c
      Dave Airlie authored
      drm-misc-next for 6.2:
      
      UAPI Changes:
      
      Cross-subsystem Changes:
      - fbdev: Add support for the nomodeset kernel parameter
      
      Core Changes:
      - client: Add kunit tests for drm_connector_pick_cmdline_mode()
      - dma-buf: Move dma_buf_mmap_internal() to new locking specification
      - edid: Dump EDID on drm_edid_get_panel_id() failure, Stop using a
        temporary device to load the EDID through the firmware mechanism
      - fb-helper: Remove damage worker
      - gem-vram: Fix deadlock in drm_gem_vram_vmap()
      - modes: Named mode parsing improvements
      - tests: Add Kunit helpers to create a DRM device
      
      Driver Changes:
      - hisilicon: convert to drm_mode_init()
      - malidp: Use drm-managed resources
      - msm: convert to drm_mode_init() and drm_mode_copy()
      - mtk: convert to drm_mode_init()
      - nouveau: Support backlight control for nva3
      - rockchip: convert to drm_mode_copy()
      - sti: convert to drm_mode_copy()
      - v3d: Switch to drm-managed resources
      - vc4: Fix potential NULL pointer dereference
      
      - panels:
        - New panel: NewVision NV3051D
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20221117083628.mzij5nrbdzokek7c@houat
      4302423c
  4. 18 Nov, 2022 13 commits
  5. 17 Nov, 2022 21 commits