• Jayshri Pawar's avatar
    usb: cdns3: Add streams support to cadence USB3 DRD driver · 54c4c69f
    Jayshri Pawar authored
    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: default avatarRahul Kumar <kurahul@cadence.com>
    Signed-off-by: default avatarPawel Laszczak <pawell@cadence.com>
    Signed-off-by: default avatarJayshri Pawar <jpawar@cadence.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    54c4c69f
gadget.h 45 KB