Page MenuHomeFreeBSD

D4301.id10542.diff
No OneTemporary

D4301.id10542.diff

Index: sys/dev/ahci/ahci.h
===================================================================
--- sys/dev/ahci/ahci.h
+++ sys/dev/ahci/ahci.h
@@ -576,13 +576,14 @@
#define AHCI_Q_NOCOUNT 0x00000400
#define AHCI_Q_ALTSIG 0x00000800
#define AHCI_Q_NOMSI 0x00001000
-#define AHCI_Q_ATI_PMP_BUG 0x00002000
-#define AHCI_Q_MAXIO_64K 0x00004000
-#define AHCI_Q_SATA1_UNIT0 0x00008000 /* need better method for this */
-#define AHCI_Q_ABAR0 0x00010000
-#define AHCI_Q_1MSI 0x00020000
-#define AHCI_Q_FORCE_PI 0x00040000
-#define AHCI_Q_RESTORE_CAP 0x00080000
+#define AHCI_Q_NOMSIX 0x00002000
+#define AHCI_Q_ATI_PMP_BUG 0x00004000
+#define AHCI_Q_MAXIO_64K 0x00008000
+#define AHCI_Q_SATA1_UNIT0 0x00010000 /* need better method for this */
+#define AHCI_Q_ABAR0 0x00020000
+#define AHCI_Q_1MSI 0x00040000
+#define AHCI_Q_FORCE_PI 0x00080000
+#define AHCI_Q_RESTORE_CAP 0x00100000
#define AHCI_Q_BIT_STRING \
"\020" \
@@ -599,13 +600,14 @@
"\013NOCOUNT" \
"\014ALTSIG" \
"\015NOMSI" \
- "\016ATI_PMP_BUG" \
- "\017MAXIO_64K" \
- "\020SATA1_UNIT0" \
- "\021ABAR0" \
- "\0221MSI" \
- "\023FORCE_PI" \
- "\024RESTORE_CAP"
+ "\016NOMSIX" \
+ "\017ATI_PMP_BUG" \
+ "\018MAXIO_64K" \
+ "\019SATA1_UNIT0" \
+ "\020ABAR0" \
+ "\0211MSI" \
+ "\022FORCE_PI" \
+ "\023RESTORE_CAP"
int ahci_attach(device_t dev);
int ahci_detach(device_t dev);
Index: sys/dev/ahci/ahci_pci.c
===================================================================
--- sys/dev/ahci/ahci_pci.c
+++ sys/dev/ahci/ahci_pci.c
@@ -293,7 +293,7 @@
{0x11851039, 0x00, "SiS 968", 0},
{0x01861039, 0x00, "SiS 968", 0},
{0xa01c177d, 0x00, "ThunderX", AHCI_Q_ABAR0|AHCI_Q_1MSI},
- {0x00311c36, 0x00, "Annapurna", AHCI_Q_FORCE_PI|AHCI_Q_RESTORE_CAP},
+ {0x00311c36, 0x00, "Annapurna", AHCI_Q_FORCE_PI|AHCI_Q_RESTORE_CAP|AHCI_Q_NOMSIX},
{0x00000000, 0x00, NULL, 0}
};
@@ -437,6 +437,9 @@
&ctlr->r_rid, RF_ACTIVE)))
return ENXIO;
+ if (ctlr->quirks & AHCI_Q_NOMSIX)
+ msix_count = 0;
+
/* Read MSI-x BAR IDs if supported */
if (msix_count > 0) {
error = ahci_pci_read_msix_bars(dev, &table_bar, &pba_bar);

File Metadata

Mime Type
text/plain
Expires
Fri, Jan 24, 3:54 AM (15 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16074314
Default Alt Text
D4301.id10542.diff (2 KB)

Event Timeline