]> git.baikalelectronics.ru Git - kernel.git/commit
usb: cdns3: Add streams support to cadence USB3 DRD driver
authorJayshri Pawar <jpawar@cadence.com>
Fri, 13 Dec 2019 05:25:42 +0000 (06:25 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Jan 2020 09:39:22 +0000 (10:39 +0100)
commit32b5ae11155ff1231d4f534326ca4ba1952f6c04
tree99028922a60113b5db6d8a0a618ccb7f6719c2ae
parenta25b0158f6e76762fd9a10cd0e49de43bff06287
usb: cdns3: Add streams support to cadence USB3 DRD driver

This patch includes streams implementation changes.
The current changes has been validated on FPGA platform.

Enabled streams related interrupts only for streams capable endpoints.
Processed  PRIME and IOT interrupts related to streams capable endpoints.
Based on PRIME interrupt prime_flag is set and transfer is armed
otherwise just adding request to the deferred request queue.
For streams capable endpoints preparing TD with correct stream ID.

TDL calculation:
Updated tdl calculation based on controller versions.
1. For controller version DEV_VER_V2 :We have enabled USB_CONF2_EN_TDL_TRB
   bit in usb_conf2 register in DMULT configuration.
   This enables TDL calculation based on TRB, hence setting TDL in TRB.
2. For controller Version < DEV_VER_V2 : Writing TDL and STDL in ep_cmd
   register
3. For controller version > DEV_VER_V2 : Writing TDL in ep_tdl register.

Writing ERDY with correct Stream ID to ep_cmd register.
Added stream id related information to trace logs.

Signed-off-by: Rahul Kumar <kurahul@cadence.com>
Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Jayshri Pawar <jpawar@cadence.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/cdns3/gadget.c
drivers/usb/cdns3/gadget.h
drivers/usb/cdns3/trace.h