2022-03-04 07:28:06

by Daehwan Jung

[permalink] [raw]
Subject: [PATCH v1 0/4] support USB offload feature

This patchset is for USB offload feature, which makes Co-processor to use
some memories of xhci. Especially it's useful for USB Audio scenario.
Audio stream would get shortcut because Co-processor directly write/read
data in xhci memories. It could get speed-up using faster memory like SRAM.
That's why this also gives vendors flexibilty of memory management.
Below pathches have been merged in AOSP kernel(android12-5.10) and I put
together and split into 3 patches. Plus let me add user(xhci-exynos) module
to see how user could use it.

To sum up, it's for providing xhci memories to Co-Processor.
It would cover DCBAA, Device Context, Tranfer Ring, Event Ring, ERST.
It needs xhci hooks and to export some xhci symbols.

ANDROID: usb: host: fix slab-out-of-bounds in xhci_vendor_get_ops
ANDROID: usb: export built-in tracepoint functions
ANDROID: usb: host: Use old init scheme when hook unavailable
ANDROID: usb: host: free the offload TR by vendor hook
ANDROID: usb: host: xhci: provide function prototype for xhci_address_device
ANDROID: usb: host: add bus_suspend/bus_resume to xhci overrides
ANDROID: usb: host: add address_device to xhci overrides
ANDROID: usb: host: add max packet parameter on alloc_transfer_ring hook
ANDROID: usb: host: add xhci hooks for vendor specific container context
ANDROID: usb: host: export xhci symbols for ring management
ANDROID: usb: host: export additional xhci symbols for ring management
FROMLIST: usb: xhci-plat: add xhci_plat_priv_overwrite
FROMLIST: usb: host: export symbols for xhci hooks usage
FROMLIST: usb: host: add xhci hooks for USB offload

Below are owners of patches.

Howard Yen <[email protected]>
Jack Pham <[email protected]>
Puma Hsu <[email protected]>
J. Avila <[email protected]>
chihhao.chen <[email protected]>

Daehwan Jung (4):
usb: host: export symbols for xhci hooks usage
usb: host: add xhci hooks for USB offload
usb: host: add some to xhci overrides for USB offload
usb: host: add xhci-exynos module

drivers/usb/host/xhci-exynos.c | 2025 ++++++++++++++++++++++++++++++++
drivers/usb/host/xhci-exynos.h | 150 +++
drivers/usb/host/xhci-hub.c | 7 +
drivers/usb/host/xhci-mem.c | 160 ++-
drivers/usb/host/xhci-plat.c | 43 +-
drivers/usb/host/xhci-plat.h | 8 +
drivers/usb/host/xhci-ring.c | 22 +-
drivers/usb/host/xhci.c | 104 +-
drivers/usb/host/xhci.h | 52 +
9 files changed, 2543 insertions(+), 28 deletions(-)
create mode 100644 drivers/usb/host/xhci-exynos.c
create mode 100644 drivers/usb/host/xhci-exynos.h

--
2.31.1



2022-03-04 09:00:28

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v1 0/4] support USB offload feature

On Fri, Mar 04, 2022 at 03:23:54PM +0900, Daehwan Jung wrote:
> This patchset is for USB offload feature, which makes Co-processor to use
> some memories of xhci. Especially it's useful for USB Audio scenario.
> Audio stream would get shortcut because Co-processor directly write/read
> data in xhci memories. It could get speed-up using faster memory like SRAM.
> That's why this also gives vendors flexibilty of memory management.
> Below pathches have been merged in AOSP kernel(android12-5.10) and I put
> together and split into 3 patches. Plus let me add user(xhci-exynos) module
> to see how user could use it.
>
> To sum up, it's for providing xhci memories to Co-Processor.
> It would cover DCBAA, Device Context, Tranfer Ring, Event Ring, ERST.
> It needs xhci hooks and to export some xhci symbols.
>
> ANDROID: usb: host: fix slab-out-of-bounds in xhci_vendor_get_ops
> ANDROID: usb: export built-in tracepoint functions
> ANDROID: usb: host: Use old init scheme when hook unavailable
> ANDROID: usb: host: free the offload TR by vendor hook
> ANDROID: usb: host: xhci: provide function prototype for xhci_address_device
> ANDROID: usb: host: add bus_suspend/bus_resume to xhci overrides
> ANDROID: usb: host: add address_device to xhci overrides
> ANDROID: usb: host: add max packet parameter on alloc_transfer_ring hook
> ANDROID: usb: host: add xhci hooks for vendor specific container context
> ANDROID: usb: host: export xhci symbols for ring management
> ANDROID: usb: host: export additional xhci symbols for ring management
> FROMLIST: usb: xhci-plat: add xhci_plat_priv_overwrite
> FROMLIST: usb: host: export symbols for xhci hooks usage
> FROMLIST: usb: host: add xhci hooks for USB offload

What does that list of text mean? You are only submitting 4 patches
here, not that many.

>
> Below are owners of patches.
>
> Howard Yen <[email protected]>
> Jack Pham <[email protected]>
> Puma Hsu <[email protected]>
> J. Avila <[email protected]>
> chihhao.chen <[email protected]>

What do you mean by this? Did you loose authorship of the code you just
submitted? That's not ok. You always have to properly credit the
creators of the changes you submit to us for obvious legal reasons.

Please fix up and resend this series properly.

thanks,

greg k-h

2022-03-04 16:16:07

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH v1 0/4] support USB offload feature



On 3/3/22 23:39, Greg Kroah-Hartman wrote:
> On Fri, Mar 04, 2022 at 03:23:54PM +0900, Daehwan Jung wrote:
>> This patchset is for USB offload feature, which makes Co-processor to use
>> some memories of xhci. Especially it's useful for USB Audio scenario.
>> Audio stream would get shortcut because Co-processor directly write/read
>> data in xhci memories. It could get speed-up using faster memory like SRAM.
>> That's why this also gives vendors flexibilty of memory management.
>> Below pathches have been merged in AOSP kernel(android12-5.10) and I put
>> together and split into 3 patches. Plus let me add user(xhci-exynos) module
>> to see how user could use it.
>>
>> To sum up, it's for providing xhci memories to Co-Processor.
>> It would cover DCBAA, Device Context, Tranfer Ring, Event Ring, ERST.
>> It needs xhci hooks and to export some xhci symbols.
>>
>> ANDROID: usb: host: fix slab-out-of-bounds in xhci_vendor_get_ops
>> ANDROID: usb: export built-in tracepoint functions
>> ANDROID: usb: host: Use old init scheme when hook unavailable
>> ANDROID: usb: host: free the offload TR by vendor hook
>> ANDROID: usb: host: xhci: provide function prototype for xhci_address_device
>> ANDROID: usb: host: add bus_suspend/bus_resume to xhci overrides
>> ANDROID: usb: host: add address_device to xhci overrides
>> ANDROID: usb: host: add max packet parameter on alloc_transfer_ring hook
>> ANDROID: usb: host: add xhci hooks for vendor specific container context
>> ANDROID: usb: host: export xhci symbols for ring management
>> ANDROID: usb: host: export additional xhci symbols for ring management
>> FROMLIST: usb: xhci-plat: add xhci_plat_priv_overwrite
>> FROMLIST: usb: host: export symbols for xhci hooks usage
>> FROMLIST: usb: host: add xhci hooks for USB offload
>
> What does that list of text mean? You are only submitting 4 patches
> here, not that many.
>
>>
>> Below are owners of patches.
>>
>> Howard Yen <[email protected]>
>> Jack Pham <[email protected]>
>> Puma Hsu <[email protected]>
>> J. Avila <[email protected]>
>> chihhao.chen <[email protected]>
>
> What do you mean by this? Did you loose authorship of the code you just
> submitted? That's not ok. You always have to properly credit the
> creators of the changes you submit to us for obvious legal reasons.
>
> Please fix up and resend this series properly.

Also: Greg might have received the full patch series, but I didn't, so I
checked lore.kernel.org/linux-usb/, and it did not either, so it appears
that there is a problem with sending the full series.

--
~Randy

2022-03-07 21:03:40

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v1 0/4] support USB offload feature

On 04/03/2022 16:27, Randy Dunlap wrote:
>
>
> On 3/3/22 23:39, Greg Kroah-Hartman wrote:
>> On Fri, Mar 04, 2022 at 03:23:54PM +0900, Daehwan Jung wrote:
>>> This patchset is for USB offload feature, which makes Co-processor to use
>>> some memories of xhci. Especially it's useful for USB Audio scenario.
>>> Audio stream would get shortcut because Co-processor directly write/read
>>> data in xhci memories. It could get speed-up using faster memory like SRAM.
>>> That's why this also gives vendors flexibilty of memory management.
>>> Below pathches have been merged in AOSP kernel(android12-5.10) and I put
>>> together and split into 3 patches. Plus let me add user(xhci-exynos) module
>>> to see how user could use it.
>>>
>>> To sum up, it's for providing xhci memories to Co-Processor.
>>> It would cover DCBAA, Device Context, Tranfer Ring, Event Ring, ERST.
>>> It needs xhci hooks and to export some xhci symbols.
>>>
>>> ANDROID: usb: host: fix slab-out-of-bounds in xhci_vendor_get_ops
>>> ANDROID: usb: export built-in tracepoint functions
>>> ANDROID: usb: host: Use old init scheme when hook unavailable
>>> ANDROID: usb: host: free the offload TR by vendor hook
>>> ANDROID: usb: host: xhci: provide function prototype for xhci_address_device
>>> ANDROID: usb: host: add bus_suspend/bus_resume to xhci overrides
>>> ANDROID: usb: host: add address_device to xhci overrides
>>> ANDROID: usb: host: add max packet parameter on alloc_transfer_ring hook
>>> ANDROID: usb: host: add xhci hooks for vendor specific container context
>>> ANDROID: usb: host: export xhci symbols for ring management
>>> ANDROID: usb: host: export additional xhci symbols for ring management
>>> FROMLIST: usb: xhci-plat: add xhci_plat_priv_overwrite
>>> FROMLIST: usb: host: export symbols for xhci hooks usage
>>> FROMLIST: usb: host: add xhci hooks for USB offload
>>
>> What does that list of text mean? You are only submitting 4 patches
>> here, not that many.
>>
>>>
>>> Below are owners of patches.
>>>
>>> Howard Yen <[email protected]>
>>> Jack Pham <[email protected]>
>>> Puma Hsu <[email protected]>
>>> J. Avila <[email protected]>
>>> chihhao.chen <[email protected]>
>>
>> What do you mean by this? Did you loose authorship of the code you just
>> submitted? That's not ok. You always have to properly credit the
>> creators of the changes you submit to us for obvious legal reasons.
>>
>> Please fix up and resend this series properly.
>
> Also: Greg might have received the full patch series, but I didn't, so I
> checked lore.kernel.org/linux-usb/, and it did not either, so it appears
> that there is a problem with sending the full series.

Yeah, lore did not get anything more than cover letter. What's more
interesting, the cover letter mention exynos:
drivers/usb/host/xhci-exynos.c | 2025 ++++++++++++++++++++++++++++++++
so get_maintainers.pl should point you to additional people and lists,
which are not present here.

What is even more interesting, such file
"drivers/usb/host/xhci-exynos.c" does not exist... which could explain
missing CC above, but raises question what is this cover letter from? Is
it still Linux kernel or some other project?

Best regards,
Krzysztof