From: Kalle Valo <kvalo@kernel.org>
To: Harshitha Prem <quic_hprem@quicinc.com>
Cc: <ath12k@lists.infradead.org>
Subject: Re: [PATCH v6 0/8] wifi: ath12k: Introduce device group abstraction
Date: Tue, 28 May 2024 12:13:58 +0300 [thread overview]
Message-ID: <87cyp68fjd.fsf@kernel.org> (raw)
In-Reply-To: <b7b8454c-47b3-8dd1-8756-ace8a54a0ee4@quicinc.com> (Harshitha Prem's message of "Tue, 28 May 2024 11:03:53 +0530")
Harshitha Prem <quic_hprem@quicinc.com> writes:
> On 5/27/2024 1:07 PM, Harshitha Prem wrote:
>> To support multi-link operation, multiple devices with different bands say
>> 2 GHz or 5 GHz or 6 GHz can be combined together as a group and provide
>> an abstraction to mac80211.
>> Device group abstraction - when there are multiple devices that are
>> connected by any means of communication interface between them, then these
>> devices can be combined together as a single group using a group id to form
>> a group abstraction. In ath12k driver, this abstraction would be named as
>> ath12k_hw_group (ag).
>> Please find below illustration of device group abstraction with two
>> devices.
>> 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 |
>> +------------------------------------------------------------------------+
>> Say for example, device 1 has two radios (2 GHz and 5 GHz band) and
>> device 2 has one radio (6 GHz).
>> In existing code -
>> device 1 will have two hardware abstractions hw1 (2 GHz) and hw2
>> (5 GHz) will be registered separately to mac80211 as phy0 and phy1
>> respectively. Similarly, device 2 will register its hw (6GHz) as
>> phy2 to mac80211.
>> In future, with multi-link abstraction
>> combination 1 - Different group id for device1 and device 2
>> Device 1 will create a single hardware abstraction hw1
>> (2 GHz and 5 GHz) and will be registered to mac80211 as
>> phy0. similarly, device 2 will register its hardware
>> (6 GHz) to mac80211 as phy1.
>> combination 2 - Same group id for device1 and device 2
>> Both device details are combined together as a group, say
>> group1, with single hardware abstraction of radios 2 GHz,
>> 5 GHz and 6 GHz band details and will be registered to
>> mac80211 as phy0.
>> Add base infrastructure changes to add device grouping abstraction
>> with
>> a single device.
>> This patch series brings the base code changes with following order:
>> 1. Refactor existing code which would facilitate in introducing
>> device group abstraction.
>> 2. Create a device group abstraction during device probe.
>> 3. Start the device group only after QMI firmware ready event is
>> received for all the devices that are combined in the group.
>> 4. Move the hardware abstractions (ath12k_hw - ah) from device
>> (ath12k_base - ab) to device group abstraction (ag) as it would
>> ease in having different combinations of group abstraction that
>> can be registered to mac80211.
>> v6:
>> - Addressed smatch error seen on "[PATCH v5 8/8] wifi: ath12k: move
>> ath12k_hw from per soc to group"
>> - Rebased to ToT
>> v5:
>> - on "[PATCH 8/8] wifi: ath12k: move ath12k_hw from per soc to
>> group", refactor the ath12k_mac_hw_allocate() api based on ag rather
>> than ab and update hardware abstraction array size in ath12k_hw_group
>> as ATH12K_GROUP_MAX_RADIO.
>> - Rebased to ToT
>> v4:
>> - Modified the cover letter
>> v3:
>> - Removed depends-on tag of "wifi: ath12k: Refactor the hardware recovery
>> procedures" as it is merged to ToT
>> - Addressed the deadlock warning seen during rmmod.
>> v2:
>> - Rebased to ToT
>> Karthikeyan Periyasamy (8):
>> wifi: ath12k: Refactor core start api
>> wifi: ath12k: Add helpers to get or set ath12k_hw
>> wifi: ath12k: Add ath12k_get_num_hw api
>> wifi: ath12k: Introduce QMI firmware ready flag
>> wifi: ath12k: move ATH12K_FLAG_REGISTERED flag set to mac_register api
>> wifi: ath12k: Introduce device group abstraction
>> wifi: ath12k: refactor core start based on hardware group
>> wifi: ath12k: move ath12k_hw from per device to group
>> drivers/net/wireless/ath/ath12k/core.c | 431
>> +++++++++++++++++++++----
>> drivers/net/wireless/ath/ath12k/core.h | 87 ++++-
>> drivers/net/wireless/ath/ath12k/dp.c | 19 +-
>> drivers/net/wireless/ath/ath12k/dp.h | 2 +-
>> drivers/net/wireless/ath/ath12k/mac.c | 117 ++++---
>> drivers/net/wireless/ath/ath12k/mac.h | 9 +-
>> drivers/net/wireless/ath/ath12k/pci.c | 2 +
>> drivers/net/wireless/ath/ath12k/qmi.c | 10 +-
>> 8 files changed, 544 insertions(+), 133 deletions(-)
>> base-commit: f8320064a28242448eeb9fece08abd865ea8a226
>
> Please ignore this series. Forgot to cc linux wireless. Will respin a
> new version.
Please hold. I have some comments for the patchset but I'm seeing odd
regressions in v6.10-rc1 and need to investigate that first.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
prev parent reply other threads:[~2024-05-28 9:14 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-27 7:37 [PATCH v6 0/8] wifi: ath12k: Introduce device group abstraction Harshitha Prem
2024-05-27 7:37 ` [PATCH v6 1/8] wifi: ath12k: Refactor core start api Harshitha Prem
2024-05-27 7:37 ` [PATCH v6 2/8] wifi: ath12k: Add helpers to get or set ath12k_hw Harshitha Prem
2024-05-27 7:37 ` [PATCH v6 3/8] wifi: ath12k: Add ath12k_get_num_hw api Harshitha Prem
2024-05-27 7:37 ` [PATCH v6 4/8] wifi: ath12k: Introduce QMI firmware ready flag Harshitha Prem
2024-05-27 7:37 ` [PATCH v6 5/8] wifi: ath12k: move ATH12K_FLAG_REGISTERED flag set to mac_register api Harshitha Prem
2024-05-27 7:37 ` [PATCH v6 6/8] wifi: ath12k: Introduce device group abstraction Harshitha Prem
2024-05-27 7:37 ` [PATCH v6 7/8] wifi: ath12k: refactor core start based on hardware group Harshitha Prem
2024-05-27 7:37 ` [PATCH v6 8/8] wifi: ath12k: move ath12k_hw from per device to group Harshitha Prem
2024-05-28 5:33 ` [PATCH v6 0/8] wifi: ath12k: Introduce device group abstraction Harshitha Prem
2024-05-28 9:13 ` Kalle Valo [this message]
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=87cyp68fjd.fsf@kernel.org \
--to=kvalo@kernel.org \
--cc=ath12k@lists.infradead.org \
--cc=quic_hprem@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