Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ACS FWTS ACPI DSDT failures (Invalid ACPI CIDs) #67

Closed
samerhaj opened this issue Jun 17, 2020 · 6 comments
Closed

ACS FWTS ACPI DSDT failures (Invalid ACPI CIDs) #67

samerhaj opened this issue Jun 17, 2020 · 6 comments
Assignees
Labels
bug Something isn't working cert ACS certification issue v1.15 Issue known to exist in v1.15 v1.16 Issue known to exist in v1.16 v1.17 v1.18 v1.19

Comments

@samerhaj
Copy link
Member

samerhaj commented Jun 17, 2020

From the ACS tests on Rel 1.15

https://github.com/pftf/acs-reports/blob/master/v1.15/acs-enterprise-v2.4/luv-results-2020-06-12--16-30-39/parsed/fwts

.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.USB0._CID returned a
1.1  fwts string INFO 'DWC_OTG' but it was not a valid PNP ID or a valid ACPI ID.


1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.USB0._CID returned a
1.1  fwts string INFO 'DWC2_OTG' but it was not a valid PNP ID or a valid ACPI ID.


1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.GPU0._CID returned a
1.1  fwts string INFO 'VC4' but it was not a valid PNP ID or a valid ACPI ID.


1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.RPIQ._CID returned a
1.1  fwts string INFO 'RPIQ' but it was not a valid PNP ID or a valid ACPI ID.


1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.VCIQ._CID returned a
1.1  fwts string INFO 'VCIQ' but it was not a valid PNP ID or a valid ACPI ID.


1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.VCSM._CID returned a
1.1  fwts string INFO 'VCSM' but it was not a valid PNP ID or a valid ACPI ID.


1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.GPI0._CID returned a
1.1  fwts string INFO 'BCMGPIO' but it was not a valid PNP ID or a valid ACPI ID.


1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.I2C1._CID returned a
1.1  fwts string INFO 'BCMI2C' but it was not a valid PNP ID or a valid ACPI ID.


1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.I2C2._CID returned a
1.1  fwts string INFO 'BCMI2C' but it was not a valid PNP ID or a valid ACPI ID.


1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.SPI0._CID returned a
1.1  fwts string INFO 'BCMSPI0' but it was not a valid PNP ID or a valid ACPI ID.


1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.SPI1._CID returned a
1.1  fwts string INFO 'BCMAUXSPI' but it was not a valid PNP ID or a valid ACPI ID.

1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.URTM._CID returned a
1.1  fwts string INFO 'MINIUART' but it was not a valid PNP ID or a valid ACPI ID.

1.1 fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.SDC1._CID returned a
1.1  fwts string INFO 'ARASAN' but it was not a valid PNP ID or a valid ACPI ID.

1.1  fwts FAILED INFO [MEDIUM] MethodCIDInvalidString: Test 6, \_SB_.GDV0.SDC2._CID returned a
1.1  fwts string INFO 'SDHST' but it was not a valid PNP ID or a valid ACPI ID.
@samerhaj samerhaj added bug Something isn't working cert ACS certification issue v1.9 Issue known to exist in v1.9 v1.15 Issue known to exist in v1.15 and removed v1.9 Issue known to exist in v1.9 labels Jun 17, 2020
@samerhaj samerhaj self-assigned this Jun 18, 2020
@samerhaj
Copy link
Member Author

the invalid _CID issue due to a check in FWTS (https://git.launchpad.net/fwts/tree/src/lib/src/fwts_acpi_object_eval.c#n1924 ) that validates the _CIDs and _HIDs to have valid format per ACPI spec. The test simply checks for either a PNP ID (3 capitals followed by 4 hex) or ACPI ID (4 capitals or digits followed by 4 hex), as defined in the ACPI spec (*). Removing these _CIDs or changing them to valid strings resolves the issue. However, these Ids are used in the windows IoT BSP drivers https://github.com/ms-iot/rpi-iotcore and removing them will break those drivers to some users:

BCMGPIO
BCMI2C
BCMSPI0
BCMAUXSPI
RPIQ
DWC_OTG
DWC2_OTG
VC4
VCSM
VCIQ
MINIUART
ARASAN
SDHST

@driver1998
Copy link

Microsoft already defined standard-looking IDs for _HID, so we can just use those for _CID as well and deprecate the current non-standard ones. (Or just remove these _CIDs)

Changes for open source drivers are easy (actually most drivers match using _HID only or as an option, except Arasan/SDHost). But the proprietary MCCI DWCHSOTG driver matches with DWC_OTG only, so that would be tricky (either convince MCCI to release a v2, or hack the INF files).

Side note: For the Arasan controller, I need to somehow separate Pi3 and Pi4 in ACPI (the ACT LED is wired differently), if _HID is a good way to do this, I propose the following IDs:

Pi3
_HID RPI32847
_CID BCM2847

Pi4
_HID RPI42847
_CID BCM2847

@samerhaj
Copy link
Member Author

@driver1998, can you please confirm that copying the existing values from the _HIDs to the _CIDs (e.g. replacing CID "BCMGPIO" with the value from the HID: "BCM2845") works on RPi3 with the Windows IoT BSP drivers?

@driver1998
Copy link

I have a testing firmware running right now, and they work fine.
Arasan and SD Host will need this small patch:
driver1998/bsp@a8b83e8

@samerhaj
Copy link
Member Author

samerhaj commented Aug 26, 2020

Moved the _AEI failure to its own issue #92

@samerhaj samerhaj changed the title ACS FWTS ACPI DSDT failures ACS FWTS ACPI DSDT failures (Invalid ACPI CIDs) Aug 26, 2020
@samerhaj samerhaj added v1.16 Issue known to exist in v1.16 v1.17 v1.19 v1.18 labels Aug 26, 2020
samerhaj added a commit to samerhaj/edk2-platforms that referenced this issue Jun 3, 2021
REF: pftf/RPi4#67

Remove non-standard RPI ACPI _CIDs that are not needed.
The RPi drivers at https://github.com/raspberrypi/windows-drivers
should still be able to match the ACPI objects using the HIDs
which are supported in the drivers.

Signed-off-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
samerhaj pushed a commit to samerhaj/edk2-platforms that referenced this issue Jul 16, 2021
REF: pftf/RPi4#67

Remove non-standard RPI ACPI _CIDs that are not needed. This
fixes and FWTS failure as well.

The windows drivers at https://github.com/raspberrypi/windows-drivers
should still be able to match the ACPI objects using the HIDs which
are supported in the drivers, with these two recent changes needed:
469702898789e555c6947e50216a3f79e0ddeb9
and
5c5e2742b4c983b3001c473b168b0dae2fcba0c2

Signed-off-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
samerhaj added a commit to samerhaj/edk2-platforms that referenced this issue Jul 19, 2021
Remove non-standard RPI ACPI _CIDs that are not needed.
This also fixes the FWTS failure reported in
pftf/RPi4#67

The windows drivers at https://github.com/raspberrypi/windows-drivers
are still able to match the ACPI objects using the HIDs which
are supported in the drivers, with these two recent changes needed:
469702898789e555c6947e50216a3f79e0ddeb9
and
5c5e2742b4c983b3001c473b168b0dae2fcba0c2

Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Pete Batard <pete@akeo.ie>
Cc: Andrei Warkentin <awarkentin@vmware.com>
Cc: Mario Bălănică <mariobalanica02@gmail.com>
Signed-off-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Tested-by: Mario Bălănică <mariobalanica02@gmail.com>
ardbiesheuvel pushed a commit to tianocore/edk2-platforms that referenced this issue Jul 22, 2021
Remove non-standard RPI ACPI _CIDs that are not needed.
This also fixes the FWTS failure reported in
pftf/RPi4#67

The windows drivers at https://github.com/raspberrypi/windows-drivers
are still able to match the ACPI objects using the HIDs which
are supported in the drivers, with these two recent changes needed:
6469702898789e555c6947e50216a3f79e0ddeb9
and
5c5e2742b4c983b3001c473b168b0dae2fcba0c2

Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Pete Batard <pete@akeo.ie>
Cc: Andrei Warkentin <awarkentin@vmware.com>
Cc: Mario Bălănică <mariobalanica02@gmail.com>
Signed-off-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Tested-by: Mario Bălănică <mariobalanica02@gmail.com>
Reviewed-by: Sunny Wang <sunny.wang@arm.com>
Tested-by: Sunny Wang <sunny.wang@arm.com>
Reviewed-by: Andrei Warkentin <awarkentin@vmware.com>
@samerhaj
Copy link
Member Author

samerhaj commented Aug 5, 2021

Fixed released in https://github.com/pftf/RPi4/releases/tag/v1.29

@samerhaj samerhaj closed this as completed Aug 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working cert ACS certification issue v1.15 Issue known to exist in v1.15 v1.16 Issue known to exist in v1.16 v1.17 v1.18 v1.19
Projects
None yet
Development

No branches or pull requests

2 participants