Module Name: src
Committed By: jakllsch
Date: Wed Feb 2 04:18:14 UTC 2011
Modified Files:
src/sys/dev/pci: sdhc_pci.c
Log Message:
Like some other TI SDHCI parts, PCI_PRODUCT_TI_PCIXX12SD also needs the SD
card moved to the SDHCI controller.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/pci/sdhc_pci.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/sdhc_pci.c
diff -u src/sys/dev/pci/sdhc_pci.c:1.3 src/sys/dev/pci/sdhc_pci.c:1.4
--- src/sys/dev/pci/sdhc_pci.c:1.3 Fri Oct 2 04:38:47 2009
+++ src/sys/dev/pci/sdhc_pci.c Wed Feb 2 04:18:14 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: sdhc_pci.c,v 1.3 2009/10/02 04:38:47 uebayasi Exp $ */
+/* $NetBSD: sdhc_pci.c,v 1.4 2011/02/02 04:18:14 jakllsch Exp $ */
/* $OpenBSD: sdhc_pci.c,v 1.7 2007/10/30 18:13:45 chl Exp $ */
/*
@@ -18,7 +18,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sdhc_pci.c,v 1.3 2009/10/02 04:38:47 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sdhc_pci.c,v 1.4 2011/02/02 04:18:14 jakllsch Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -89,6 +89,15 @@
},
{
+ PCI_VENDOR_TI,
+ PCI_PRODUCT_TI_PCIXX12SD,
+ 0xffff,
+ 0xffff,
+ 3,
+ SDHC_PCI_QUIRK_TI_HACK
+ },
+
+ {
PCI_VENDOR_ENE,
PCI_PRODUCT_ENE_CB712,
0xffff,
@@ -278,11 +287,19 @@
pcitag_t tag;
pcireg_t id, reg;
- /* Look at func 3 for the flash device */
- tag = pci_make_tag(pc, pa->pa_bus, pa->pa_device, 3);
+ /* Look at func - 1 for the flash device */
+ tag = pci_make_tag(pc, pa->pa_bus, pa->pa_device, pa->pa_function - 1);
id = pci_conf_read(pc, tag, PCI_ID_REG);
- if (PCI_PRODUCT(id) != PCI_PRODUCT_TI_PCI72111FM)
+ if (PCI_VENDOR(id) != PCI_VENDOR_TI) {
return;
+ }
+ switch (PCI_PRODUCT(id)) {
+ case PCI_PRODUCT_TI_PCI72111FM:
+ case PCI_PRODUCT_TI_PCIXX12FM:
+ break;
+ default:
+ return;
+ }
/*
* Disable MMC/SD on the flash media controller so the