[PATCH v2 1/4] x86: tangier: acpi: Create buffers outside of the methods

Create buffers outside of the methods as ACPICA 20200214 complains about this:
Remark 2173 - Creation of named objects within a method is highly inefficient, use globals or method local variables instead
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com --- v2: rebased on top of rc3 (Bin) .../asm/arch-tangier/acpi/southcluster.asl | 95 ++++++++++--------- 1 file changed, 49 insertions(+), 46 deletions(-)
diff --git a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl index f088fe3cf51f..9d81abbdb674 100644 --- a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl +++ b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl @@ -338,12 +338,12 @@ Device (PCI0) { Name (_ADR, Zero)
+ Name (PCKG, Package () { + Buffer (0x14) {} + }) + /* GPLD: Generate Port Location Data (PLD) */ Method (GPLD, 1, Serialized) { - Name (PCKG, Package () { - Buffer (0x14) {} - }) - /* REV: Revision 0x02 for ACPI 5.0 */ CreateField (DerefOf (Index (PCKG, Zero)), Zero, 0x07, REV) Store (0x0002, REV) @@ -401,20 +401,21 @@ Device (PCI0) Return (STA_VISIBLE) }
+ Name (RBUF, ResourceTemplate() + { + UartSerialBus(0x0001C200, DataBitsEight, StopBitsOne, + 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware, + 0x20, 0x20, "\_SB.PCI0.HSU0", 0, ResourceConsumer, , ) + GpioInt(Level, ActiveHigh, Exclusive, PullNone, 0, + "\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 185 } + GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly, + "\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 184 } + GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly, + "\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 71 } + }) + Method (_CRS, 0, Serialized) { - Name (RBUF, ResourceTemplate() - { - UartSerialBus(0x0001C200, DataBitsEight, StopBitsOne, - 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware, - 0x20, 0x20, "\_SB.PCI0.HSU0", 0, ResourceConsumer, , ) - GpioInt(Level, ActiveHigh, Exclusive, PullNone, 0, - "\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 185 } - GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly, - "\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 184 } - GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly, - "\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 71 } - }) Return (RBUF) }
@@ -454,33 +455,34 @@ Device (PCI0) Return (STA_VISIBLE) }
+ Name (RBUF, ResourceTemplate() + { + /* + * Shadow registers in SRAM for PMIC: + * SRAM PMIC register + * -------------------- + * 0x00- Unknown + * 0x03 THRMIRQ (0x04) + * 0x04 BCUIRQ (0x05) + * 0x05 ADCIRQ (0x06) + * 0x06 CHGRIRQ0 (0x07) + * 0x07 CHGRIRQ1 (0x08) + * 0x08- Unknown + * 0x0a PBSTATUS (0x27) + * 0x0b- Unknown + */ + Memory32Fixed(ReadWrite, 0xFFFFF610, 0x00000010) + Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 30 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 23 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 52 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 51 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 50 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 27 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 49 } + }) + Method (_CRS, 0, Serialized) { - Name (RBUF, ResourceTemplate() - { - /* - * Shadow registers in SRAM for PMIC: - * SRAM PMIC register - * -------------------- - * 0x00- Unknown - * 0x03 THRMIRQ (0x04) - * 0x04 BCUIRQ (0x05) - * 0x05 ADCIRQ (0x06) - * 0x06 CHGRIRQ0 (0x07) - * 0x07 CHGRIRQ1 (0x08) - * 0x08- Unknown - * 0x0a PBSTATUS (0x27) - * 0x0b- Unknown - */ - Memory32Fixed(ReadWrite, 0xFFFFF610, 0x00000010) - Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 30 } - Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 23 } - Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 52 } - Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 51 } - Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 50 } - Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 27 } - Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 49 } - }) Return (RBUF) }
@@ -527,13 +529,14 @@ Device (PCI0) Return (STA_VISIBLE) }
+ Name (RBUF, ResourceTemplate () + { + Memory32Fixed(ReadWrite, 0xFF192000, 0x00001000) + Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 32 } + }) + Method (_CRS, 0, Serialized) { - Name (RBUF, ResourceTemplate () - { - Memory32Fixed(ReadWrite, 0xFF192000, 0x00001000) - Interrupt(ResourceConsumer, Level, ActiveHigh, Shared, ,, ) { 32 } - }) Return (RBUF) } }

PCI Firmware specification requires _UID() and doesn't require _ADR() to be set. Replace latter by former.
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com --- v2: no changes arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl index 9d81abbdb674..11b06e5fe94f 100644 --- a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl +++ b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl @@ -10,7 +10,7 @@ Device (PCI0) Name (_HID, EISAID("PNP0A08")) /* PCIe */ Name (_CID, EISAID("PNP0A03")) /* PCI */
- Name (_ADR, Zero) + Name (_UID, Zero) Name (_BBN, Zero)
Name (MCRS, ResourceTemplate()

On Thu, May 28, 2020 at 5:17 PM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
PCI Firmware specification requires _UID() and doesn't require _ADR() to be set. Replace latter by former.
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
v2: no changes arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com Tested-by: Bin Meng bmeng.cn@gmail.com

On Mon, Jun 1, 2020 at 10:57 AM Bin Meng bmeng.cn@gmail.com wrote:
On Thu, May 28, 2020 at 5:17 PM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
PCI Firmware specification requires _UID() and doesn't require _ADR() to be set. Replace latter by former.
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
v2: no changes arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com Tested-by: Bin Meng bmeng.cn@gmail.com
applied to u-boot-x86, thanks!

ACPICA complains that either _HID() or _ADR() should be used. Drop _ADR() where _HID() is present.
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com --- v2: no changes arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 1 - 1 file changed, 1 deletion(-)
diff --git a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl index 11b06e5fe94f..f9da188b38f6 100644 --- a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl +++ b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl @@ -441,7 +441,6 @@ Device (PCI0)
Device (PMIC) { - Name (_ADR, Zero) Name (_HID, "INTC100E") Name (_CID, "INTC100E") Name (_DDN, "Basin Cove PMIC")

On Thu, May 28, 2020 at 5:17 PM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
ACPICA complains that either _HID() or _ADR() should be used. Drop _ADR() where _HID() is present.
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
v2: no changes arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com Tested-by: Bin Meng bmeng.cn@gmail.com

On Mon, Jun 1, 2020 at 10:57 AM Bin Meng bmeng.cn@gmail.com wrote:
On Thu, May 28, 2020 at 5:17 PM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
ACPICA complains that either _HID() or _ADR() should be used. Drop _ADR() where _HID() is present.
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
v2: no changes arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com Tested-by: Bin Meng bmeng.cn@gmail.com
applied to u-boot-x86, thanks!

ACPICA complains that either _HID() or _ADR() should be used. For General Purpose DMA we may not drop the _ADR() because the device is enumerated by PCI. Thus, simple drop _HID().
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com --- v2: no changes arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 1 - 1 file changed, 1 deletion(-)
diff --git a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl index f9da188b38f6..df666259308d 100644 --- a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl +++ b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl @@ -520,7 +520,6 @@ Device (PCI0) Device (GDMA) { Name (_ADR, 0x00150000) - Name (_HID, "808611A2") Name (_UID, Zero)
Method (_STA, 0, NotSerialized)

On Thu, May 28, 2020 at 5:17 PM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
ACPICA complains that either _HID() or _ADR() should be used. For General Purpose DMA we may not drop the _ADR() because the device is enumerated by PCI. Thus, simple drop _HID().
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
v2: no changes arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com Tested-by: Bin Meng bmeng.cn@gmail.com

On Mon, Jun 1, 2020 at 10:57 AM Bin Meng bmeng.cn@gmail.com wrote:
On Thu, May 28, 2020 at 5:17 PM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
ACPICA complains that either _HID() or _ADR() should be used. For General Purpose DMA we may not drop the _ADR() because the device is enumerated by PCI. Thus, simple drop _HID().
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
v2: no changes arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com Tested-by: Bin Meng bmeng.cn@gmail.com
applied to u-boot-x86, thanks!

On Thu, May 28, 2020 at 5:17 PM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
Create buffers outside of the methods as ACPICA 20200214 complains about this:
Remark 2173 - Creation of named objects within a method is highly inefficient, use globals or method local variables instead
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
v2: rebased on top of rc3 (Bin) .../asm/arch-tangier/acpi/southcluster.asl | 95 ++++++++++--------- 1 file changed, 49 insertions(+), 46 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com Tested-by: Bin Meng bmeng.cn@gmail.com

On Mon, Jun 1, 2020 at 10:57 AM Bin Meng bmeng.cn@gmail.com wrote:
On Thu, May 28, 2020 at 5:17 PM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
Create buffers outside of the methods as ACPICA 20200214 complains about this:
Remark 2173 - Creation of named objects within a method is highly inefficient, use globals or method local variables instead
Reported-by: Bin Meng bmeng.cn@gmail.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
v2: rebased on top of rc3 (Bin) .../asm/arch-tangier/acpi/southcluster.asl | 95 ++++++++++--------- 1 file changed, 49 insertions(+), 46 deletions(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com Tested-by: Bin Meng bmeng.cn@gmail.com
applied to u-boot-x86, thanks!
participants (2)
-
Andy Shevchenko
-
Bin Meng