From 493e4cf00ee7aac67fca4ff4b11c3d66ee72b89b Mon Sep 17 00:00:00 2001 From: Wayne Chang Date: Fri, 30 Aug 2024 07:04:39 +0000 Subject: [PATCH] NVIDIA: SAUCE: usb: gadget: tegra-xudc: Reduce ping.LFPS trepeat for U1 exit reliability We observed that some hosts may fail to exit U1 due to a U1 ping timeout. By adjusting the SSPX_CORE_CNT27_PING_LFPS_TRPT parameter to reduce the ping.LFPS trepeat value, the time is reduced from 300ms to 200ms and improve the reliability of U1 exit in these scenarios. http://nvbugs/4758552 Signed-off-by: Wayne Chang Reviewed-by: WK Tsai Reviewed-by: HaoTien Hsu Reviewed-by: Henry Lin Signed-off-by: Vishwaroop A Acked-by: Noah Wager Acked-by: Jacob Martin Signed-off-by: Noah Wager --- drivers/usb/gadget/udc/tegra-xudc.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/usb/gadget/udc/tegra-xudc.c b/drivers/usb/gadget/udc/tegra-xudc.c index ab77c523b92a..cd1d8b4672d1 100644 --- a/drivers/usb/gadget/udc/tegra-xudc.c +++ b/drivers/usb/gadget/udc/tegra-xudc.c @@ -3562,6 +3562,15 @@ static void tegra264_xudc_device_params_init(struct tegra_xudc *xudc) val |= SSPX_CORE_CNT13_CRDTHP_TIMER(0x33); xudc_writel(xudc, val, SSPX_CORE_CNT13); +#define SSPX_CORE_CNT27 0x407c +#define SSPX_CORE_CNT27_PING_LFPS_TRPT_MASK GENMASK(29, 0) +#define SSPX_CORE_CNT27_PING_LFPS_TRPT(x) ((x) & \ + SSPX_CORE_CNT27_PING_LFPS_TRPT_MASK) + val = xudc_readl(xudc, SSPX_CORE_CNT27); + val &= ~(SSPX_CORE_CNT27_PING_LFPS_TRPT_MASK); + val |= SSPX_CORE_CNT27_PING_LFPS_TRPT(0x7a1200); + xudc_writel(xudc, val, SSPX_CORE_CNT27); + #define SSPX_CORE_CNT30 0x4088 #define SSPX_CORE_CNT30_LMPITP_TIMER_MASK GENMASK(11, 0) #define SSPX_CORE_CNT30_LMPITP_TIMER(x) ((x) & \