[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