]> git.sur5r.net Git - groeck-it87/commit
Save and restore bank around envmon register accesses if needed
authorGuenter Roeck <linux@roeck-us.net>
Wed, 14 Feb 2018 16:57:46 +0000 (08:57 -0800)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 14 Feb 2018 17:00:59 +0000 (09:00 -0800)
commitd847fc0fc177f07352710f20167e1dc4d1b0a162
tree3e1f4b83ba53ba5ab4035794d0d57f2314603fc2
parent850c17bf068b7f87882ab6f16cb4cefb159e6aa1
Save and restore bank around envmon register accesses if needed

If an external EC accesses the chip through SMBus registers
and if the chip's environmental registers are paged, it is likely
that the EC modifies the page register. If so, it likely will not
update the page on each access but assume that it "owns" the chip.
If the driver then modifies the page register, subsequent accesses
from the EC will likely have unpredictable results.
To avoid that problem, let's save the page register value after
disabling SMBus accesses and restore the original value when done.
This is only necessary if accesses are not handled through MMIO
since we don't touch the page register in that case.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
it87.c