Message ID | 20230109165731.682-7-shayne.chen@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add EHT support for mt7996 | expand |
> Add support to get EHT rate stats from ethtool. > This is the preliminary patch to add EHT support for mt7996. > > Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> > --- > drivers/net/wireless/mediatek/mt76/mt76.h | 2 +- > drivers/net/wireless/mediatek/mt76/mt7996/main.c | 6 ++++++ > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/mediatek/mt76/mt76.h b/drivers/net/wireless/mediatek/mt76/mt76.h > index b3fd3abfdd9f..3d3c68b9e1cf 100644 > --- a/drivers/net/wireless/mediatek/mt76/mt76.h > +++ b/drivers/net/wireless/mediatek/mt76/mt76.h > @@ -272,7 +272,7 @@ enum mt76_phy_type { > > struct mt76_sta_stats { > u64 tx_mode[__MT_PHY_TYPE_MAX]; > - u64 tx_bw[4]; /* 20, 40, 80, 160 */ > + u64 tx_bw[5]; /* 20, 40, 80, 160, 320 */ Hi Shayne, I think this change will break mt7915 ethtool support. In particular it will break tx_bw for loop in mt76_ethtool_worker(). Regards, Lorenzo > u64 tx_nss[4]; /* 1, 2, 3, 4 */ > u64 tx_mcs[16]; /* mcs idx */ > u64 tx_bytes; > diff --git a/drivers/net/wireless/mediatek/mt76/mt7996/main.c b/drivers/net/wireless/mediatek/mt76/mt7996/main.c > index c423b052e4f4..9ea2e1198477 100644 > --- a/drivers/net/wireless/mediatek/mt76/mt7996/main.c > +++ b/drivers/net/wireless/mediatek/mt76/mt7996/main.c > @@ -1084,10 +1084,14 @@ static const char mt7996_gstrings_stats[][ETH_GSTRING_LEN] = { > "v_tx_mode_he_ext_su", > "v_tx_mode_he_tb", > "v_tx_mode_he_mu", > + "v_tx_mode_eht_su", > + "v_tx_mode_eht_trig", > + "v_tx_mode_eht_mu", > "v_tx_bw_20", > "v_tx_bw_40", > "v_tx_bw_80", > "v_tx_bw_160", > + "v_tx_bw_320", > "v_tx_mcs_0", > "v_tx_mcs_1", > "v_tx_mcs_2", > @@ -1100,6 +1104,8 @@ static const char mt7996_gstrings_stats[][ETH_GSTRING_LEN] = { > "v_tx_mcs_9", > "v_tx_mcs_10", > "v_tx_mcs_11", > + "v_tx_mcs_12", > + "v_tx_mcs_13", > }; > > #define MT7996_SSTATS_LEN ARRAY_SIZE(mt7996_gstrings_stats) > -- > 2.25.1 >
On Wed, 2023-01-18 at 17:13 +0100, Lorenzo Bianconi wrote: > > Add support to get EHT rate stats from ethtool. > > This is the preliminary patch to add EHT support for mt7996. > > > > Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> > > --- > > drivers/net/wireless/mediatek/mt76/mt76.h | 2 +- > > drivers/net/wireless/mediatek/mt76/mt7996/main.c | 6 ++++++ > > 2 files changed, 7 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/wireless/mediatek/mt76/mt76.h > > b/drivers/net/wireless/mediatek/mt76/mt76.h > > index b3fd3abfdd9f..3d3c68b9e1cf 100644 > > --- a/drivers/net/wireless/mediatek/mt76/mt76.h > > +++ b/drivers/net/wireless/mediatek/mt76/mt76.h > > @@ -272,7 +272,7 @@ enum mt76_phy_type { > > > > struct mt76_sta_stats { > > u64 tx_mode[__MT_PHY_TYPE_MAX]; > > - u64 tx_bw[4]; /* 20, 40, 80, 160 */ > > + u64 tx_bw[5]; /* 20, 40, 80, 160, 320 */ > > Hi Shayne, > Hi Lorenzo, > I think this change will break mt7915 ethtool support. In particular > it will > break tx_bw for loop in mt76_ethtool_worker(). > I'll fix this in v2 by adding an additional eht parameter to mt76_ethtool_worker(), thanks. Regards, Shayne > Regards, > Lorenzo > > > u64 tx_nss[4]; /* 1, 2, 3, 4 */ > > u64 tx_mcs[16]; /* mcs idx */ > > u64 tx_bytes; > > diff --git a/drivers/net/wireless/mediatek/mt76/mt7996/main.c > > b/drivers/net/wireless/mediatek/mt76/mt7996/main.c > > index c423b052e4f4..9ea2e1198477 100644 > > --- a/drivers/net/wireless/mediatek/mt76/mt7996/main.c > > +++ b/drivers/net/wireless/mediatek/mt76/mt7996/main.c > > @@ -1084,10 +1084,14 @@ static const char > > mt7996_gstrings_stats[][ETH_GSTRING_LEN] = { > > "v_tx_mode_he_ext_su", > > "v_tx_mode_he_tb", > > "v_tx_mode_he_mu", > > + "v_tx_mode_eht_su", > > + "v_tx_mode_eht_trig", > > + "v_tx_mode_eht_mu", > > "v_tx_bw_20", > > "v_tx_bw_40", > > "v_tx_bw_80", > > "v_tx_bw_160", > > + "v_tx_bw_320", > > "v_tx_mcs_0", > > "v_tx_mcs_1", > > "v_tx_mcs_2", > > @@ -1100,6 +1104,8 @@ static const char > > mt7996_gstrings_stats[][ETH_GSTRING_LEN] = { > > "v_tx_mcs_9", > > "v_tx_mcs_10", > > "v_tx_mcs_11", > > + "v_tx_mcs_12", > > + "v_tx_mcs_13", > > }; > > > > #define MT7996_SSTATS_LEN ARRAY_SIZE(mt7996_gstrings_stats) > > -- > > 2.25.1 > >
diff --git a/drivers/net/wireless/mediatek/mt76/mt76.h b/drivers/net/wireless/mediatek/mt76/mt76.h index b3fd3abfdd9f..3d3c68b9e1cf 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76.h +++ b/drivers/net/wireless/mediatek/mt76/mt76.h @@ -272,7 +272,7 @@ enum mt76_phy_type { struct mt76_sta_stats { u64 tx_mode[__MT_PHY_TYPE_MAX]; - u64 tx_bw[4]; /* 20, 40, 80, 160 */ + u64 tx_bw[5]; /* 20, 40, 80, 160, 320 */ u64 tx_nss[4]; /* 1, 2, 3, 4 */ u64 tx_mcs[16]; /* mcs idx */ u64 tx_bytes; diff --git a/drivers/net/wireless/mediatek/mt76/mt7996/main.c b/drivers/net/wireless/mediatek/mt76/mt7996/main.c index c423b052e4f4..9ea2e1198477 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7996/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7996/main.c @@ -1084,10 +1084,14 @@ static const char mt7996_gstrings_stats[][ETH_GSTRING_LEN] = { "v_tx_mode_he_ext_su", "v_tx_mode_he_tb", "v_tx_mode_he_mu", + "v_tx_mode_eht_su", + "v_tx_mode_eht_trig", + "v_tx_mode_eht_mu", "v_tx_bw_20", "v_tx_bw_40", "v_tx_bw_80", "v_tx_bw_160", + "v_tx_bw_320", "v_tx_mcs_0", "v_tx_mcs_1", "v_tx_mcs_2", @@ -1100,6 +1104,8 @@ static const char mt7996_gstrings_stats[][ETH_GSTRING_LEN] = { "v_tx_mcs_9", "v_tx_mcs_10", "v_tx_mcs_11", + "v_tx_mcs_12", + "v_tx_mcs_13", }; #define MT7996_SSTATS_LEN ARRAY_SIZE(mt7996_gstrings_stats)
Add support to get EHT rate stats from ethtool. This is the preliminary patch to add EHT support for mt7996. Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> --- drivers/net/wireless/mediatek/mt76/mt76.h | 2 +- drivers/net/wireless/mediatek/mt76/mt7996/main.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-)