From ef93444b9358b3f492fa7ec7dd58065e3a02328c Mon Sep 17 00:00:00 2001 From: Robert Moore Date: Thu, 1 Nov 2012 16:52:03 -0700 Subject: Disassembler: Add new ACPI 5.0 interrupt sharing flags. This changes adds the ShareAndWake and ExclusiveAndWake flags which were added to the Irq, Interrupt, and Gpio resource descriptors in ACPI 5.0. --- source/components/disassembler/dmresrcl.c | 2 +- source/components/disassembler/dmresrcl2.c | 4 ++-- source/components/disassembler/dmresrcs.c | 2 +- source/components/resources/rsdump.c | 6 +++--- source/components/utilities/utresrc.c | 4 +++- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/source/components/disassembler/dmresrcl.c b/source/components/disassembler/dmresrcl.c index e50a76d55..0ca31e348 100644 --- a/source/components/disassembler/dmresrcl.c +++ b/source/components/disassembler/dmresrcl.c @@ -1017,7 +1017,7 @@ AcpiDmInterruptDescriptor ( AcpiGbl_ConsumeDecode [(Resource->ExtendedIrq.Flags & 1)], AcpiGbl_HeDecode [(Resource->ExtendedIrq.Flags >> 1) & 1], AcpiGbl_LlDecode [(Resource->ExtendedIrq.Flags >> 2) & 1], - AcpiGbl_ShrDecode [(Resource->ExtendedIrq.Flags >> 3) & 1]); + AcpiGbl_ShrDecode [(Resource->ExtendedIrq.Flags >> 3) & 3]); /* * The ResourceSource fields are optional and appear after the interrupt diff --git a/source/components/disassembler/dmresrcl2.c b/source/components/disassembler/dmresrcl2.c index 37d10b216..ef512a3ff 100644 --- a/source/components/disassembler/dmresrcl2.c +++ b/source/components/disassembler/dmresrcl2.c @@ -347,7 +347,7 @@ AcpiDmGpioIntDescriptor ( AcpiOsPrintf ("GpioInt (%s, %s, %s, ", AcpiGbl_HeDecode [(Resource->Gpio.IntFlags & 1)], AcpiGbl_LlDecode [(Resource->Gpio.IntFlags >> 1) & 1], - AcpiGbl_ShrDecode [(Resource->Gpio.IntFlags >> 3) & 1]); + AcpiGbl_ShrDecode [(Resource->Gpio.IntFlags >> 3) & 3]); /* PinConfig, DebounceTimeout */ @@ -395,7 +395,7 @@ AcpiDmGpioIoDescriptor ( AcpiDmIndent (Level); AcpiOsPrintf ("GpioIo (%s, ", - AcpiGbl_ShrDecode [(Resource->Gpio.IntFlags >> 3) & 1]); + AcpiGbl_ShrDecode [(Resource->Gpio.IntFlags >> 3) & 3]); if (Resource->Gpio.PinConfig <= 3) { diff --git a/source/components/disassembler/dmresrcs.c b/source/components/disassembler/dmresrcs.c index 90ef3be43..baba28bec 100644 --- a/source/components/disassembler/dmresrcs.c +++ b/source/components/disassembler/dmresrcs.c @@ -157,7 +157,7 @@ AcpiDmIrqDescriptor ( AcpiOsPrintf ("%s, %s, %s, ", AcpiGbl_HeDecode [Resource->Irq.Flags & 1], AcpiGbl_LlDecode [(Resource->Irq.Flags >> 3) & 1], - AcpiGbl_ShrDecode [(Resource->Irq.Flags >> 4) & 1]); + AcpiGbl_ShrDecode [(Resource->Irq.Flags >> 4) & 3]); } /* Insert a descriptor name */ diff --git a/source/components/resources/rsdump.c b/source/components/resources/rsdump.c index ba078c313..faa3ea4b3 100644 --- a/source/components/resources/rsdump.c +++ b/source/components/resources/rsdump.c @@ -211,7 +211,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpIrq[7] = {ACPI_RSD_UINT8 , ACPI_RSD_OFFSET (Irq.DescriptorLength), "Descriptor Length", NULL}, {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Triggering), "Triggering", AcpiGbl_HeDecode}, {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Polarity), "Polarity", AcpiGbl_LlDecode}, - {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Sharable), "Sharing", AcpiGbl_ShrDecode}, + {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Irq.Sharable), "Sharing", AcpiGbl_ShrDecode}, {ACPI_RSD_UINT8 , ACPI_RSD_OFFSET (Irq.InterruptCount), "Interrupt Count", NULL}, {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.Interrupts[0]), "Interrupt List", NULL} }; @@ -350,7 +350,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpExtIrq[8] = {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.ProducerConsumer), "Type", AcpiGbl_ConsumeDecode}, {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Triggering), "Triggering", AcpiGbl_HeDecode}, {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Polarity), "Polarity", AcpiGbl_LlDecode}, - {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Sharable), "Sharing", AcpiGbl_ShrDecode}, + {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Sharable), "Sharing", AcpiGbl_ShrDecode}, {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET (ExtendedIrq.ResourceSource), NULL, NULL}, {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (ExtendedIrq.InterruptCount), "Interrupt Count", NULL}, {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.Interrupts[0]), "Interrupt List", NULL} @@ -373,7 +373,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpGpio[16] = {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (Gpio.ConnectionType), "ConnectionType", AcpiGbl_CtDecode}, {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Gpio.ProducerConsumer), "ProducerConsumer", AcpiGbl_ConsumeDecode}, {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (Gpio.PinConfig), "PinConfig", AcpiGbl_PpcDecode}, - {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Gpio.Sharable), "Sharable", AcpiGbl_ShrDecode}, + {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Gpio.Sharable), "Sharing", AcpiGbl_ShrDecode}, {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Gpio.IoRestriction), "IoRestriction", AcpiGbl_IorDecode}, {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Gpio.Triggering), "Triggering", AcpiGbl_HeDecode}, {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Gpio.Polarity), "Polarity", AcpiGbl_LlDecode}, diff --git a/source/components/utilities/utresrc.c b/source/components/utilities/utresrc.c index f1e35c88d..cac92687d 100644 --- a/source/components/utilities/utresrc.c +++ b/source/components/utilities/utresrc.c @@ -220,7 +220,9 @@ const char *AcpiGbl_RwDecode[] = const char *AcpiGbl_ShrDecode[] = { "Exclusive", - "Shared" + "Shared", + "ExclusiveAndWake", /* ACPI 5.0 */ + "SharedAndWake" /* ACPI 5.0 */ }; const char *AcpiGbl_SizDecode[] = -- cgit v1.2.1