Hello

On my X60 tablet, after a screen swap for a 1400x1050 screen, I started
noticing a whine. The noise is proportional to the reduction of the
backlight and doesn't happen at full brightness. I never noticed it before.

It happens regardless of how I change the backlight (fn+home/end,
xbacklight, custom script reading and writing to
/sys/class/backlight/intel_backlight/brightness) so I suspect a coreboot
issue.

I am currently using an old libreboot based on head
8ffc085e1affaabbe3dca8ac6a89346b71dfc02e with #5345, #7050, #7051, but not
#6731 and #7049 (since they were dropped and I do not need acpi backlight)
that works just fine, so I am a bit reluctant to change it.

Apparently #6731 and #7049 had the same problem: "some lower brightness
levels make the high-pitched noise", which was fixed cf
http://review.coreboot.org/#/c/6731/

After looking at the code, I see a note explaining how: "Francis tested
that like my noise issue it doesn't occur with a lower PWM frequency.

If we compute the frequency as (0x61 << 8) + (0x61 << 6) + 1 (the 1 is to
allow legacy backlight brightness which the VGA ROM allows and I don't know
if it should be enabled) and duty cycle as (x << 8) + (x << 6) for x in
0xf, ..., 0x61, then both our issues are solved.

I don't know if the resulting value (0x79417940) gives low enough frequency
to cause flickering for other users: "

I do not fully understand where or how the PWM frequency is set in
src/northbridge/intel/i945/gma.c. I never see that 0x79417940 either. the
only thing I see in
http://review.coreboot.org/#/c/6731/7/src/northbridge/intel/i945/gma.c is:

write32(pmmio + BLC_PWM_CTL, 0x6100610);

In the source of my libreboot, it is still:

write32(pmmio + BLC_PWM_CTL, conf->gpu_backlight);

With src/mainboard/lenovo/x60/devicetree.cb setting it with:

register "gpu_backlight" = "0x879F879E"

Should it get changed to:

write32(pmmio + BLC_PWM_CTL, 0x79417940)
The other thing I noticed were kernel warnings on wakeup from suspend2ram:
[54557.710112] [drm:intel_pipe_config_compare] *ERROR* mismatch in
gmch_pfit.pgm_ratios (expected 24183152, found 24117616)
[54557.710114] ------------[ cut here ]------------
[54557.710121] WARNING: CPU: 1 PID: 1432 at
drivers/gpu/drm/i915/intel_display.c:9541 check_crtc_state+0x759/0xe31()
[54557.710122] pipe state doesn't match!

It may be related.  Which coreboot head/patches is libreboot on the X60
presently using?

Thanks
Charles

Reply via email to