[Intel-gfx] [PATCH v2] drm/i915: Add RPM references in the *_get_hw_state functions

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Mon Jan 4 06:19:48 PST 2016


Hey,

Op 31-12-15 om 16:52 schreef Gabriel Feceoru:
> This gets rid of errors like:
>
> [  906.286213] ------------[ cut here ]------------
> [  906.286233] WARNING: CPU: 0 PID: 12252 at drivers/gpu/drm/i915/intel_drv.h:1457 gen6_read32+0x1ca/0x1e0 [i915]()
> [  906.286234] RPM wakelock ref not held during HW access
> [  906.286235] Modules linked in:
> [  906.286236]  snd_hda_intel i915 drm_kms_helper drm msr snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec snd_hwdep x86_pkg_temp_thermal snd_hda_core i2c_algo_bit ehci_pci syscopyarea sysfillrect sysimgblt fb_sys_fops ehci_hcd r8169 xhci_pci mii xhci_hcd video [last unloaded: drm]
> [  906.286246] CPU: 0 PID: 12252 Comm: kms_pipe_crc_ba Tainted: G     U  W       4.4.0-rc6+ #45
> [  906.286247] Hardware name: Dell Inc. Inspiron 3847/088DT1       , BIOS A06 01/15/2015
> [  906.286248]  ffffffffc022c098 ffff880210dbbae0 ffffffff813e0e4f ffff880210dbbb28
> [  906.286250]  ffff880210dbbb18 ffffffff8105f5f2 ffff8801fff40000 0000000000046040
> [  906.286251]  ffff8801fff49170 ffff8801fff49170 ffff8801fff40000 ffff880210dbbb78
> [  906.286253] Call Trace:
> [  906.286256]  [<ffffffff813e0e4f>] dump_stack+0x44/0x55
> [  906.286259]  [<ffffffff8105f5f2>] warn_slowpath_common+0x82/0xc0
> [  906.286261]  [<ffffffff8105f67c>] warn_slowpath_fmt+0x4c/0x50
> [  906.286270]  [<ffffffffc007e29c>] ? drm_property_free_blob+0x8c/0xb0 [drm]
> [  906.286280]  [<ffffffffc01a32ea>] gen6_read32+0x1ca/0x1e0 [i915]
> [  906.286283]  [<ffffffff8172cd12>] ? mutex_lock+0x12/0x30
> [  906.286294]  [<ffffffffc01e0ef0>] hsw_ddi_wrpll_get_hw_state+0x40/0x50 [i915]
> [  906.286304]  [<ffffffffc01c3fa1>] intel_atomic_commit+0xd41/0x1740 [i915]
> [  906.286312]  [<ffffffffc008c597>] drm_atomic_commit+0x37/0x60 [drm]
> [  906.286316]  [<ffffffffc01373e6>] drm_atomic_helper_set_config+0x76/0xb0 [drm_kms_helper]
> [  906.286323]  [<ffffffffc008ac0a>] ? drm_modeset_lock_all_ctx+0x9a/0xb0 [drm]
> [  906.286329]  [<ffffffffc007b852>] drm_mode_set_config_internal+0x62/0x100 [drm]
> [  906.286335]  [<ffffffffc007fcfd>] drm_mode_setcrtc+0x3cd/0x4e0 [drm]
> [  906.286339]  [<ffffffffc0071762>] drm_ioctl+0x152/0x540 [drm]
> [  906.286341]  [<ffffffff8109d914>] ? __wake_up+0x44/0x50
> [  906.286346]  [<ffffffffc007f930>] ? drm_mode_setplane+0x1b0/0x1b0 [drm]
> [  906.286348]  [<ffffffff811dc844>] ? mntput+0x24/0x40
> [  906.286350]  [<ffffffff811bfe22>] ? __fput+0x172/0x1e0
> [  906.286352]  [<ffffffff811d0758>] do_vfs_ioctl+0x288/0x460
> [  906.286353]  [<ffffffff811bfece>] ? ____fput+0xe/0x10
>
> v2:
>     Fixed return value in skl_ddi_pll_get_hw_state
>
> Signed-off-by: Gabriel Feceoru <gabriel.feceoru at intel.com>
>
Why do this in the get_hw_state functions? Seems more like it could be held by intel_modeset_check_state.

~Maarten


More information about the Intel-gfx mailing list