mbox series

[00/10] wifi: ath12k: Refactor mac80211 callback operation functions

Message ID 20240103063731.3356060-1-quic_periyasa@quicinc.com
Headers show
Series wifi: ath12k: Refactor mac80211 callback operation functions | expand

Message

Karthikeyan Periyasamy Jan. 3, 2024, 6:37 a.m. UTC
Currently, the existing mac80211 callback functions are defined assuming
each link/radio is represented by a single mac80211 hw. In order to
support multi link operation (MLO), need to move from the multi wiphy
model to a single wiphy model. However, the single wiphy model allows
multiple link/radio to be exposed by the same mac80211 hw. Therefore, we
need to separate the link/radio specific handling within the mac80211
callback operations. This way, the callback can be extended to support
multiple link/radio in the future.

			Current Multi wiphy Model

+---------------+            +---------------+            +-------------+
|  Mac80211 hw  |            | Mac80211 hw   |            |Mac80211 hw  |
|  private data |            | private data  |            |private data |
|               |            |               |            |             |
|               |            |               |            |             |
|               |            |               |            |             |
|   ar (2GHz)   |            |   ar (5GHz)   |            |  ar (6GHz)  |
|               |            |               |            |             |
|               |            |               |            |             |
|               |            |               |            |             |
+---------------+            +---------------+            +-------------+




			  Single wiphy Model

                           +--------------+
                           | Mac80211 hw  |
                           | private data |
                           |              |
                           |ath12k hw (ah)|
                           | +----------+ |
                           | |ar (2GHz) | |
                           | +----------+ |
                           | |          | |
                           | |ar (5GHz) | |
                           | +----------+ |
                           | |          | |
                           | |ar (6GHz) | |
                           | |          | |
                           | +----------+ |
                           +--------------+


Karthikeyan Periyasamy (10):
  wifi: ath12k: Refactor mac callback of config
  wifi: ath12k: Refactor mac callback of bss info changed
  wifi: ath12k: Refactor mac callback of conf tx
  wifi: ath12k: Refactor mac callback of start
  wifi: ath12k: Refactor mac callback of stop
  wifi: ath12k: Refactor mac callback of update vif offload
  wifi: ath12k: Refactor mac callback of configure filter
  wifi: ath12k: Refactor mac callback of ampdu action
  wifi: ath12k: Refactor mac callback of flush
  wifi: ath12k: Refactor start vdev delay function

 drivers/net/wireless/ath/ath12k/mac.c | 250 ++++++++++++++++++--------
 1 file changed, 173 insertions(+), 77 deletions(-)


base-commit: 2cd4e3f91f264926a6b11df948417b74d52ca9b9

Comments

Kalle Valo Jan. 15, 2024, 3:35 p.m. UTC | #1
Karthikeyan Periyasamy <quic_periyasa@quicinc.com> writes:

> Currently, the existing mac80211 callback functions are defined assuming
> each link/radio is represented by a single mac80211 hw. In order to
> support multi link operation (MLO), need to move from the multi wiphy
> model to a single wiphy model. However, the single wiphy model allows
> multiple link/radio to be exposed by the same mac80211 hw. Therefore, we
> need to separate the link/radio specific handling within the mac80211
> callback operations. This way, the callback can be extended to support
> multiple link/radio in the future.
>
> 			Current Multi wiphy Model
>
> +---------------+            +---------------+            +-------------+
> |  Mac80211 hw  |            | Mac80211 hw   |            |Mac80211 hw  |
> |  private data |            | private data  |            |private data |
> |               |            |               |            |             |
> |               |            |               |            |             |
> |               |            |               |            |             |
> |   ar (2GHz)   |            |   ar (5GHz)   |            |  ar (6GHz)  |
> |               |            |               |            |             |
> |               |            |               |            |             |
> |               |            |               |            |             |
> +---------------+            +---------------+            +-------------+
>
>
>
>
> 			  Single wiphy Model
>
>                            +--------------+
>                            | Mac80211 hw  |
>                            | private data |
>                            |              |
>                            |ath12k hw (ah)|
>                            | +----------+ |
>                            | |ar (2GHz) | |
>                            | +----------+ |
>                            | |          | |
>                            | |ar (5GHz) | |
>                            | +----------+ |
>                            | |          | |
>                            | |ar (6GHz) | |
>                            | |          | |
>                            | +----------+ |
>                            +--------------+
>
>
> Karthikeyan Periyasamy (10):
>   wifi: ath12k: Refactor mac callback of config
>   wifi: ath12k: Refactor mac callback of bss info changed
>   wifi: ath12k: Refactor mac callback of conf tx
>   wifi: ath12k: Refactor mac callback of start
>   wifi: ath12k: Refactor mac callback of stop
>   wifi: ath12k: Refactor mac callback of update vif offload
>   wifi: ath12k: Refactor mac callback of configure filter
>   wifi: ath12k: Refactor mac callback of ampdu action
>   wifi: ath12k: Refactor mac callback of flush
>   wifi: ath12k: Refactor start vdev delay function

In the pending branch I renamed the patch titles like this, an example:

wifi: ath12k: refactor ath12k_mac_op_conf_tx()

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=bdb399b467daacabdc0e2127e03874d399f17a38
Karthikeyan Periyasamy Jan. 16, 2024, 4:50 a.m. UTC | #2
On 1/15/2024 9:05 PM, Kalle Valo wrote:
> Karthikeyan Periyasamy <quic_periyasa@quicinc.com> writes:
>
>> Currently, the existing mac80211 callback functions are defined assuming
>> each link/radio is represented by a single mac80211 hw. In order to
>> support multi link operation (MLO), need to move from the multi wiphy
>> model to a single wiphy model. However, the single wiphy model allows
>> multiple link/radio to be exposed by the same mac80211 hw. Therefore, we
>> need to separate the link/radio specific handling within the mac80211
>> callback operations. This way, the callback can be extended to support
>> multiple link/radio in the future.
>>
>> 			Current Multi wiphy Model
>>
>> +---------------+            +---------------+            +-------------+
>> |  Mac80211 hw  |            | Mac80211 hw   |            |Mac80211 hw  |
>> |  private data |            | private data  |            |private data |
>> |               |            |               |            |             |
>> |               |            |               |            |             |
>> |               |            |               |            |             |
>> |   ar (2GHz)   |            |   ar (5GHz)   |            |  ar (6GHz)  |
>> |               |            |               |            |             |
>> |               |            |               |            |             |
>> |               |            |               |            |             |
>> +---------------+            +---------------+            +-------------+
>>
>>
>>
>>
>> 			  Single wiphy Model
>>
>>                             +--------------+
>>                             | Mac80211 hw  |
>>                             | private data |
>>                             |              |
>>                             |ath12k hw (ah)|
>>                             | +----------+ |
>>                             | |ar (2GHz) | |
>>                             | +----------+ |
>>                             | |          | |
>>                             | |ar (5GHz) | |
>>                             | +----------+ |
>>                             | |          | |
>>                             | |ar (6GHz) | |
>>                             | |          | |
>>                             | +----------+ |
>>                             +--------------+
>>
>>
>> Karthikeyan Periyasamy (10):
>>    wifi: ath12k: Refactor mac callback of config
>>    wifi: ath12k: Refactor mac callback of bss info changed
>>    wifi: ath12k: Refactor mac callback of conf tx
>>    wifi: ath12k: Refactor mac callback of start
>>    wifi: ath12k: Refactor mac callback of stop
>>    wifi: ath12k: Refactor mac callback of update vif offload
>>    wifi: ath12k: Refactor mac callback of configure filter
>>    wifi: ath12k: Refactor mac callback of ampdu action
>>    wifi: ath12k: Refactor mac callback of flush
>>    wifi: ath12k: Refactor start vdev delay function
> In the pending branch I renamed the patch titles like this, an example:
>
> wifi: ath12k: refactor ath12k_mac_op_conf_tx()
>
> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=bdb399b467daacabdc0e2127e03874d399f17a38

Looks fine to me.


Thanks,

Karthikeyan