usb: dwc3: dwc3-msm: Avoid overriding DBM_GEN_CFG register

The current register write to DBM_GEN_CFG to update the current speed
is overwriting the entire register.  Avoid this, as this also
disables ZLT support on DBM.  During validation of QDSS, a QDSS data
stall was seen, as the QDSS BAM generated a ZLT, while DBM did not
enable it.  DBM ZLT support is recommended to be enabled in the HPG.

Change-Id: Ieef4a42d3ac6f2a836a5c25530492c95669047b0
Signed-off-by: Wesley Cheng <wcheng@codeaurora.org>
This commit is contained in:
Wesley Cheng 2021-02-09 12:38:05 -08:00 • committed by Gerrit - the friendly Code Review server
commit 4f73de4dd2

View file

@ -97,6 +97,9 @@
/* USB DBM Hardware registers */
#define DBM_REG_OFFSET 0xF8000
/* DBM_GEN_CFG */
#define DBM_EN_USB3 0x00000001
/* DBM_EP_CFG */
#define DBM_EN_EP 0x00000001
#define USB3_EPNUM 0x0000003E
@ -1136,7 +1139,7 @@ static int dwc3_msm_ep_queue(struct usb_ep *ep,
spin_unlock_irqrestore(&dwc->lock, flags);
msm_dbm_write_reg(mdwc, DBM_GEN_CFG,
msm_dbm_write_reg_field(mdwc, DBM_GEN_CFG, DBM_EN_USB3,
dwc3_msm_is_dev_superspeed(mdwc) ? 1 : 0);
return 0;