public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
From: Pablo MARTIN-GOMEZ <pmartin-gomez@freebox.fr>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org
Subject: Re: [PATCH 3/3] wifi: Transition/Padding delay subfields are for both EMLSR and EMLMR
Date: Thu, 9 Apr 2026 11:04:30 +0200	[thread overview]
Message-ID: <1fdb014e-9b40-4e89-b90d-b4283338fd91@freebox.fr> (raw)
In-Reply-To: <f60497d95314a9a595d0830cf47de8533674e811.camel@sipsolutions.net>

On 08/04/2026 14:07, Johannes Berg wrote:
> On Tue, 2026-04-07 at 17:47 +0200, Pablo MARTIN-GOMEZ wrote:
>> On 07/04/2026 16:00, Johannes Berg wrote:
>>> On Fri, 2026-03-27 at 21:11 +0100, Pablo Martin-Gomez wrote:
>>>> -#define IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY	0x0070
>>>> +#define IEEE80211_EML_CAP_EMLSR_EMLMR_TRANSITION_DELAY	0x0070
>>>>  #define  IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_0US		0
>>>>  #define  IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_16US		1
>>>>  #define  IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_32US		2
>>>
>>> I think this is confusing. You have the "EMLSR_EMLMR_" prefix in the
>>> definition for the mask, but not in the values, but also the prefix
>>> itself gets very long, not sure what to do about that. Maybe just
>>> ..._EML_TRANSITION_DELAY even if it doesn't match the spec completely.
>> In the standard, there is two different tables to convert the field
>> value to a delay: 9-417j for EMLSR and 9-417l for EMLMR. E.g. if the
>> field has the value 1, in EMLSR mode, it's a 16 µs delay, in EMLMR mode,
>> it's a 32 µs delay.
> 
> Ouch, good catch. Why do they just want to make everyone's life harder
> all the time...
> 
>> As no driver implements EMLMR, I was expecting the first one to
>> implement it to create the defines:
>> ```
>> #define  IEEE80211_EML_CAP_EMLMR_TRANSITION_DELAY_0US	0
>> #define  IEEE80211_EML_CAP_EMLMR_TRANSITION_DELAY_32US	1
>> [...]
>> ```
> 
> That seems dangerous, you have to really look hard at the spec to really
> notice?
> 
>> If you prefer, I can implement it +
>> `ieee80211_emlmr_[trans/pad]_delay_in_us` but it will be dead code for now.
> 
> Dead code in form of a bunch of defines doesn't seem so bad I guess?
> 
> But I still think the naming is confusing. Maybe we just drop the
> "EMLSR_EMLMR_" from the *mask* define, and have it only for the
> individual defines, as say
> 
> #define IEEE80211_EML_CAP_EML_TRANSITION_DELAY	0x0070
> #define  IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_0US	0
> #define  IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_16US	1
> #define  IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_32US	2
> ...
> #define  IEEE80211_EML_CAP_EMLMR_TRANSITION_DELAY_32US	1
> ...
> 
> I think that'd also call out that in fact those are (needlessly)
> different.
What about `IEEE80211_EML_CAP_EMLSR_EMLMR_PADDING_DELAY`? It also has
two tables for EMLSR (9-417i) and EMLMR (9-417k) but they have the same
content (as of 802.11be). Do I just rename
`IEEE80211_EML_CAP_EMLSR_PADDING_DELAY_XUS` to
`IEEE80211_EML_CAP_EML_PADDING_DELAY_XUS` or do I split it in two
identical `IEEE80211_EML_CAP_EMLSR_PADDING_DELAY_XUS` &
`IEEE80211_EML_CAP_EMLMR_PADDING_DELAY_XUS` to future proof it in case
of a change in a future amendment?
> > johannes

Pablo MG

  reply	other threads:[~2026-04-09  9:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-27 20:11 [PATCH 0/3] EML Capabilities compliance changes Pablo Martin-Gomez
2026-03-27 20:11 ` [PATCH 1/3] wifi: Transition Timeout of 128TUs is not defined Pablo Martin-Gomez
2026-03-27 20:11 ` [PATCH 2/3] wifi: EMLMR Delay subfield has been removed Pablo Martin-Gomez
2026-03-27 20:11 ` [PATCH 3/3] wifi: Transition/Padding delay subfields are for both EMLSR and EMLMR Pablo Martin-Gomez
2026-04-07 14:00   ` Johannes Berg
2026-04-07 15:47     ` Pablo MARTIN-GOMEZ
2026-04-08 12:07       ` Johannes Berg
2026-04-09  9:04         ` Pablo MARTIN-GOMEZ [this message]
2026-04-09 13:14           ` Johannes Berg
2026-04-07  9:00 ` [PATCH 0/3] EML Capabilities compliance changes Johannes Berg

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=1fdb014e-9b40-4e89-b90d-b4283338fd91@freebox.fr \
    --to=pmartin-gomez@freebox.fr \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    /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