mirror of
https://github.com/AsahiLinux/m1n1
synced 2024-11-21 14:23:01 +00:00
pmgr: Fix false positive u8 pmgr ID detection on modern SoCs
The id1 field used on oder SoCs is not constant 0 for all devices on
t8122. Instead just compare the id1 fields of the two first devices.
Fixes "pmgr: Failed to find parent #36 for IOA0\n" errors in
pmgr_init().
Fixes: fb59dc03ca
("pmgr: Fix struct for older SoCs")
Signed-off-by: Janne Grunau <j@jannau.net>
This commit is contained in:
parent
b901c2706f
commit
3854c7668a
1 changed files with 5 additions and 3 deletions
|
@ -374,13 +374,15 @@ int pmgr_init(void)
|
|||
|
||||
printf("pmgr: Cleaning up device states...\n");
|
||||
|
||||
// detect whether u8 or u16 PMGR IDs are used by comparing the IDs of the
|
||||
// first 2 devices
|
||||
if (pmgr_devices_len >= 2)
|
||||
pmgr_u8id = pmgr_devices[0].id1 != pmgr_devices[1].id1;
|
||||
|
||||
for (u8 die = 0; die < pmgr_dies; ++die) {
|
||||
for (size_t i = 0; i < pmgr_devices_len; ++i) {
|
||||
const struct pmgr_device *device = &pmgr_devices[i];
|
||||
|
||||
if (device->id1)
|
||||
pmgr_u8id = true;
|
||||
|
||||
if ((device->flags & PMGR_FLAG_VIRTUAL))
|
||||
continue;
|
||||
|
||||
|
|
Loading…
Reference in a new issue