Bug 29685 - DPMS does not turn off LCD backlight on NV18 [GeForce4 MX with AGP8X (Mac)]
Summary: DPMS does not turn off LCD backlight on NV18 [GeForce4 MX with AGP8X (Mac)]
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: 7.5 (2009.10)
Hardware: PowerPC Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-19 23:50 UTC by Vlado Plaga
Modified: 2010-08-21 14:45 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
nouveau_imac_backlight.patch (2.82 KB, patch)
2010-08-20 05:35 UTC, Francisco Jerez
no flags Details | Splinter Review

Description Vlado Plaga 2010-08-19 23:50:33 UTC
I'm using bug #19356, which describes the same problem with a different iMac, as an orientation for my bug description.

Expected:
$ xset dpms force standby;
should turn off LCD backlight.

Actual Result:
Screen is black, but LCD backlight stays on.

Workaround:
Use nv driver.

Some information on my system is already in bug #29455 (video bios dump, register dump, "lspci -vvnn" output).

I downloaded, compiled, and ran radeontool, as was described in bug #19356:

nouveau driver:

DPMS on:
0x0060081c      0xa2565051 (-1571401647)
0x000010f0      0x84830535 (-2071788235)
DPMS off:
0x0060081c      0xa2565055 (-1571401643)
0x000010f0      0x84830535 (-2071788235)

nv driver:

DPMS on:
0x0060081c      0xa2565051 (-1571401647)
0x000010f0      0x84550535 (-2074802891)
DPMS off:
0x0060081c      0xa2565050 (-1571401648)
0x000010f0      0x04550535 (72680757)
Comment 1 Francisco Jerez 2010-08-20 05:35:50 UTC
Created attachment 38013 [details] [review]
nouveau_imac_backlight.patch

The attached patch should fix it, can you give it a try?
Comment 2 Vlado Plaga 2010-08-21 04:59:32 UTC
(In reply to comment #1)

> The attached patch should fix it, can you give it a try?

Yes! Great! Thank you! Now for me nouveau is superior to nv in every aspect... except for "installation", maybe. ;-)

First I tried the patch with Ubuntu 10.10's kernel sources (2.6.35), and it was applied without complaint, but the compilation failed with

drivers/gpu/drm/nouveau/nv04_dfp.c: In function ‘nv04_dfp_update_backlight’:
drivers/gpu/drm/nouveau/nv04_dfp.c:454: error: implicit declaration of function ‘nv_mask’
make[5]: *** [drivers/gpu/drm/nouveau/nv04_dfp.o] Fehler 1
make[4]: *** [drivers/gpu/drm/nouveau] Fehler 2
make[3]: *** [drivers/gpu/drm] Fehler 2
make[2]: *** [drivers/gpu] Fehler 2
make[1]: *** [drivers] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-source-2.6.35'
make: *** [debian/stamp/build/kernel] Fehler 2

Then I tried the official 2.6.36-rc1, and the backlight can now be switched off properly. Unfortunately the EDID error mentioned in bug #29455 is also back again.

Will that bug be fixed in 2.6.36-rc2? Can I just replace the "gpu/drm/nouveau" directory? Or should I take the whole linux tree from nouveau's git again?
Comment 3 Francisco Jerez 2010-08-21 14:45:01 UTC
(In reply to comment #2)
> (In reply to comment #1)
> 
> > The attached patch should fix it, can you give it a try?
> 
> Yes! Great! Thank you! Now for me nouveau is superior to nv in every aspect...
> except for "installation", maybe. ;-)
> 
Ok, pushed.

> First I tried the patch with Ubuntu 10.10's kernel sources (2.6.35), and it was
> applied without complaint, but the compilation failed with
> 
> drivers/gpu/drm/nouveau/nv04_dfp.c: In function ‘nv04_dfp_update_backlight’:
> drivers/gpu/drm/nouveau/nv04_dfp.c:454: error: implicit declaration of function
> ‘nv_mask’
> make[5]: *** [drivers/gpu/drm/nouveau/nv04_dfp.o] Fehler 1
> make[4]: *** [drivers/gpu/drm/nouveau] Fehler 2
> make[3]: *** [drivers/gpu/drm] Fehler 2
> make[2]: *** [drivers/gpu] Fehler 2
> make[1]: *** [drivers] Fehler 2
> make[1]: Verlasse Verzeichnis '/usr/src/linux-source-2.6.35'
> make: *** [debian/stamp/build/kernel] Fehler 2
> 
49eed80ad0cfa5d5d02992e8088463cbf1a5ff85 is what you're missing.

> Then I tried the official 2.6.36-rc1, and the backlight can now be switched off
> properly. Unfortunately the EDID error mentioned in bug #29455 is also back
> again.
> 
Try cherry-picking c80da92edec995a39afe2a8c2ede2fe2e2b30fc0 from the nouveau kernel tree.

> Will that bug be fixed in 2.6.36-rc2?

Not sure if it will be fixed for RC2 but it will probably be for one of the next RCs.

> Can I just replace the "gpu/drm/nouveau"
> directory? Or should I take the whole linux tree from nouveau's git again?

That works sometimes, if the internal APIs haven't been broken between the kernel versions you're trying to mix, but no guarantees.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.