mirror of
				https://github.com/oplus-giulia-dev/android_kernel_oneplus_sm8650-modules
				synced 2025-11-04 14:19:12 +08:00 
			
		
		
		
	qcom: dataipa: Replace gsi_chan_dir with ipa_usb_gsi_chan_dir from upstream
				
					
				
			Change-Id: If0dd8a0af504f1e0526b7d8274c70192f8f8eadc Signed-off-by: chandu078 <chandudyavanapelli03@gmail.com>
This commit is contained in:
		@@ -701,7 +701,7 @@ static void gsi_process_chan(struct gsi_xfer_compl_evt *evt,
 | 
			
		||||
		 * Increment RP local only in polling context to avoid
 | 
			
		||||
		 * sys len mismatch.
 | 
			
		||||
		 */
 | 
			
		||||
		if (!callback || (ch_ctx->props.dir == GSI_CHAN_DIR_TO_GSI &&
 | 
			
		||||
		if (!callback || (ch_ctx->props.dir == CHAN_DIR_TO_GSI &&
 | 
			
		||||
			!ch_ctx->props.tx_poll))
 | 
			
		||||
			/* the element at RP is also processed */
 | 
			
		||||
			gsi_incr_ring_rp(&ch_ctx->ring);
 | 
			
		||||
@@ -724,7 +724,7 @@ static void gsi_process_chan(struct gsi_xfer_compl_evt *evt,
 | 
			
		||||
	 * channel will receive the IEOB interrupt and xfer pointer will be
 | 
			
		||||
	 * overwritten. To avoid this process all data in polling context.
 | 
			
		||||
	 */
 | 
			
		||||
	if (!callback || (ch_ctx->props.dir == GSI_CHAN_DIR_TO_GSI &&
 | 
			
		||||
	if (!callback || (ch_ctx->props.dir == CHAN_DIR_TO_GSI &&
 | 
			
		||||
		!ch_ctx->props.tx_poll)) {
 | 
			
		||||
		ch_ctx->stats.completed++;
 | 
			
		||||
		ch_ctx->user_data[rp_idx].valid = false;
 | 
			
		||||
@@ -757,7 +757,7 @@ static void gsi_process_evt_re(struct gsi_evt_ctx *ctx,
 | 
			
		||||
	 * sys len mismatch.
 | 
			
		||||
	 */
 | 
			
		||||
	ch_ctx = &gsi_ctx->chan[evt->chid];
 | 
			
		||||
	if (callback && (ch_ctx->props.dir == GSI_CHAN_DIR_FROM_GSI ||
 | 
			
		||||
	if (callback && (ch_ctx->props.dir == CHAN_DIR_FROM_GSI ||
 | 
			
		||||
		ch_ctx->props.tx_poll))
 | 
			
		||||
		return;
 | 
			
		||||
	gsi_incr_ring_rp(&ctx->ring);
 | 
			
		||||
@@ -794,7 +794,7 @@ static void gsi_ring_chan_doorbell(struct gsi_chan_ctx *ctx)
 | 
			
		||||
	 * for TO_GSI channels the event ring doorbell is rang as part of
 | 
			
		||||
	 * interrupt handling.
 | 
			
		||||
	 */
 | 
			
		||||
	if (ctx->evtr && ctx->props.dir == GSI_CHAN_DIR_FROM_GSI)
 | 
			
		||||
	if (ctx->evtr && ctx->props.dir == CHAN_DIR_FROM_GSI)
 | 
			
		||||
		gsi_ring_evt_doorbell(ctx->evtr);
 | 
			
		||||
	ctx->ring.wp = ctx->ring.wp_local;
 | 
			
		||||
 | 
			
		||||
@@ -3815,7 +3815,7 @@ revrfy_chnlstate:
 | 
			
		||||
		reset_done = true;
 | 
			
		||||
 | 
			
		||||
	/* workaround: reset GSI producers again */
 | 
			
		||||
	if (ctx->props.dir == GSI_CHAN_DIR_FROM_GSI && !reset_done) {
 | 
			
		||||
	if (ctx->props.dir == CHAN_DIR_FROM_GSI && !reset_done) {
 | 
			
		||||
		usleep_range(GSI_RESET_WA_MIN_SLEEP, GSI_RESET_WA_MAX_SLEEP);
 | 
			
		||||
		reset_done = true;
 | 
			
		||||
		goto reset;
 | 
			
		||||
@@ -4068,7 +4068,7 @@ int gsi_is_channel_empty(unsigned long chan_hdl, bool *is_empty)
 | 
			
		||||
 | 
			
		||||
	spin_lock_irqsave(slock, flags);
 | 
			
		||||
 | 
			
		||||
	if (ctx->props.dir == GSI_CHAN_DIR_FROM_GSI && ctx->evtr) {
 | 
			
		||||
	if (ctx->props.dir == CHAN_DIR_FROM_GSI && ctx->evtr) {
 | 
			
		||||
		ev_ctx = &gsi_ctx->evtr[ctx->evtr->id];
 | 
			
		||||
		/* Read the event ring rp from DDR to avoid mismatch */
 | 
			
		||||
		rp = ev_ctx->props.gsi_read_event_ring_rp(&ev_ctx->props,
 | 
			
		||||
@@ -4097,14 +4097,14 @@ int gsi_is_channel_empty(unsigned long chan_hdl, bool *is_empty)
 | 
			
		||||
		rp_local = ctx->ring.rp_local;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (ctx->props.dir == GSI_CHAN_DIR_FROM_GSI)
 | 
			
		||||
	if (ctx->props.dir == CHAN_DIR_FROM_GSI)
 | 
			
		||||
		*is_empty = (rp_local == rp) ? true : false;
 | 
			
		||||
	else
 | 
			
		||||
		*is_empty = (wp == rp) ? true : false;
 | 
			
		||||
 | 
			
		||||
	spin_unlock_irqrestore(slock, flags);
 | 
			
		||||
 | 
			
		||||
	if (ctx->props.dir == GSI_CHAN_DIR_FROM_GSI && ctx->evtr)
 | 
			
		||||
	if (ctx->props.dir == CHAN_DIR_FROM_GSI && ctx->evtr)
 | 
			
		||||
		GSIDBG("ch=%ld ev=%d RP=0x%llx WP=0x%llx RP_LOCAL=0x%llx\n",
 | 
			
		||||
			chan_hdl, ctx->evtr->id, rp, wp, rp_local);
 | 
			
		||||
	else
 | 
			
		||||
 
 | 
			
		||||
@@ -18,6 +18,7 @@
 | 
			
		||||
#include <linux/ipc_logging.h>
 | 
			
		||||
#include <linux/iommu.h>
 | 
			
		||||
#include <linux/msi.h>
 | 
			
		||||
#include <linux/ipa_usb.h>
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following for adding code (ie. for EMULATION) not found on x86.
 | 
			
		||||
@@ -541,7 +542,7 @@ enum gsi_chan_use_db_eng {
 | 
			
		||||
 */
 | 
			
		||||
struct gsi_chan_props {
 | 
			
		||||
	enum gsi_chan_prot prot;
 | 
			
		||||
	enum gsi_chan_dir dir;
 | 
			
		||||
	enum ipa_usb_gsi_chan_dir dir;
 | 
			
		||||
	uint8_t ch_id;
 | 
			
		||||
	unsigned long evt_ring_hdl;
 | 
			
		||||
	enum gsi_chan_ring_elem_size re_size;
 | 
			
		||||
 
 | 
			
		||||
@@ -8,11 +8,6 @@
 | 
			
		||||
#include <linux/types.h>
 | 
			
		||||
#include <linux/interrupt.h>
 | 
			
		||||
 | 
			
		||||
enum gsi_chan_dir {
 | 
			
		||||
	GSI_CHAN_DIR_FROM_GSI = 0x0,
 | 
			
		||||
	GSI_CHAN_DIR_TO_GSI = 0x1
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @GSI_USE_PREFETCH_BUFS: Channel will use normal prefetch buffers if possible
 | 
			
		||||
 * @GSI_ESCAPE_BUF_ONLY: Channel will always use escape buffers only
 | 
			
		||||
 
 | 
			
		||||
@@ -1145,7 +1145,7 @@ static int ipa3_usb_request_xdci_channel(
 | 
			
		||||
 | 
			
		||||
	memset(&chan_params, 0, sizeof(struct ipa_request_gsi_channel_params));
 | 
			
		||||
	chan_params.ipa_ep_cfg.mode.mode = IPA_BASIC;
 | 
			
		||||
	if (params->dir == GSI_CHAN_DIR_TO_GSI)
 | 
			
		||||
	if (params->dir == CHAN_DIR_TO_GSI)
 | 
			
		||||
		chan_params.client = IPA_CLIENT_USB_PROD;
 | 
			
		||||
	else
 | 
			
		||||
		chan_params.client = (params->teth_prot == IPA_USB_DIAG) ?
 | 
			
		||||
@@ -1153,7 +1153,7 @@ static int ipa3_usb_request_xdci_channel(
 | 
			
		||||
	switch (params->teth_prot) {
 | 
			
		||||
	case IPA_USB_RNDIS:
 | 
			
		||||
		chan_params.priv = rndis_ptr->private;
 | 
			
		||||
		if (params->dir == GSI_CHAN_DIR_FROM_GSI)
 | 
			
		||||
		if (params->dir == CHAN_DIR_FROM_GSI)
 | 
			
		||||
			chan_params.notify = rndis_ptr->ipa_tx_notify;
 | 
			
		||||
		else
 | 
			
		||||
			chan_params.notify = rndis_ptr->ipa_rx_notify;
 | 
			
		||||
@@ -1161,7 +1161,7 @@ static int ipa3_usb_request_xdci_channel(
 | 
			
		||||
		break;
 | 
			
		||||
	case IPA_USB_ECM:
 | 
			
		||||
		chan_params.priv = ecm_ptr->private;
 | 
			
		||||
		if (params->dir == GSI_CHAN_DIR_FROM_GSI)
 | 
			
		||||
		if (params->dir == CHAN_DIR_FROM_GSI)
 | 
			
		||||
			chan_params.notify = ecm_ptr->ecm_ipa_tx_dp_notify;
 | 
			
		||||
		else
 | 
			
		||||
			chan_params.notify = ecm_ptr->ecm_ipa_rx_dp_notify;
 | 
			
		||||
@@ -1243,7 +1243,7 @@ static int ipa3_usb_request_xdci_channel(
 | 
			
		||||
	chan_params.evt_scratch.xdci.gevntcount_hi_addr =
 | 
			
		||||
		params->gevntcount_hi_addr;
 | 
			
		||||
	chan_params.chan_params.prot = GSI_CHAN_PROT_XDCI;
 | 
			
		||||
	chan_params.chan_params.dir = (enum gsi_chan_dir)(params->dir);
 | 
			
		||||
	chan_params.chan_params.dir = params->dir;
 | 
			
		||||
	/* chan_id is set in ipa3_request_gsi_channel() */
 | 
			
		||||
	chan_params.chan_params.re_size = GSI_CHAN_RE_SIZE_16B;
 | 
			
		||||
	chan_params.chan_params.ring_len = params->xfer_ring_len;
 | 
			
		||||
@@ -1256,7 +1256,7 @@ static int ipa3_usb_request_xdci_channel(
 | 
			
		||||
		chan_params.chan_params.use_db_eng = GSI_CHAN_DB_MODE;
 | 
			
		||||
	chan_params.chan_params.db_in_bytes = 1;
 | 
			
		||||
	chan_params.chan_params.max_prefetch = GSI_ONE_PREFETCH_SEG;
 | 
			
		||||
	if (params->dir == GSI_CHAN_DIR_FROM_GSI)
 | 
			
		||||
	if (params->dir == CHAN_DIR_FROM_GSI)
 | 
			
		||||
		chan_params.chan_params.low_weight =
 | 
			
		||||
			IPA_USB_DL_CHAN_LOW_WEIGHT;
 | 
			
		||||
	else
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0-only
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0-only
 | 
			
		||||
/*
 | 
			
		||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
 | 
			
		||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 | 
			
		||||
@@ -1085,7 +1085,7 @@ int connect_ipa_to_apps(struct test_endpoint_sys *rx_ep,
 | 
			
		||||
	memset(&rx_ep->gsi_channel_props, 0,
 | 
			
		||||
		sizeof(rx_ep->gsi_channel_props));
 | 
			
		||||
	rx_ep->gsi_channel_props.prot = GSI_CHAN_PROT_GPI;
 | 
			
		||||
	rx_ep->gsi_channel_props.dir = GSI_CHAN_DIR_FROM_GSI;
 | 
			
		||||
	rx_ep->gsi_channel_props.dir = CHAN_DIR_FROM_GSI;
 | 
			
		||||
	gsi_ep_config = ipa_get_gsi_ep_info(client);
 | 
			
		||||
	if (!gsi_ep_config) {
 | 
			
		||||
		IPATEST_ERR("invalid gsi_ep_config\n");
 | 
			
		||||
@@ -1190,7 +1190,7 @@ int connect_apps_to_ipa(struct test_endpoint_sys *tx_ep,
 | 
			
		||||
 | 
			
		||||
	memset(&tx_ep->gsi_channel_props, 0, sizeof(tx_ep->gsi_channel_props));
 | 
			
		||||
	tx_ep->gsi_channel_props.prot = GSI_CHAN_PROT_GPI;
 | 
			
		||||
	tx_ep->gsi_channel_props.dir = GSI_CHAN_DIR_TO_GSI;
 | 
			
		||||
	tx_ep->gsi_channel_props.dir = CHAN_DIR_TO_GSI;
 | 
			
		||||
	gsi_ep_config = ipa_get_gsi_ep_info(client);
 | 
			
		||||
	if (!gsi_ep_config) {
 | 
			
		||||
		IPATEST_ERR("invalid gsi_ep_config\n");
 | 
			
		||||
 
 | 
			
		||||
@@ -6906,7 +6906,7 @@ static int ipa_gsi_setup_transfer_ring(struct ipa3_ep_context *ep,
 | 
			
		||||
	else
 | 
			
		||||
		gsi_channel_props.prot = GSI_CHAN_PROT_GPI;
 | 
			
		||||
	if (IPA_CLIENT_IS_PROD(ep->client)) {
 | 
			
		||||
		gsi_channel_props.dir = GSI_CHAN_DIR_TO_GSI;
 | 
			
		||||
		gsi_channel_props.dir = CHAN_DIR_TO_GSI;
 | 
			
		||||
		if(ep->client == IPA_CLIENT_APPS_WAN_PROD ||
 | 
			
		||||
		   ep->client == IPA_CLIENT_APPS_LAN_PROD ||
 | 
			
		||||
		   ep->client == IPA_CLIENT_APPS_WAN_LOW_LAT_DATA_PROD)
 | 
			
		||||
@@ -6914,7 +6914,7 @@ static int ipa_gsi_setup_transfer_ring(struct ipa3_ep_context *ep,
 | 
			
		||||
		else
 | 
			
		||||
			gsi_channel_props.tx_poll = false;
 | 
			
		||||
	} else {
 | 
			
		||||
		gsi_channel_props.dir = GSI_CHAN_DIR_FROM_GSI;
 | 
			
		||||
		gsi_channel_props.dir = CHAN_DIR_FROM_GSI;
 | 
			
		||||
		if (ep->sys)
 | 
			
		||||
			gsi_channel_props.max_re_expected = ep->sys->rx_pool_sz;
 | 
			
		||||
	}
 | 
			
		||||
@@ -7370,7 +7370,7 @@ int ipa_gsi_ch20_wa(void)
 | 
			
		||||
 | 
			
		||||
	memset(&gsi_channel_props, 0, sizeof(gsi_channel_props));
 | 
			
		||||
	gsi_channel_props.prot = GSI_CHAN_PROT_GPI;
 | 
			
		||||
	gsi_channel_props.dir = GSI_CHAN_DIR_TO_GSI;
 | 
			
		||||
	gsi_channel_props.dir = CHAN_DIR_TO_GSI;
 | 
			
		||||
	gsi_channel_props.evt_ring_hdl = ~0;
 | 
			
		||||
	gsi_channel_props.re_size = GSI_CHAN_RE_SIZE_16B;
 | 
			
		||||
	gsi_channel_props.ring_len = 4 * gsi_channel_props.re_size;
 | 
			
		||||
 
 | 
			
		||||
@@ -358,9 +358,9 @@ static int ipa_eth_setup_rtk_gsi_channel(
 | 
			
		||||
	memset(&gsi_channel_props, 0, sizeof(gsi_channel_props));
 | 
			
		||||
	gsi_channel_props.prot = GSI_CHAN_PROT_RTK;
 | 
			
		||||
	if (pipe->dir == IPA_ETH_PIPE_DIR_TX)
 | 
			
		||||
		gsi_channel_props.dir = GSI_CHAN_DIR_FROM_GSI;
 | 
			
		||||
		gsi_channel_props.dir = CHAN_DIR_FROM_GSI;
 | 
			
		||||
	else
 | 
			
		||||
		gsi_channel_props.dir = GSI_CHAN_DIR_TO_GSI;
 | 
			
		||||
		gsi_channel_props.dir = CHAN_DIR_TO_GSI;
 | 
			
		||||
	gsi_ep_info = ipa_get_gsi_ep_info(ep->client);
 | 
			
		||||
	if (!gsi_ep_info) {
 | 
			
		||||
		IPAERR("Failed getting GSI EP info for client=%d\n",
 | 
			
		||||
@@ -648,9 +648,9 @@ static int ipa_eth_setup_aqc_gsi_channel(
 | 
			
		||||
	memset(&gsi_channel_props, 0, sizeof(gsi_channel_props));
 | 
			
		||||
	gsi_channel_props.prot = GSI_CHAN_PROT_AQC;
 | 
			
		||||
	if (pipe->dir == IPA_ETH_PIPE_DIR_TX)
 | 
			
		||||
		gsi_channel_props.dir = GSI_CHAN_DIR_FROM_GSI;
 | 
			
		||||
		gsi_channel_props.dir = CHAN_DIR_FROM_GSI;
 | 
			
		||||
	else
 | 
			
		||||
		gsi_channel_props.dir = GSI_CHAN_DIR_TO_GSI;
 | 
			
		||||
		gsi_channel_props.dir = CHAN_DIR_TO_GSI;
 | 
			
		||||
	gsi_ep_info = ipa_get_gsi_ep_info(ep->client);
 | 
			
		||||
	if (!gsi_ep_info) {
 | 
			
		||||
		IPAERR("Failed getting GSI EP info for client=%d\n",
 | 
			
		||||
@@ -779,9 +779,9 @@ static int ipa_eth_setup_ntn_gsi_channel(
 | 
			
		||||
	memset(&gsi_channel_props, 0, sizeof(gsi_channel_props));
 | 
			
		||||
	gsi_channel_props.prot = GSI_CHAN_PROT_NTN;
 | 
			
		||||
	if (pipe->dir == IPA_ETH_PIPE_DIR_TX)
 | 
			
		||||
		gsi_channel_props.dir = GSI_CHAN_DIR_FROM_GSI;
 | 
			
		||||
		gsi_channel_props.dir = CHAN_DIR_FROM_GSI;
 | 
			
		||||
	else
 | 
			
		||||
		gsi_channel_props.dir = GSI_CHAN_DIR_TO_GSI;
 | 
			
		||||
		gsi_channel_props.dir = CHAN_DIR_TO_GSI;
 | 
			
		||||
	gsi_ep_info = ipa_get_gsi_ep_info(ep->client);
 | 
			
		||||
	if (!gsi_ep_info) {
 | 
			
		||||
		IPAERR("Failed getting GSI EP info for client=%d\n",
 | 
			
		||||
 
 | 
			
		||||
@@ -282,7 +282,7 @@ static int ipa_mhi_start_gsi_channel(enum ipa_client_type client,
 | 
			
		||||
	memset(&ch_props, 0, sizeof(ch_props));
 | 
			
		||||
	ch_props.prot = GSI_CHAN_PROT_MHI;
 | 
			
		||||
	ch_props.dir = IPA_CLIENT_IS_PROD(client) ?
 | 
			
		||||
		GSI_CHAN_DIR_TO_GSI : GSI_CHAN_DIR_FROM_GSI;
 | 
			
		||||
		CHAN_DIR_TO_GSI : CHAN_DIR_FROM_GSI;
 | 
			
		||||
	ch_props.ch_id = ep_cfg->ipa_gsi_chan_num;
 | 
			
		||||
	ch_props.evt_ring_hdl = *params->cached_gsi_evt_ring_hdl;
 | 
			
		||||
	ch_props.re_size = GSI_CHAN_RE_SIZE_16B;
 | 
			
		||||
 
 | 
			
		||||
@@ -1128,7 +1128,7 @@ static int ipa_mpm_connect_mhip_gsi_pipe(enum ipa_client_type mhip_client,
 | 
			
		||||
	/* Channel Params */
 | 
			
		||||
	gsi_params.chan_params.prot = GSI_CHAN_PROT_MHIP;
 | 
			
		||||
	gsi_params.chan_params.dir = IPA_CLIENT_IS_PROD(mhip_client) ?
 | 
			
		||||
		GSI_CHAN_DIR_TO_GSI : GSI_CHAN_DIR_FROM_GSI;
 | 
			
		||||
		CHAN_DIR_TO_GSI : CHAN_DIR_FROM_GSI;
 | 
			
		||||
	/* chan_id is set in ipa3_request_gsi_channel() */
 | 
			
		||||
	gsi_params.chan_params.re_size = GSI_CHAN_RE_SIZE_16B;
 | 
			
		||||
	gsi_params.chan_params.ring_len =
 | 
			
		||||
 
 | 
			
		||||
@@ -109,7 +109,7 @@ int ipa_qdss_conn_pipes(struct ipa_qdss_conn_in_params *in,
 | 
			
		||||
	/* setup channel ring */
 | 
			
		||||
	memset(&gsi_channel_props, 0, sizeof(gsi_channel_props));
 | 
			
		||||
	gsi_channel_props.prot = GSI_CHAN_PROT_QDSS;
 | 
			
		||||
	gsi_channel_props.dir = GSI_CHAN_DIR_TO_GSI;
 | 
			
		||||
	gsi_channel_props.dir = CHAN_DIR_TO_GSI;
 | 
			
		||||
 | 
			
		||||
	gsi_ep_info = ipa_get_gsi_ep_info(ep_rx->client);
 | 
			
		||||
	if (!gsi_ep_info) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1172,11 +1172,11 @@ static int ipa3_wdi2_gsi_alloc_channel_ring(
 | 
			
		||||
 | 
			
		||||
	if (IPA_CLIENT_IS_PROD(client)) {
 | 
			
		||||
		IPAERR("Client is PROD\n");
 | 
			
		||||
		channel_props->dir = GSI_CHAN_DIR_TO_GSI;
 | 
			
		||||
		channel_props->dir = CHAN_DIR_TO_GSI;
 | 
			
		||||
		channel_props->re_size = GSI_CHAN_RE_SIZE_16B;
 | 
			
		||||
	} else {
 | 
			
		||||
		IPAERR("Client is CONS");
 | 
			
		||||
		channel_props->dir = GSI_CHAN_DIR_FROM_GSI;
 | 
			
		||||
		channel_props->dir = CHAN_DIR_FROM_GSI;
 | 
			
		||||
		channel_props->re_size = GSI_CHAN_RE_SIZE_8B;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -184,9 +184,9 @@ static int ipa3_setup_wdi3_gsi_channel(u8 is_smmu_enabled,
 | 
			
		||||
	/* setup channel ring */
 | 
			
		||||
	if ((dir == IPA_WDI3_TX_DIR) || (dir == IPA_WDI3_TX1_DIR) ||
 | 
			
		||||
		(dir == IPA_WDI3_TX2_DIR))
 | 
			
		||||
		gsi_channel_props.dir = GSI_CHAN_DIR_FROM_GSI;
 | 
			
		||||
		gsi_channel_props.dir = CHAN_DIR_FROM_GSI;
 | 
			
		||||
	else
 | 
			
		||||
		gsi_channel_props.dir = GSI_CHAN_DIR_TO_GSI;
 | 
			
		||||
		gsi_channel_props.dir = CHAN_DIR_TO_GSI;
 | 
			
		||||
 | 
			
		||||
	gsi_ep_info = ipa_get_gsi_ep_info(ep->client);
 | 
			
		||||
	if (!gsi_ep_info) {
 | 
			
		||||
 
 | 
			
		||||
@@ -687,9 +687,9 @@ static int ipa3_wigig_config_gsi(bool Rx,
 | 
			
		||||
	memset(&gsi_scratch, 0, sizeof(gsi_scratch));
 | 
			
		||||
 | 
			
		||||
	if (Rx)
 | 
			
		||||
		channel_props.dir = GSI_CHAN_DIR_TO_GSI;
 | 
			
		||||
		channel_props.dir = CHAN_DIR_TO_GSI;
 | 
			
		||||
	else
 | 
			
		||||
		channel_props.dir = GSI_CHAN_DIR_FROM_GSI;
 | 
			
		||||
		channel_props.dir = CHAN_DIR_FROM_GSI;
 | 
			
		||||
 | 
			
		||||
	channel_props.re_size = GSI_CHAN_RE_SIZE_16B;
 | 
			
		||||
	channel_props.prot = GSI_CHAN_PROT_11AD;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user