Merge tag 'amd-drm-next-5.18-2022-02-11-1' of https://gitlab.freedesktop.org/agd5f...
authorDave Airlie <airlied@redhat.com>
Mon, 14 Feb 2022 00:31:51 +0000 (10:31 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 14 Feb 2022 00:31:51 +0000 (10:31 +1000)
amd-drm-next-5.18-2022-02-11-1:

amdgpu:
- Clean up of power management code
- Enable freesync video mode by default
- Clean up of RAS code
- Improve VRAM access for debug using SDMA
- Coding style cleanups
- SR-IOV fixes
- More display FP reorg
- TLB flush fixes for Arcuturus, Vega20
- Misc display fixes
- Rework special register access methods for SR-IOV
- DP2 fixes
- DP tunneling fixes
- DSC fixes
- More IP discovery cleanups
- Misc RAS fixes
- Enable both SMU i2c buses where applicable
- s2idle improvements
- DPCS header cleanup
- Add new CAP firmware support for SR-IOV

amdkfd:
- Misc cleanups
- SVM fixes
- CRIU support
- Clean up MQD manager

UAPI:
- Add interface to amdgpu CTX ioctl to request a stable power state for profiling
  https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/207
- Add amdkfd support for CRIU
  https://github.com/checkpoint-restore/criu/pull/1709
- Remove old unused amdkfd debugger interface
  Was only implemented for Kaveri and was only ever used by an old HSA tool that was never open sourced

radeon:
- Fix error handling in radeon_driver_open_kms
- UVD suspend fix
- Misc fixes

From: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220211220706.5803-1-alexander.deucher@amd.com
16 files changed:
1  2 
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
drivers/gpu/drm/amd/display/dc/core/dc.c
drivers/gpu/drm/amd/display/dc/inc/resource.h
drivers/gpu/drm/amd/display/include/dpcd_defs.h

Simple merge
@@@ -1974,26 -1947,28 +1948,48 @@@ MODULE_DEVICE_TABLE(pci, pciidlist)
  
  static const struct drm_driver amdgpu_kms_driver;
  
 +static bool amdgpu_is_fw_framebuffer(resource_size_t base,
 +                                   resource_size_t size)
 +{
 +      bool found = false;
 +#if IS_REACHABLE(CONFIG_FB)
 +      struct apertures_struct *a;
 +
 +      a = alloc_apertures(1);
 +      if (!a)
 +              return false;
 +
 +      a->ranges[0].base = base;
 +      a->ranges[0].size = size;
 +
 +      found = is_firmware_framebuffer(a);
 +      kfree(a);
 +#endif
 +      return found;
 +}
 +
+ static void amdgpu_get_secondary_funcs(struct amdgpu_device *adev)
+ {
+       struct pci_dev *p = NULL;
+       int i;
+       /* 0 - GPU
+        * 1 - audio
+        * 2 - USB
+        * 3 - UCSI
+        */
+       for (i = 1; i < 4; i++) {
+               p = pci_get_domain_bus_and_slot(pci_domain_nr(adev->pdev->bus),
+                                               adev->pdev->bus->number, i);
+               if (p) {
+                       pm_runtime_get_sync(&p->dev);
+                       pm_runtime_mark_last_busy(&p->dev);
+                       pm_runtime_put_autosuspend(&p->dev);
+                       pci_dev_put(p);
+               }
+       }
+ }
  static int amdgpu_pci_probe(struct pci_dev *pdev,
                            const struct pci_device_id *ent)
  {
@@@ -218,7 -211,9 +211,10 @@@ void reset_syncd_pipes_from_disabled_pi
  void check_syncd_pipes_for_disabled_master_pipe(struct dc *dc,
        struct dc_state *context,
        uint8_t disabled_master_pipe_idx);
 +
  uint8_t resource_transmitter_to_phy_idx(const struct dc *dc, enum transmitter transmitter);
  
+ const struct link_hwss *get_link_hwss(const struct dc_link *link,
+               const struct link_resource *link_res);
  #endif /* DRIVERS_GPU_DRM_AMD_DC_DEV_DC_INC_RESOURCE_H_ */