// SPDX-License-Identifier: BSD-3-Clause-Clear /* * Copyright (c) 2018-2020 The Linux Foundation. All rights reserved. */ #include "core.h" /* Map from pdev index to hw mac index */ static u8 ath11k_hw_ipq8074_mac_from_pdev_id(int pdev_idx) { switch (pdev_idx) { case 0: return 0; case 1: return 2; case 2: return 1; default: return ATH11K_INVALID_HW_MAC_ID; } } static u8 ath11k_hw_ipq6018_mac_from_pdev_id(int pdev_idx) { return pdev_idx; } const struct ath11k_hw_ops ipq8074_ops = { .get_hw_mac_from_pdev_id = ath11k_hw_ipq8074_mac_from_pdev_id, }; const struct ath11k_hw_ops ipq6018_ops = { .get_hw_mac_from_pdev_id = ath11k_hw_ipq6018_mac_from_pdev_id, }; const struct ath11k_hw_ops qca6390_ops = { .get_hw_mac_from_pdev_id = ath11k_hw_ipq8074_mac_from_pdev_id, }; #define ATH11K_TX_RING_MASK_0 0x1 #define ATH11K_TX_RING_MASK_1 0x2 #define ATH11K_TX_RING_MASK_2 0x4 #define ATH11K_RX_RING_MASK_0 0x1 #define ATH11K_RX_RING_MASK_1 0x2 #define ATH11K_RX_RING_MASK_2 0x4 #define ATH11K_RX_RING_MASK_3 0x8 #define ATH11K_RX_ERR_RING_MASK_0 0x1 #define ATH11K_RX_WBM_REL_RING_MASK_0 0x1 #define ATH11K_REO_STATUS_RING_MASK_0 0x1 #define ATH11K_RXDMA2HOST_RING_MASK_0 0x1 #define ATH11K_RXDMA2HOST_RING_MASK_1 0x2 #define ATH11K_RXDMA2HOST_RING_MASK_2 0x4 #define ATH11K_HOST2RXDMA_RING_MASK_0 0x1 #define ATH11K_HOST2RXDMA_RING_MASK_1 0x2 #define ATH11K_HOST2RXDMA_RING_MASK_2 0x4 #define ATH11K_RX_MON_STATUS_RING_MASK_0 0x1 #define ATH11K_RX_MON_STATUS_RING_MASK_1 0x2 #define ATH11K_RX_MON_STATUS_RING_MASK_2 0x4 const struct ath11k_hw_ring_mask ath11k_hw_ring_mask_ipq8074 = { .tx = { ATH11K_TX_RING_MASK_0, ATH11K_TX_RING_MASK_1, ATH11K_TX_RING_MASK_2, }, .rx_mon_status = { 0, 0, 0, 0, ATH11K_RX_MON_STATUS_RING_MASK_0, ATH11K_RX_MON_STATUS_RING_MASK_1, ATH11K_RX_MON_STATUS_RING_MASK_2, }, .rx = { 0, 0, 0, 0, 0, 0, 0, ATH11K_RX_RING_MASK_0, ATH11K_RX_RING_MASK_1, ATH11K_RX_RING_MASK_2, ATH11K_RX_RING_MASK_3, }, .rx_err = { ATH11K_RX_ERR_RING_MASK_0, }, .rx_wbm_rel = { ATH11K_RX_WBM_REL_RING_MASK_0, }, .reo_status = { ATH11K_REO_STATUS_RING_MASK_0, }, .rxdma2host = { ATH11K_RXDMA2HOST_RING_MASK_0, ATH11K_RXDMA2HOST_RING_MASK_1, ATH11K_RXDMA2HOST_RING_MASK_2, }, .host2rxdma = { ATH11K_HOST2RXDMA_RING_MASK_0, ATH11K_HOST2RXDMA_RING_MASK_1, ATH11K_HOST2RXDMA_RING_MASK_2, }, };