qcacmn: Fix LMAC interrupt mappings

Current data-path interrupt registration/handling assumes PDEV indices to be
in same order as HW MAC IDs, which is not always true. Fixed this by adding
wlan_cfg api to set and get pdev index to mac id mapping.

Change-Id: Iec8e9f4a02cd618a3b244cfd6fc7ead1e7d993c3
CRs-Fixed: 2063673
这个提交包含在:
Karunakar Dasineni
2017-06-19 16:32:06 -07:00
提交者 snandini
父节点 60c2c9836e
当前提交 1018547152
修改 4 个文件,包含 128 行新增3 行删除

查看文件

@@ -166,6 +166,59 @@ int wlan_cfg_get_rx_ring_mask(struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx,
int wlan_cfg_get_rx_mon_ring_mask(struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx,
int context);
/**
* wlan_cfg_set_rxdma2host_ring_mask() - Set rxdma2host ring interrupt mask
* for the given interrupt context
* @wlan_cfg_ctx - Configuration Handle
* @context - Numerical ID identifying the Interrupt/NAPI context
*
*/
void wlan_cfg_set_rxdma2host_ring_mask(struct wlan_cfg_dp_soc_ctxt *cfg,
int context, int mask);
/**
* wlan_cfg_get_rxdma2host_ring_mask() - Return rxdma2host ring interrupt mask
* mapped to an interrupt context
* @wlan_cfg_ctx - Configuration Handle
* @context - Numerical ID identifying the Interrupt/NAPI context
*
* Return: int_rxdma2host_ring_mask[context]
*/
int wlan_cfg_get_rxdma2host_ring_mask(struct wlan_cfg_dp_soc_ctxt *cfg,
int context);
/**
* wlan_cfg_set_hw_macid() - Set HW MAC Id for the given PDEV index
*
* @wlan_cfg_ctx - Configuration Handle
* @pdev_idx - Index of SW PDEV
* @hw_macid - HW MAC Id
*
*/
void wlan_cfg_set_hw_macid(struct wlan_cfg_dp_soc_ctxt *cfg, int pdev_idx,
int hw_macid);
/**
* wlan_cfg_get_hw_macid() - Get HW MAC Id for the given PDEV index
*
* @wlan_cfg_ctx - Configuration Handle
* @pdev_idx - Index of SW PDEV
*
* Return: HW MAC Id
*/
int wlan_cfg_get_hw_macid(struct wlan_cfg_dp_soc_ctxt *cfg, int pdev_idx);
/**
* wlan_cfg_get_hw_mac_idx() - Get 0 based HW MAC index for the given
* PDEV index
*
* @wlan_cfg_ctx - Configuration Handle
* @pdev_idx - Index of SW PDEV
*
* Return: HW MAC index
*/
int wlan_cfg_get_hw_mac_idx(struct wlan_cfg_dp_soc_ctxt *cfg, int pdev_idx);
/**
* wlan_cfg_get_ce_ring_mask() - Return CE ring interrupt mask
* mapped to an interrupt context