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

ipa: Fix Test HW mode handling

Operate the clocks in the test HW mode in the same way
as in normal HW mode.

Change-Id: I58f64e7737bf8310156ac47837eb79c91a747e97
Signed-off-by: Ilia Lin <[email protected]>
Ilia Lin 3 лет назад
Родитель
Сommit
4fdf719c72
2 измененных файлов с 9 добавлено и 6 удалено
  1. 6 6
      drivers/platform/msm/ipa/ipa_v3/ipa.c
  2. 3 0
      drivers/platform/msm/ipa/ipa_v3/ipa_i.h

+ 6 - 6
drivers/platform/msm/ipa/ipa_v3/ipa.c

@@ -5528,7 +5528,7 @@ static const struct file_operations ipa3_drv_fops = {
 
 static int ipa3_get_clks(struct device *dev)
 {
-	if (ipa3_ctx->ipa3_hw_mode != IPA_HW_MODE_NORMAL) {
+	if (!IPA_IS_REGULAR_CLK_MODE(ipa3_ctx->ipa3_hw_mode)) {
 		IPADBG("not supported in this HW mode\n");
 		ipa3_clk = NULL;
 		return 0;
@@ -5599,7 +5599,7 @@ void ipa3_enable_clks(void)
 	int idx;
 	int i;
 
-	if (ipa3_ctx->ipa3_hw_mode != IPA_HW_MODE_NORMAL) {
+	if (!IPA_IS_REGULAR_CLK_MODE(ipa3_ctx->ipa3_hw_mode)) {
 		IPAERR("not supported in this mode\n");
 		return;
 	}
@@ -5644,7 +5644,7 @@ void ipa3_disable_clks(void)
 	int i;
 	int type;
 
-	if (ipa3_ctx->ipa3_hw_mode != IPA_HW_MODE_NORMAL) {
+	if (!IPA_IS_REGULAR_CLK_MODE(ipa3_ctx->ipa3_hw_mode)) {
 		IPAERR("not supported in this mode\n");
 		return;
 	}
@@ -6066,7 +6066,7 @@ int ipa3_set_clock_plan_from_pm(int idx)
 		return 0;
 	}
 
-	if (ipa3_ctx->ipa3_hw_mode != IPA_HW_MODE_NORMAL) {
+	if (!IPA_IS_REGULAR_CLK_MODE(ipa3_ctx->ipa3_hw_mode)) {
 		IPAERR("not supported in this mode\n");
 		return 0;
 	}
@@ -6130,7 +6130,7 @@ int ipa3_set_required_perf_profile(enum ipa_voltage_level floor_voltage,
 	int i;
 	int idx;
 
-	if (ipa3_ctx->ipa3_hw_mode != IPA_HW_MODE_NORMAL) {
+	if (!IPA_IS_REGULAR_CLK_MODE(ipa3_ctx->ipa3_hw_mode)) {
 		IPAERR("not supported in this mode\n");
 		return 0;
 	}
@@ -7889,7 +7889,7 @@ static int ipa3_pre_init(const struct ipa3_plat_drv_res *resource_p,
 	ipa3_ctx->ipa_endp_delay_wa = resource_p->ipa_endp_delay_wa;
 	ipa3_ctx->ipa_endp_delay_wa_v2 = resource_p->ipa_endp_delay_wa_v2;
 
-	WARN(ipa3_ctx->ipa3_hw_mode != IPA_HW_MODE_NORMAL,
+	WARN(!IPA_IS_REGULAR_CLK_MODE(ipa3_ctx->ipa3_hw_mode),
 		"Non NORMAL IPA HW mode, is this emulation platform ?");
 
 	if (resource_p->ipa_tz_unlock_reg) {

+ 3 - 0
drivers/platform/msm/ipa/ipa_v3/ipa_i.h

@@ -1430,6 +1430,9 @@ enum ipa3_hw_mode {
 	IPA_HW_MODE_TEST      = 4,
 };
 
+#define IPA_IS_REGULAR_CLK_MODE(hw_mode) \
+	((hw_mode == IPA_HW_MODE_NORMAL) || (hw_mode == IPA_HW_MODE_TEST))
+
 /*
  * enum ipa3_platform_type - Platform type
  * @IPA_PLAT_TYPE_MDM: MDM platform (usually 32bit single core CPU platform)