Linux-Wireless Archive mirror
 help / color / mirror / Atom feed
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>


  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).