linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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-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 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 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

* 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

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).