mirror of https://lore.kernel.org/ath12k/
 help / color / mirror / Atom feed
From: Kalle Valo <kvalo@kernel.org>
To: Baochen Qiang <quic_bqiang@quicinc.com>
Cc: Jeff Johnson <quic_jjohnson@quicinc.com>,
	 Harshitha Prem <quic_hprem@quicinc.com>,
	 <ath12k@lists.infradead.org>, <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH v7 0/8] wifi: ath12k: Introduce device group abstraction
Date: Wed, 29 May 2024 10:57:46 +0300	[thread overview]
Message-ID: <87fru16oed.fsf@kernel.org> (raw)
In-Reply-To: <7b92a6cd-187d-4b6d-8cfb-af54365751fc@quicinc.com> (Baochen Qiang's message of "Wed, 29 May 2024 11:13:42 +0800")

Baochen Qiang <quic_bqiang@quicinc.com> writes:

> On 5/29/2024 6:04 AM, Jeff Johnson wrote:
>> On 5/27/2024 11:35 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.
>>>
>>> v7:
>>>    - Added linux-wireless mailer to cc.
>>>    - Removed Acked-by tag from "[PATCH v6 8/8]" as it has minor change.
>>>
>>> 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
>> 
>> With this series I'm seeing a firmware crash upon resume from hibernation, but 
>> I'm not sure if it is the same intermittent crash I reported in another thread 
>> where firmware is not correctly handling a low physical memory address.
>> 
>> Baochen & Kalle, since this issue may be specific to my laptop, can you 
>> validate hibernation on your setups?
>
> I can also see a firmware crash upon resume. I am using
> ath-202405281746 as code base.

I also noticed that my WCN7850 resume tests were failing with an older
version of this patch. But I cannot provide more information as I'm
bisecting the v6.10-rc1 regression right now.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


  reply	other threads:[~2024-05-29  7:57 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-28  6:35 [PATCH v7 0/8] wifi: ath12k: Introduce device group abstraction Harshitha Prem
2024-05-28  6:35 ` [PATCH v7 1/8] wifi: ath12k: Refactor core start api Harshitha Prem
2024-05-28  6:35 ` [PATCH v7 2/8] wifi: ath12k: Add helpers to get or set ath12k_hw Harshitha Prem
2024-05-28  6:35 ` [PATCH v7 3/8] wifi: ath12k: Add ath12k_get_num_hw api Harshitha Prem
2024-05-28  6:35 ` [PATCH v7 4/8] wifi: ath12k: Introduce QMI firmware ready flag Harshitha Prem
2024-05-28  6:35 ` [PATCH v7 5/8] wifi: ath12k: move ATH12K_FLAG_REGISTERED flag set to mac_register api Harshitha Prem
2024-05-28  6:35 ` [PATCH v7 6/8] wifi: ath12k: Introduce device group abstraction Harshitha Prem
2024-05-28  6:35 ` [PATCH v7 7/8] wifi: ath12k: refactor core start based on hardware group Harshitha Prem
2024-05-28  6:35 ` [PATCH v7 8/8] wifi: ath12k: move ath12k_hw from per device to group Harshitha Prem
2024-05-28 22:04 ` [PATCH v7 0/8] wifi: ath12k: Introduce device group abstraction Jeff Johnson
2024-05-29  3:13   ` Baochen Qiang
2024-05-29  7:57     ` Kalle Valo [this message]
2024-05-29 22:28     ` Jeff Johnson
2024-05-31 10:05       ` Harshitha Prem
2024-05-31 13:19         ` pgupta
2024-06-03  5:03           ` Vasanthakumar Thiagarajan
2024-06-03 14:12             ` pgupta

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=87fru16oed.fsf@kernel.org \
    --to=kvalo@kernel.org \
    --cc=ath12k@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=quic_bqiang@quicinc.com \
    --cc=quic_hprem@quicinc.com \
    --cc=quic_jjohnson@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