lkml.org 
[lkml]   [2023]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 01/28] xhci: Add support to allocate several interrupters
From
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

\
 
 \ /
  Last update: 2023-03-27 00:57    [W:0.058 / U:0.396 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site