public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: linux-wireless@vger.kernel.org
Subject: [RFC wireless-next 0/8] initial UHR NPCA support
Date: Tue,  3 Mar 2026 15:26:55 +0100	[thread overview]
Message-ID: <20260303143434.273141-10-johannes@sipsolutions.net> (raw)

Here's the UHR Non-Primary Channel ACcess (NPCA) support I've been
working on.

The idea is to represent the NPCA channel/puncturing in the chandef
and have the other parameters per link. That's maybe not compeletely
right, but having them all in the chandef seemed too complex, and
these have to be there to be able to set up things.

There is, however, a problem with the way I've done this: I'm now
checking that NPCA is legal, i.e. the NPCA primary channel [sic]
is actually in the second half of the chandef. This cause problems
when adding DBE, because DBE extends the chandef as well, and you
could have, for 320 MHz:

| p |   |   |   | n |   |   |   |   |   |   |   |   |   |   |   |
| BSS Channel                   |
                | NPCA channel  |
| DBE Channel                                                   |

p = primary channel
n = NPCA primary channel

so that the NPCA isn't actually in the second half. I think now
the right way is to actually represent it as in the picture, but
it seems the spec is also still evolving wrt. the intersection of
NPCA and DBE. Some folks want NPCA to be in DBE but that doesn't
seem to work well (to me) with puncturing patterns etc.

So I think I'm probably going to change the chandef validation on
top of these changes when adding DBE, and then we need a separate
NPCA validation function for mac80211 instead, but that seems OK.


This is based on the patches I sent a few minutes ago:
https://lore.kernel.org/linux-wireless/20260303152558.00e7bc8e9f4b.Iafdf37fb0f4304bdcdb824977d61e17b38c47685@changeid/T/#u
https://lore.kernel.org/linux-wireless/20260303142641.273071-5-johannes@sipsolutions.net/T/#t

johannes


             reply	other threads:[~2026-03-03 14:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-03 14:26 Johannes Berg [this message]
2026-03-03 14:26 ` [RFC wireless-next 1/8] wifi: cfg80211: allow representing NPCA in chandef Johannes Berg
2026-03-03 14:26 ` [RFC wireless-next 2/8] wifi: cfg80211: add helper for parsing NPCA to chandef Johannes Berg
2026-03-03 14:26 ` [RFC wireless-next 3/8] wifi: mac80211: use NPCA in chandef for validation Johannes Berg
2026-03-03 14:26 ` [RFC wireless-next 4/8] wifi: mac80211: remove NPCA during chandef downgrade Johannes Berg
2026-03-03 14:27 ` [RFC wireless-next 5/8] wifi: mac80211: add NPCA to chandef tracing Johannes Berg
2026-03-03 14:27 ` [RFC wireless-next 6/8] wifi: mac80211: allow only AP chanctx sharing with NPCA Johannes Berg
2026-03-03 14:27 ` [RFC wireless-next 7/8] wifi: mac80211: mlme: use NPCA chandef if capable Johannes Berg
2026-03-03 14:27 ` [RFC wireless-next 8/8] wifi: mac80211: set AP NPCA parameters in bss_conf Johannes Berg
2026-03-04  2:56   ` Lachlan Hodges
2026-03-04  7:45     ` 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=20260303143434.273141-10-johannes@sipsolutions.net \
    --to=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