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

Commit 1323f7a3 authored by Amir Levy's avatar Amir Levy
Browse files

msm: ipa3: add support for sending packet status



Kernel tests module requires support of sending packet status
with the packet data bytes in order to test the status fields.
This code adds the necessary support.

Change-Id: I3540e816b1a1f453766fcc1ca7734866a5818d4b
Signed-off-by: default avatarNadine Toledano <nadinet@codeaurora.org>
Signed-off-by: default avatarAmir Levy <alevy@codeaurora.org>
parent afecc508
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1189,13 +1189,13 @@ EXPORT_SYMBOL(ipa_teardown_sys_pipe);

int ipa_sys_setup(struct ipa_sys_connect_params *sys_in,
	unsigned long *ipa_bam_hdl,
	u32 *ipa_pipe_num, u32 *clnt_hdl)
	u32 *ipa_pipe_num, u32 *clnt_hdl, bool en_status)

{
	int ret;

	IPA_API_DISPATCH_RETURN(ipa_sys_setup, sys_in, ipa_bam_hdl,
			ipa_pipe_num, clnt_hdl);
			ipa_pipe_num, clnt_hdl, en_status);

	return ret;
}
+1 −1
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ struct ipa_api_controller {

	int (*ipa_sys_setup)(struct ipa_sys_connect_params *sys_in,
		unsigned long *ipa_bam_hdl,
		u32 *ipa_pipe_num, u32 *clnt_hdl);
		u32 *ipa_pipe_num, u32 *clnt_hdl, bool en_status);

	int (*ipa_sys_teardown)(u32 clnt_hdl);

+1 −1
Original line number Diff line number Diff line
@@ -2965,7 +2965,7 @@ void ipa2_free_skb(struct ipa_rx_data *data)

int ipa2_sys_setup(struct ipa_sys_connect_params *sys_in,
			unsigned long *ipa_bam_hdl,
			u32 *ipa_pipe_num, u32 *clnt_hdl)
			u32 *ipa_pipe_num, u32 *clnt_hdl, bool en_status)
{
	struct ipa_ep_context *ep;
	int ipa_ep_idx;
+1 −1
Original line number Diff line number Diff line
@@ -1566,7 +1566,7 @@ int ipa2_teardown_sys_pipe(u32 clnt_hdl);

int ipa2_sys_setup(struct ipa_sys_connect_params *sys_in,
	unsigned long *ipa_bam_hdl,
	u32 *ipa_pipe_num, u32 *clnt_hdl);
	u32 *ipa_pipe_num, u32 *clnt_hdl, bool en_status);

int ipa2_sys_teardown(u32 clnt_hdl);

+5 −1
Original line number Diff line number Diff line
@@ -2769,7 +2769,7 @@ void ipa3_free_skb(struct ipa_rx_data *data)

int ipa3_sys_setup(struct ipa_sys_connect_params *sys_in,
			unsigned long *ipa_bam_hdl,
			u32 *ipa_pipe_num, u32 *clnt_hdl)
			u32 *ipa_pipe_num, u32 *clnt_hdl, bool en_status)
{
	struct ipa3_ep_context *ep;
	int ipa_ep_idx;
@@ -2837,6 +2837,10 @@ int ipa3_sys_setup(struct ipa_sys_connect_params *sys_in,
	ep->client_notify = sys_in->notify;
	ep->priv = sys_in->priv;
	ep->keep_ipa_awake = true;
	if (en_status) {
		ep->status.status_en = true;
		ep->status.status_ep = ipa_ep_idx;
	}

	result = ipa3_enable_data_path(ipa_ep_idx);
	if (result) {
Loading