Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79699ec6 authored by Skylar Chang's avatar Skylar Chang
Browse files

msm: ipa: enable suspend pipe for ODU



For ODU bridge use case ODU CONS pipe should be suspend
if there is no data activity to make sure IPA clocks will be
voted on downlink traffic

Change-Id: I6625eb082d55456e0f71afa8fc6ebdba3f6024a5
CRs-Fixed: 1095287
Acked-by: default avatarAdy Abraham <adya@qti.qualcomm.com>
Signed-off-by: default avatarSkylar Chang <chiaweic@codeaurora.org>
parent 745af210
Loading
Loading
Loading
Loading
+15 −7
Original line number Diff line number Diff line
@@ -450,6 +450,10 @@ int ipa_get_clients_from_rm_resource(
	case IPA_RM_RESOURCE_MHI_CONS:
		clients->names[i++] = IPA_CLIENT_MHI_CONS;
		break;
	case IPA_RM_RESOURCE_ODU_ADAPT_CONS:
		clients->names[i++] = IPA_CLIENT_ODU_EMB_CONS;
		clients->names[i++] = IPA_CLIENT_ODU_TETH_CONS;
		break;
	case IPA_RM_RESOURCE_USB_PROD:
		clients->names[i++] = IPA_CLIENT_USB_PROD;
		break;
@@ -459,6 +463,8 @@ int ipa_get_clients_from_rm_resource(
	case IPA_RM_RESOURCE_MHI_PROD:
		clients->names[i++] = IPA_CLIENT_MHI_PROD;
		break;
	case IPA_RM_RESOURCE_ODU_ADAPT_PROD:
		clients->names[i++] = IPA_CLIENT_ODU_PROD;
	default:
		break;
	}
@@ -496,7 +502,9 @@ bool ipa_should_pipe_be_suspended(enum ipa_client_type client)
	    client == IPA_CLIENT_WLAN1_CONS   ||
	    client == IPA_CLIENT_WLAN2_CONS   ||
	    client == IPA_CLIENT_WLAN3_CONS   ||
	    client == IPA_CLIENT_WLAN4_CONS)
	    client == IPA_CLIENT_WLAN4_CONS   ||
	    client == IPA_CLIENT_ODU_EMB_CONS ||
	    client == IPA_CLIENT_ODU_TETH_CONS)
		return true;

	return false;
+9 −1
Original line number Diff line number Diff line
@@ -818,6 +818,10 @@ int ipa3_get_clients_from_rm_resource(
	case IPA_RM_RESOURCE_MHI_CONS:
		clients->names[i++] = IPA_CLIENT_MHI_CONS;
		break;
	case IPA_RM_RESOURCE_ODU_ADAPT_CONS:
		clients->names[i++] = IPA_CLIENT_ODU_EMB_CONS;
		clients->names[i++] = IPA_CLIENT_ODU_TETH_CONS;
		break;
	case IPA_RM_RESOURCE_USB_PROD:
		clients->names[i++] = IPA_CLIENT_USB_PROD;
		break;
@@ -827,6 +831,8 @@ int ipa3_get_clients_from_rm_resource(
	case IPA_RM_RESOURCE_MHI_PROD:
		clients->names[i++] = IPA_CLIENT_MHI_PROD;
		break;
	case IPA_RM_RESOURCE_ODU_ADAPT_PROD:
		clients->names[i++] = IPA_CLIENT_ODU_PROD;
	default:
		break;
	}
@@ -865,7 +871,9 @@ bool ipa3_should_pipe_be_suspended(enum ipa_client_type client)
	    client == IPA_CLIENT_WLAN1_CONS   ||
	    client == IPA_CLIENT_WLAN2_CONS   ||
	    client == IPA_CLIENT_WLAN3_CONS   ||
	    client == IPA_CLIENT_WLAN4_CONS)
	    client == IPA_CLIENT_WLAN4_CONS   ||
	    client == IPA_CLIENT_ODU_EMB_CONS ||
	    client == IPA_CLIENT_ODU_TETH_CONS)
		return true;

	return false;