Page MenuHomeFreeBSD

D25157.id77691.diff
No OneTemporary

D25157.id77691.diff

Index: head/sys/dev/ahci/ahci_generic.c
===================================================================
--- head/sys/dev/ahci/ahci_generic.c
+++ head/sys/dev/ahci/ahci_generic.c
@@ -86,11 +86,22 @@
#endif
#ifdef DEV_ACPI
+
+static const struct ahci_acpi_quirk {
+ const char* hid;
+ u_int quirks;
+} ahci_acpi_quirks[] = {
+ { "NXP0004", AHCI_Q_NOPMP },
+ { NULL, 0 }
+};
+
+
static int
ahci_acpi_probe(device_t dev)
{
struct ahci_controller *ctlr = device_get_softc(dev);
ACPI_HANDLE h;
+ int i;
if ((h = acpi_get_handle(dev)) == NULL)
return (ENXIO);
@@ -105,6 +116,12 @@
if (bootverbose)
device_printf(dev, "Bus is%s cache-coherent\n",
ctlr->dma_coherent ? "" : " not");
+ for (i = 0; ahci_acpi_quirks[i].hid != NULL; i++) {
+ if (acpi_MatchHid(h, ahci_acpi_quirks[i].hid) != ACPI_MATCHHID_NOMATCH) {
+ ctlr->quirks = ahci_acpi_quirks[i].quirks;
+ break;
+ }
+ }
return (BUS_PROBE_DEFAULT);
}

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 6, 3:52 PM (21 m, 46 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30982511
Default Alt Text
D25157.id77691.diff (951 B)

Event Timeline