Messages in this thread | | | Date | Mon, 13 Mar 2023 13:08:47 -0700 | Subject | Re: [PATCH v3 01/28] xhci: Add support to allocate several interrupters | From | Wesley Cheng <> |
| |
Hi Mathias,
On 3/10/2023 7:07 AM, Mathias Nyman wrote: > On 9.3.2023 1.57, Wesley Cheng wrote: >> From: Mathias Nyman <mathias.nyman@linux.intel.com> >> >> Introduce xHCI APIs to allow for clients to allocate and free >> interrupters. This allocates an array of interrupters, which is based on >> the max_interrupters parameter. The primary interrupter is set as the >> first entry in the array, and secondary interrupters following after. >> > > I'm thinking about changing this offloading xHCI API > xhci should be aware and keep track of which devices and endpoints that > are offloaded to avoid device getting offloaded twice, avoid xhci driver > from queuing anything itself for these, and act properly if the offloaded > device or entire host is removed. > > So first thing audio side would need to do do is register/create an > offload entry for the device using the API: > > struct xhci_sideband *xhci_sideband_register(struct usb_device *udev) > > (xHCI specs calls offload sideband) > Then endpoints and interrupters can be added and removed from this > offload entry > > I have some early thoughts written as non-compiling code in: > > git://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git > feature_interrupters > https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/log/?h=feature_interrupters > > > Let me know what you think about this. >
The concept/framework you built looks good to me. Makes sense to have XHCI better maintain the offloading users. One thing I would request is to move xhci-sideband.h to the include directory since the class driver levels would need to be able to reference the structure and APIs you've exposed.
I have yet to try it with our implementation, but I'll work on plugging it in and fix any issues I see along the way.
Thanks Wesley Cheng
| |