From a6f373742fef68d799a63bb102c0546383c8ca48 Mon Sep 17 00:00:00 2001 From: Yongbok Kim Date: Thu, 2 May 2019 11:35:07 +0100 Subject: [PATCH] [NEUS7920-218] [9610] wlbt: Align mbulk class enum with fw There are mismatches between host and fw for the mbulk class enum. It has to be matched as it is causing confusion. Change-Id: I9c7d97974a99300990da4277bd1b0eaa4cbe8d77 SCSC-Bug-Id: SSB-49211 Signed-off-by: Yongbok Kim --- drivers/net/wireless/scsc/hip4.c | 20 +++++++++--------- drivers/net/wireless/scsc/mbulk.h | 35 +++++++++++++------------------ 2 files changed, 25 insertions(+), 30 deletions(-) mode change 100755 => 100644 drivers/net/wireless/scsc/hip4.c diff --git a/drivers/net/wireless/scsc/hip4.c b/drivers/net/wireless/scsc/hip4.c old mode 100755 new mode 100644 index 2bc536402c7c..75cd76a54673 --- a/drivers/net/wireless/scsc/hip4.c +++ b/drivers/net/wireless/scsc/hip4.c @@ -620,7 +620,7 @@ static struct mbulk *hip4_skb_to_mbulk(struct hip4_priv *hip, struct sk_buff *sk struct mbulk *m = NULL; void *sig = NULL, *b_data = NULL; size_t payload = 0; - u8 pool_id = ctrl_packet ? MBULK_CLASS_FROM_HOST_CTL : MBULK_CLASS_FROM_HOST_DAT; + u8 pool_id = ctrl_packet ? MBULK_POOL_ID_CTRL : MBULK_POOL_ID_DATA; u8 headroom = 0, tailroom = 0; enum mbulk_class clas = ctrl_packet ? MBULK_CLASS_FROM_HOST_CTL : MBULK_CLASS_FROM_HOST_DAT; struct slsi_skb_cb *cb = slsi_skb_cb_get(skb); @@ -1086,7 +1086,7 @@ static void hip4_wq_fb(struct work_struct *data) */ colour = ((m->clas & 0xc0) << 2) | (m->pid & 0xfe); /* Account ONLY for data RFB */ - if ((m->pid & 0x1) == MBULK_CLASS_FROM_HOST_DAT) { + if ((m->pid & 0x1) == MBULK_POOL_ID_DATA) { #ifdef CONFIG_SCSC_WLAN_HIP4_PROFILING SCSC_HIP4_SAMPLER_VIF_PEER(hip->hip_priv->minor, 0, (colour & 0x6) >> 1, (colour & 0xf8) >> 3); /* to profile round-trip */ @@ -1705,7 +1705,7 @@ static void hip4_wq(struct work_struct *data) */ colour = ((m->clas & 0xc0) << 2) | (m->pid & 0xfe); /* Account ONLY for data RFB */ - if ((m->pid & 0x1) == MBULK_CLASS_FROM_HOST_DAT) { + if ((m->pid & 0x1) == MBULK_POOL_ID_DATA) { #ifdef CONFIG_SCSC_WLAN_HIP4_PROFILING SCSC_HIP4_SAMPLER_VIF_PEER(hip->hip_priv->minor, 0, (colour & 0x6) >> 1, (colour & 0xf8) >> 3); /* to profile round-trip */ @@ -2158,8 +2158,8 @@ int hip4_init(struct slsi_hip4 *hip) service = sdev->service; - hip->hip_priv->host_pool_id_dat = MBULK_CLASS_FROM_HOST_DAT; - hip->hip_priv->host_pool_id_ctl = MBULK_CLASS_FROM_HOST_CTL; + hip->hip_priv->host_pool_id_dat = MBULK_POOL_ID_DATA; + hip->hip_priv->host_pool_id_ctl = MBULK_POOL_ID_CTRL; /* hip_ref contains the reference of the start of shared memory allocated for WLAN */ /* hip_ptr is the kernel address of hip_ref*/ @@ -2167,7 +2167,7 @@ int hip4_init(struct slsi_hip4 *hip) #ifdef CONFIG_SCSC_WLAN_DEBUG /* Configure mbulk allocator - Data QUEUES */ - ret = mbulk_pool_add(MBULK_CLASS_FROM_HOST_DAT, hip_ptr + HIP4_WLAN_TX_DAT_OFFSET, + ret = mbulk_pool_add(MBULK_POOL_ID_DATA, hip_ptr + HIP4_WLAN_TX_DAT_OFFSET, hip_ptr + HIP4_WLAN_TX_DAT_OFFSET + HIP4_WLAN_TX_DAT_SIZE, (HIP4_WLAN_TX_DAT_SIZE / HIP4_DAT_SLOTS) - sizeof(struct mbulk), 5, hip->hip_priv->minor); @@ -2175,7 +2175,7 @@ int hip4_init(struct slsi_hip4 *hip) return ret; /* Configure mbulk allocator - Control QUEUES */ - ret = mbulk_pool_add(MBULK_CLASS_FROM_HOST_CTL, hip_ptr + HIP4_WLAN_TX_CTL_OFFSET, + ret = mbulk_pool_add(MBULK_POOL_ID_CTRL, hip_ptr + HIP4_WLAN_TX_CTL_OFFSET, hip_ptr + HIP4_WLAN_TX_CTL_OFFSET + HIP4_WLAN_TX_CTL_SIZE, (HIP4_WLAN_TX_CTL_SIZE / HIP4_CTL_SLOTS) - sizeof(struct mbulk), 0, hip->hip_priv->minor); @@ -2183,14 +2183,14 @@ int hip4_init(struct slsi_hip4 *hip) return ret; #else /* Configure mbulk allocator - Data QUEUES */ - ret = mbulk_pool_add(MBULK_CLASS_FROM_HOST_DAT, hip_ptr + HIP4_WLAN_TX_DAT_OFFSET, + ret = mbulk_pool_add(MBULK_POOL_ID_DATA, hip_ptr + HIP4_WLAN_TX_DAT_OFFSET, hip_ptr + HIP4_WLAN_TX_DAT_OFFSET + HIP4_WLAN_TX_DAT_SIZE, (HIP4_WLAN_TX_DAT_SIZE / HIP4_DAT_SLOTS) - sizeof(struct mbulk), 5); if (ret) return ret; /* Configure mbulk allocator - Control QUEUES */ - ret = mbulk_pool_add(MBULK_CLASS_FROM_HOST_CTL, hip_ptr + HIP4_WLAN_TX_CTL_OFFSET, + ret = mbulk_pool_add(MBULK_POOL_ID_CTRL, hip_ptr + HIP4_WLAN_TX_CTL_OFFSET, hip_ptr + HIP4_WLAN_TX_CTL_OFFSET + HIP4_WLAN_TX_CTL_SIZE, (HIP4_WLAN_TX_CTL_SIZE / HIP4_CTL_SLOTS) - sizeof(struct mbulk), 0); if (ret) @@ -2446,7 +2446,7 @@ int hip4_init(struct slsi_hip4 *hip) */ int hip4_free_ctrl_slots_count(struct slsi_hip4 *hip) { - return mbulk_pool_get_free_count(MBULK_CLASS_FROM_HOST_CTL); + return mbulk_pool_get_free_count(MBULK_POOL_ID_CTRL); } /** diff --git a/drivers/net/wireless/scsc/mbulk.h b/drivers/net/wireless/scsc/mbulk.h index c4e0a79968f1..60379da84318 100644 --- a/drivers/net/wireless/scsc/mbulk.h +++ b/drivers/net/wireless/scsc/mbulk.h @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (c) 2014 - 2017 Samsung Electronics Co., Ltd. All rights reserved + * Copyright (c) 2014 - 2019 Samsung Electronics Co., Ltd. All rights reserved * *****************************************************************************/ @@ -50,20 +50,11 @@ struct mbulk; /** - * mbulk pool ID + * mbulk host pool ID */ -#define MBULK_POOL_ID_MIN (0) -#define MBULK_POOL_ID_MAX_FW (4) /* 0 ~ 3 used for firmware pools */ -#ifdef JAVA_VIRT_HOST -#define MBULK_POOL_ID_MIN_HOST (MBULK_POOL_ID_MAX_FW) -#define MBULK_POOL_ID_MAX_HOST (MBULK_POOL_ID_MIN_HOST + 2) -#define MBULK_POOL_ID_MAX (MBULK_POOL_ID_MAX_HOST) -#else -#define MBULK_POOL_ID_MAX (MBULK_POOL_ID_MAX_FW) -#endif - -/* Max number of mbulk to be freed by the Host */ -#define MBULK_MAX_HOST_TO_FREE 2 +#define MBULK_POOL_ID_DATA (0) +#define MBULK_POOL_ID_CTRL (1) +#define MBULK_POOL_ID_MAX (2) /** * mbulk buffer classification @@ -72,12 +63,16 @@ struct mbulk; * compiler assigns the smallest integral type (u8). */ enum mbulk_class { - MBULK_CLASS_FROM_HOST_DAT = 0, - MBULK_CLASS_FROM_HOST_CTL = 1, - MBULK_CLASS_FROM_RADIO = 2, - MBULK_CLASS_CONTRL = 3, - MBULK_CLASS_DEBUG = 4, - MBULK_CLASS_OTHERS = 5, + MBULK_CLASS_CONTROL = 0, + MBULK_CLASS_HOSTIO = 1, + MBULK_CLASS_DEBUG = 2, + + MBULK_CLASS_FROM_HOST_DAT = 3, + MBULK_CLASS_FROM_HOST_CTL = 4, + MBULK_CLASS_FROM_RADIO = 5, + MBULK_CLASS_DPLP = 6, + MBULK_CLASS_OTHERS = 7, + MBULK_CLASS_FROM_RADIO_FORWARDED = 8, MBULK_CLASS_MAX } __packed; -- 2.20.1