WSL2-Linux-Kernel/drivers/gpu/drm/i915
Tejas Upadhyay b8d8436840 drm/i915/gt: Hold RPM wakelock during PXP suspend
selftest --r live shows failure in suspend tests when
RPM wakelock is not acquired during suspend.

This changes addresses below error :
<4> [154.177535] RPM wakelock ref not held during HW access
<4> [154.177575] WARNING: CPU: 4 PID: 5772 at
drivers/gpu/drm/i915/intel_runtime_pm.h:113
fwtable_write32+0x240/0x320 [i915]
<4> [154.177974] Modules linked in: i915(+) vgem drm_shmem_helper
fuse snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic
ledtrig_audio mei_hdcp mei_pxp x86_pkg_temp_thermal coretemp
crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_intel_dspcfg
snd_hda_codec snd_hwdep igc snd_hda_core ttm mei_me ptp
snd_pcm prime_numbers mei i2c_i801 pps_core i2c_smbus intel_lpss_pci
btusb btrtl btbcm btintel bluetooth ecdh_generic ecc [last unloaded: i915]
<4> [154.178143] CPU: 4 PID: 5772 Comm: i915_selftest Tainted: G
U            5.15.0-rc6-CI-Patchwork_21432+ #1
<4> [154.178154] Hardware name: ASUS System Product Name/TUF GAMING
Z590-PLUS WIFI, BIOS 0811 04/06/2021
<4> [154.178160] RIP: 0010:fwtable_write32+0x240/0x320 [i915]
<4> [154.178604] Code: 15 7b e1 0f 0b e9 34 fe ff ff 80 3d a9 89 31
00 00 0f 85 31 fe ff ff 48 c7 c7 88 9e 4f a0 c6 05 95 89 31 00 01 e8
c0 15 7b e1 <0f> 0b e9 17 fe ff ff 8b 05 0f 83 58 e2 85 c0 0f 85 8d
00 00 00 48
<4> [154.178614] RSP: 0018:ffffc900016279f0 EFLAGS: 00010286
<4> [154.178626] RAX: 0000000000000000 RBX: ffff888204fe0ee0
RCX: 0000000000000001
<4> [154.178634] RDX: 0000000080000001 RSI: ffffffff823142b5
RDI: 00000000ffffffff
<4> [154.178641] RBP: 00000000000320f0 R08: 0000000000000000
R09: c0000000ffffcd5a
<4> [154.178647] R10: 00000000000f8c90 R11: ffffc90001627808
R12: 0000000000000000
<4> [154.178654] R13: 0000000040000000 R14: ffffffffa04d12e0
R15: 0000000000000000
<4> [154.178660] FS:  00007f7390aa4c00(0000) GS:ffff88844f000000(0000)
knlGS:0000000000000000
<4> [154.178669] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4> [154.178675] CR2: 000055bc40595028 CR3: 0000000204474005
CR4: 0000000000770ee0
<4> [154.178682] PKRU: 55555554
<4> [154.178687] Call Trace:
<4> [154.178706]  intel_pxp_fini_hw+0x23/0x30 [i915]
<4> [154.179284]  intel_pxp_suspend+0x1f/0x30 [i915]
<4> [154.179807]  live_gt_resume+0x5b/0x90 [i915]

Changes since V2 :
	- Remove boolean in intel_pxp_runtime_preapre for
	  non-pxp configs. Solves build error
Changes since V2 :
	- Open-code intel_pxp_runtime_suspend - Daniele
	- Remove boolean in intel_pxp_runtime_preapre - Daniele
Changes since V1 :
	- split the HW access parts in gt_suspend_late - Daniele
	- Remove default PXP configs

Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Fixes: 0cfab4cb3c ("drm/i915/pxp: Enable PXP power management")
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211117060321.3729343-1-tejaskumarx.surendrakumar.upadhyay@intel.com
(cherry picked from commit d22d446f7a)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2021-11-24 09:07:18 -05:00
..
display drm/i915/dsi/xelpd: Fix the bit mask for wakeup GB 2021-11-17 08:46:47 -05:00
gem drm next/fixes for 5.16-rc1 2021-11-12 12:11:07 -08:00
gt drm/i915/gt: Hold RPM wakelock during PXP suspend 2021-11-24 09:07:18 -05:00
gvt drm/i915/gvt: fix the usage of ww lock in gvt scheduler. 2021-11-01 16:38:12 -04:00
pxp drm/i915/gt: Hold RPM wakelock during PXP suspend 2021-11-24 09:07:18 -05:00
selftests drm/i915/selftests: remove duplicate include in mock_region.c 2021-10-20 08:55:05 +01:00
.gitignore
Kconfig drm for 5.16-rc1 2021-11-02 16:47:49 -07:00
Kconfig.debug drm/i915: Improve debug Kconfig texts a bit 2021-07-06 10:10:07 +02:00
Kconfig.profile
Kconfig.unstable
Makefile drm/i915: rename intel_sideband.[ch] to intel_sbi.[ch] 2021-10-14 18:05:04 +03:00
TODO.txt
dma_resv_utils.c dma-buf: drop the _rcu postfix on function names v3 2021-06-06 11:19:51 +02:00
dma_resv_utils.h
i915_active.c drm/i915: move i915_active slab to direct module init/exit 2021-07-28 16:45:57 +02:00
i915_active.h drm/i915: move i915_active slab to direct module init/exit 2021-07-28 16:45:57 +02:00
i915_active_types.h drm/i915: drop the __i915_active_call pointer packing 2021-05-05 11:36:23 +01:00
i915_buddy.c drm/i915/buddy: add some pretty printing 2021-08-20 09:40:22 +01:00
i915_buddy.h drm/i915/buddy: add some pretty printing 2021-08-20 09:40:22 +01:00
i915_cmd_parser.c drm/i915: Correct the docs for intel_engine_cmd_parser 2021-07-21 11:49:36 -04:00
i915_config.c drm/i915: remove IS_ACTIVE 2021-10-07 11:04:05 -07:00
i915_debugfs.c Merge tag 'drm-intel-gt-next-2021-10-21' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-10-22 06:30:34 +10:00
i915_debugfs.h
i915_debugfs_params.c drm/i915/guc: Connect reset modparam updates to GuC policy flags 2021-07-27 17:32:06 -07:00
i915_debugfs_params.h
i915_drv.c drm/i915: split out intel_pcode.[ch] to separate file 2021-10-14 18:04:17 +03:00
i915_drv.h Merge tag 'drm-intel-gt-next-2021-10-08' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-10-11 18:09:39 +10:00
i915_fixed.h
i915_gem.c drm/i915: Make wa list per-gt 2021-09-20 08:06:36 -07:00
i915_gem.h drm/i915: Break out dma_resv ww locking utilities to separate files 2021-06-17 14:22:59 +01:00
i915_gem_evict.c drm/i915/guc: Update intel_gt_wait_for_idle to work with GuC 2021-07-22 10:07:23 -07:00
i915_gem_gtt.c drm/i915: Use direction definition DMA_BIDIRECTIONAL instead of PCI_DMA_BIDIRECTIONAL 2021-09-30 16:19:45 +02:00
i915_gem_gtt.h
i915_gem_ww.c drm/i915: Break out dma_resv ww locking utilities to separate files 2021-06-17 14:22:59 +01:00
i915_gem_ww.h drm/i915: Ditch the i915_gem_ww_ctx loop member 2021-08-20 09:39:41 +01:00
i915_getparam.c drm/i915/userptr: Probe existence of backing struct pages upon creation 2021-08-05 11:34:00 +02:00
i915_gpu_error.c drm/i915: Check SFC fusing before recording/dumping SFC_DONE 2021-09-20 21:42:10 -07:00
i915_gpu_error.h Merge drm/drm-next into drm-misc-next 2021-05-22 07:17:05 +02:00
i915_ioc32.c
i915_ioc32.h
i915_irq.c drm/i915: constify hotplug function vtable. 2021-09-29 09:28:39 +03:00
i915_irq.h drm/i915/irq: reduce inlines to reduce header dependencies 2021-08-20 10:28:31 +03:00
i915_memcpy.c
i915_memcpy.h
i915_mitigations.c
i915_mitigations.h
i915_mm.c Revert "i915: use io_mapping_map_user" 2021-06-02 15:06:10 +03:00
i915_module.c drm/i915/pci: rename functions to have i915_pci prefix 2021-08-26 10:50:19 +03:00
i915_params.c drm/i915/uc: Use platform specific defaults for GuC/HuC enabling 2021-06-09 10:52:03 -07:00
i915_params.h drm/i915/display: Enable PSR2 selective fetch by default 2021-09-30 15:04:45 -07:00
i915_pci.c Merge tag 'drm-intel-gt-next-2021-10-08' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-10-11 18:09:39 +10:00
i915_pci.h drm/i915/pci: rename functions to have i915_pci prefix 2021-08-26 10:50:19 +03:00
i915_perf.c Merge tag 'drm-intel-next-2021-08-10-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-08-12 11:20:17 +10:00
i915_perf.h drm/i915: Use a table for i915_init/exit (v2) 2021-07-22 12:05:17 +02:00
i915_perf_types.h
i915_pmu.c drm/i915/guc/slpc: Sysfs hooks for SLPC 2021-08-03 16:05:40 -07:00
i915_pmu.h drm/i915: Use a table for i915_init/exit (v2) 2021-07-22 12:05:17 +02:00
i915_priolist_types.h
i915_pvinfo.h
i915_query.c drm/i915: Expose logical engine instance to user 2021-10-15 10:37:31 -07:00
i915_query.h
i915_reg.h drm/i915/dsi/xelpd: Fix the bit mask for wakeup GB 2021-11-17 08:46:47 -05:00
i915_request.c drm-misc-next for 5.16: 2021-11-05 13:50:15 +10:00
i915_request.h drm/i915: Update I915_GEM_BUSY IOCTL to understand composite fences 2021-10-15 10:45:51 -07:00
i915_scatterlist.c drm/i915/ttm: add i915_sg_from_buddy_resource 2021-06-16 16:33:26 +01:00
i915_scatterlist.h drm/i915/ttm: add i915_sg_from_buddy_resource 2021-06-16 16:33:26 +01:00
i915_scheduler.c drm/i915: move scheduler slabs to direct module init/exit 2021-07-28 17:18:56 +02:00
i915_scheduler.h drm/i915: move scheduler slabs to direct module init/exit 2021-07-28 17:18:56 +02:00
i915_scheduler_types.h drm/i915/guc: Implement GuC priority management 2021-07-27 17:32:27 -07:00
i915_selftest.h
i915_suspend.c drm/i915: replace IS_GEN and friends with GRAPHICS_VER 2021-06-07 00:59:48 -07:00
i915_suspend.h
i915_sw_fence.c dma-buf: drop the _rcu postfix on function names v3 2021-06-06 11:19:51 +02:00
i915_sw_fence.h
i915_sw_fence_work.c drm/i915: Drop error handling from dma_fence_work 2021-07-16 21:47:39 +02:00
i915_sw_fence_work.h drm/i915: Drop error handling from dma_fence_work 2021-07-16 21:47:39 +02:00
i915_switcheroo.c
i915_switcheroo.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: split out vlv sideband to a separate file 2021-10-14 12:22:55 +03:00
i915_sysfs.h
i915_trace.h drm for 5.16-rc1 2021-11-02 16:47:49 -07:00
i915_trace_points.c
i915_ttm_buddy_manager.c drm/i915/buddy: add some pretty printing 2021-08-20 09:40:22 +01:00
i915_ttm_buddy_manager.h drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c
i915_utils.h drm for 5.16-rc1 2021-11-02 16:47:49 -07:00
i915_vgpu.c drm/i915: replace IS_GEN and friends with GRAPHICS_VER 2021-06-07 00:59:48 -07:00
i915_vgpu.h
i915_vma.c Merge branch 'akpm' (patches from Andrew) 2021-11-09 10:11:53 -08:00
i915_vma.h drm/i915: Multi-BB execbuf 2021-10-15 10:45:50 -07:00
i915_vma_types.h drm/i915/adlp: Add support for remapping CCS FBs 2021-09-23 17:36:01 +03:00
intel_device_info.c drm/i915: finish removal of CNL 2021-07-30 10:19:48 -07:00
intel_device_info.h drm/i915/pxp: define PXP device flag and kconfig 2021-10-04 13:10:22 -04:00
intel_dram.c drm/i915: Remove memory frequency calculation 2021-10-19 10:45:52 +03:00
intel_dram.h
intel_gvt.c
intel_gvt.h
intel_memory_region.c drm/i915/debugfs: hook up ttm_resource_manager_debug 2021-08-20 09:40:23 +01:00
intel_memory_region.h drm/i915/debugfs: hook up ttm_resource_manager_debug 2021-08-20 09:40:23 +01:00
intel_pch.c drm/i915: remove explicit CNL handling from intel_pch.c 2021-07-30 10:19:18 -07:00
intel_pch.h drm/i915/dg2: Add fake PCH 2021-07-22 09:28:58 -07:00
intel_pcode.c drm/i915: split out intel_pcode.[ch] to separate file 2021-10-14 18:04:17 +03:00
intel_pcode.h drm/i915: split out intel_pcode.[ch] to separate file 2021-10-14 18:04:17 +03:00
intel_pm.c drm/i915: Extend the async flip VT-d w/a to skl/bxt 2021-11-01 16:38:58 -04:00
intel_pm.h drm/i915/wm: provide wrappers around watermark vfuncs calls (v3) 2021-09-29 08:53:57 +03:00
intel_region_ttm.c drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
intel_region_ttm.h drm/i915/ttm: remove node usage in our naming 2021-06-16 16:48:02 +01:00
intel_runtime_pm.c lib, stackdepot: add helper to print stack entries into buffer 2021-11-09 10:02:50 -08:00
intel_runtime_pm.h drm/i915: intel_runtime_pm.h does not actually need intel_display.h 2021-08-20 10:28:49 +03:00
intel_sbi.c drm/i915: rename intel_sideband.[ch] to intel_sbi.[ch] 2021-10-14 18:05:04 +03:00
intel_sbi.h drm/i915: rename intel_sideband.[ch] to intel_sbi.[ch] 2021-10-14 18:05:04 +03:00
intel_step.c drm/i915/dg2: Add support for new DG2-G11 revid 0x5 2021-08-06 09:03:10 -07:00
intel_step.h drm/i915/step: Add macro magic for handling steps 2021-07-22 10:18:06 -07:00
intel_uncore.c Merge tag 'drm-intel-gt-next-2021-10-08' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-10-11 18:09:39 +10:00
intel_uncore.h Merge tag 'drm-intel-gt-next-2021-10-08' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-10-11 18:09:39 +10:00
intel_wakeref.c
intel_wakeref.h drm/i915/guc: Take engine PM when a context is pinned with GuC submission 2021-10-15 10:37:26 -07:00
intel_wopcm.c drm/i915: remove explicit CNL handling from intel_wopcm.c 2021-07-30 10:19:18 -07:00
intel_wopcm.h
vlv_sideband.c drm/i915: split out vlv sideband to a separate file 2021-10-14 12:22:55 +03:00
vlv_sideband.h drm/i915: split out vlv sideband to a separate file 2021-10-14 12:22:55 +03:00
vlv_suspend.c
vlv_suspend.h