[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6024f762-6085-10cd-e73a-9031722b2334@quicinc.com>
Date: Mon, 13 Mar 2023 13:08:47 -0700
From: Wesley Cheng <quic_wcheng@...cinc.com>
To: Mathias Nyman <mathias.nyman@...ux.intel.com>,
<srinivas.kandagatla@...aro.org>, <mathias.nyman@...el.com>,
<perex@...ex.cz>, <broonie@...nel.org>, <lgirdwood@...il.com>,
<krzysztof.kozlowski+dt@...aro.org>, <agross@...nel.org>,
<Thinh.Nguyen@...opsys.com>, <bgoswami@...cinc.com>,
<andersson@...nel.org>, <robh+dt@...nel.org>,
<gregkh@...uxfoundation.org>, <tiwai@...e.com>
CC: <linux-kernel@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<alsa-devel@...a-project.org>, <devicetree@...r.kernel.org>,
<linux-usb@...r.kernel.org>, <quic_jackp@...cinc.com>,
<quic_plai@...cinc.com>
Subject: Re: [PATCH v3 01/28] xhci: Add support to allocate several
interrupters
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@...ux.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
Powered by blists - more mailing lists