Re: [PATCH 0/2] Add larger page size support for USB audio offload path
Michal Pecio <[email protected]>
| Newsgroups | gmane.linux.sound,gmane.linux.usb.general,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi, On Mon, 24 Aug 2026 19:06:54 -0700, Wesley Cheng wrote: > On some environments, 16kB pages can be enabled from the Linux subsystem, > which manages the IOMMU mappings for the audio DSP within the system. In > the current design, the following assumptions break when 16k pages are > utilized: > 1. xHCI ring size is equal to PAGE_SIZE > 2. Ring addresses start at the beginning of a page FYI it's worse than you think - xhci_ring_to_sgtable() returns wrong data and uses some allocation out of bounds on these systems. Quickly scanning through the patch I haven't noticed any changes there. > When the USB offload driver maps the rings (w/ the audio DSP SID), it is > set with a 16k granular, which is a problem, as several xHCI rings could > exist on the same page. This is because the rings are currently allocated > from the segment_pool. Hence, potentially mapping non USB audio related > rings into the region accessible by the audio DSP. If that's a security or reliability concern, perhaps each sideband instance should create its own DMA pool, as opposed to allocating every ring segment on a separate page? I suppose each 'xhci_ring' could keep a pointer to its segment pool and things would work for everyone, with very few changes. Regards, Michal