* [PATCH] ahci: Enable SB600 64bit DMA on MSI K9A2 Platinum v2
@ 2009-11-03 9:06 Mark Nelson
2009-11-03 9:10 ` Tejun Heo
2009-11-03 21:17 ` Jeff Garzik
0 siblings, 2 replies; 3+ messages in thread
From: Mark Nelson @ 2009-11-03 9:06 UTC (permalink / raw)
To: Tejun Heo; +Cc: linux-ide, jeff
Like the Asus M2A-VM, MSI's K9A2 Platinum (MS-7376) can also support 64bit
DMA. It is a new enough board that all the BIOS releases work correctly with
64bit DMA enabled.
Signed-off-by: Mark Nelson <mdnelson8@gmail.com>
---
drivers/ata/ahci.c | 40 +++++++++++++++++++++++++++++++++++-----
1 file changed, 35 insertions(+), 5 deletions(-)
Index: linux-2.6/drivers/ata/ahci.c
===================================================================
--- linux-2.6.orig/drivers/ata/ahci.c
+++ linux-2.6/drivers/ata/ahci.c
@@ -2726,6 +2726,30 @@ static bool ahci_sb600_enable_64bit(stru
},
.driver_data = "20071026", /* yyyymmdd */
},
+ /*
+ * All BIOS versions for the MSI K9A2 Platinum (MS-7376)
+ * support 64bit DMA.
+ *
+ * BIOS versions earlier than 1.5 had the Manufacturer DMI
+ * fields as "MICRO-STAR INTERANTIONAL CO.,LTD".
+ * This spelling mistake was fixed in BIOS version 1.5, so
+ * 1.5 and later have the Manufacturer as
+ * "MICRO-STAR INTERNATIONAL CO.,LTD".
+ * So try to match on DMI_BOARD_VENDOR of "MICRO-STAR INTER".
+ *
+ * BIOS versions earlier than 1.9 had a Board Product Name
+ * DMI field of "MS-7376". This was changed to be
+ * "K9A2 Platinum (MS-7376)" in version 1.9, but we can still
+ * match on DMI_BOARD_NAME of "MS-7376".
+ */
+ {
+ .ident = "MSI K9A2 Platinum",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR,
+ "MICRO-STAR INTER"),
+ DMI_MATCH(DMI_BOARD_NAME, "MS-7376"),
+ },
+ },
{ }
};
const struct dmi_system_id *match;
@@ -2737,18 +2761,24 @@ static bool ahci_sb600_enable_64bit(stru
!match)
return false;
+ if (!match->driver_data)
+ goto enable_64bit;
+
dmi_get_date(DMI_BIOS_DATE, &year, &month, &date);
snprintf(buf, sizeof(buf), "%04d%02d%02d", year, month, date);
- if (strcmp(buf, match->driver_data) >= 0) {
- dev_printk(KERN_WARNING, &pdev->dev, "%s: enabling 64bit DMA\n",
- match->ident);
- return true;
- } else {
+ if (strcmp(buf, match->driver_data) >= 0)
+ goto enable_64bit;
+ else {
dev_printk(KERN_WARNING, &pdev->dev, "%s: BIOS too old, "
"forcing 32bit DMA, update BIOS\n", match->ident);
return false;
}
+
+enable_64bit:
+ dev_printk(KERN_WARNING, &pdev->dev, "%s: enabling 64bit DMA\n",
+ match->ident);
+ return true;
}
static bool ahci_broken_system_poweroff(struct pci_dev *pdev)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ahci: Enable SB600 64bit DMA on MSI K9A2 Platinum v2
2009-11-03 9:06 [PATCH] ahci: Enable SB600 64bit DMA on MSI K9A2 Platinum v2 Mark Nelson
@ 2009-11-03 9:10 ` Tejun Heo
2009-11-03 21:17 ` Jeff Garzik
1 sibling, 0 replies; 3+ messages in thread
From: Tejun Heo @ 2009-11-03 9:10 UTC (permalink / raw)
To: Mark Nelson; +Cc: linux-ide, jeff
Mark Nelson wrote:
> Like the Asus M2A-VM, MSI's K9A2 Platinum (MS-7376) can also support 64bit
> DMA. It is a new enough board that all the BIOS releases 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 for the marticulous testing.
--
tejun
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ahci: Enable SB600 64bit DMA on MSI K9A2 Platinum v2
2009-11-03 9:06 [PATCH] ahci: Enable SB600 64bit DMA on MSI K9A2 Platinum v2 Mark Nelson
2009-11-03 9:10 ` Tejun Heo
@ 2009-11-03 21:17 ` Jeff Garzik
1 sibling, 0 replies; 3+ messages in thread
From: Jeff Garzik @ 2009-11-03 21:17 UTC (permalink / raw)
To: Mark Nelson; +Cc: Tejun Heo, linux-ide
On 11/03/2009 04:06 AM, Mark Nelson wrote:
> Like the Asus M2A-VM, MSI's K9A2 Platinum (MS-7376) can also support 64bit
> DMA. It is a new enough board that all the BIOS releases work correctly with
> 64bit DMA enabled.
>
> Signed-off-by: Mark Nelson<mdnelson8@gmail.com>
applied
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-11-03 21:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-03 9:06 [PATCH] ahci: Enable SB600 64bit DMA on MSI K9A2 Platinum v2 Mark Nelson
2009-11-03 9:10 ` Tejun Heo
2009-11-03 21:17 ` Jeff Garzik
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.