Re: Problems using AMD eMMC with AMD IOMMU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> It seems the _UID() in case of matching is present and not empty ("0" vs. "").
> The question is why we have no UID is not there?

Looking at the IOMMU IVRS spec:
```
Unique ID Format
0= UID not present
1= UID is an integer
2= UID is a character string
```

So it's optional. I added a bit of logging here:
https://source.chromium.org/chromiumos/chromiumos/codesearch/+/master:src/third_party/kernel/v5.4/drivers/iommu/amd_iommu_init.c;l=1353

```
[   11.730159] AMD-Vi: UID is not present.
[   11.734422] AMD-Vi:   DEV_ACPI_HID(AMDI0040[])               devid: 00:13.1
[   11.740913] AMD-Vi: ivrs, add hid:AMDI0040, uid:, rdevid:152
```

> The quick fix looks like
>
> -               if (acpi_dev_hid_uid_match(adev, p->hid, p->uid)) {
> +               if (acpi_dev_hid_uid_match(adev, p->hid, *p->uid ? p->uid : NULL)) {
>
> Can you test it?
>

Your patch works and fixes the matching. Thanks!



[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux