[PATCH v2] wifi: mac80211: introduce EHT rate support in AQL airtime

Johannes Berg johannes at sipsolutions.net
Tue Sep 3 02:54:01 PDT 2024


On Mon, 2024-09-02 at 13:44 +0800, Mingyen Hsieh wrote:
> 
> +	EHT_GROUP(1, EHT_GI_08, BW_20),
> +	EHT_GROUP(2, EHT_GI_08, BW_20),
> +	EHT_GROUP(3, EHT_GI_08, BW_20),
> +	EHT_GROUP(4, EHT_GI_08, BW_20),
> +	EHT_GROUP(5, EHT_GI_08, BW_20),
> +	EHT_GROUP(6, EHT_GI_08, BW_20),
> +	EHT_GROUP(7, EHT_GI_08, BW_20),
> +	EHT_GROUP(8, EHT_GI_08, BW_20),
> +	EHT_GROUP(9, EHT_GI_08, BW_20),
> +	EHT_GROUP(10, EHT_GI_08, BW_20),
> +	EHT_GROUP(11, EHT_GI_08, BW_20),
> +	EHT_GROUP(12, EHT_GI_08, BW_20),
> +	EHT_GROUP(13, EHT_GI_08, BW_20),
> +	EHT_GROUP(14, EHT_GI_08, BW_20),
> +	EHT_GROUP(15, EHT_GI_08, BW_20),
> +	EHT_GROUP(16, EHT_GI_08, BW_20),

This is really long and repetitive - maybe we can have a macro that does
the 1..16, and gets the other two arguments? Then we only have 16 lines
for the macro, and 16 invocations, rather than 256 new lines ...

> -	if (WARN_ON_ONCE((status->encoding != RX_ENC_HE && streams > 4) ||
> -			 (status->encoding == RX_ENC_HE && streams > 8)))
> +	if (WARN_ON_ONCE((status->encoding == RX_ENC_EHT && streams > 16) ||
> +			 (status->encoding == RX_ENC_HE && streams > 8) ||
> +			 (status->encoding < RX_ENC_HE && streams > 4)))

However, you also seem to consistently assume that 16 streams are
possible with EHT ... why?! That's not even supported by the spec, much
less being practical...

Fixing that would already halve the number of lines needed, though it
might still be good to have nested macros.

johannes



More information about the Linux-mediatek mailing list