2014-07-23 19:41 GMT-03:00 Daniel Vetter <daniel@xxxxxxxx>: > On Thu, Jul 24, 2014 at 12:35:25AM +0200, Daniel Vetter wrote: >> On Wed, Jul 23, 2014 at 06:30:59PM -0300, Paulo Zanoni wrote: >> > From: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> >> > >> > If we're runtime suspended and try to use the cursor interfaces, we >> > will get a lot of WARNs saying we did the wrong thing. >> > >> > For intel_crtc_update_cursor(), all we need to do is return if the >> > CRTC is not active, since writing the registers won't really have any >> > effect if the screen is not visible, and we will write the registers >> > later when enabling the screen. >> > >> > For intel_crtc_cursor_set_obj(), we just get the proper power domain >> > reference, since this function does a lot of stuff. >> > >> > Testcase: igt/pm_rpm/cursor >> > Testcase: igt/pm_rpm/cursor-dpms >> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81645 >> > Cc: stable@xxxxxxxxxxxxxxx >> > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> >> > --- >> > drivers/gpu/drm/i915/intel_display.c | 15 ++++++++++++--- >> > 1 file changed, 12 insertions(+), 3 deletions(-) >> > >> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c >> > index d1e9570..c8f36b0 100644 >> > --- a/drivers/gpu/drm/i915/intel_display.c >> > +++ b/drivers/gpu/drm/i915/intel_display.c >> > @@ -8151,6 +8151,9 @@ static void intel_crtc_update_cursor(struct drm_crtc *crtc, >> > if (base == 0 && intel_crtc->cursor_base == 0) >> > return; >> > >> > + if (!intel_crtc->active) >> > + return; >> >> Don't we need the same trick in intel_crtc_cursor_set_obj? This gets >> called if the cursor object changes (instead of just moving it around). > > Rechecked and realized the only I915_WRITE in there is for gen2. I guess > we don't care ;-) Nope. You need to look at the subfunctions and their subsubfunctions and their subsubsubfunctions and so on. This is what happens when I remove just the display_power_get/put calls: [ 35.762635] [drm:intel_crtc_cursor_set_obj] cursor off [ 35.762665] [drm:add_framebuffer_internal] [FB:63] [ 35.762685] ------------[ cut here ]------------ [ 35.762714] WARNING: CPU: 0 PID: 3169 at drivers/gpu/drm/i915/i915_gem_gtt.c:1480 gen6_ggtt_insert_entries+0x116/0x120 [i915]() [ 35.762716] Modules linked in: fuse intel_rapl x86_pkg_temp_thermal intel_powerclamp serio_raw i915 i2c_algo_bit drm_kms_helper drm i2c_i801 mei_me mei i2c_designware_platform i2c_designware_core sg sd_mod ehci_pci ehci_hcd ahci libahci e1000e xhci_hcd sdhci_acpi sdhci [ 35.762748] CPU: 0 PID: 3169 Comm: pm_rpm Not tainted 3.16.0-rc6.1407232028+ #695 [ 35.762751] Hardware name: Intel Corporation Shark Bay Client platform/WhiteTip Mountain 1, BIOS HSWLPTU1.86C.0137.R00.1403031632 03/03/2014 [ 35.762754] 0000000000000009 ffff88009ce139c8 ffffffff816b6a61 0000000000000000 [ 35.762760] ffff88009ce13a00 ffffffff81075d88 0000000092946000 00000000ffffffff [ 35.762765] ffffc90010d04d74 ffff88009d938bb8 ffffc90010d04d68 ffff88009ce13a10 [ 35.762770] Call Trace: [ 35.762782] [<ffffffff816b6a61>] dump_stack+0x4d/0x66 [ 35.762789] [<ffffffff81075d88>] warn_slowpath_common+0x78/0xa0 [ 35.762793] [<ffffffff81075e65>] warn_slowpath_null+0x15/0x20 [ 35.762814] [<ffffffffa0169716>] gen6_ggtt_insert_entries+0x116/0x120 [i915] [ 35.762831] [<ffffffffa0168ce9>] ggtt_bind_vma+0xd9/0x100 [i915] [ 35.762850] [<ffffffffa0172583>] i915_gem_object_pin+0x683/0x750 [i915] [ 35.762869] [<ffffffffa0173cd7>] i915_gem_object_pin_to_display_plane+0x97/0x1d0 [i915] [ 35.762894] [<ffffffffa01a891c>] intel_crtc_cursor_set_obj+0x16c/0x520 [i915] [ 35.762916] [<ffffffffa01a8df5>] intel_cursor_plane_update+0xe5/0x120 [i915] [ 35.762937] [<ffffffffa00d83a4>] setplane_internal+0x264/0x2b0 [drm] [ 35.762952] [<ffffffffa00d850e>] drm_mode_cursor_common+0x11e/0x320 [drm] [ 35.762968] [<ffffffffa00dbb0c>] drm_mode_cursor_ioctl+0x3c/0x40 [drm] [ 35.762978] [<ffffffffa00cb87f>] drm_ioctl+0x1df/0x6a0 [drm] [ 35.762983] [<ffffffff816be9b9>] ? mutex_unlock+0x9/0x10 [ 35.762988] [<ffffffff811eaae6>] ? seq_read+0xb6/0x3e0 [ 35.762994] [<ffffffff811d97e0>] do_vfs_ioctl+0x2e0/0x4e0 [ 35.762998] [<ffffffff816c0bf7>] ? sysret_check+0x1b/0x56 [ 35.763004] [<ffffffff810c47fd>] ? trace_hardirqs_on_caller+0x15d/0x200 [ 35.763008] [<ffffffff811d9a61>] SyS_ioctl+0x81/0xa0 [ 35.763013] [<ffffffff816c0bd2>] system_call_fastpath+0x16/0x1b [ 35.763015] ---[ end trace 189706dc7c79e8d7 ]--- [ 35.763018] ------------[ cut here ]------------ [ 35.763039] WARNING: CPU: 0 PID: 3169 at drivers/gpu/drm/i915/intel_uncore.c:47 assert_device_not_suspended.isra.8+0x43/0x50 [i915]() [ 35.763041] Device suspended [ 35.763043] Modules linked in: fuse intel_rapl x86_pkg_temp_thermal intel_powerclamp serio_raw i915 i2c_algo_bit drm_kms_helper drm i2c_i801 mei_me mei i2c_designware_platform i2c_designware_core sg sd_mod ehci_pci ehci_hcd ahci libahci e1000e xhci_hcd sdhci_acpi sdhci [ 35.763070] CPU: 0 PID: 3169 Comm: pm_rpm Tainted: G W 3.16.0-rc6.1407232028+ #695 [ 35.763073] Hardware name: Intel Corporation Shark Bay Client platform/WhiteTip Mountain 1, BIOS HSWLPTU1.86C.0137.R00.1403031632 03/03/2014 [ 35.763075] 0000000000000009 ffff88009ce13920 ffffffff816b6a61 ffff88009ce13968 [ 35.763080] ffff88009ce13958 ffffffff81075d88 ffff88009d930000 0000000000101008 [ 35.763085] ffff88009d930068 ffff88009d938bb8 ffffc90010d04d68 ffff88009ce139b8 [ 35.763089] Call Trace: [ 35.763095] [<ffffffff816b6a61>] dump_stack+0x4d/0x66 [ 35.763099] [<ffffffff81075d88>] warn_slowpath_common+0x78/0xa0 [ 35.763103] [<ffffffff81075df7>] warn_slowpath_fmt+0x47/0x50 [ 35.763123] [<ffffffffa018c443>] assert_device_not_suspended.isra.8+0x43/0x50 [i915] [ 35.763142] [<ffffffffa018f2a2>] hsw_write32+0x32/0x140 [i915] [ 35.763158] [<ffffffffa01696be>] gen6_ggtt_insert_entries+0xbe/0x120 [i915] [ 35.763173] [<ffffffffa0168ce9>] ggtt_bind_vma+0xd9/0x100 [i915] [ 35.763190] [<ffffffffa0172583>] i915_gem_object_pin+0x683/0x750 [i915] [ 35.763207] [<ffffffffa0173cd7>] i915_gem_object_pin_to_display_plane+0x97/0x1d0 [i915] [ 35.763229] [<ffffffffa01a891c>] intel_crtc_cursor_set_obj+0x16c/0x520 [i915] [ 35.763249] [<ffffffffa01a8df5>] intel_cursor_plane_update+0xe5/0x120 [i915] [ 35.763266] [<ffffffffa00d83a4>] setplane_internal+0x264/0x2b0 [drm] [ 35.763281] [<ffffffffa00d850e>] drm_mode_cursor_common+0x11e/0x320 [drm] [ 35.763297] [<ffffffffa00dbb0c>] drm_mode_cursor_ioctl+0x3c/0x40 [drm] [ 35.763307] [<ffffffffa00cb87f>] drm_ioctl+0x1df/0x6a0 [drm] [ 35.763312] [<ffffffff816be9b9>] ? mutex_unlock+0x9/0x10 [ 35.763315] [<ffffffff811eaae6>] ? seq_read+0xb6/0x3e0 [ 35.763320] [<ffffffff811d97e0>] do_vfs_ioctl+0x2e0/0x4e0 [ 35.763325] [<ffffffff816c0bf7>] ? sysret_check+0x1b/0x56 [ 35.763329] [<ffffffff810c47fd>] ? trace_hardirqs_on_caller+0x15d/0x200 [ 35.763334] [<ffffffff811d9a61>] SyS_ioctl+0x81/0xa0 [ 35.763338] [<ffffffff816c0bd2>] system_call_fastpath+0x16/0x1b [ 35.763341] ---[ end trace 189706dc7c79e8d8 ]--- [ 35.763345] ------------[ cut here ]------------ [ 35.763366] WARNING: CPU: 0 PID: 3169 at drivers/gpu/drm/i915/intel_uncore.c:528 hsw_unclaimed_reg_debug+0x6d/0x80 [i915]() [ 35.763369] Unclaimed register detected before writing to register 0x101008 [ 35.763370] Modules linked in: fuse intel_rapl x86_pkg_temp_thermal intel_powerclamp serio_raw i915 i2c_algo_bit drm_kms_helper drm i2c_i801 mei_me mei i2c_designware_platform i2c_designware_core sg sd_mod ehci_pci ehci_hcd ahci libahci e1000e xhci_hcd sdhci_acpi sdhci [ 35.763393] CPU: 0 PID: 3169 Comm: pm_rpm Tainted: G W 3.16.0-rc6.1407232028+ #695 [ 35.763395] Hardware name: Intel Corporation Shark Bay Client platform/WhiteTip Mountain 1, BIOS HSWLPTU1.86C.0137.R00.1403031632 03/03/2014 [ 35.763397] 0000000000000009 ffff88009ce13918 ffffffff816b6a61 ffff88009ce13960 [ 35.763401] ffff88009ce13950 ffffffff81075d88 ffff88009d930000 0000000000101008 [ 35.763405] ffff88009d930068 0000000000000000 ffffc90010d04d68 ffff88009ce139b0 [ 35.763410] Call Trace: [ 35.763415] [<ffffffff816b6a61>] dump_stack+0x4d/0x66 [ 35.763419] [<ffffffff81075d88>] warn_slowpath_common+0x78/0xa0 [ 35.763422] [<ffffffff81075df7>] warn_slowpath_fmt+0x47/0x50 [ 35.763441] [<ffffffffa018c30d>] hsw_unclaimed_reg_debug+0x6d/0x80 [i915] [ 35.763459] [<ffffffffa018f2d9>] hsw_write32+0x69/0x140 [i915] [ 35.763475] [<ffffffffa01696be>] gen6_ggtt_insert_entries+0xbe/0x120 [i915] [ 35.763489] [<ffffffffa0168ce9>] ggtt_bind_vma+0xd9/0x100 [i915] [ 35.763506] [<ffffffffa0172583>] i915_gem_object_pin+0x683/0x750 [i915] [ 35.763522] [<ffffffffa0173cd7>] i915_gem_object_pin_to_display_plane+0x97/0x1d0 [i915] [ 35.763543] [<ffffffffa01a891c>] intel_crtc_cursor_set_obj+0x16c/0x520 [i915] [ 35.763563] [<ffffffffa01a8df5>] intel_cursor_plane_update+0xe5/0x120 [i915] [ 35.763579] [<ffffffffa00d83a4>] setplane_internal+0x264/0x2b0 [drm] [ 35.763593] [<ffffffffa00d850e>] drm_mode_cursor_common+0x11e/0x320 [drm] [ 35.763610] [<ffffffffa00dbb0c>] drm_mode_cursor_ioctl+0x3c/0x40 [drm] [ 35.763619] [<ffffffffa00cb87f>] drm_ioctl+0x1df/0x6a0 [drm] [ 35.763623] [<ffffffff816be9b9>] ? mutex_unlock+0x9/0x10 [ 35.763627] [<ffffffff811eaae6>] ? seq_read+0xb6/0x3e0 [ 35.763632] [<ffffffff811d97e0>] do_vfs_ioctl+0x2e0/0x4e0 [ 35.763636] [<ffffffff816c0bf7>] ? sysret_check+0x1b/0x56 [ 35.763640] [<ffffffff810c47fd>] ? trace_hardirqs_on_caller+0x15d/0x200 [ 35.763644] [<ffffffff811d9a61>] SyS_ioctl+0x81/0xa0 [ 35.763648] [<ffffffff816c0bd2>] system_call_fastpath+0x16/0x1b [ 35.763650] ---[ end trace 189706dc7c79e8d9 ]--- [ 35.763654] ------------[ cut here ]------------ [ 35.763673] WARNING: CPU: 0 PID: 3169 at drivers/gpu/drm/i915/intel_uncore.c:528 hsw_unclaimed_reg_debug+0x6d/0x80 [i915]() [ 35.763675] Unclaimed register detected after writing to register 0x101008 [ 35.763677] Modules linked in: fuse intel_rapl x86_pkg_temp_thermal intel_powerclamp serio_raw i915 i2c_algo_bit drm_kms_helper drm i2c_i801 mei_me mei i2c_designware_platform i2c_designware_core sg sd_mod ehci_pci ehci_hcd ahci libahci e1000e xhci_hcd sdhci_acpi sdhci [ 35.763699] CPU: 0 PID: 3169 Comm: pm_rpm Tainted: G W 3.16.0-rc6.1407232028+ #695 [ 35.763701] Hardware name: Intel Corporation Shark Bay Client platform/WhiteTip Mountain 1, BIOS HSWLPTU1.86C.0137.R00.1403031632 03/03/2014 [ 35.763703] 0000000000000009 ffff88009ce13918 ffffffff816b6a61 ffff88009ce13960 [ 35.763707] ffff88009ce13950 ffffffff81075d88 ffff88009d930000 0000000000101008 [ 35.763711] ffff88009d930068 0000000000000000 ffff88009d930060 ffff88009ce139b0 [ 35.763715] Call Trace: [ 35.763720] [<ffffffff816b6a61>] dump_stack+0x4d/0x66 [ 35.763724] [<ffffffff81075d88>] warn_slowpath_common+0x78/0xa0 [ 35.763728] [<ffffffff81075df7>] warn_slowpath_fmt+0x47/0x50 [ 35.763746] [<ffffffffa018c30d>] hsw_unclaimed_reg_debug+0x6d/0x80 [i915] [ 35.763763] [<ffffffffa018f301>] hsw_write32+0x91/0x140 [i915] [ 35.763779] [<ffffffffa01696be>] gen6_ggtt_insert_entries+0xbe/0x120 [i915] [ 35.763796] [<ffffffffa0168ce9>] ggtt_bind_vma+0xd9/0x100 [i915] [ 35.763816] [<ffffffffa0172583>] i915_gem_object_pin+0x683/0x750 [i915] [ 35.763836] [<ffffffffa0173cd7>] i915_gem_object_pin_to_display_plane+0x97/0x1d0 [i915] [ 35.763860] [<ffffffffa01a891c>] intel_crtc_cursor_set_obj+0x16c/0x520 [i915] [ 35.763885] [<ffffffffa01a8df5>] intel_cursor_plane_update+0xe5/0x120 [i915] [ 35.763901] [<ffffffffa00d83a4>] setplane_internal+0x264/0x2b0 [drm] [ 35.763918] [<ffffffffa00d850e>] drm_mode_cursor_common+0x11e/0x320 [drm] [ 35.763935] [<ffffffffa00dbb0c>] drm_mode_cursor_ioctl+0x3c/0x40 [drm] [ 35.763945] [<ffffffffa00cb87f>] drm_ioctl+0x1df/0x6a0 [drm] [ 35.763949] [<ffffffff816be9b9>] ? mutex_unlock+0x9/0x10 [ 35.763953] [<ffffffff811eaae6>] ? seq_read+0xb6/0x3e0 [ 35.763958] [<ffffffff811d97e0>] do_vfs_ioctl+0x2e0/0x4e0 [ 35.763963] [<ffffffff816c0bf7>] ? sysret_check+0x1b/0x56 [ 35.763967] [<ffffffff810c47fd>] ? trace_hardirqs_on_caller+0x15d/0x200 [ 35.763972] [<ffffffff811d9a61>] SyS_ioctl+0x81/0xa0 [ 35.763976] [<ffffffff816c0bd2>] system_call_fastpath+0x16/0x1b [ 35.763979] ---[ end trace 189706dc7c79e8da ]--- [ 35.764026] ------------[ cut here ]------------ [ 35.764050] WARNING: CPU: 0 PID: 3169 at drivers/gpu/drm/i915/intel_uncore.c:47 assert_device_not_suspended.isra.8+0x43/0x50 [i915]() [ 35.764056] Device suspended [ 35.764060] Modules linked in: fuse intel_rapl x86_pkg_temp_thermal intel_powerclamp serio_raw i915 i2c_algo_bit drm_kms_helper drm i2c_i801 mei_me mei i2c_designware_platform i2c_designware_core sg sd_mod ehci_pci ehci_hcd ahci libahci e1000e xhci_hcd sdhci_acpi sdhci [ 35.764158] CPU: 0 PID: 3169 Comm: pm_rpm Tainted: G W 3.16.0-rc6.1407232028+ #695 [ 35.764161] Hardware name: Intel Corporation Shark Bay Client platform/WhiteTip Mountain 1, BIOS HSWLPTU1.86C.0137.R00.1403031632 03/03/2014 [ 35.764164] 0000000000000009 ffff88009ce13920 ffffffff816b6a61 ffff88009ce13968 [ 35.764173] ffff88009ce13958 ffffffff81075d88 ffff88009d930068 0000000000101008 [ 35.764182] ffffc90010d04d74 0000000000101008 ffff88009d930000 ffff88009ce139b8 [ 35.764189] Call Trace: [ 35.764195] [<ffffffff816b6a61>] dump_stack+0x4d/0x66 [ 35.764200] [<ffffffff81075d88>] warn_slowpath_common+0x78/0xa0 [ 35.764204] [<ffffffff81075df7>] warn_slowpath_fmt+0x47/0x50 [ 35.764208] [<ffffffff816c0193>] ? _raw_spin_unlock_irqrestore+0x33/0x50 [ 35.764223] [<ffffffffa018c443>] assert_device_not_suspended.isra.8+0x43/0x50 [i915] [ 35.764235] [<ffffffffa018f150>] gen6_read32+0x30/0x150 [i915] [ 35.764244] [<ffffffffa01696d1>] gen6_ggtt_insert_entries+0xd1/0x120 [i915] [ 35.764252] [<ffffffffa0168ce9>] ggtt_bind_vma+0xd9/0x100 [i915] [ 35.764262] [<ffffffffa0172583>] i915_gem_object_pin+0x683/0x750 [i915] [ 35.764271] [<ffffffffa0173cd7>] i915_gem_object_pin_to_display_plane+0x97/0x1d0 [i915] [ 35.764284] [<ffffffffa01a891c>] intel_crtc_cursor_set_obj+0x16c/0x520 [i915] [ 35.764296] [<ffffffffa01a8df5>] intel_cursor_plane_update+0xe5/0x120 [i915] [ 35.764305] [<ffffffffa00d83a4>] setplane_internal+0x264/0x2b0 [drm] [ 35.764314] [<ffffffffa00d850e>] drm_mode_cursor_common+0x11e/0x320 [drm] [ 35.764324] [<ffffffffa00dbb0c>] drm_mode_cursor_ioctl+0x3c/0x40 [drm] [ 35.764332] [<ffffffffa00cb87f>] drm_ioctl+0x1df/0x6a0 [drm] [ 35.764336] [<ffffffff816be9b9>] ? mutex_unlock+0x9/0x10 [ 35.764339] [<ffffffff811eaae6>] ? seq_read+0xb6/0x3e0 [ 35.764343] [<ffffffff811d97e0>] do_vfs_ioctl+0x2e0/0x4e0 [ 35.764348] [<ffffffff816c0bf7>] ? sysret_check+0x1b/0x56 [ 35.764357] [<ffffffff810c47fd>] ? trace_hardirqs_on_caller+0x15d/0x200 [ 35.764366] [<ffffffff811d9a61>] SyS_ioctl+0x81/0xa0 [ 35.764374] [<ffffffff816c0bd2>] system_call_fastpath+0x16/0x1b [ 35.764379] ---[ end trace 189706dc7c79e8db ]--- [ 35.764386] ------------[ cut here ]------------ [ 35.764399] WARNING: CPU: 0 PID: 3169 at drivers/gpu/drm/i915/intel_uncore.c:528 hsw_unclaimed_reg_debug+0x6d/0x80 [i915]() [ 35.764403] Unclaimed register detected before reading register 0x101008 [ 35.764405] Modules linked in: fuse intel_rapl x86_pkg_temp_thermal intel_powerclamp serio_raw i915 i2c_algo_bit drm_kms_helper drm i2c_i801 mei_me mei i2c_designware_platform i2c_designware_core sg sd_mod ehci_pci ehci_hcd ahci libahci e1000e xhci_hcd sdhci_acpi sdhci [ 35.764448] CPU: 0 PID: 3169 Comm: pm_rpm Tainted: G W 3.16.0-rc6.1407232028+ #695 [ 35.764450] Hardware name: Intel Corporation Shark Bay Client platform/WhiteTip Mountain 1, BIOS HSWLPTU1.86C.0137.R00.1403031632 03/03/2014 [ 35.764452] 0000000000000009 ffff88009ce13918 ffffffff816b6a61 ffff88009ce13960 [ 35.764455] ffff88009ce13950 ffffffff81075d88 ffff88009d930000 0000000000101008 [ 35.764458] ffffc90010d04d74 0000000000101008 ffff88009d930000 ffff88009ce139b0 [ 35.764460] Call Trace: [ 35.764463] [<ffffffff816b6a61>] dump_stack+0x4d/0x66 [ 35.764465] [<ffffffff81075d88>] warn_slowpath_common+0x78/0xa0 [ 35.764467] [<ffffffff81075df7>] warn_slowpath_fmt+0x47/0x50 [ 35.764481] [<ffffffffa018c30d>] hsw_unclaimed_reg_debug+0x6d/0x80 [i915] [ 35.764492] [<ffffffffa018f171>] gen6_read32+0x51/0x150 [i915] [ 35.764502] [<ffffffffa01696d1>] gen6_ggtt_insert_entries+0xd1/0x120 [i915] [ 35.764511] [<ffffffffa0168ce9>] ggtt_bind_vma+0xd9/0x100 [i915] [ 35.764521] [<ffffffffa0172583>] i915_gem_object_pin+0x683/0x750 [i915] [ 35.764531] [<ffffffffa0173cd7>] i915_gem_object_pin_to_display_plane+0x97/0x1d0 [i915] [ 35.764545] [<ffffffffa01a891c>] intel_crtc_cursor_set_obj+0x16c/0x520 [i915] [ 35.764558] [<ffffffffa01a8df5>] intel_cursor_plane_update+0xe5/0x120 [i915] [ 35.764568] [<ffffffffa00d83a4>] setplane_internal+0x264/0x2b0 [drm] [ 35.764578] [<ffffffffa00d850e>] drm_mode_cursor_common+0x11e/0x320 [drm] [ 35.764588] [<ffffffffa00dbb0c>] drm_mode_cursor_ioctl+0x3c/0x40 [drm] [ 35.764595] [<ffffffffa00cb87f>] drm_ioctl+0x1df/0x6a0 [drm] [ 35.764600] [<ffffffff816be9b9>] ? mutex_unlock+0x9/0x10 [ 35.764603] [<ffffffff811eaae6>] ? seq_read+0xb6/0x3e0 [ 35.764607] [<ffffffff811d97e0>] do_vfs_ioctl+0x2e0/0x4e0 [ 35.764612] [<ffffffff816c0bf7>] ? sysret_check+0x1b/0x56 [ 35.764617] [<ffffffff810c47fd>] ? trace_hardirqs_on_caller+0x15d/0x200 [ 35.764621] [<ffffffff811d9a61>] SyS_ioctl+0x81/0xa0 [ 35.764626] [<ffffffff816c0bd2>] system_call_fastpath+0x16/0x1b [ 35.764629] ---[ end trace 189706dc7c79e8dc ]--- [ 35.764632] ------------[ cut here ]------------ [ 35.764643] WARNING: CPU: 0 PID: 3169 at drivers/gpu/drm/i915/intel_uncore.c:528 hsw_unclaimed_reg_debug+0x6d/0x80 [i915]() [ 35.764646] Unclaimed register detected after reading register 0x101008 [ 35.764648] Modules linked in: fuse intel_rapl x86_pkg_temp_thermal intel_powerclamp serio_raw i915 i2c_algo_bit drm_kms_helper drm i2c_i801 mei_me mei i2c_designware_platform i2c_designware_core sg sd_mod ehci_pci ehci_hcd ahci libahci e1000e xhci_hcd sdhci_acpi sdhci [ 35.764672] CPU: 0 PID: 3169 Comm: pm_rpm Tainted: G W 3.16.0-rc6.1407232028+ #695 [ 35.764673] Hardware name: Intel Corporation Shark Bay Client platform/WhiteTip Mountain 1, BIOS HSWLPTU1.86C.0137.R00.1403031632 03/03/2014 [ 35.764674] 0000000000000009 ffff88009ce13918 ffffffff816b6a61 ffff88009ce13960 [ 35.764677] ffff88009ce13950 ffffffff81075d88 ffff88009d930000 0000000000101008 [ 35.764679] 00000000ffffffff 0000000000101008 ffff88009d930000 ffff88009ce139b0 [ 35.764682] Call Trace: [ 35.764684] [<ffffffff816b6a61>] dump_stack+0x4d/0x66 [ 35.764686] [<ffffffff81075d88>] warn_slowpath_common+0x78/0xa0 [ 35.764688] [<ffffffff81075df7>] warn_slowpath_fmt+0x47/0x50 [ 35.764698] [<ffffffffa018c30d>] hsw_unclaimed_reg_debug+0x6d/0x80 [i915] [ 35.764708] [<ffffffffa018f1ae>] gen6_read32+0x8e/0x150 [i915] [ 35.764716] [<ffffffffa01696d1>] gen6_ggtt_insert_entries+0xd1/0x120 [i915] [ 35.764724] [<ffffffffa0168ce9>] ggtt_bind_vma+0xd9/0x100 [i915] [ 35.764733] [<ffffffffa0172583>] i915_gem_object_pin+0x683/0x750 [i915] [ 35.764742] [<ffffffffa0173cd7>] i915_gem_object_pin_to_display_plane+0x97/0x1d0 [i915] [ 35.764753] [<ffffffffa01a891c>] intel_crtc_cursor_set_obj+0x16c/0x520 [i915] [ 35.764763] [<ffffffffa01a8df5>] intel_cursor_plane_update+0xe5/0x120 [i915] [ 35.764772] [<ffffffffa00d83a4>] setplane_internal+0x264/0x2b0 [drm] [ 35.764780] [<ffffffffa00d850e>] drm_mode_cursor_common+0x11e/0x320 [drm] [ 35.764789] [<ffffffffa00dbb0c>] drm_mode_cursor_ioctl+0x3c/0x40 [drm] [ 35.764797] [<ffffffffa00cb87f>] drm_ioctl+0x1df/0x6a0 [drm] [ 35.764801] [<ffffffff816be9b9>] ? mutex_unlock+0x9/0x10 [ 35.764806] [<ffffffff811eaae6>] ? seq_read+0xb6/0x3e0 [ 35.764810] [<ffffffff811d97e0>] do_vfs_ioctl+0x2e0/0x4e0 [ 35.764813] [<ffffffff816c0bf7>] ? sysret_check+0x1b/0x56 [ 35.764818] [<ffffffff810c47fd>] ? trace_hardirqs_on_caller+0x15d/0x200 [ 35.764825] [<ffffffff811d9a61>] SyS_ioctl+0x81/0xa0 [ 35.764829] [<ffffffff816c0bd2>] system_call_fastpath+0x16/0x1b [ 35.764833] ---[ end trace 189706dc7c79e8dd ]--- [ 35.764864] [drm:intel_crtc_cursor_set_obj] cursor off Since there is a lot of action going on, and we decided that we wanted to get/put runtime PM in the highest possible level, I think it is a good idea to just get/put the power domain around the whole function (except for those early return checks). > -Daniel > -- > Daniel Vetter > Software Engineer, Intel Corporation > +41 (0) 79 365 57 48 - http://blog.ffwll.ch -- Paulo Zanoni -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html