From f269591974c5db7bedc1f439271bef19b1ab2887 Mon Sep 17 00:00:00 2001 From: Ashok Vuyyuru Date: Fri, 3 Apr 2020 23:37:51 +0530 Subject: [PATCH] msm: ipa4: flow control changes for rmnet pipe When the RMNET pipe channel in the started state receiving the junk packets, it leading IPA HW stall. Add changes to support the new flow control channel state for rmnet pipe, it avoids entering the junk packet to IPA HW. Change-Id: If2b3992e8cdc93343e70f9d2c1783bbbde329bc2 Signed-off-by: Ashok Vuyyuru --- include/linux/msm_gsi.h | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/include/linux/msm_gsi.h b/include/linux/msm_gsi.h index 294d73e2e24d..796e430f26d2 100644 --- a/include/linux/msm_gsi.h +++ b/include/linux/msm_gsi.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* - * Copyright (c) 2015-2019, The Linux Foundation. All rights reserved. + * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved. */ #ifndef MSM_GSI_H @@ -1723,6 +1723,20 @@ int gsi_map_virtual_ch_to_per_ep(u32 ee, u32 chan_num, u32 per_ep_index); */ int gsi_alloc_channel_ee(unsigned int chan_idx, unsigned int ee, int *code); +/** + * gsi_enable_flow_control_ee - Peripheral should call this function + * to enable flow control other EE's channel. This is usually done in USB + * connent and SSR scenarios. + * + * @chan_idx: Virtual channel index + * @ee: EE + * @code: [out] response code for operation + + * @Return gsi_status + */ +int gsi_enable_flow_control_ee(unsigned int chan_idx, unsigned int ee, + int *code); + /* * Here is a typical sequence of calls * @@ -1992,6 +2006,12 @@ static inline int gsi_alloc_channel_ee(unsigned int chan_idx, unsigned int ee, return -GSI_STATUS_UNSUPPORTED_OP; } +static inline int gsi_enable_flow_control_ee(unsigned int chan_idx, + unsigned int ee, int *code) +{ + return -GSI_STATUS_UNSUPPORTED_OP; +} + static inline void gsi_wdi3_write_evt_ring_db( unsigned long chan_hdl, uint32_t db_addr_low, uint32_t db_addr_high)