diff options
author | Anilkumar Kolli <akolli@codeaurora.org> | 2020-06-16 17:00:47 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2020-06-23 10:51:42 +0300 |
commit | d547ca4c8cc5638669b9942ad7284ebf7106f708 (patch) | |
tree | 8ac5670aeb61709a1f6ee68beb9acaa70ba90a2e /drivers/net/wireless/ath/ath11k/hw.h | |
parent | b1cc29e97d1b96dfd3a7437083f7ba4aa5f32b88 (diff) |
ath11k: add hw_ops for pdev id to hw_mac mapping
pdev_id to hw_mac is different for ipq8074 and ipq6018
Below table has the mapping
pdev_id ipq8074 ipq6018
------- ------- -------
0 0 0
1 2 1
2 1 Not applicable
No functional changes. Compile tested only.
Signed-off-by: Anilkumar Kolli <akolli@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1592316055-24958-5-git-send-email-kvalo@codeaurora.org
Diffstat (limited to 'drivers/net/wireless/ath/ath11k/hw.h')
-rw-r--r-- | drivers/net/wireless/ath/ath11k/hw.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath11k/hw.h b/drivers/net/wireless/ath/ath11k/hw.h index ba897d186cf5..2fb986b9a6cb 100644 --- a/drivers/net/wireless/ath/ath11k/hw.h +++ b/drivers/net/wireless/ath/ath11k/hw.h @@ -104,6 +104,10 @@ enum ath11k_bus { ATH11K_BUS_PCI, }; +struct ath11k_hw_ops { + u8 (*get_hw_mac_from_pdev_id)(int pdev_id); +}; + struct ath11k_hw_params { const char *name; u16 hw_rev; @@ -113,8 +117,23 @@ struct ath11k_hw_params { size_t board_size; size_t cal_size; } fw; + + const struct ath11k_hw_ops *hw_ops; }; +extern const struct ath11k_hw_ops ipq8074_ops; +extern const struct ath11k_hw_ops ipq6018_ops; + +static inline +int ath11k_hw_get_mac_from_pdev_id(struct ath11k_hw_params *hw, + int pdev_idx) +{ + if (hw->hw_ops->get_hw_mac_from_pdev_id) + return hw->hw_ops->get_hw_mac_from_pdev_id(pdev_idx); + + return 0; +} + struct ath11k_fw_ie { __le32 id; __le32 len; |