Patchwork [1/1] ahci: Enable SB600 64bit DMA on Asus M3A

login
register
mail settings
Submitter Mark Nelson
Date June 27, 2011, 6:33 a.m.
Message ID <BANLkTimMU+t4iFA=w-bbcCjAxTXtHn_n5A@mail.gmail.com>
Download mbox | patch
Permalink /patch/102111/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Mark Nelson - June 27, 2011, 6:33 a.m.
Like e65cc194f7628ecaa02462f22f42fb09b50dcd49 this patch enables 64bit DMA
for the AHCI SATA controller of a board that has the SB600 southbridge. In
this case though we're enabling 64bit DMA for the Asus M3A motherboard. It
is a new enough board that all of the BIOS releases since the initial
release (0301 from 2007-10-22) work correctly with 64bit DMA enabled.

Signed-off-by: Mark Nelson <mdnelson8@gmail.com>
---
 drivers/ata/ahci.c |   12 ++++++++++++
 1 file changed, 12 insertions(+)

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tejun Heo - June 27, 2011, 8:14 a.m.
On Mon, Jun 27, 2011 at 04:33:44PM +1000, Mark Nelson wrote:
> Like e65cc194f7628ecaa02462f22f42fb09b50dcd49 this patch enables 64bit DMA
> for the AHCI SATA controller of a board that has the SB600 southbridge. In
> this case though we're enabling 64bit DMA for the Asus M3A motherboard. It
> is a new enough board that all of the BIOS releases since the initial
> release (0301 from 2007-10-22) work correctly with 64bit DMA enabled.
> 
> Signed-off-by: Mark Nelson <mdnelson8@gmail.com>

Acked-by: Tejun Heo <tj@kernel.org>

Thank you very much.

Patch

Index: linux-2.6/drivers/ata/ahci.c
===================================================================
--- linux-2.6.orig/drivers/ata/ahci.c
+++ linux-2.6/drivers/ata/ahci.c
@@ -811,6 +811,18 @@  static bool ahci_sb600_enable_64bit(stru
 				DMI_MATCH(DMI_BOARD_NAME, "MS-7376"),
 			},
 		},
+		/*
+		 * All BIOS versions for the Asus M3A support 64bit DMA.
+		 * (all release versions from 0301 to 1206 were tested)
+		 */
+		{
+			.ident = "ASUS M3A",
+			.matches = {
+				DMI_MATCH(DMI_BOARD_VENDOR,
+					  "ASUSTeK Computer INC."),
+				DMI_MATCH(DMI_BOARD_NAME, "M3A"),
+			},
+		},
 		{ }
 	};
 	const struct dmi_system_id *match;