usb: gsi: Update TRB RING initialization with USB GSI OUT endpoint
GSI firmware can't differentiate if TRB ring is full or empty with USB
GSI OUT endpoint. This change adds suggested sequence to initialize
TRBs with USB GSI OUT endpoint related TRB ring as below:
1. Add LINK TRB as start of TRB ring and clear HWO bit. This LINK TRB
should point to first regular TRB.
2. Clear HWO bit with all regular TRBs.
3. Set HWO bit with last LINK TRB.
4. Ring doorbell to GSI channel related to USB GSI OUT endpoint using
last LINK TRB address
Due to additional LINK TRB with USB GSI OUT endpoint's TRB ring, it is
required to decrease number of OUT TRB value as 14.
Use 14 as number of OUT TRB with ECM interface instead of 31. 31 number
of OUT TRB was used as workaround which is fixed by this change.
CRs-Fixed: 1107563
Change-Id: Ia1471f42dc8ece849e2298a9668c9702be085016
Signed-off-by:
Mayank Rana <mrana@codeaurora.org>
Loading
Please register or sign in to comment