1. 28 Oct, 2022 1 commit
  2. 27 Oct, 2022 15 commits
  3. 26 Oct, 2022 8 commits
  4. 25 Oct, 2022 5 commits
  5. 22 Oct, 2022 5 commits
  6. 21 Oct, 2022 2 commits
  7. 20 Oct, 2022 2 commits
  8. 19 Oct, 2022 1 commit
  9. 18 Oct, 2022 1 commit
    • Anshuman Gupta's avatar
      drm/i915/dgfx: Keep PCI autosuspend control 'on' by default on all dGPU · 66eb93e7
      Anshuman Gupta authored
      DGFX platforms has lmem and cpu can access the lmem objects
      via mmap and i915 internal i915_gem_object_pin_map() for
      i915 own usages. Both of these methods has pre-requisite
      requirement to keep GFX PCI endpoint in D0 for a supported
      iomem transaction over PCI link. (Refer PCIe specs 5.3.1.4.1)
      
      Both DG1/DG2 have a known hardware bug that violates the PCIe specs
      and support the iomem read write transaction over PCIe bus despite
      endpoint is D3 state.
      Due to above H/W bug, we had never observed any issue with i915 runtime
      PM versus lmem access.
      But this issue becomes visible when PCIe gfx endpoint's upstream
      bridge enters to D3, at this point any lmem read/write access will be
      returned as unsupported request. But again this issue is not observed
      on every platform because it has been observed on few host machines
      DG1/DG2 endpoint's upstream bridge does not bind with pcieport driver.
      which really disables the PCIe  power savings and leaves the bridge
      at D0 state.
      
      We need a unique interface to read/write from lmem with runtime PM
      wakeref protection something similar to intel_uncore_{read, write},
      keep autosuspend control to 'on' on all discrete platforms,
      until we have a unique interface to read/write from lmem.
      
      This just change the default autosuspend setting of i915 on dGPU,
      user can still change it to 'auto'.
      
      v2:
      - Modified the commit message and subject with more information.
      - Changed the Fixes tag to LMEM support commit. [Joonas]
      - Changed !HAS_LMEM() Cond to !IS_DGFX(). [Rodrigo]
      
      Fixes: b908be54 ("drm/i915: support creating LMEM objects")
      Suggested-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarAnshuman Gupta <anshuman.gupta@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20221014113258.1284226-1-anshuman.gupta@intel.com
      66eb93e7