diff mbox

ACPICA: delete check for AML access to port 0x81-83

Message ID alpine.LFD.2.00.0904071754230.4799@localhost.localdomain (mailing list archive)
State Accepted
Headers show

Commit Message

Len Brown April 7, 2009, 9:56 p.m. UTC
From: Len Brown <len.brown@intel.com>

Sony laptops apparently write 4-bytes (rather than 1 byte)
to debug port 0x80, which spews error messages:

Denied AML access to port 0x00000080/4 (DMA1 0x0081-0x0083) [20090320]

http://bugzilla.kernel.org/show_bug.cgi?id=13036

Signed-off-by: Len Brown <len.brown@intel.com>
---

Rodrigo,
Please verify that this makes the warnings go away.

thanks,
-Len

 drivers/acpi/acpica/hwvalid.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

Comments

Rodrigo Luiz April 8, 2009, 1:20 a.m. UTC | #1
On Tue, Apr 7, 2009 at 18:56, Len Brown <lenb@kernel.org> wrote:
> From: Len Brown <len.brown@intel.com>
>
> Sony laptops apparently write 4-bytes (rather than 1 byte)
> to debug port 0x80, which spews error messages:
>
> Denied AML access to port 0x00000080/4 (DMA1 0x0081-0x0083) [20090320]
>
> http://bugzilla.kernel.org/show_bug.cgi?id=13036
>
> Signed-off-by: Len Brown <len.brown@intel.com>
> ---
>
> Rodrigo,
> Please verify that this makes the warnings go away.
>

Ok! There is no more warnings!
Mattia Dongili April 8, 2009, 1:46 a.m. UTC | #2
On Tue, Apr 07, 2009 at 05:56:09PM -0400, Len Brown wrote:
> From: Len Brown <len.brown@intel.com>
> 
> Sony laptops apparently write 4-bytes (rather than 1 byte)
> to debug port 0x80, which spews error messages:
> 
> Denied AML access to port 0x00000080/4 (DMA1 0x0081-0x0083) [20090320]
> 
> http://bugzilla.kernel.org/show_bug.cgi?id=13036
> 
> Signed-off-by: Len Brown <len.brown@intel.com>
Acked-by: Mattia Dongili <malattia@linux.it>

> ---
> 
> Rodrigo,
> Please verify that this makes the warnings go away.
> 
> thanks,
> -Len
> 
>  drivers/acpi/acpica/hwvalid.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/acpi/acpica/hwvalid.c b/drivers/acpi/acpica/hwvalid.c
> index bd3c937..7737afb 100644
> --- a/drivers/acpi/acpica/hwvalid.c
> +++ b/drivers/acpi/acpica/hwvalid.c
> @@ -90,7 +90,6 @@ static const struct acpi_port_info acpi_protected_ports[] = {
>  	{"PIT2", 0x0048, 0x004B, ACPI_OSI_WIN_XP},
>  	{"RTC", 0x0070, 0x0071, ACPI_OSI_WIN_XP},
>  	{"CMOS", 0x0074, 0x0076, ACPI_OSI_WIN_XP},
> -	{"DMA1", 0x0081, 0x0083, ACPI_OSI_WIN_XP},
>  	{"DMA1L", 0x0087, 0x0087, ACPI_OSI_WIN_XP},
>  	{"DMA2", 0x0089, 0x008B, ACPI_OSI_WIN_XP},
>  	{"DMA2L", 0x008F, 0x008F, ACPI_OSI_WIN_XP},
> -- 
> 1.6.2.2.446.gfbdc
>
Matthew Garrett April 9, 2009, 6:23 a.m. UTC | #3
On Tue, Apr 07, 2009 at 05:56:09PM -0400, Len Brown wrote:
> From: Len Brown <len.brown@intel.com>
> 
> Sony laptops apparently write 4-bytes (rather than 1 byte)
> to debug port 0x80, which spews error messages:

So admittedly I should just check the spec here instead, but: what does 
a 4 byte write to an io port mean? It seems a bit odd that Sonys could 
be scribbling over DMA1 without causing any problems. Is Windows turning 
this into a single byte write to the defined io port instead?
Moore, Robert April 9, 2009, 2:56 p.m. UTC | #4
A 4-byte write to an I/O port means four one-byte writes to four consecutive I/O ports (although, this can be done in one machine instruction.)

From our testing, Windows indeed is only allowing the single-byte write to the (legal) port 0x80. The rest of the request is simply ignored. In general, any part of an I/O request that overlaps the protected ports is ignored. No error is returned.

We are updating ACPICA to match this behavior.

Bob


>-----Original Message-----
>From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi-
>owner@vger.kernel.org] On Behalf Of Matthew Garrett
>Sent: Wednesday, April 08, 2009 11:24 PM
>To: Len Brown
>Cc: Rodrigo Luiz; malattia@linux.it; linux-acpi@vger.kernel.org
>Subject: Re: [PATCH] ACPICA: delete check for AML access to port 0x81-83
>
>On Tue, Apr 07, 2009 at 05:56:09PM -0400, Len Brown wrote:
>> From: Len Brown <len.brown@intel.com>
>>
>> Sony laptops apparently write 4-bytes (rather than 1 byte)
>> to debug port 0x80, which spews error messages:
>
>So admittedly I should just check the spec here instead, but: what does
>a 4 byte write to an io port mean? It seems a bit odd that Sonys could
>be scribbling over DMA1 without causing any problems. Is Windows turning
>this into a single byte write to the defined io port instead?
>
>--
>Matthew Garrett | mjg59@srcf.ucam.org
>--
>To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/acpi/acpica/hwvalid.c b/drivers/acpi/acpica/hwvalid.c
index bd3c937..7737afb 100644
--- a/drivers/acpi/acpica/hwvalid.c
+++ b/drivers/acpi/acpica/hwvalid.c
@@ -90,7 +90,6 @@  static const struct acpi_port_info acpi_protected_ports[] = {
 	{"PIT2", 0x0048, 0x004B, ACPI_OSI_WIN_XP},
 	{"RTC", 0x0070, 0x0071, ACPI_OSI_WIN_XP},
 	{"CMOS", 0x0074, 0x0076, ACPI_OSI_WIN_XP},
-	{"DMA1", 0x0081, 0x0083, ACPI_OSI_WIN_XP},
 	{"DMA1L", 0x0087, 0x0087, ACPI_OSI_WIN_XP},
 	{"DMA2", 0x0089, 0x008B, ACPI_OSI_WIN_XP},
 	{"DMA2L", 0x008F, 0x008F, ACPI_OSI_WIN_XP},