mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
ACPI, APEI: Add 64-bit read/write support for APEI on i386
Base ACPI (CA) currently does not support atomic 64-bit reads and writes
(acpi_read() and acpi_write() split 64-bit loads/stores into two
32-bit transfers) yet APEI expects 64-bit transfer capability, even
when running on 32-bit systems.
This patch implements 64-bit read and write routines for APEI usage.
This patch re-factors similar functionality introduced in commit
04c25997c9, bringing it into the ACPI subsystem in preparation for
removing ./drivers/acpi/atomicio.[ch]. In the implementation I have
replicated acpi_os_read_memory() and acpi_os_write_memory(), creating
64-bit versions for APEI to utilize, as opposed to something more
elegant. My thinking is that we should attempt to see if we can get
ACPI's CA/OSL changed so that the existing acpi_read() and acpi_write()
interfaces are natively 64-bit capable and then subsequently remove the
replication.
Signed-off-by: Myron Stowe <[email protected]>
Signed-off-by: Len Brown <[email protected]>
This commit is contained in:
parent
dcd6c92267
commit
e615bf5b55
3 changed files with 124 additions and 31 deletions
|
|
@ -218,9 +218,13 @@ acpi_status acpi_os_write_port(acpi_io_address address, u32 value, u32 width);
|
|||
*/
|
||||
acpi_status
|
||||
acpi_os_read_memory(acpi_physical_address address, u32 * value, u32 width);
|
||||
acpi_status
|
||||
acpi_os_read_memory64(acpi_physical_address address, u64 *value, u32 width);
|
||||
|
||||
acpi_status
|
||||
acpi_os_write_memory(acpi_physical_address address, u32 value, u32 width);
|
||||
acpi_status
|
||||
acpi_os_write_memory64(acpi_physical_address address, u64 value, u32 width);
|
||||
|
||||
/*
|
||||
* Platform and hardware-independent PCI configuration space access
|
||||
|
|
|
|||
Loading…
Reference in a new issue