Oops, have to use AcpiSetCurrentResources, not invoke the _SRS method

directly.
This commit is contained in:
Mike Smith 2001-07-07 10:12:06 +00:00
parent c77eed5304
commit 8077a62b9c
2 changed files with 2 additions and 8 deletions

View File

@ -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;

View File

@ -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;