qcacmn: Support for configuring 2nd MAC

Add support to configure the second LMAC ring
which is needed for DBS.

Change-Id: Idb055621d174c994e267dc6dcca2bc798ae79bfc
CRs-Fixed: 1116939
This commit is contained in:
Dhanashri Atre 2017-01-17 15:05:41 -08:00 • committed by qcabuildsw
commit d4032abf27
7 changed files with 207 additions and 42 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@ -72,6 +72,12 @@
#define WLAN_CFG_HTT_PKT_TYPE 2
#define WLAN_CFG_MAX_PEER_ID 16
#ifdef CONFIG_MCL
#define NUM_RXDMA_RINGS_PER_PDEV 2
#else
#define NUM_RXDMA_RINGS_PER_PDEV 1
#endif
static const int tx_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS] = {
WLAN_CFG_TX_RING_MASK_0,
WLAN_CFG_TX_RING_MASK_1,
@ -146,6 +152,7 @@ struct wlan_cfg_dp_pdev_ctxt {
int dma_mon_buf_ring_size;
int dma_mon_dest_ring_size;
int dma_mon_status_ring_size;
int num_mac_rings;
};
/**
@ -202,6 +209,7 @@ struct wlan_cfg_dp_pdev_ctxt *wlan_cfg_pdev_attach(void)
wlan_cfg_ctx->dma_mon_buf_ring_size = RXDMA_MONITOR_BUF_RING_SIZE;
wlan_cfg_ctx->dma_mon_dest_ring_size = RXDMA_MONITOR_DEST_RING_SIZE;
wlan_cfg_ctx->dma_mon_status_ring_size = RXDMA_MONITOR_STATUS_RING_SIZE;
wlan_cfg_ctx->num_mac_rings = NUM_RXDMA_RINGS_PER_PDEV;
return wlan_cfg_ctx;
}
@ -351,3 +359,8 @@ int wlan_cfg_get_rx_dma_buf_ring_size(struct wlan_cfg_dp_pdev_ctxt *cfg)
{
return cfg->rx_dma_buf_ring_size;
}
int wlan_cfg_get_num_mac_rings(struct wlan_cfg_dp_pdev_ctxt *cfg)
{
return cfg->num_mac_rings;
}

View file

@ -276,4 +276,12 @@ int wlan_cfg_get_dma_mon_stat_ring_size(
int wlan_cfg_get_rx_dma_buf_ring_size(
struct wlan_cfg_dp_pdev_ctxt *wlan_cfg_pdev_ctx);
/*
* wlan_cfg_get_num_mac_rings - Return the number of MAC RX DMA rings
* per pdev
* @wlan_cfg_pdev_ctx
*
* Return: number of mac DMA rings per pdev
*/
int wlan_cfg_get_num_mac_rings(struct wlan_cfg_dp_pdev_ctxt *cfg);
#endif