https://bugzilla.novell.com/show_bug.cgi?id=719076 https://bugzilla.novell.com/show_bug.cgi?id=719076#c21 --- Comment #21 from Michael Chang <mchang@suse.com> 2011-11-22 09:25:21 UTC --- (In reply to comment #20)
The fist command (setpci -s $(lspci | grep -i vga | cut -d" " -f1) F4.B=22) didn't change the brightness of my screen at all. It stayed at max brightness... Or near as I could tell. Maybe the bios is interpreting these values backwards? Is that possible?
Thanks for the info. It's very helpful. I think it's possible because of you has proved it ;) I think a patch like below would be able to deal with your problem (and break other people's). Would you mind to help testing it? I could provide repository to install kernel packages that contains the patch. If the result is positive, I would add your laptop in the quirk list and try to upstream it. force-reversed-lpbc.patch : Index: linux-3.1-bnc_719076/drivers/gpu/drm/i915/intel_panel.c =================================================================== --- linux-3.1-bnc_719076.orig/drivers/gpu/drm/i915/intel_panel.c +++ linux-3.1-bnc_719076/drivers/gpu/drm/i915/intel_panel.c @@ -207,10 +207,13 @@ u32 intel_panel_get_backlight(struct drm val >>= 1; if (is_backlight_combination_mode(dev)){ + u8 reversed_lpbc = 1; u8 lbpc; val &= ~1; pci_read_config_byte(dev->pdev, PCI_LBPC, &lbpc); + if (reversed_lpbc) + lbpc = 0xff - lbpc; val *= lbpc; } } @@ -238,9 +241,12 @@ static void intel_panel_actually_set_bac if (is_backlight_combination_mode(dev)){ u32 max = intel_panel_get_max_backlight(dev); + u8 reversed_lpbc = 1; u8 lbpc; lbpc = level * 0xfe / max + 1; + if (reversed_lpbc) + lbpc = 0xff - lbpc; level /= lbpc; pci_write_config_byte(dev->pdev, PCI_LBPC, lbpc); } -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.