Re: [PATCH] [RESEND] Add Dell laptop backlight brightness display



Hi!

You can get and set laptop brighness on Dell with the proper SMI call.

To do the proper SMI call requires parsing SMBIOS structure 0xDA, a
vendor-proprietary structure, and getting the SMI index and io port and
magic values. Then, you need to know how to setup the registers and
input/output buffers for the call. All of this is already present in
libsmbios.

Perhaps authors of libsmbios could help here?

Reading nvram is not a valid way to get brighness unless you also do
similar work (parse specific vendor-proprietary SMBIOS structures) to
ensure that you are reading the correct location. This location is
subject to change from BIOS to BIOS and machine to machine. The fact
that you may have observed it in the same location on a few laptops does
not change this fact.

Well, folks reverse-engineering your machines had no idea until now...

In fact, I have the same objection to the I8K driver in the kernel. It
has hardcoded SMI calls, that are subject to change. There is a proper
way to get the correct IO ports to make this safe, but it is not
currently being done.

Could you or someone at Dell submit patches to correct this?
--
64 bytes from 195.113.31.123: icmp_seq=28 ttl=51 time=448769.1 ms

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: How to generate a #SMI?
    ... management mode (SMM for short). ... there is only one way to enter SMM, which is through #SMI. ... the system provides a special I/O port; ... only occurs on read or writes for the I/O port. ...
    (comp.lang.asm.x86)
  • Re: How to generate a #SMI?
    ... areas that are otherwise protected and the System BIOS would ... to generate an SMI. ... the system provides a special I/O port; ... SMI on any system that supports ACPI. ...
    (comp.lang.asm.x86)
  • Re: [PATCH] x86: provide a DMI based port 0x80 I/O delay override.
    ... That may be an SMI, or perhaps any other kind of interrupt or exception. ... It appears to be the standard POST diagnostic port. ... So the ACPI BIOS thinks it has something to do with debugging. ... There's a little strangeness here, however, because the value sent to the port occasionally has something to do with arguments to the ACPI operations relating to sleep and wakeup ... ...
    (Linux-Kernel)
  • Re: How to generate a #SMI?
    ... management mode (SMM for short). ... there is only one way to enter SMM, which is through #SMI. ... the system provides a special I/O port; ... If there's some process for which the hardware needs a few CPU cycles, no matter in what mode the CPU is running now, then it generates an SMI and the SMI handler does the necessary processing. ...
    (comp.lang.asm.x86)