Oops, have to use AcpiSetCurrentResources, not invoke the _SRS method
directly.
This commit is contained in:
parent
c77eed5304
commit
8077a62b9c
@ -285,7 +285,6 @@ acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin)
|
|||||||
ACPI_BUFFER crsbuf, prsbuf;
|
ACPI_BUFFER crsbuf, prsbuf;
|
||||||
ACPI_RESOURCE *crsres, *prsres;
|
ACPI_RESOURCE *crsres, *prsres;
|
||||||
ACPI_DEVICE_INFO devinfo;
|
ACPI_DEVICE_INFO devinfo;
|
||||||
ACPI_OBJECT_LIST objectlist;
|
|
||||||
ACPI_STATUS status;
|
ACPI_STATUS status;
|
||||||
u_int8_t *prtp;
|
u_int8_t *prtp;
|
||||||
device_t *devlist;
|
device_t *devlist;
|
||||||
@ -476,9 +475,7 @@ acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin)
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
crsres->Data.Irq.Interrupts[0] = prsres->Data.Irq.Interrupts[0];
|
crsres->Data.Irq.Interrupts[0] = prsres->Data.Irq.Interrupts[0];
|
||||||
crsres->Data.Irq.NumberOfInterrupts = 1;
|
crsres->Data.Irq.NumberOfInterrupts = 1;
|
||||||
objectlist.Count = 1;
|
if (ACPI_FAILURE(status = AcpiSetCurrentResources(lnkdev, &crsbuf))) {
|
||||||
objectlist.Pointer = (ACPI_OBJECT *)crsres;
|
|
||||||
if (ACPI_FAILURE(status = AcpiEvaluateObject(lnkdev, "_SRS", &objectlist, NULL))) {
|
|
||||||
device_printf(sc->ap_dev, "couldn't route interrupt %d via %s - %s\n",
|
device_printf(sc->ap_dev, "couldn't route interrupt %d via %s - %s\n",
|
||||||
prsres->Data.Irq.Interrupts[0], acpi_name(lnkdev), acpi_strerror(status));
|
prsres->Data.Irq.Interrupts[0], acpi_name(lnkdev), acpi_strerror(status));
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -285,7 +285,6 @@ acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin)
|
|||||||
ACPI_BUFFER crsbuf, prsbuf;
|
ACPI_BUFFER crsbuf, prsbuf;
|
||||||
ACPI_RESOURCE *crsres, *prsres;
|
ACPI_RESOURCE *crsres, *prsres;
|
||||||
ACPI_DEVICE_INFO devinfo;
|
ACPI_DEVICE_INFO devinfo;
|
||||||
ACPI_OBJECT_LIST objectlist;
|
|
||||||
ACPI_STATUS status;
|
ACPI_STATUS status;
|
||||||
u_int8_t *prtp;
|
u_int8_t *prtp;
|
||||||
device_t *devlist;
|
device_t *devlist;
|
||||||
@ -476,9 +475,7 @@ acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin)
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
crsres->Data.Irq.Interrupts[0] = prsres->Data.Irq.Interrupts[0];
|
crsres->Data.Irq.Interrupts[0] = prsres->Data.Irq.Interrupts[0];
|
||||||
crsres->Data.Irq.NumberOfInterrupts = 1;
|
crsres->Data.Irq.NumberOfInterrupts = 1;
|
||||||
objectlist.Count = 1;
|
if (ACPI_FAILURE(status = AcpiSetCurrentResources(lnkdev, &crsbuf))) {
|
||||||
objectlist.Pointer = (ACPI_OBJECT *)crsres;
|
|
||||||
if (ACPI_FAILURE(status = AcpiEvaluateObject(lnkdev, "_SRS", &objectlist, NULL))) {
|
|
||||||
device_printf(sc->ap_dev, "couldn't route interrupt %d via %s - %s\n",
|
device_printf(sc->ap_dev, "couldn't route interrupt %d via %s - %s\n",
|
||||||
prsres->Data.Irq.Interrupts[0], acpi_name(lnkdev), acpi_strerror(status));
|
prsres->Data.Irq.Interrupts[0], acpi_name(lnkdev), acpi_strerror(status));
|
||||||
goto out;
|
goto out;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user