Просмотр исходного кода

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 3 лет назад
Родитель
Сommit
6d4fa6b6e8
1 измененных файлов с 10 добавлено и 3 удалено
  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);
 	}