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

Commit 26435ea0 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: bam: add support for new ipa connect paramater"

parents 8c750d7e 18364b84
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -528,6 +528,7 @@ static int connect_pipe_sys2bam_ipa(u8 idx,
	sys_in_params.priv = ipa_params->priv;
	sys_in_params.notify = ipa_params->notify;
	sys_in_params.skip_ep_cfg = ipa_params->skip_ep_cfg;
	sys_in_params.keep_ipa_awake = ipa_params->keep_ipa_awake;
	memcpy(&sys_in_params.ipa_ep_cfg, &ipa_params->ipa_ep_cfg,
		   sizeof(struct ipa_ep_cfg));

@@ -593,6 +594,7 @@ static int connect_pipe_bam2bam_ipa(u8 idx,
	ipa_in_params.notify = ipa_params->notify;
	ipa_in_params.priv = ipa_params->priv;
	ipa_in_params.skip_ep_cfg = ipa_params->skip_ep_cfg;
	ipa_in_params.keep_ipa_awake = ipa_params->keep_ipa_awake;

	/* If BAM is using dedicated SPS pipe memory, get it */

+1 −0
Original line number Diff line number Diff line
@@ -1134,6 +1134,7 @@ static void gbam2bam_connect_work(struct work_struct *w)
		}
		d->ipa_params.ipa_ep_cfg.mode.mode = IPA_BASIC;
		d->ipa_params.skip_ep_cfg = teth_bridge_params.skip_ep_cfg;
		d->ipa_params.keep_ipa_awake = false;
		d->ipa_params.dir = USB_TO_PEER_PERIPHERAL;
		ret = usb_bam_connect_ipa(&d->ipa_params);
		if (ret) {
+3 −0
Original line number Diff line number Diff line
@@ -634,12 +634,14 @@ static void bam2bam_data_connect_work(struct work_struct *w)
			d->ipa_params.ipa_ep_cfg.mode.mode = IPA_BASIC;
			d->ipa_params.skip_ep_cfg =
				teth_bridge_params.skip_ep_cfg;
			d->ipa_params.keep_ipa_awake = true;
		}
		d->ipa_params.dir = USB_TO_PEER_PERIPHERAL;
		if (d->func_type == USB_FUNC_ECM) {
			d->ipa_params.notify = ecm_qc_get_ipa_rx_cb();
			d->ipa_params.priv = ecm_qc_get_ipa_priv();
			d->ipa_params.skip_ep_cfg = ecm_qc_get_skip_ep_config();
			d->ipa_params.keep_ipa_awake = true;
		}

		if (d->func_type == USB_FUNC_RNDIS) {
@@ -647,6 +649,7 @@ static void bam2bam_data_connect_work(struct work_struct *w)
			d->ipa_params.priv = rndis_qc_get_ipa_priv();
			d->ipa_params.skip_ep_cfg =
				rndis_qc_get_skip_ep_config();
			d->ipa_params.keep_ipa_awake = true;
		}

		/* Support for UL using system-to-IPA */
+1 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ struct usb_bam_connect_ipa_params {
	u8 dst_idx;
	u32 *src_pipe;
	u32 *dst_pipe;
	bool keep_ipa_awake;
	enum usb_bam_pipe_dir dir;
	/* Parameters for Port Mapper */
	u32 ipa_cons_ep_idx;