|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [linux-2.6.18-xen] Dom0 ACPI: handle I/O access width th
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1221731055 -3600
# Node ID 5f3c40a4c21491b311b9837c0990ff833d4bf62b
# Parent 3161879fdf229fe9893e5dea7089aa0a926e86d0
Dom0 ACPI: handle I/O access width that are not a multiple of 8 bits
Back ported following patch from upstream to support 4-bit access
width which is required by T-state control.
Below are original commit comments from upstream.
commit 49fbabf56dc715bbb51e59742e82ba762790aac0
Author: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Date: Thu Nov 15 17:01:06 2007 +0800
ACPI: Handle I/O access width requestst that are not a multiple of
8 bits.
We've run into BIOS that hand us 4-bit access width requests
for T-state control when the code expected only multipls of
8-bits.
Round up.
Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx>
Signed-off-by: Li Shaohua <shaohua.li@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
Signed-off-by: Wei Gang <gang.wei@xxxxxxxxx>
---
drivers/acpi/osl.c | 25 +++++++++----------------
1 files changed, 9 insertions(+), 16 deletions(-)
diff -r 3161879fdf22 -r 5f3c40a4c214 drivers/acpi/osl.c
--- a/drivers/acpi/osl.c Tue Sep 16 21:26:15 2008 +0900
+++ b/drivers/acpi/osl.c Thu Sep 18 10:44:15 2008 +0100
@@ -337,17 +337,14 @@ acpi_status acpi_os_read_port(acpi_io_ad
if (!value)
value = &dummy;
- switch (width) {
- case 8:
+ *value = 0;
+ if (width <= 8) {
*(u8 *) value = inb(port);
- break;
- case 16:
+ } else if (width <= 16) {
*(u16 *) value = inw(port);
- break;
- case 32:
+ } else if (width <= 32) {
*(u32 *) value = inl(port);
- break;
- default:
+ } else {
BUG();
}
@@ -358,17 +355,13 @@ EXPORT_SYMBOL(acpi_os_read_port);
acpi_status acpi_os_write_port(acpi_io_address port, u32 value, u32 width)
{
- switch (width) {
- case 8:
+ if (width <= 8) {
outb(value, port);
- break;
- case 16:
+ } else if (width <= 16) {
outw(value, port);
- break;
- case 32:
+ } else if (width <= 32) {
outl(value, port);
- break;
- default:
+ } else {
BUG();
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [linux-2.6.18-xen] Dom0 ACPI: handle I/O access width that are not a multiple of 8 bits,
Xen patchbot-linux-2.6.18-xen <=
|
|
|
|
|