Эх сурвалжийг харах

Merge "qca-wifi: cmn_ops changes for umac-dp decoupling"

Linux Build Service Account 5 жил өмнө
parent
commit
fa53ee5b15

+ 2 - 1
dp/inc/dp_rate_stats.h

@@ -77,7 +77,7 @@ struct wlan_peer_rx_rate_stats {
  * @rx: rx rate statistics
  * @mac_addr: peer MAC address
  * @peer_cookie: cookie for unique session of peer
- * @pdev: dp pdev
+ * @pdev_id: id of dp pdev
  */
 struct wlan_peer_rate_stats_ctx {
 	struct wlan_peer_tx_rate_stats tx;
@@ -85,6 +85,7 @@ struct wlan_peer_rate_stats_ctx {
 	uint8_t mac_addr[WLAN_MAC_ADDR_LEN];
 	uint64_t peer_cookie;
 	struct cdp_pdev *pdev;
+	uint8_t pdev_id;
 };
 
 /**

+ 3 - 3
dp/src/dp_rate_stats.c

@@ -75,7 +75,7 @@ wlan_peer_flush_rx_rate_stats(struct wlan_soc_rate_stats_ctx *soc_stats_ctx,
 		      WLANSTATS_COOKIE_PEER_COOKIE_OFFSET)));
 	qdf_mem_copy(buf.peer_mac, stats_ctx->mac_addr, WLAN_MAC_ADDR_LEN);
 	cdp_peer_flush_rate_stats(soc_stats_ctx->soc,
-				  stats_ctx->pdev, &buf);
+				  stats_ctx->pdev_id, &buf);
 
 	soc_stats_ctx->rxs_cache_flush++;
 	qdf_info("rxs_cache_flush: %d", soc_stats_ctx->rxs_cache_flush);
@@ -118,7 +118,7 @@ wlan_peer_flush_tx_rate_stats(struct wlan_soc_rate_stats_ctx *soc_stats_ctx,
 	wlan_peer_read_sojourn_average(tx_stats);
 	qdf_mem_copy(buf.peer_mac, stats_ctx->mac_addr, WLAN_MAC_ADDR_LEN);
 	cdp_peer_flush_rate_stats(soc_stats_ctx->soc,
-				  stats_ctx->pdev, &buf);
+				  stats_ctx->pdev_id, &buf);
 
 	soc_stats_ctx->txs_cache_flush++;
 	qdf_info("txs_cache_flush: %d", soc_stats_ctx->txs_cache_flush);
@@ -469,7 +469,7 @@ void wlan_peer_create_event_handler(void *pdev, enum WDI_EVENT event,
 	RATE_STATS_LOCK_CREATE(&stats->rx.lock);
 	qdf_mem_copy(stats->mac_addr, peer_info->mac_addr, QDF_MAC_ADDR_SIZE);
 	stats->peer_cookie = peer_info->cookie;
-	stats->pdev = pdev;
+	stats->pdev_id = peer_info->pdev_id;
 
 	for (idx = 0; idx < WLANSTATS_CACHE_SIZE; idx++) {
 		stats->tx.stats[idx].rix = INVALID_CACHE_IDX;

+ 7 - 4
dp/wifi3.0/dp_txrx_wds.c

@@ -723,18 +723,21 @@ void dp_peer_set_vlan_id(struct cdp_soc_t *cdp_soc,
 
 /**
  * dp_set_vlan_groupkey: set vlan map for vdev
- * @vdev_handle: pointer to vdev
+ * @soc: pointer to soc
+ * @vdev_id : id of vdev
  * @vlan_id: vlan_id
  * @group_key: group key for vlan
  *
  * return: set success/failure
  */
-QDF_STATUS dp_set_vlan_groupkey(struct cdp_vdev *vdev_handle,
+QDF_STATUS dp_set_vlan_groupkey(struct cdp_soc_t *soc, uint8_t vdev_id,
 		uint16_t vlan_id, uint16_t group_key)
 {
-	struct dp_vdev *vdev = (struct dp_vdev *)vdev_handle;
+	struct dp_vdev *vdev =
+		dp_get_vdev_from_soc_vdev_id_wifi3((struct dp_soc *)soc,
+						    vdev_id);
 
-	if (!vdev->multipass_en)
+	if (!vdev || !vdev->multipass_en)
 		return QDF_STATUS_E_INVAL;
 
 	if (!vdev->iv_vlan_map) {