[PATCH v1 1/3] x86: 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 --- .../asm/arch-tangier/acpi/southcluster.asl | 106 +++++++++--------- 1 file changed, 55 insertions(+), 51 deletions(-)
diff --git a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl index 9501cd8ada12..3518538806ee 100644 --- a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl +++ b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl @@ -141,13 +141,14 @@ Device (PCI0) Return (STA_VISIBLE) }
+ Name (RBUF, ResourceTemplate() + { + GpioInt(Level, ActiveHigh, Exclusive, PullNone, 0, + "\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 64 } + }) + Method (_CRS, 0, Serialized) { - Name (RBUF, ResourceTemplate() - { - GpioInt(Level, ActiveHigh, Exclusive, PullNone, 0, - "\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 64 } - }) Return (RBUF) }
@@ -348,12 +349,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) @@ -411,20 +412,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) }
@@ -464,33 +466,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) }
@@ -537,13 +540,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 --- 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 3518538806ee..e44a7ccfc263 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 Tue, 26 May 2020 at 11:16, 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
arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org

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 --- 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 e44a7ccfc263..eaf75c8c673d 100644 --- a/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl +++ b/arch/x86/include/asm/arch-tangier/acpi/southcluster.asl @@ -452,7 +452,6 @@ Device (PCI0)
Device (PMIC) { - Name (_ADR, Zero) Name (_HID, "INTC100E") Name (_CID, "INTC100E") Name (_DDN, "Basin Cove PMIC")

On Tue, 26 May 2020 at 11:16, 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
arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org

Hi Andy,
On Wed, May 27, 2020 at 1:16 AM 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
.../asm/arch-tangier/acpi/southcluster.asl | 106 +++++++++--------- 1 file changed, 55 insertions(+), 51 deletions(-)
This does not apply on top of u-boot-x86/master. Could you please rebase?
Regards, Bin

Hi Andy,
On Thu, May 28, 2020 at 2:58 PM Bin Meng bmeng.cn@gmail.com wrote:
Hi Andy,
On Wed, May 27, 2020 at 1:16 AM 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
.../asm/arch-tangier/acpi/southcluster.asl | 106 +++++++++--------- 1 file changed, 55 insertions(+), 51 deletions(-)
This does not apply on top of u-boot-x86/master. Could you please rebase?
When you send v2, please include "tangier" as a tag since the changes are only for tangier.
Regards, Bin

On Thu, May 28, 2020 at 03:07:34PM +0800, Bin Meng wrote:
On Thu, May 28, 2020 at 2:58 PM Bin Meng bmeng.cn@gmail.com wrote:
On Wed, May 27, 2020 at 1:16 AM 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
This does not apply on top of u-boot-x86/master. Could you please rebase?
Fixed.
When you send v2, please include "tangier" as a tag since the changes are only for tangier.
Done. Please, consider v2.
participants (3)
-
Andy Shevchenko
-
Bin Meng
-
Simon Glass