From: Jeff Johnson <quic_jjohnson@quicinc.com>
To: Harshitha Prem <quic_hprem@quicinc.com>, <ath12k@lists.infradead.org>
Cc: <linux-wireless@vger.kernel.org>,
Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
Subject: Re: [PATCH v2 6/8] wifi: ath12k: Introduce device group abstraction
Date: Thu, 25 Apr 2024 14:32:29 -0700 [thread overview]
Message-ID: <994422ec-b0cd-42b9-a438-488573cb35bb@quicinc.com> (raw)
In-Reply-To: <20240425055759.1181165-7-quic_hprem@quicinc.com>
On 4/24/2024 10:57 PM, Harshitha Prem wrote:
> From: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
>
> Currently, single device is probed and once firmware is ready, the device
> is registered to mac80211. For multi-link operation, different bands of
> different devices or same device would be part of a single wiphy and for
> this, hardware device group abstraction would be helpful.
>
> Hardware device group abstraction - when there are multiple devices (with
> single radio or dual radio) that are connected by any means of interface
> for communicating between them, then these devices can be combined
> together as a single group using a group id to form a group abstraction
> and register to mac80211.
>
> The grouping information of multiple devices would be based on device tree
> during device probe. If no such information is available then a single
> device will be part of group abstraction and registered to mac80211 else
> multiple devices advertised in device tree are combined and then registered
> to mac80211.
>
> For device group abstraction, a base structure named ath12k_hw_group (ag)
> and the following helpers are introduced:
> ath12k_core_hw_group_alloc() : allocate ath12k_hw_group (ag)
> based on group id and number
> of devices that are going to
> be part of this group.
> ath12k_core_hw_group_free() : free ag during deinit.
> ath12k_core_assign_hw_group() : assign/map the details of group
> to ath12k_base (ab).
> ath12k_core_unassign_hw_group() : unassign/unmap the details of ag
> in ath12k_base (ab).
> ath12k_core_hw_group_create() : create the devices which are part
> of group (ag).
> ath12k_core_hw_group_destroy() : cleanup the devices in ag
>
> These helpers are used during device probe and mapping the group to the
> devices involved.
>
> Please find the illustration of how multiple devices might be combined
> together in future based on group id.
>
> Grouping of multiple devices (in future)
>
> +------------------------------------------------------------------------+
> | +-------------------------------------+ +-------------------+ |
> | | +-----------+ | | +-----------+ | | +-----------+ | |
> | | | ar (2GHz) | | | | ar (5GHz) | | | | ar (6GHz) | | |
> | | +-----------+ | | +-----------+ | | +-----------+ | |
> | | ath12k_base (ab) | | ath12k_base (ab) | |
> | | (Dual band device) | | | |
> | +-------------------------------------+ +-------------------+ |
> | ath12k_hw_group (ag) based on group id |
> +------------------------------------------------------------------------+
>
> In the above representation, two devices are combined into single group
> based on group id.
>
> Add base code changes where single device would be part of a group with an
> invalid group id forming an group abstraction. Multi device grouping will
> be introduced in future.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
> Co-developed-by: Harshitha Prem <quic_hprem@quicinc.com>
> Signed-off-by: Harshitha Prem <quic_hprem@quicinc.com>
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
next prev parent reply other threads:[~2024-04-25 21:32 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-25 5:57 [PATCH v2 0/8] wifi: ath12k: Introduce device group abstraction Harshitha Prem
2024-04-25 5:57 ` [PATCH v2 1/8] wifi: ath12k: Refactor core start api Harshitha Prem
2024-04-25 21:26 ` Jeff Johnson
2024-04-25 5:57 ` [PATCH v2 2/8] wifi: ath12k: Add helpers to get or set ath12k_hw Harshitha Prem
2024-04-25 21:27 ` Jeff Johnson
2024-04-25 5:57 ` [PATCH v2 3/8] wifi: ath12k: Add ath12k_get_num_hw api Harshitha Prem
2024-04-25 21:28 ` Jeff Johnson
2024-04-25 5:57 ` [PATCH v2 4/8] wifi: ath12k: Introduce QMI firmware ready flag Harshitha Prem
2024-04-25 21:28 ` Jeff Johnson
2024-04-25 5:57 ` [PATCH v2 5/8] wifi: ath12k: move ATH12K_FLAG_REGISTERED flag set to mac_register api Harshitha Prem
2024-04-25 21:30 ` Jeff Johnson
2024-04-25 5:57 ` [PATCH v2 6/8] wifi: ath12k: Introduce device group abstraction Harshitha Prem
2024-04-25 21:32 ` Jeff Johnson [this message]
2024-04-25 5:57 ` [PATCH v2 7/8] wifi: ath12k: refactor core start based on hardware group Harshitha Prem
2024-04-25 21:39 ` Jeff Johnson
2024-04-25 5:57 ` [PATCH v2 8/8] wifi: ath12k: move ath12k_hw from per soc to group Harshitha Prem
2024-04-25 21:40 ` Jeff Johnson
2024-04-26 2:33 ` Ping-Ke Shih
2024-04-26 14:26 ` Jeff Johnson
2024-04-25 21:21 ` [PATCH v2 0/8] wifi: ath12k: Introduce device group abstraction Jeff Johnson
2024-04-30 11:54 ` Kalle Valo
2024-05-01 15:34 ` Harshitha Prem
2024-05-01 16:55 ` Jeff Johnson
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=994422ec-b0cd-42b9-a438-488573cb35bb@quicinc.com \
--to=quic_jjohnson@quicinc.com \
--cc=ath12k@lists.infradead.org \
--cc=linux-wireless@vger.kernel.org \
--cc=quic_hprem@quicinc.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).