Dear Corentin,
Yes, you are right, finally I know the story, thank you very much.
There is an udev event sending out while pressing the brightness key.
I'll file a bug for gnome-settings-daemon, since we use it to handle the OSD.
And please ignore this patch, I'll resend it with quirks.
If you are still interesting in the DSDT, here you are.
Thanks.
Best regards,
AceLan Kao.
2012/3/12 Corentin Chary <[email protected]>:
> On Mon, Mar 12, 2012 at 2:34 AM, AceLan Kao <[email protected]> wrote:
>> Dear Corentin,
>>
>> No, I don't use acpi_backlight=vendor or something like that.
>> And there is no ACPI backlight functions in the BIOS.
>
> Hum ok, I see. I would be curious to take a look at the DSDT, is this
> possible ?
>
>> Yes, we just need to inform the userspace to update the backlight
>> brightness status, and I found that using backlight_notify doesn't work, so
>> I let it send
>> the key event directly.
>
> Here is how backlight notification work these days:
>
> When a backlight related hotkey is received:
> - The BIOS already have handled it and changed the brightness: we have
> to call backlight_force_update(bd, BACKLIGHT_UPDATE_HOTKEY) to tell
> userspace that the brightness have changed in response to an hotkey
> - The BIOS haven't handled it: we should only send an input event
> (KEY_BRIGHTNESSDOWN or KEY_BRIGHTNESSUP) and userspace will deal with
> it (setting the appropriate sysfs file, and displaying an OSD).
>
> When we call backlight_force_update(bd, BACKLIGHT_UPDATE_HOTKEY), it
> do two things:
> - send a change notification on the actual_brightness file (userspace
> can monitor it using inotify or related).
> - send a uevent which can be catched by udev or others (with SOURCE
> being an env variable containing the source of this change).
>
> It's possible that some desktop components don't handle that correctly
> yet (gnome-power-daemon, gnome-settings-daemon, powerdevil, xrandr,
> etc..). But in this case you should send them a bug report.
>
> ref: backlight: Allow drivers to update the core, and generate events
> on changes - https://lwn.net/Articles/341289/
>
> --
> Corentin Chary
> http://xf.iksaif.net
> --
> To unsubscribe from this list: send the line "unsubscribe
> platform-driver-x86" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Chia-Lin Kao(AceLan)
http://blog.acelan.idv.tw/
E-Mail: acelan.kaoATcanonical.com (s/AT/@/)
DSDTÝ– ÉALASKAA M I INTL SP1O
.IO1B IO1L IO3B�IO3L
IOES WKTP SPIO
.IOHW�IOSB IOSL
IOHB�IOHL
TCBR €ÐþTCLT SRCB ÀÑþSRCL @SUSW
ÿPMBS PMLN
€SMIP
²APCB ÀþAPCL PM300HPTB ÐþHPTCôÑþGPBS GPLN
€PEBS àPELN LAPB àþVTDS ÙþVTDL @ACPH
ÞASSB AOTB AAXB SHPC PEPMPEERPECSITKE AMWV
TOBS`IO2B IO2L SMBS ðSMBL
PEHP PICM _PIC hp
ªDBG8¡p
¬DBG8phPICMOSVRÿA&OSFL
’“OSVRÿ¤OSVR “PICM p
¬DBG8pOSVR G[_OSI` _OSI
Linux p
OSVR _OSI
Windows 2001 p
OSVR _OSI
Windows 2001.1 p
OSVR _OSI
FreeBSD p
OSVR _OSI
HP-UX p
OSVR _OSI
OpenVMS p
OSVR _OSI
Windows 2001 SP1 p
OSVR _OSI
Windows 2001 SP2 p
OSVR _OSI
Windows 2001 SP3 p
OSVR _OSI
Windows 2006 p
OSVR _OSI
Windows 2006 SP1 p
OSVR _OSI
Windows 2009 p
OSVR¡I %MCTH_OS_
Microsoft Windows NT p OSVR "MCTH_OS_
Microsoft Windows pOSVR 9MCTH_OS_
Microsoft WindowsME: Millennium Edition p
OSVR MCTH_OS_
Linux p
OSVR MCTH_OS_
FreeBSD p
OSVR MCTH_OS_
HP-UX p
OSVR MCTH_OS_
OpenVMS p
OSVR¤OSVRNMCTH •‡h‡i¤ r‡h`BUF0`BUF1`phBUF0piBUF1¢`v` ’“ƒˆBUF0` ƒˆBUF1` ¤ ¤PRWP KGPRWphˆPRWP pySS1_ `}`ySS2_
`}`ySS3_
`}`ySS4_
` {yi ` piˆPRWP ¡)z`` ‘“OSFL“OSFL
�`ˆPRWP ¡
‚`ˆPRWP ¤PRWPWAKP [€DEB0
€[�DEB0DBG8[€DEB1
�
[�DEB1DBG9SS1_SS2_ SS3_SS4_IOSTDTOPM ROMS àÿ[€RNVS }àºm [�KRNVSIGDSTLSTCADLPADLCSTENSTESSTENDIDDID1 DID2 DID3 DID4 DID5 DID6 DID7 DID8 KSV0 KSV1BLCSBRTLALSEALAFASLB IBTTIPATITVFITVMIPSCIBLCIBIAISSCI409I509I609I709IPCFIDMSIF1EHVCONXD1 NXD2 NXD3 NXD4 NXD5 NXD6 NXD7 NXD8 GSMIPAVPIMONDSENLIDSƒŽ_SB_PR00Aÿÿ
LNKC
ÿÿ LNKH
ÿÿ LNKH
ÿÿ LNKG
ÿÿ LNKF ÿÿ
LNKC
ÿÿ LNKB
ÿÿ LNKD
ÿÿ LNKA ÿÿ
LNKB ÿÿ
LNKC
ÿÿ LNKA
ÿÿ LNKB ÿÿ
LNKC ÿÿ
LNKD
ÿÿ LNKB
ÿÿ LNKA ÿÿ
LNKC ÿÿ
LNKD
ÿÿ LNKE
ÿÿ LNKA AR00Gÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
PR114ÿÿ LNKA ÿÿLNKB ÿÿ
LNKC ÿÿ
LNKD AR11, ÿÿ
ÿÿ
ÿÿ
ÿÿ
PR124ÿÿ LNKB ÿÿLNKC ÿÿ
LNKD ÿÿ
LNKA AR12, ÿÿ
ÿÿ
ÿÿ
ÿÿ
PR134ÿÿ LNKC ÿÿLNKD ÿÿ
LNKA ÿÿ
LNKB AR13, ÿÿ
ÿÿ
ÿÿ
ÿÿ
PR144ÿÿ LNKD ÿÿLNKC ÿÿ
LNKB ÿÿ
LNKA AR14, ÿÿ
ÿÿ
ÿÿ
ÿÿ
PR154ÿÿ LNKA ÿÿLNKB ÿÿ
LNKC ÿÿ
LNKD AR15, ÿÿ
ÿÿ
ÿÿ
ÿÿ
PR164ÿÿ LNKB ÿÿLNKC ÿÿ
LNKD ÿÿ
LNKA AR16, ÿÿ
ÿÿ
ÿÿ
ÿÿ
PR014ÿÿ LNKB ÿÿLNKC ÿÿ
LNKD ÿÿ
LNKA AR01, ÿÿ
ÿÿ
ÿÿ
ÿÿ
PR024ÿÿ LNKB ÿÿLNKC ÿÿ
LNKD ÿÿ
LNKA AR02, ÿÿ
ÿÿ
ÿÿ
ÿÿ
PR034ÿÿ LNKC ÿÿLNKD ÿÿ
LNKA ÿÿ
LNKB AR03, ÿÿ
ÿÿ
ÿÿ
ÿÿ
PR044ÿÿ LNKD ÿÿLNKA ÿÿ
LNKB ÿÿ
LNKC AR04, ÿÿ
ÿÿ
ÿÿ
ÿÿ
PRSA
#øÜy PRSAPRSBPRSC
#xÜy PRSCPRSDPRSAPRSEPRSAPRSFPRSAPRSGPRSAPRSH[‚�PCI0_HIDAÐ
_CIDAÐ
_ADR ^BN00 ¤ _BBN ¤BN00_UID _PRT
PICM¤AR00¤PR00_S3D ‘“OSFL“OSFL
¤
¡¤
[‚FMCH__HIDAÐ_UID
MCHRB
>† Ñþ † à† † Òþ † àþ y F _CRS ŠMCHR
PCIBŠMCHR
PCIL ’“PEXB pPEXBPCIBpPEXLPCIL¡pPEBSPCIBpPELNPCILŠMCHR
VTCBŠMCHR
VTCL ’“VTDB pVTDBVTCBpVTLNVTCL¡pVTDSVTCBpVTDLVTCL¤MCHR[€NBNV ˜-ߺ [�,NBNVNBSG @PEXB PEXL MCHB MCHL VTDB VTLN NPTSNWAKCPRBSTAV
BRB_ BRL_ IOB_ IOL_ àMBB_ ¿MBL_ `@MABL MABH MALL MALH MAML MAMH CRS1J
¶ˆ
€ Gøøˆ
÷ øˆ
ÿ ‡
ÿÿ ‡ € ÿÿ
€ ‡ ÿÿßÿ üýŠ+ y CRS2N
jˆ
€ ÿ € ˆ
÷ ø‡ €ÿÿÿÿ €Š+ y _STA ¤STAVI1_CRS JCPRB‹CRS1
MIN0‹CRS1
MAX0‹CRS1
LEN0pBRB_MIN0pBRL_LEN0pLEN0`rMIN0v`MAX0‹CRS1
0MIN1‹CRS1
2MAX1‹CRS1
6LEN1 +“IOB_ pIOL_`rIOB_v`MAX1tMAX1MIN1`r`LEN1¡$pIOB_MIN1pIOL_LEN1pLEN1`rMIN1v`MAX1ŠCRS1
vMIN3ŠCRS1
zMAX3ŠCRS1
‚LEN3pMBB_MIN3pMBL_LEN3pLEN3`rMIN3v`MAX3 D
‘MALHMALLŠCRS1
”MN8Lr
”
`ŠCRS1`MN8HpMABLMN8LpMABHMN8HŠCRS1
œMX8Lr
œ
aŠCRS1aMX8HŠCRS1
¬LN8Lr
¬
bŠCRS1bLN8HpMABLMN8LpMABHMN8HpMALLLN8LpMALHLN8HpMAMLMX8LpMAMHMX8H¤CRS1¡F‹CRS2
MIN2‹CRS2
MAX2‹CRS2
LEN2pBRB_MIN2pBRL_LEN2pLEN2arMIN2vaMAX2‹CRS2
MIN4‹CRS2
MAX4‹CRS2
LEN4pIOB_MIN4pIOL_LEN4pLEN4arMIN4vaMAX4ŠCRS2
*MIN5ŠCRS2
.MAX5ŠCRS2
6LEN5pMBB_MIN5pMBL_LEN5pLEN5arMIN5vaMAX5 B ‘MALHMALLŠCRS2
HMN9Lr
H
`ŠCRS2`MN9HŠCRS2
PMX9Lr
P
aŠCRS2aMX9HŠCRS2
`LN9Lr
`
bŠCRS2bLN9HpMABLMN9LpMABHMN9HpMALLLN9LpMALHLN9HpMAMLMX9LpMAMHMX9H¤CRS2J_OSCSUPP CTRL Šk CDW1Šk
CDW2Šk
CDW3 @
“h
[MÛ3÷@–WtAÀ=×fpCDW2SUPPpCDW3CTRL ’“{SUPP
{CTRL
CTRL ’PEHP{CTRL
CTRL ’SHPC{CTRL
CTRL ’PEPM{CTRL
CTRL ’PEER{CTRL
CTRL ’PECS{CTRL
CTRL ’“i}CDW1
CDW1 ’“CDW3CTRL}CDW1
CDW1pCTRLCDW3¤k¡}CDW1
CDW1¤k[‚†FSBRG_ADR SPTSpPS1SpPS1EpSLPS!SWAKp SLPSp PS1E RTCS¡†PWRB
[€APMPSMIP
[�APMPAPMCAPMS[�APMP BRTC[€SMIEPM30
[�SMIE PS1E PS1S K\_SB_SLPS [€PMS0PMBS
[�"PMS0
RTCS PEXSWAKS PWBT [‚KSLPB_HIDAÐ_STA ’“SUSW
ÿ¤
¡¤ "_PRW ’“SUSW
ÿ¤SUSW
¡¤ K(\_SB_C(PCI0[‚J PCH__HIDAÐ_UIDÇ_STA
ICHRF
RG G G G † † † † ÿ y N_CRS ‹ICHR
PBB_‹ICHR
PBH_ŒICHR
PML_pPMBSPBB_pPMBSPBH_p
TPML_‹ICHR
P2B_‹ICHR
P2H_ŒICHR
P2L_rPMBS
XP2B_rPMBS
XP2H_p
(P2L_ BSMBS‹ICHR
SMB_‹ICHR
SMH_ŒICHR
SML_pSMBSSMB_pSMBSSMH_pSMBLSML_ BGPBS‹ICHR
IGB_‹ICHR
IGH_ŒICHR
IGL_pGPBSIGB_pGPBSIGH_pGPLNIGL_ -APCBŠICHR
0APB_ŠICHR
4APL_pAPCBAPB_pAPCLAPL_ŠICHR
$RCB_ŠICHR
(RCL_pSRCBRCB_pSRCLRCL_ -TCBRŠICHR
<TCB_ŠICHR
@TCL_pTCBRTCB_pTCLTTCL_¤ICHR[‚OCWDT_HID%Ô?
_CIDAÐBUF0
GTTy _STA¤
7_CRS‹BUF0
WDB_‹BUF0
WDH_rPMBS
TWDB_rPMBS
TWDH_¤BUF0[‚L†SIO1_HIDAÐ_UIDCRS_%
"G G G G y B_CRS L�•SP1Oð”SP1O
ð‹CRS_
GPI0‹CRS_
GPI1ŒCRS_
GPILpSP1OGPI0pSP1OGPI1p
GPIL BIO1B‹CRS_
GP10‹CRS_
GP11ŒCRS_
GPL1pIO1BGP10pIO1BGP11pIO1LGPL1 BIO3B‹CRS_
GP20‹CRS_
GP21ŒCRS_
GPL2pIO3BGP20pIO3BGP21pIO3LGPL2 BIO2B‹CRS_
GP30‹CRS_
GP31ŒCRS_
GPL3pIO2BGP30pIO2BGP31pIO2LGPL3¤CRS_DCAT*
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ[MUT0 "ENFG[#MUT0ÿp
‡INDXp
‡INDXphLDN_EXFG p
ªINDX['MUT0LPTMENFGCGLDh{OPT0
`EXFG¤`,UHIDENFGCGLDh{OPT0
8`EXFG `¤AС¤AÐ[€IOIDSP1O
[�IOIDINDXDATA[†@
INDXDATA 8LDN_ HSCF1SCF2SCF3SCF4SCF5SCF6 CKCF 0ACTR HIOAHIOALIOH2IOL2 @INTR DMCH H5RGE0RGE1RGE2RGE3RGE4RGE5RGE6RGE7RGE8RGE9 0OPT0OPT1OPT2OPT3OPT4OPT5OPT6OPT7OPT8OPT9CGLD¤ƒˆDCATh ODSTAENFGCGLDhpACTR`EXFG “`
ÿ¤ {`` ’•h
}IOESy`{h
IOES¡}IOSTy`h IOST `¤
¡+ ’•h
pIOES`¡pIOST`{h
a {ya ` ¤
¡¤ ODCNTENFGCGLDh �•DMCH
’“{DMCH
a RDMAhiuapiACTRyIOAH
a}IOALaaRRIOhia
EXFGCRS1
G "