qcacmn: Add CDP support to set vdev mac address

Add CDP API support to set vdev mac address.

Change-Id: I3dc6ba5abda04a3b566b8c6c1dd9ff5daa80f362
CRs-Fixed: 3517762
This commit is contained in:
Rakesh Pillai
2023-05-31 08:04:30 -07:00
committed by Rahul Choudhary
parent b4be829c2e
commit 3fab5bd196
2 changed files with 13 additions and 0 deletions

View File

@@ -1460,6 +1460,7 @@ enum cdp_pdev_param_type {
* @cdp_rxdma_refill_ring_size: RXDMA refill ring size config
* @cdp_rx_refill_buf_pool_size: RX refill ring size config
* @cdp_rxdma_buf_ring_size: RXDMA buf ring size config
* @mac_addr: vdev mac address
*/
typedef union cdp_config_param_t {
/* peer params */
@@ -1562,6 +1563,8 @@ typedef union cdp_config_param_t {
int cdp_rxdma_refill_ring_size;
int cdp_rx_refill_buf_pool_size;
int cdp_rxdma_buf_ring_size;
uint8_t mac_addr[QDF_MAC_ADDR_SIZE];
} cdp_config_param_type;
/**
@@ -1652,6 +1655,7 @@ enum cdp_pdev_bpr_param {
* @CDP_ENABLE_WRAP: qwrap ap
* @CDP_ENABLE_TRAFFIC_END_INDICATION: enable/disable traffic end indication
* @CDP_VDEV_TX_TO_FW: Set to_fw bit for tx packets for the vdev
* @CDP_VDEV_SET_MAC_ADDR: Set mac address for vdev
*/
enum cdp_vdev_param_type {
CDP_ENABLE_NAWDS,
@@ -1702,6 +1706,7 @@ enum cdp_vdev_param_type {
#ifdef FEATURE_DIRECT_LINK
CDP_VDEV_TX_TO_FW,
#endif
CDP_VDEV_SET_MAC_ADDR,
};
/**

View File

@@ -7561,6 +7561,14 @@ dp_set_vdev_param(struct cdp_soc_t *cdp_soc, uint8_t vdev_id,
vdev->to_fw = val.cdp_vdev_tx_to_fw;
break;
#endif
case CDP_VDEV_SET_MAC_ADDR:
dp_info("set mac addr, old mac addr" QDF_MAC_ADDR_FMT
" new mac addr: " QDF_MAC_ADDR_FMT " for vdev %d",
QDF_MAC_ADDR_REF(vdev->mac_addr.raw),
QDF_MAC_ADDR_REF(val.mac_addr), vdev->vdev_id);
qdf_mem_copy(&vdev->mac_addr.raw[0], val.mac_addr,
QDF_MAC_ADDR_SIZE);
break;
default:
break;
}