From: Kalle Valo <kvalo@kernel.org>
To: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
Cc: <ath12k@lists.infradead.org>, <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH 2/2] wifi: ath12k: Introduce the container for mac80211 hw
Date: Mon, 15 Jan 2024 17:41:55 +0200 [thread overview]
Message-ID: <87mst67ge4.fsf@kernel.org> (raw)
In-Reply-To: <20240109051252.3325106-3-quic_periyasa@quicinc.com> (Karthikeyan Periyasamy's message of "Tue, 9 Jan 2024 10:42:52 +0530")
Karthikeyan Periyasamy <quic_periyasa@quicinc.com> writes:
> To support multi link operation, we need to combine all the link/pdev
> under a single wiphy. This avoids the overhead of synchronization
> across multiple hardware instances in both the cfg80211 and mac80211
> layers. Currently, each link/pdev is registered as separate wiphy,
> tightly coupled with link/pdev/radio (ar) structure. To enable single
> wiphy registration within the chip, we decouple the wiphy data entity from
> the link/pdev/radio (ar) structure and move it under the chip (ab)
> structure with a new data container (ath12k_hw) structure. This approach
> improves scalability for future multi link operation support.
>
> mac80211 hw private data structure diagram
> ------------------------------------------
>
> Now After
>
> +---------------------+ +---------------------+
> |mac80211 hw priv data| |mac80211 hw priv data|
> | | | |
> | | | |
> | | | |
> | | | ath12k_hw (ah) |
> | | | |
> | | +-------------------> | |
> | ath12k (ar) | | +-------------+ |
> | | | | | |
> | | | | ath12k (ar) | |
> | | | | | |
> | | | | | |
> | | | +-------------+ |
> | | | |
> | | | |
> +---------------------+ +---------------------+
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
>
> Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
[...]
> @@ -3790,6 +3831,10 @@ static int ath12k_mac_op_sta_state(struct ieee80211_hw *hw,
> new_state == IEEE80211_STA_NOTEXIST))
> cancel_work_sync(&arsta->update_wk);
>
> + mutex_lock(&ah->conf_mutex);
> +
> + ar = ath12k_ah_to_ar(ah);
> +
> mutex_lock(&ar->conf_mutex);
Do we really need two mutexes? I don't see any analysis about that. And
even if we do, I feel that it should be added in a separate patch.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
next prev parent reply other threads:[~2024-01-15 15:42 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-09 5:12 [PATCH 0/2] wifi: ath12k: Introduce hw abstraction Karthikeyan Periyasamy
2024-01-09 5:12 ` [PATCH 1/2] wifi: ath12k: Refactor the mac80211 hw access from link/radio Karthikeyan Periyasamy
2024-01-09 5:12 ` [PATCH 2/2] wifi: ath12k: Introduce the container for mac80211 hw Karthikeyan Periyasamy
2024-01-15 15:41 ` Kalle Valo [this message]
2024-01-15 16:05 ` Kalle Valo
2024-01-11 20:12 ` [PATCH 0/2] wifi: ath12k: Introduce hw abstraction Jeff Johnson
2024-01-12 1:38 ` Karthikeyan Periyasamy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mst67ge4.fsf@kernel.org \
--to=kvalo@kernel.org \
--cc=ath12k@lists.infradead.org \
--cc=linux-wireless@vger.kernel.org \
--cc=quic_periyasa@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.