Procházet zdrojové kódy

msm: ipa3: Enabling the HOLB on USB consumer pipe for APQ target

Enabling the HOLB on USB consumer pipe to avoid IPA HW stall
if USB host slow in pulling the data.

Change-Id: Ifc4b13ce52e241a3b1942bd81745f1ef3b2903e7
Signed-off-by: Ashok Vuyyuru <[email protected]>
Ashok Vuyyuru před 3 roky
rodič
revize
6d4fa6b6e8
1 změnil soubory, kde provedl 10 přidání a 3 odebrání
  1. 10 3
      drivers/platform/msm/ipa/ipa_v3/ipa_client.c

+ 10 - 3
drivers/platform/msm/ipa/ipa_v3/ipa_client.c

@@ -68,11 +68,18 @@ int ipa3_enable_data_path(u32 clnt_hdl)
 		if ((ep->client == IPA_CLIENT_USB_DPL_CONS) ||
 				(ep->client == IPA_CLIENT_TPUT_CONS) ||
 				(ep->client == IPA_CLIENT_MHI_DPL_CONS) ||
-				(ep->client == IPA_CLIENT_MHI_QDSS_CONS))
+				(ep->client == IPA_CLIENT_MHI_QDSS_CONS)) {
 			holb_cfg.en = IPA_HOLB_TMR_EN;
-		else
+			holb_cfg.tmr_val = 0;
+		} else if (ipa3_ctx->ipa_hw_type >= IPA_HW_v5_1 &&
+			ipa3_ctx->platform_type == IPA_PLAT_TYPE_APQ &&
+			ep->client == IPA_CLIENT_USB_CONS) {
+			holb_cfg.en = IPA_HOLB_TMR_EN;
+			holb_cfg.tmr_val = IPA_HOLB_TMR_VAL_4_5;
+		} else {
 			holb_cfg.en = IPA_HOLB_TMR_DIS;
-		holb_cfg.tmr_val = 0;
+			holb_cfg.tmr_val = 0;
+		}
 		res = ipa3_cfg_ep_holb(clnt_hdl, &holb_cfg);
 	}