On Wed, 15 Jul 2015 20:16:05 +0300
Paul Irofti <[email protected]> wrote:

> On Wed, Jul 15, 2015 at 12:21:02PM -0400, Adam Van Ymeren wrote:
> > 
> > 
> > On 15 July 2015 12:18:16 GMT-04:00, Paul Irofti <[email protected]>
> > wrote:
> > >> After a cold boot the output is as follows.
> > >> 
> > >> 1)  Pressing brightness up
> > >> 
> > >> acpithinkpad0: handling event 0x1011
> > >> acpithinkpad0: handling event 0x000
> > >> 
> > >> 2)  Pressing brightess down
> > >> 
> > >> acpithinkpad0: handling event 0x1011
> > >> acpithinkpad0: handling event 0x000
> > >> 
> > >> 
> > >> Then I suspend zzz, and resume and the output changes slightly
> > >> to.
> > >> 
> > >> 1)  Pressing brightness up
> > >> 
> > >> acpithinkpad0: handling event 0x1010
> > >> acpithinkpad0: handling event 0x000
> > >> 
> > >> 2)  Pressing brightness down
> > >> 
> > >> acpithinkpad0: handling event 0x1011
> > >> acpithinkpad0: handling event 0x000
> > >> 
> > >> For some reason pressing the brightness up command gives the
> > >brightness
> > >> down event, but doesn't actually change the brightness until a
> > >> suspend/resume cycle is done.
> > >
> > >Interesting, so the brightness does not change even if you press
> > >brightness down. Right?
> > 
> > Right.  Not until I've done a suspend resume cycle does the
> > brightness change in any direction.  Which is really bizarre.
> > 
> > Could this maybe be a BIOS/firmware issue?  I will try updating my
> > BIOS if there is a newer version available.
> 
> Sure, you can try updating the BIOS.
> 
> Another question: what is the display.brightness value on cold boot?
> # wsconsctl display.brightness

I have no display.brightness value at all.

# wsconsctl | grep display
display wsconsctl: Use explicit arg to view keyboard.map.
display.type=radeondrm
display.emulations=vt100
display.screentypes=std
display.focus=4
display.screen_on=250
display.screen_off=0
display.vblank=off
display.kbdact=on
display.msact=on
display.outact=on

> 
> Can you also tell me what happens when you press the brightness down
> button on cold boot with this diff?

With the diff applied on a cold boot, no brightness change.  After
suspend/resume, brightness down turns it down a few notches, and
brightness up turns it up one at a time as expected.


I didn't update my BIOS yet, haven't had a chance.  But I did notice
that the brightness controls work as expected when the boot loader is
up, but they stop working once the kernel has booted.

> 
> Index: acpithinkpad.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/acpi/acpithinkpad.c,v
> retrieving revision 1.44
> diff -u -p -r1.44 acpithinkpad.c
> --- acpithinkpad.c    24 Apr 2015 14:44:17 -0000      1.44
> +++ acpithinkpad.c    15 Jul 2015 17:15:02 -0000
> @@ -304,6 +304,8 @@ thinkpad_hotkey(struct aml_node *node, i
>               if (aml_evalinteger(sc->sc_acpi, sc->sc_devnode,
> "MHKP", 0, NULL, &event))
>                       break;
> +             printf("%s: handling event 0x%03llx\n",
> +                 DEVNAME(sc), event);
>               if (event == 0)
>                       break;
>  
> @@ -313,6 +315,8 @@ thinkpad_hotkey(struct aml_node *node, i
>                       handled = 1;
>                       break;
>               case THINKPAD_BUTTON_BRIGHTNESS_DOWN:
> +                     thinkpad_brightness_down(sc);
> +                     thinkpad_brightness_down(sc);
>                       thinkpad_brightness_down(sc);
>                       handled = 1;
>                       break;

Reply via email to