[RFC PATCH] iommu/arm-smmu-v3: Allow stream ID sharing for devices behind PCIe-to-PCI bridges
Nirmoy Das
nirmoyd at nvidia.com
Fri Dec 12 04:40:58 PST 2025
On 12.12.25 11:46, Robin Murphy wrote:
> On 2025-12-12 6:40 am, Jason Gunthorpe wrote:
>> On Thu, Dec 11, 2025 at 05:39:33AM -0800, Nirmoy Das wrote:
>>> ASPEED BMC controllers have VGA and USB functions behind a PCIe-to-PCI
>>> bridge that causes them to share the same stream ID:
>>>
>>> \-[0005:e0]---00.0-[e1-e2]----00.0-[e2]--+-00.0 ASPEED Graphics
>>> Family
>>> \-02.0 ASPEED USB
>>> Controller
>>>
>>> Both devices get stream ID(0x5e200) due to bridge aliasing.
>>> Currently this
>>> USB controller gets rejected with "Aliasing StreamID unsupported",
>>> causing
>>> USB timeout errors. Allow stream ID sharing when both devices are on
>>> the same bus behind a PCIe-to-PCI bridge to fix this issue.
>>
>> I don't think this is right, if you actually need stream ID sharing
>> then I seem to recall the driver needs more changes. We don't want
>> this in general.
>
> Yes, as I said on the last one not so long ago, we cannot simply cross
> our fingers and hope that aliasing at the SMMU StreamID level stems
> from something at the PCI RID level that pci_device_group() would be
> aware of, because there is no guarantee that RID->StreamID mappings
> are 1:1.
>
> Thanks,
> Robin.
>
Thanks, Jason and Robin for your feedback. I will reach out to ASPEED to
find out if they are actually sharing RID as suggested by Jason.
>> IMHO ASPEED has wrong PCI config space and there isn't any actual PCI
>> bus here that would force RID aliasing to worry about. I suggest going
>> to ASPEED to find out and confirm that they don't actually share the
>> RIDs and then let's quirk the PCI devices to disable alias generation
>> in the first place.
>>
>> Also, complain to them to fix their config space to report a PCIe bridge
>> type in future devices. :)
I will do that :)
Thanks,
Nirmoy
>>
>> Jason
>
More information about the linux-arm-kernel
mailing list