mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-01 05:56:40 +07:00
ACPI: Fix ioremap size for MMIO reads and writes
The size used for I/O remapping MMIO read and write accesses has not accounted for the basis of ACPI's Generic Address Structure (GAS) 'Register Bit Width' field which is bits, not bytes. This patch adjusts the ioremap() 'size' argument accordingly. ACPI "Generic Register" reference: ACPI Specification, Revision 4.0, Section 5.2.3.1, "Generic Address Structure". Signed-off-by: Myron Stowe <myron.stowe@hp.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
f6f94e2ab1
commit
b3ba1efec2
@ -496,7 +496,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
|
||||
u32 dummy;
|
||||
void __iomem *virt_addr;
|
||||
|
||||
virt_addr = ioremap(phys_addr, width);
|
||||
virt_addr = ioremap(phys_addr, width / 8);
|
||||
if (!value)
|
||||
value = &dummy;
|
||||
|
||||
@ -524,7 +524,7 @@ acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
|
||||
{
|
||||
void __iomem *virt_addr;
|
||||
|
||||
virt_addr = ioremap(phys_addr, width);
|
||||
virt_addr = ioremap(phys_addr, width / 8);
|
||||
|
||||
switch (width) {
|
||||
case 8:
|
||||
|
Loading…
Reference in New Issue
Block a user