* radeon issues on MacBook Pro 8,2 @ 2012-01-19 17:18 Seth Forshee 2012-01-19 19:48 ` Alex Deucher 0 siblings, 1 reply; 12+ messages in thread From: Seth Forshee @ 2012-01-19 17:18 UTC (permalink / raw) To: Dave Airlie, Alex Deucher; +Cc: dri-devel, linux-kernel, Seth Forshee I'm seeing several issues related to the radeon driver on a MacBook Pro 8,2 with the following graphics card: ATI Technologies Inc Whistler [AMD Radeon HD 6600M Series] [1002:6741] All problems were observed when using kernel version 3.2.1. None are seen when using fglrx. 1. Excessive power draw. When using the radeon driver ACPI reports a power draw of about 30W on an idle desktop. Using fglrx brings this number down to 15W. 2. Occasional long delays when suspending. When this happens I see messages like following in dmesg: [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting [drm:atom_execute_table_locked] *ERROR* atombios stuck executing D44E (len 62, WS 0, PS 0) @ 0xD46A Sometimes one of suspend or resume hangs completely, but I can't tell which and am not sure whether or not it's related. I'm also testing a Mac Mini with the exact same card which does not seem to suffer from this issue. I ran a bisections that identified f8d0edd (drm/radeon/kms: improve DP detect logic) as introducing problems with suspend, and reverting this patch on top of 3.2.1 does seem to eliminate both issues. 3. When the LVDS panel is powered off and back on, the display flickers, as if the backlight is cycling rapidly between low and high brightness. If the panel is left on this effect gradually lessens and is eventually no longer noticable. This is not seen with fglrx. Thanks, Seth ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-01-19 17:18 radeon issues on MacBook Pro 8,2 Seth Forshee @ 2012-01-19 19:48 ` Alex Deucher 2012-01-19 20:53 ` Seth Forshee 0 siblings, 1 reply; 12+ messages in thread From: Alex Deucher @ 2012-01-19 19:48 UTC (permalink / raw) To: Dave Airlie, Alex Deucher, dri-devel, linux-kernel; +Cc: Seth Forshee On Thu, Jan 19, 2012 at 12:18 PM, Seth Forshee <seth.forshee@canonical.com> wrote: > I'm seeing several issues related to the radeon driver on a MacBook Pro > 8,2 with the following graphics card: > > ATI Technologies Inc Whistler [AMD Radeon HD 6600M Series] [1002:6741] > > All problems were observed when using kernel version 3.2.1. None are > seen when using fglrx. > > 1. Excessive power draw. When using the radeon driver ACPI reports a > power draw of about 30W on an idle desktop. Using fglrx brings this > number down to 15W. The power saving features of the open source driver are not yet as good as the closed source driver. Please see the power management section of this page (http://wiki.x.org/wiki/RadeonFeature) for more info on the options currently available. > > 2. Occasional long delays when suspending. When this happens I see > messages like following in dmesg: > > [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting > [drm:atom_execute_table_locked] *ERROR* atombios stuck executing D44E (len 62, WS 0, PS 0) @ 0xD46A > > Sometimes one of suspend or resume hangs completely, but I can't > tell which and am not sure whether or not it's related. I'm also > testing a Mac Mini with the exact same card which does not seem to > suffer from this issue. > > I ran a bisections that identified f8d0edd (drm/radeon/kms: improve > DP detect logic) as introducing problems with suspend, and reverting > this patch on top of 3.2.1 does seem to eliminate both issues. > That patch doesn't really affect the modesetting paths directly; it looks like a red herring to me. > 3. When the LVDS panel is powered off and back on, the display > flickers, as if the backlight is cycling rapidly between low and > high brightness. If the panel is left on this effect gradually > lessens and is eventually no longer noticable. This is not seen with > fglrx. > For the sake of tracking this properly, it would probably be best to file a bug: https://bugs.freedesktop.org Product: DRI Component: DRM/Radeon What connectors does your card actually have on it? Please attach a copy of your dmesg output and vbios: (as root) (use lspci to get the bus id) cd /sys/bus/pci/devices/<pci bus id> echo 1 > rom cat rom > /tmp/vbios.rom echo 0 > rom Also, keep in mind that this is a mac so it's likely there may be wonky mac specific problems. Alex > Thanks, > Seth > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-01-19 19:48 ` Alex Deucher @ 2012-01-19 20:53 ` Seth Forshee 2012-01-20 15:53 ` Seth Forshee 2012-01-20 21:09 ` Pasi Kärkkäinen 0 siblings, 2 replies; 12+ messages in thread From: Seth Forshee @ 2012-01-19 20:53 UTC (permalink / raw) To: Alex Deucher Cc: Dave Airlie, Alex Deucher, dri-devel, linux-kernel, Seth Forshee On Thu, Jan 19, 2012 at 02:48:52PM -0500, Alex Deucher wrote: > On Thu, Jan 19, 2012 at 12:18 PM, Seth Forshee > <seth.forshee@canonical.com> wrote: > > I'm seeing several issues related to the radeon driver on a MacBook Pro > > 8,2 with the following graphics card: > > > > ATI Technologies Inc Whistler [AMD Radeon HD 6600M Series] [1002:6741] > > > > All problems were observed when using kernel version 3.2.1. None are > > seen when using fglrx. > > > > 1. Excessive power draw. When using the radeon driver ACPI reports a > > power draw of about 30W on an idle desktop. Using fglrx brings this > > number down to 15W. > > The power saving features of the open source driver are not yet as > good as the closed source driver. Please see the power management > section of this page (http://wiki.x.org/wiki/RadeonFeature) for more > info on the options currently available. The dynpm option makes a small difference, saving about 2W. I did notice an ocassional flash on the screen with this option, and the same flash each time I changed the power options. The only thing that improves things significatnly is the "low" profile method, which gets it down to about 18.5W. > > 2. Occasional long delays when suspending. When this happens I see > > messages like following in dmesg: > > > > [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting > > [drm:atom_execute_table_locked] *ERROR* atombios stuck executing D44E (len 62, WS 0, PS 0) @ 0xD46A > > > > Sometimes one of suspend or resume hangs completely, but I can't > > tell which and am not sure whether or not it's related. I'm also > > testing a Mac Mini with the exact same card which does not seem to > > suffer from this issue. > > > > I ran a bisections that identified f8d0edd (drm/radeon/kms: improve > > DP detect logic) as introducing problems with suspend, and reverting > > this patch on top of 3.2.1 does seem to eliminate both issues. > > > > That patch doesn't really affect the modesetting paths directly; it > looks like a red herring to me. Perhaps. I just started a run of 200 s3 cycles with the patch reverted to see if I can reproduce the issues. I can usually trigger the problem with 15 or fewer s3 cycles. > > 3. When the LVDS panel is powered off and back on, the display > > flickers, as if the backlight is cycling rapidly between low and > > high brightness. If the panel is left on this effect gradually > > lessens and is eventually no longer noticable. This is not seen with > > fglrx. > > > > For the sake of tracking this properly, it would probably be best to file a bug: > https://bugs.freedesktop.org > Product: DRI > Component: DRM/Radeon > What connectors does your card actually have on it? Please attach a > copy of your dmesg output and vbios: > (as root) > (use lspci to get the bus id) > cd /sys/bus/pci/devices/<pci bus id> > echo 1 > rom > cat rom > /tmp/vbios.rom > echo 0 > rom > > Also, keep in mind that this is a mac so it's likely there may be > wonky mac specific problems. I filed bug #44955 for the flickering issue. Thanks, Seth ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-01-19 20:53 ` Seth Forshee @ 2012-01-20 15:53 ` Seth Forshee 2012-01-20 19:38 ` Alex Deucher 2012-01-20 21:09 ` Pasi Kärkkäinen 1 sibling, 1 reply; 12+ messages in thread From: Seth Forshee @ 2012-01-20 15:53 UTC (permalink / raw) To: Alex Deucher, Dave Airlie, Alex Deucher, dri-devel, linux-kernel Cc: Seth Forshee On Thu, Jan 19, 2012 at 02:53:17PM -0600, Seth Forshee wrote: > > > 2. Occasional long delays when suspending. When this happens I see > > > messages like following in dmesg: > > > > > > [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting > > > [drm:atom_execute_table_locked] *ERROR* atombios stuck executing D44E (len 62, WS 0, PS 0) @ 0xD46A > > > > > > Sometimes one of suspend or resume hangs completely, but I can't > > > tell which and am not sure whether or not it's related. I'm also > > > testing a Mac Mini with the exact same card which does not seem to > > > suffer from this issue. > > > > > > I ran a bisections that identified f8d0edd (drm/radeon/kms: improve > > > DP detect logic) as introducing problems with suspend, and reverting > > > this patch on top of 3.2.1 does seem to eliminate both issues. > > > > > > > That patch doesn't really affect the modesetting paths directly; it > > looks like a red herring to me. > > Perhaps. I just started a run of 200 s3 cycles with the patch reverted > to see if I can reproduce the issues. I can usually trigger the problem > with 15 or fewer s3 cycles. The machine completed 200 s3 cycles with the patch reverted without long delays, hangs, or any atombios error messages. Without reverting it doesn't get through many at all before experiencing the errors and long delays or hangs. I added a printout of the connector status resulting from the logic that was changed by f8d0edd. With the logic prior to this commit it consistently returns the status as disconnected, which is correct as I have nothing connected. But with the improved logic the status is sometimes reported as connected, and these coincide with the atombios errors. Seth ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-01-20 15:53 ` Seth Forshee @ 2012-01-20 19:38 ` Alex Deucher 2012-01-20 21:12 ` Seth Forshee 0 siblings, 1 reply; 12+ messages in thread From: Alex Deucher @ 2012-01-20 19:38 UTC (permalink / raw) To: Alex Deucher, Dave Airlie, Alex Deucher, dri-devel, linux-kernel Cc: Seth Forshee On Fri, Jan 20, 2012 at 10:53 AM, Seth Forshee <seth.forshee@canonical.com> wrote: > On Thu, Jan 19, 2012 at 02:53:17PM -0600, Seth Forshee wrote: >> > > 2. Occasional long delays when suspending. When this happens I see >> > > messages like following in dmesg: >> > > >> > > [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting >> > > [drm:atom_execute_table_locked] *ERROR* atombios stuck executing D44E (len 62, WS 0, PS 0) @ 0xD46A >> > > >> > > Sometimes one of suspend or resume hangs completely, but I can't >> > > tell which and am not sure whether or not it's related. I'm also >> > > testing a Mac Mini with the exact same card which does not seem to >> > > suffer from this issue. >> > > >> > > I ran a bisections that identified f8d0edd (drm/radeon/kms: improve >> > > DP detect logic) as introducing problems with suspend, and reverting >> > > this patch on top of 3.2.1 does seem to eliminate both issues. >> > > >> > >> > That patch doesn't really affect the modesetting paths directly; it >> > looks like a red herring to me. >> >> Perhaps. I just started a run of 200 s3 cycles with the patch reverted >> to see if I can reproduce the issues. I can usually trigger the problem >> with 15 or fewer s3 cycles. > > The machine completed 200 s3 cycles with the patch reverted without long > delays, hangs, or any atombios error messages. Without reverting it > doesn't get through many at all before experiencing the errors and long > delays or hangs. > > I added a printout of the connector status resulting from the logic that > was changed by f8d0edd. With the logic prior to this commit it > consistently returns the status as disconnected, which is correct as I > have nothing connected. But with the improved logic the status is > sometimes reported as connected, and these coincide with the atombios > errors. > Do any of the disconnected displayport connectors get misdetected as connected during normal operation or does it only happen during suspend/resume? Alex ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-01-20 19:38 ` Alex Deucher @ 2012-01-20 21:12 ` Seth Forshee 2012-01-20 21:39 ` Alex Deucher 0 siblings, 1 reply; 12+ messages in thread From: Seth Forshee @ 2012-01-20 21:12 UTC (permalink / raw) To: Alex Deucher; +Cc: Dave Airlie, Alex Deucher, dri-devel, linux-kernel On Fri, Jan 20, 2012 at 02:38:37PM -0500, Alex Deucher wrote: > On Fri, Jan 20, 2012 at 10:53 AM, Seth Forshee > <seth.forshee@canonical.com> wrote: > > On Thu, Jan 19, 2012 at 02:53:17PM -0600, Seth Forshee wrote: > >> > > 2. Occasional long delays when suspending. When this happens I see > >> > > messages like following in dmesg: > >> > > > >> > > [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting > >> > > [drm:atom_execute_table_locked] *ERROR* atombios stuck executing D44E (len 62, WS 0, PS 0) @ 0xD46A > >> > > > >> > > Sometimes one of suspend or resume hangs completely, but I can't > >> > > tell which and am not sure whether or not it's related. I'm also > >> > > testing a Mac Mini with the exact same card which does not seem to > >> > > suffer from this issue. > >> > > > >> > > I ran a bisections that identified f8d0edd (drm/radeon/kms: improve > >> > > DP detect logic) as introducing problems with suspend, and reverting > >> > > this patch on top of 3.2.1 does seem to eliminate both issues. > >> > > > >> > > >> > That patch doesn't really affect the modesetting paths directly; it > >> > looks like a red herring to me. > >> > >> Perhaps. I just started a run of 200 s3 cycles with the patch reverted > >> to see if I can reproduce the issues. I can usually trigger the problem > >> with 15 or fewer s3 cycles. > > > > The machine completed 200 s3 cycles with the patch reverted without long > > delays, hangs, or any atombios error messages. Without reverting it > > doesn't get through many at all before experiencing the errors and long > > delays or hangs. > > > > I added a printout of the connector status resulting from the logic that > > was changed by f8d0edd. With the logic prior to this commit it > > consistently returns the status as disconnected, which is correct as I > > have nothing connected. But with the improved logic the status is > > sometimes reported as connected, and these coincide with the atombios > > errors. > > > > Do any of the disconnected displayport connectors get misdetected as > connected during normal operation or does it only happen during > suspend/resume? So far I've only seen them during suspend/resume. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-01-20 21:12 ` Seth Forshee @ 2012-01-20 21:39 ` Alex Deucher 2012-01-20 23:08 ` Seth Forshee 0 siblings, 1 reply; 12+ messages in thread From: Alex Deucher @ 2012-01-20 21:39 UTC (permalink / raw) To: Alex Deucher, Dave Airlie, Alex Deucher, dri-devel, linux-kernel On Fri, Jan 20, 2012 at 4:12 PM, Seth Forshee <seth.forshee@canonical.com> wrote: > On Fri, Jan 20, 2012 at 02:38:37PM -0500, Alex Deucher wrote: >> On Fri, Jan 20, 2012 at 10:53 AM, Seth Forshee >> <seth.forshee@canonical.com> wrote: >> > On Thu, Jan 19, 2012 at 02:53:17PM -0600, Seth Forshee wrote: >> >> > > 2. Occasional long delays when suspending. When this happens I see >> >> > > messages like following in dmesg: >> >> > > >> >> > > [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting >> >> > > [drm:atom_execute_table_locked] *ERROR* atombios stuck executing D44E (len 62, WS 0, PS 0) @ 0xD46A >> >> > > >> >> > > Sometimes one of suspend or resume hangs completely, but I can't >> >> > > tell which and am not sure whether or not it's related. I'm also >> >> > > testing a Mac Mini with the exact same card which does not seem to >> >> > > suffer from this issue. >> >> > > >> >> > > I ran a bisections that identified f8d0edd (drm/radeon/kms: improve >> >> > > DP detect logic) as introducing problems with suspend, and reverting >> >> > > this patch on top of 3.2.1 does seem to eliminate both issues. >> >> > > >> >> > >> >> > That patch doesn't really affect the modesetting paths directly; it >> >> > looks like a red herring to me. >> >> >> >> Perhaps. I just started a run of 200 s3 cycles with the patch reverted >> >> to see if I can reproduce the issues. I can usually trigger the problem >> >> with 15 or fewer s3 cycles. >> > >> > The machine completed 200 s3 cycles with the patch reverted without long >> > delays, hangs, or any atombios error messages. Without reverting it >> > doesn't get through many at all before experiencing the errors and long >> > delays or hangs. >> > >> > I added a printout of the connector status resulting from the logic that >> > was changed by f8d0edd. With the logic prior to this commit it >> > consistently returns the status as disconnected, which is correct as I >> > have nothing connected. But with the improved logic the status is >> > sometimes reported as connected, and these coincide with the atombios >> > errors. >> > >> >> Do any of the disconnected displayport connectors get misdetected as >> connected during normal operation or does it only happen during >> suspend/resume? > > So far I've only seen them during suspend/resume. Can you track down who is calling the connector->detect() callbacks during suspend and resume? Alex ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-01-20 21:39 ` Alex Deucher @ 2012-01-20 23:08 ` Seth Forshee 2012-02-01 1:06 ` Seth Forshee 0 siblings, 1 reply; 12+ messages in thread From: Seth Forshee @ 2012-01-20 23:08 UTC (permalink / raw) To: Alex Deucher Cc: Dave Airlie, Alex Deucher, dri-devel, linux-kernel, Seth Forshee On Fri, Jan 20, 2012 at 04:39:31PM -0500, Alex Deucher wrote: > On Fri, Jan 20, 2012 at 4:12 PM, Seth Forshee > <seth.forshee@canonical.com> wrote: > > On Fri, Jan 20, 2012 at 02:38:37PM -0500, Alex Deucher wrote: > >> On Fri, Jan 20, 2012 at 10:53 AM, Seth Forshee > >> <seth.forshee@canonical.com> wrote: > >> > On Thu, Jan 19, 2012 at 02:53:17PM -0600, Seth Forshee wrote: > >> >> > > 2. Occasional long delays when suspending. When this happens I see > >> >> > > messages like following in dmesg: > >> >> > > > >> >> > > [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting > >> >> > > [drm:atom_execute_table_locked] *ERROR* atombios stuck executing D44E (len 62, WS 0, PS 0) @ 0xD46A > >> >> > > > >> >> > > Sometimes one of suspend or resume hangs completely, but I can't > >> >> > > tell which and am not sure whether or not it's related. I'm also > >> >> > > testing a Mac Mini with the exact same card which does not seem to > >> >> > > suffer from this issue. > >> >> > > > >> >> > > I ran a bisections that identified f8d0edd (drm/radeon/kms: improve > >> >> > > DP detect logic) as introducing problems with suspend, and reverting > >> >> > > this patch on top of 3.2.1 does seem to eliminate both issues. > >> >> > > > >> >> > > >> >> > That patch doesn't really affect the modesetting paths directly; it > >> >> > looks like a red herring to me. > >> >> > >> >> Perhaps. I just started a run of 200 s3 cycles with the patch reverted > >> >> to see if I can reproduce the issues. I can usually trigger the problem > >> >> with 15 or fewer s3 cycles. > >> > > >> > The machine completed 200 s3 cycles with the patch reverted without long > >> > delays, hangs, or any atombios error messages. Without reverting it > >> > doesn't get through many at all before experiencing the errors and long > >> > delays or hangs. > >> > > >> > I added a printout of the connector status resulting from the logic that > >> > was changed by f8d0edd. With the logic prior to this commit it > >> > consistently returns the status as disconnected, which is correct as I > >> > have nothing connected. But with the improved logic the status is > >> > sometimes reported as connected, and these coincide with the atombios > >> > errors. > >> > > >> > >> Do any of the disconnected displayport connectors get misdetected as > >> connected during normal operation or does it only happen during > >> suspend/resume? > > > > So far I've only seen them during suspend/resume. > > Can you track down who is calling the connector->detect() callbacks > during suspend and resume? I got two different stack traces, see below. And to slightly amend my statement above, I'm only seeing the wrong status returned on the suspend side of things. The status during resume always seems to be correct. Pid: 49, comm: kworker/0:2 Tainted: G C O 3.2.0-10-generic #17-Ubuntu Call Trace: [<ffffffffa03f5e1e>] radeon_dp_detect+0x1de/0x230 [radeon] [<ffffffffa014ac6d>] output_poll_execute+0xbd/0x1a0 [drm_kms_helper] [<ffffffffa014abb0>] ? drm_helper_mode_fill_fb_struct+0x30/0x30 [drm_kms_helper] [<ffffffff81083dca>] process_one_work+0x11a/0x480 [<ffffffff81084b74>] worker_thread+0x164/0x370 [<ffffffff81084a10>] ? manage_workers.isra.30+0x130/0x130 [<ffffffff810893cc>] kthread+0x8c/0xa0 [<ffffffff81660674>] kernel_thread_helper+0x4/0x10 [<ffffffff81089340>] ? flush_kthread_worker+0xa0/0xa0 [<ffffffff81660670>] ? gs_change+0x13/0x13 Pid: 49, comm: kworker/0:2 Tainted: G C O 3.2.0-10-generic #17-Ubuntu Call Trace: [<ffffffffa03f5e1e>] radeon_dp_detect+0x1de/0x230 [radeon] [<ffffffffa014b6b3>] drm_helper_probe_single_connector_modes+0x2c3/0x380 [drm_kms_helper] [<ffffffffa0149d42>] drm_fb_helper_hotplug_event+0xf2/0x150 [drm_kms_helper] [<ffffffffa03fe8d5>] radeon_fb_output_poll_changed+0x15/0x20 [radeon] [<ffffffffa03f7b65>] radeon_output_poll_changed+0x15/0x20 [radeon] [<ffffffffa014ad40>] output_poll_execute+0x190/0x1a0 [drm_kms_helper] [<ffffffffa014abb0>] ? drm_helper_mode_fill_fb_struct+0x30/0x30 [drm_kms_helper] [<ffffffff81083dca>] process_one_work+0x11a/0x480 [<ffffffff81084b74>] worker_thread+0x164/0x370 [<ffffffff81084a10>] ? manage_workers.isra.30+0x130/0x130 [<ffffffff810893cc>] kthread+0x8c/0xa0 [<ffffffff81660674>] kernel_thread_helper+0x4/0x10 [<ffffffff81089340>] ? flush_kthread_worker+0xa0/0xa0 [<ffffffff81660670>] ? gs_change+0x13/0x13 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-01-20 23:08 ` Seth Forshee @ 2012-02-01 1:06 ` Seth Forshee 2012-02-01 14:32 ` Alex Deucher 0 siblings, 1 reply; 12+ messages in thread From: Seth Forshee @ 2012-02-01 1:06 UTC (permalink / raw) To: Alex Deucher Cc: Dave Airlie, Alex Deucher, dri-devel, linux-kernel, Seth Forshee On Fri, Jan 20, 2012 at 05:08:31PM -0600, Seth Forshee wrote: > > Can you track down who is calling the connector->detect() callbacks > > during suspend and resume? > > I got two different stack traces, see below. > > And to slightly amend my statement above, I'm only seeing the wrong > status returned on the suspend side of things. The status during resume > always seems to be correct. > > Pid: 49, comm: kworker/0:2 Tainted: G C O 3.2.0-10-generic #17-Ubuntu > Call Trace: > [<ffffffffa03f5e1e>] radeon_dp_detect+0x1de/0x230 [radeon] > [<ffffffffa014ac6d>] output_poll_execute+0xbd/0x1a0 [drm_kms_helper] > [<ffffffffa014abb0>] ? drm_helper_mode_fill_fb_struct+0x30/0x30 [drm_kms_helper] > [<ffffffff81083dca>] process_one_work+0x11a/0x480 > [<ffffffff81084b74>] worker_thread+0x164/0x370 > [<ffffffff81084a10>] ? manage_workers.isra.30+0x130/0x130 > [<ffffffff810893cc>] kthread+0x8c/0xa0 > [<ffffffff81660674>] kernel_thread_helper+0x4/0x10 > [<ffffffff81089340>] ? flush_kthread_worker+0xa0/0xa0 > [<ffffffff81660670>] ? gs_change+0x13/0x13 > > Pid: 49, comm: kworker/0:2 Tainted: G C O 3.2.0-10-generic #17-Ubuntu > Call Trace: > [<ffffffffa03f5e1e>] radeon_dp_detect+0x1de/0x230 [radeon] > [<ffffffffa014b6b3>] drm_helper_probe_single_connector_modes+0x2c3/0x380 [drm_kms_helper] > [<ffffffffa0149d42>] drm_fb_helper_hotplug_event+0xf2/0x150 [drm_kms_helper] > [<ffffffffa03fe8d5>] radeon_fb_output_poll_changed+0x15/0x20 [radeon] > [<ffffffffa03f7b65>] radeon_output_poll_changed+0x15/0x20 [radeon] > [<ffffffffa014ad40>] output_poll_execute+0x190/0x1a0 [drm_kms_helper] > [<ffffffffa014abb0>] ? drm_helper_mode_fill_fb_struct+0x30/0x30 [drm_kms_helper] > [<ffffffff81083dca>] process_one_work+0x11a/0x480 > [<ffffffff81084b74>] worker_thread+0x164/0x370 > [<ffffffff81084a10>] ? manage_workers.isra.30+0x130/0x130 > [<ffffffff810893cc>] kthread+0x8c/0xa0 > [<ffffffff81660674>] kernel_thread_helper+0x4/0x10 > [<ffffffff81089340>] ? flush_kthread_worker+0xa0/0xa0 > [<ffffffff81660670>] ? gs_change+0x13/0x13 >From these traces it looks like all that really needs to happen is to disable the output polling during suspend. The following patch seems to get rid of the problems I'm seeing. Does this look okay to you? >From 0c01950f248c541198b7560793cf57c59b2c11f8 Mon Sep 17 00:00:00 2001 From: Seth Forshee <seth.forshee@canonical.com> Date: Tue, 31 Jan 2012 15:37:02 -0600 Subject: [PATCH 1/1] drm/radeon/kms: disable output polling when suspended Polling the outputs when the device is suspended can result in erroneous status updates. Disable output polling during suspend to prevent this from happening. Signed-off-by: Seth Forshee <seth.forshee@canonical.com> --- drivers/gpu/drm/radeon/radeon_device.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c index cec51a5..49f7cb7 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c @@ -883,6 +883,8 @@ int radeon_suspend_kms(struct drm_device *dev, pm_message_t state) if (dev->switch_power_state == DRM_SWITCH_POWER_OFF) return 0; + drm_kms_helper_poll_disable(dev); + /* turn off display hw */ list_for_each_entry(connector, &dev->mode_config.connector_list, head) { drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); @@ -972,6 +974,8 @@ int radeon_resume_kms(struct drm_device *dev) list_for_each_entry(connector, &dev->mode_config.connector_list, head) { drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); } + + drm_kms_helper_poll_enable(dev); return 0; } -- 1.7.8.3 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-02-01 1:06 ` Seth Forshee @ 2012-02-01 14:32 ` Alex Deucher 0 siblings, 0 replies; 12+ messages in thread From: Alex Deucher @ 2012-02-01 14:32 UTC (permalink / raw) To: Alex Deucher, Dave Airlie, Alex Deucher, dri-devel, linux-kernel Cc: Seth Forshee On Tue, Jan 31, 2012 at 8:06 PM, Seth Forshee <seth.forshee@canonical.com> wrote: > On Fri, Jan 20, 2012 at 05:08:31PM -0600, Seth Forshee wrote: >> > Can you track down who is calling the connector->detect() callbacks >> > during suspend and resume? >> >> I got two different stack traces, see below. >> >> And to slightly amend my statement above, I'm only seeing the wrong >> status returned on the suspend side of things. The status during resume >> always seems to be correct. >> >> Pid: 49, comm: kworker/0:2 Tainted: G C O 3.2.0-10-generic #17-Ubuntu >> Call Trace: >> [<ffffffffa03f5e1e>] radeon_dp_detect+0x1de/0x230 [radeon] >> [<ffffffffa014ac6d>] output_poll_execute+0xbd/0x1a0 [drm_kms_helper] >> [<ffffffffa014abb0>] ? drm_helper_mode_fill_fb_struct+0x30/0x30 [drm_kms_helper] >> [<ffffffff81083dca>] process_one_work+0x11a/0x480 >> [<ffffffff81084b74>] worker_thread+0x164/0x370 >> [<ffffffff81084a10>] ? manage_workers.isra.30+0x130/0x130 >> [<ffffffff810893cc>] kthread+0x8c/0xa0 >> [<ffffffff81660674>] kernel_thread_helper+0x4/0x10 >> [<ffffffff81089340>] ? flush_kthread_worker+0xa0/0xa0 >> [<ffffffff81660670>] ? gs_change+0x13/0x13 >> >> Pid: 49, comm: kworker/0:2 Tainted: G C O 3.2.0-10-generic #17-Ubuntu >> Call Trace: >> [<ffffffffa03f5e1e>] radeon_dp_detect+0x1de/0x230 [radeon] >> [<ffffffffa014b6b3>] drm_helper_probe_single_connector_modes+0x2c3/0x380 [drm_kms_helper] >> [<ffffffffa0149d42>] drm_fb_helper_hotplug_event+0xf2/0x150 [drm_kms_helper] >> [<ffffffffa03fe8d5>] radeon_fb_output_poll_changed+0x15/0x20 [radeon] >> [<ffffffffa03f7b65>] radeon_output_poll_changed+0x15/0x20 [radeon] >> [<ffffffffa014ad40>] output_poll_execute+0x190/0x1a0 [drm_kms_helper] >> [<ffffffffa014abb0>] ? drm_helper_mode_fill_fb_struct+0x30/0x30 [drm_kms_helper] >> [<ffffffff81083dca>] process_one_work+0x11a/0x480 >> [<ffffffff81084b74>] worker_thread+0x164/0x370 >> [<ffffffff81084a10>] ? manage_workers.isra.30+0x130/0x130 >> [<ffffffff810893cc>] kthread+0x8c/0xa0 >> [<ffffffff81660674>] kernel_thread_helper+0x4/0x10 >> [<ffffffff81089340>] ? flush_kthread_worker+0xa0/0xa0 >> [<ffffffff81660670>] ? gs_change+0x13/0x13 > > From these traces it looks like all that really needs to happen is to > disable the output polling during suspend. The following patch seems to > get rid of the problems I'm seeing. Does this look okay to you? > Looks great. Thanks for tracking this down. We should probably cc stable as well when this gets committed. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> > > From 0c01950f248c541198b7560793cf57c59b2c11f8 Mon Sep 17 00:00:00 2001 > From: Seth Forshee <seth.forshee@canonical.com> > Date: Tue, 31 Jan 2012 15:37:02 -0600 > Subject: [PATCH 1/1] drm/radeon/kms: disable output polling when suspended > > Polling the outputs when the device is suspended can result in erroneous > status updates. Disable output polling during suspend to prevent this > from happening. > > Signed-off-by: Seth Forshee <seth.forshee@canonical.com> > --- > drivers/gpu/drm/radeon/radeon_device.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c > index cec51a5..49f7cb7 100644 > --- a/drivers/gpu/drm/radeon/radeon_device.c > +++ b/drivers/gpu/drm/radeon/radeon_device.c > @@ -883,6 +883,8 @@ int radeon_suspend_kms(struct drm_device *dev, pm_message_t state) > if (dev->switch_power_state == DRM_SWITCH_POWER_OFF) > return 0; > > + drm_kms_helper_poll_disable(dev); > + > /* turn off display hw */ > list_for_each_entry(connector, &dev->mode_config.connector_list, head) { > drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); > @@ -972,6 +974,8 @@ int radeon_resume_kms(struct drm_device *dev) > list_for_each_entry(connector, &dev->mode_config.connector_list, head) { > drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); > } > + > + drm_kms_helper_poll_enable(dev); > return 0; > } > > -- > 1.7.8.3 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-01-19 20:53 ` Seth Forshee 2012-01-20 15:53 ` Seth Forshee @ 2012-01-20 21:09 ` Pasi Kärkkäinen 2012-01-20 23:26 ` Seth Forshee 1 sibling, 1 reply; 12+ messages in thread From: Pasi Kärkkäinen @ 2012-01-20 21:09 UTC (permalink / raw) To: Alex Deucher, Dave Airlie, Alex Deucher, dri-devel, linux-kernel On Thu, Jan 19, 2012 at 02:53:17PM -0600, Seth Forshee wrote: > On Thu, Jan 19, 2012 at 02:48:52PM -0500, Alex Deucher wrote: > > On Thu, Jan 19, 2012 at 12:18 PM, Seth Forshee > > <seth.forshee@canonical.com> wrote: > > > I'm seeing several issues related to the radeon driver on a MacBook Pro > > > 8,2 with the following graphics card: > > > > > > ATI Technologies Inc Whistler [AMD Radeon HD 6600M Series] [1002:6741] > > > > > > All problems were observed when using kernel version 3.2.1. None are > > > seen when using fglrx. > > > > > > 1. Excessive power draw. When using the radeon driver ACPI reports a > > > power draw of about 30W on an idle desktop. Using fglrx brings this > > > number down to 15W. > > > > The power saving features of the open source driver are not yet as > > good as the closed source driver. Please see the power management > > section of this page (http://wiki.x.org/wiki/RadeonFeature) for more > > info on the options currently available. > > The dynpm option makes a small difference, saving about 2W. I did notice > an ocassional flash on the screen with this option, and the same flash > each time I changed the power options. > Btw how do you measure the power draw? > The only thing that improves things significatnly is the "low" profile > method, which gets it down to about 18.5W. > I have older radeon (Mobility HD3650) and only the "low" profile makes it usable.. the "default" profile will overheat the laptop and crash it, or then Linux does automatic emergency thermal shutdown to protect the laptop. If I boot some Linux livecd the laptop will basicly overheat and shutdown by itself before the desktop is loaded from the livecd.. :( -- Pasi ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: radeon issues on MacBook Pro 8,2 2012-01-20 21:09 ` Pasi Kärkkäinen @ 2012-01-20 23:26 ` Seth Forshee 0 siblings, 0 replies; 12+ messages in thread From: Seth Forshee @ 2012-01-20 23:26 UTC (permalink / raw) To: Pasi Kärkkäinen Cc: Alex Deucher, Dave Airlie, Alex Deucher, dri-devel, linux-kernel, Seth Forshee, Colin King On Fri, Jan 20, 2012 at 11:09:29PM +0200, Pasi Kärkkäinen wrote: > On Thu, Jan 19, 2012 at 02:53:17PM -0600, Seth Forshee wrote: > > On Thu, Jan 19, 2012 at 02:48:52PM -0500, Alex Deucher wrote: > > > On Thu, Jan 19, 2012 at 12:18 PM, Seth Forshee > > > <seth.forshee@canonical.com> wrote: > > > > I'm seeing several issues related to the radeon driver on a MacBook Pro > > > > 8,2 with the following graphics card: > > > > > > > > ATI Technologies Inc Whistler [AMD Radeon HD 6600M Series] [1002:6741] > > > > > > > > All problems were observed when using kernel version 3.2.1. None are > > > > seen when using fglrx. > > > > > > > > 1. Excessive power draw. When using the radeon driver ACPI reports a > > > > power draw of about 30W on an idle desktop. Using fglrx brings this > > > > number down to 15W. > > > > > > The power saving features of the open source driver are not yet as > > > good as the closed source driver. Please see the power management > > > section of this page (http://wiki.x.org/wiki/RadeonFeature) for more > > > info on the options currently available. > > > > The dynpm option makes a small difference, saving about 2W. I did notice > > an ocassional flash on the screen with this option, and the same flash > > each time I changed the power options. > > > > Btw how do you measure the power draw? You can get the instantaneous rate from the data under /proc/acpi/battery, but I use a tool called powerstat [1], written by my colleague Colin King. The advantage of powerstat is that it samples the ACPI data over a period of time and reports the average and standard deviation. That way I have a better idea of how much power is really being drawn and the quality of the value reported. [1] http://kernel.ubuntu.com/git?p=cking/powerstat.git ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2012-02-01 14:32 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-01-19 17:18 radeon issues on MacBook Pro 8,2 Seth Forshee 2012-01-19 19:48 ` Alex Deucher 2012-01-19 20:53 ` Seth Forshee 2012-01-20 15:53 ` Seth Forshee 2012-01-20 19:38 ` Alex Deucher 2012-01-20 21:12 ` Seth Forshee 2012-01-20 21:39 ` Alex Deucher 2012-01-20 23:08 ` Seth Forshee 2012-02-01 1:06 ` Seth Forshee 2012-02-01 14:32 ` Alex Deucher 2012-01-20 21:09 ` Pasi Kärkkäinen 2012-01-20 23:26 ` Seth Forshee
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).