Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH 08/11] rtw88: update tx power limit table to RF v20
From: yhchuang @ 2019-05-29  7:54 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless
In-Reply-To: <1559116487-5244-1-git-send-email-yhchuang@realtek.com>

From: Zong-Zhe Yang <kevin_yang@realtek.com>

Support more regulatory domains including IC, KCC,
ACMA, CHILE, UKRAINE, and MEXICO. Corresponding tx
power limits for these regulatory domains are added
in tx power limit table. Besides, tx power limits in
some case are also updated to follow RF v20 for better
tx power indexes.

Channel plan mapping table are upgraded to consider
more 2G and 5G channel plans combination cases. It
allow us to identify different situations more accuratly
by channel plan IDs. In addition, mapping table for
country code and channel plan ID and mapping table
for country code and tx power limit are also updated
to follow RF v20. It allow the new enrties in tx power
limit table to be applied correctly.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
---
 drivers/net/wireless/realtek/rtw88/main.h          |  14 +-
 drivers/net/wireless/realtek/rtw88/regd.c          |  69 +-
 drivers/net/wireless/realtek/rtw88/regd.h          |   4 +
 .../net/wireless/realtek/rtw88/rtw8822c_table.c    | 799 +++++++++++++++++++--
 4 files changed, 793 insertions(+), 93 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/main.h b/drivers/net/wireless/realtek/rtw88/main.h
index 4feff37..f239d5a 100644
--- a/drivers/net/wireless/realtek/rtw88/main.h
+++ b/drivers/net/wireless/realtek/rtw88/main.h
@@ -289,10 +289,16 @@ enum rtw_trx_desc_rate {
 };
 
 enum rtw_regulatory_domains {
-	RTW_REGD_FCC	= 0,
-	RTW_REGD_MKK	= 1,
-	RTW_REGD_ETSI	= 2,
-	RTW_REGD_WW	= 3,
+	RTW_REGD_FCC		= 0,
+	RTW_REGD_MKK		= 1,
+	RTW_REGD_ETSI		= 2,
+	RTW_REGD_IC		= 3,
+	RTW_REGD_KCC		= 4,
+	RTW_REGD_ACMA		= 5,
+	RTW_REGD_CHILE		= 6,
+	RTW_REGD_UKRAINE	= 7,
+	RTW_REGD_MEXICO		= 8,
+	RTW_REGD_WW,
 
 	RTW_REGD_MAX
 };
diff --git a/drivers/net/wireless/realtek/rtw88/regd.c b/drivers/net/wireless/realtek/rtw88/regd.c
index e7750a8..69744dd 100644
--- a/drivers/net/wireless/realtek/rtw88/regd.c
+++ b/drivers/net/wireless/realtek/rtw88/regd.c
@@ -21,19 +21,19 @@ static const struct rtw_regulatory rtw_defined_chplan =
 
 static const struct rtw_regulatory all_chplan_map[] = {
 	COUNTRY_CHPLAN_ENT("AD", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("AE", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("AE", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("AF", RTW_CHPLAN_ETSI1_ETSI4, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("AG", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("AG", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("AI", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("AL", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("AM", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("AN", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("AN", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("AO", RTW_CHPLAN_WORLD_ETSI6, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("AQ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("AR", RTW_CHPLAN_FCC2_FCC7, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("AS", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("AT", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("AU", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("AU", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ACMA),
 	COUNTRY_CHPLAN_ENT("AW", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("AZ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("BA", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
@@ -42,31 +42,34 @@ static const struct rtw_regulatory all_chplan_map[] = {
 	COUNTRY_CHPLAN_ENT("BE", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("BF", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("BG", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("BH", RTW_CHPLAN_WORLD_ETSI6, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("BH", RTW_CHPLAN_WORLD_ETSI7, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("BI", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("BJ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("BM", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("BN", RTW_CHPLAN_WORLD_ETSI6, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("BO", RTW_CHPLAN_WORLD_FCC7, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("BR", RTW_CHPLAN_FCC2_FCC1, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("BS", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
-	COUNTRY_CHPLAN_ENT("BW", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("BT", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("BV", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("BW", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("BY", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("BZ", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
-	COUNTRY_CHPLAN_ENT("CA", RTW_CHPLAN_IC1_IC2, RTW_REGD_FCC),
+	COUNTRY_CHPLAN_ENT("CA", RTW_CHPLAN_IC1_IC2, RTW_REGD_IC),
 	COUNTRY_CHPLAN_ENT("CC", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("CD", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("CF", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("CG", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("CH", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("CI", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("CI", RTW_CHPLAN_ETSI1_ETSI4, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("CK", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("CL", RTW_CHPLAN_WORLD_CHILE1, RTW_REGD_FCC),
+	COUNTRY_CHPLAN_ENT("CL", RTW_CHPLAN_WORLD_CHILE1, RTW_REGD_CHILE),
 	COUNTRY_CHPLAN_ENT("CM", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("CN", RTW_CHPLAN_WORLD_ETSI7, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("CO", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("CR", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("CV", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("CX", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("CX", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ACMA),
 	COUNTRY_CHPLAN_ENT("CY", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("CZ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("DE", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
@@ -90,7 +93,7 @@ static const struct rtw_regulatory all_chplan_map[] = {
 	COUNTRY_CHPLAN_ENT("FR", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("GA", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("GB", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("GD", RTW_CHPLAN_FCC1_FCC7, RTW_REGD_FCC),
+	COUNTRY_CHPLAN_ENT("GD", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("GE", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("GF", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("GG", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
@@ -107,8 +110,8 @@ static const struct rtw_regulatory all_chplan_map[] = {
 	COUNTRY_CHPLAN_ENT("GU", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("GW", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("GY", RTW_CHPLAN_FCC1_NCC3, RTW_REGD_FCC),
-	COUNTRY_CHPLAN_ENT("HK", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("HM", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("HK", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("HM", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ACMA),
 	COUNTRY_CHPLAN_ENT("HN", RTW_CHPLAN_WORLD_FCC5, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("HR", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("HT", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
@@ -118,20 +121,22 @@ static const struct rtw_regulatory all_chplan_map[] = {
 	COUNTRY_CHPLAN_ENT("IL", RTW_CHPLAN_WORLD_ETSI6, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("IM", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("IN", RTW_CHPLAN_WORLD_ETSI7, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("IO", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("IQ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("IR", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("IS", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("IT", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("JE", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("JM", RTW_CHPLAN_WORLD_ETSI10, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("JM", RTW_CHPLAN_WORLD_FCC5, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("JO", RTW_CHPLAN_WORLD_ETSI8, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("JP", RTW_CHPLAN_MKK1_MKK1, RTW_REGD_MKK),
 	COUNTRY_CHPLAN_ENT("KE", RTW_CHPLAN_WORLD_ETSI6, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("KG", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("KH", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("KI", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("KM", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("KN", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
-	COUNTRY_CHPLAN_ENT("KR", RTW_CHPLAN_KCC1_KCC2, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("KR", RTW_CHPLAN_KCC1_KCC3, RTW_REGD_KCC),
 	COUNTRY_CHPLAN_ENT("KW", RTW_CHPLAN_WORLD_ETSI6, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("KY", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("KZ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
@@ -157,7 +162,7 @@ static const struct rtw_regulatory all_chplan_map[] = {
 	COUNTRY_CHPLAN_ENT("ML", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("MM", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("MN", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("MO", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("MO", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("MP", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("MQ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("MR", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
@@ -167,26 +172,26 @@ static const struct rtw_regulatory all_chplan_map[] = {
 	COUNTRY_CHPLAN_ENT("MV", RTW_CHPLAN_WORLD_ETSI6, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("MW", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("MX", RTW_CHPLAN_FCC2_FCC7, RTW_REGD_FCC),
-	COUNTRY_CHPLAN_ENT("MY", RTW_CHPLAN_WORLD_ETSI20, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("MY", RTW_CHPLAN_WORLD_ETSI15, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("MZ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("NA", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("NC", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("NE", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("NF", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("NF", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ACMA),
 	COUNTRY_CHPLAN_ENT("NG", RTW_CHPLAN_WORLD_ETSI20, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("NI", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("NL", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("NO", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("NP", RTW_CHPLAN_WORLD_ETSI6, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("NP", RTW_CHPLAN_WORLD_ETSI7, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("NR", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("NU", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("NZ", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("NU", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ACMA),
+	COUNTRY_CHPLAN_ENT("NZ", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ACMA),
 	COUNTRY_CHPLAN_ENT("OM", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("PA", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("PE", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("PF", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("PG", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("PH", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("PG", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("PH", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("PK", RTW_CHPLAN_WORLD_ETSI10, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("PL", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("PM", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
@@ -194,17 +199,17 @@ static const struct rtw_regulatory all_chplan_map[] = {
 	COUNTRY_CHPLAN_ENT("PT", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("PW", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("PY", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
-	COUNTRY_CHPLAN_ENT("QA", RTW_CHPLAN_WORLD_ETSI10, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("QA", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("RE", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("RO", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("RS", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("RU", RTW_CHPLAN_WORLD_ETSI14, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("RW", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("SA", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("SA", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("SB", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("SC", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("SE", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("SG", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("SG", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("SH", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("SI", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("SJ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
@@ -222,14 +227,15 @@ static const struct rtw_regulatory all_chplan_map[] = {
 	COUNTRY_CHPLAN_ENT("TD", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("TF", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("TG", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("TH", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("TH", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("TJ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("TK", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("TK", RTW_CHPLAN_WORLD_ACMA1, RTW_REGD_ACMA),
 	COUNTRY_CHPLAN_ENT("TM", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("TN", RTW_CHPLAN_WORLD_ETSI6, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("TO", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("TR", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("TT", RTW_CHPLAN_ETSI1_ETSI4, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("TT", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
+	COUNTRY_CHPLAN_ENT("TV", RTW_CHPLAN_ETSI1_NULL, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("TW", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("TZ", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("UA", RTW_CHPLAN_WORLD_ETSI3, RTW_REGD_ETSI),
@@ -240,14 +246,15 @@ static const struct rtw_regulatory all_chplan_map[] = {
 	COUNTRY_CHPLAN_ENT("VA", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("VC", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("VE", RTW_CHPLAN_WORLD_FCC3, RTW_REGD_FCC),
+	COUNTRY_CHPLAN_ENT("VG", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("VI", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
-	COUNTRY_CHPLAN_ENT("VN", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("VN", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("VU", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("WF", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("WS", RTW_CHPLAN_FCC2_FCC11, RTW_REGD_FCC),
 	COUNTRY_CHPLAN_ENT("YE", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("YT", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
-	COUNTRY_CHPLAN_ENT("ZA", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
+	COUNTRY_CHPLAN_ENT("ZA", RTW_CHPLAN_WORLD_ETSI2, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("ZM", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 	COUNTRY_CHPLAN_ENT("ZW", RTW_CHPLAN_WORLD_ETSI1, RTW_REGD_ETSI),
 };
diff --git a/drivers/net/wireless/realtek/rtw88/regd.h b/drivers/net/wireless/realtek/rtw88/regd.h
index 7784bb6..5d45783 100644
--- a/drivers/net/wireless/realtek/rtw88/regd.h
+++ b/drivers/net/wireless/realtek/rtw88/regd.h
@@ -8,6 +8,7 @@
 #define IEEE80211_CHAN_NO_IBSS IEEE80211_CHAN_NO_IR
 #define IEEE80211_CHAN_PASSIVE_SCAN IEEE80211_CHAN_NO_IR
 enum rtw_chplan_id {
+	RTW_CHPLAN_ETSI1_NULL = 0x21,
 	RTW_CHPLAN_WORLD_ETSI1 = 0x26,
 	RTW_CHPLAN_MKK1_MKK1 = 0x27,
 	RTW_CHPLAN_IC1_IC2 = 0x2B,
@@ -15,6 +16,7 @@ enum rtw_chplan_id {
 	RTW_CHPLAN_WORLD_FCC3 = 0x30,
 	RTW_CHPLAN_WORLD_FCC5 = 0x32,
 	RTW_CHPLAN_FCC1_FCC7 = 0x34,
+	RTW_CHPLAN_WORLD_ETSI2 = 0x35,
 	RTW_CHPLAN_WORLD_ETSI3 = 0x36,
 	RTW_CHPLAN_ETSI1_ETSI12 = 0x3D,
 	RTW_CHPLAN_KCC1_KCC2 = 0x3E,
@@ -24,10 +26,12 @@ enum rtw_chplan_id {
 	RTW_CHPLAN_WORLD_ETSI6 = 0x47,
 	RTW_CHPLAN_WORLD_ETSI7 = 0x48,
 	RTW_CHPLAN_WORLD_ETSI8 = 0x49,
+	RTW_CHPLAN_KCC1_KCC3 = 0x4B,
 	RTW_CHPLAN_WORLD_ETSI10 = 0x51,
 	RTW_CHPLAN_WORLD_ETSI14 = 0x59,
 	RTW_CHPLAN_FCC2_FCC7 = 0x61,
 	RTW_CHPLAN_FCC2_FCC1 = 0x62,
+	RTW_CHPLAN_WORLD_ETSI15 = 0x63,
 	RTW_CHPLAN_WORLD_FCC7 = 0x73,
 	RTW_CHPLAN_FCC2_FCC17 = 0x74,
 	RTW_CHPLAN_WORLD_ETSI20 = 0x75,
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822c_table.c b/drivers/net/wireless/realtek/rtw88/rtw8822c_table.c
index 49044f5..18e609a 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8822c_table.c
+++ b/drivers/net/wireless/realtek/rtw88/rtw8822c_table.c
@@ -9489,55 +9489,55 @@ static const u8 rtw8822c_txpwr_lmt_type0[] = {
 	0, 0, 1, 3, 13, 127, 2, 0, 1, 3, 13, 127,
 	0, 0, 1, 3, 14, 127, 2, 0, 1, 3, 14, 127,
 	0, 1, 0, 1, 36, 74, 2, 1, 0, 1, 36, 62,
-	0, 1, 0, 1, 40, 80, 2, 1, 0, 1, 40, 62,
-	0, 1, 0, 1, 44, 80, 2, 1, 0, 1, 44, 62,
-	0, 1, 0, 1, 48, 80, 2, 1, 0, 1, 48, 62,
-	0, 1, 0, 1, 52, 80, 2, 1, 0, 1, 52, 62,
-	0, 1, 0, 1, 56, 80, 2, 1, 0, 1, 56, 62,
-	0, 1, 0, 1, 60, 80, 2, 1, 0, 1, 60, 62,
+	0, 1, 0, 1, 40, 76, 2, 1, 0, 1, 40, 62,
+	0, 1, 0, 1, 44, 76, 2, 1, 0, 1, 44, 62,
+	0, 1, 0, 1, 48, 76, 2, 1, 0, 1, 48, 62,
+	0, 1, 0, 1, 52, 76, 2, 1, 0, 1, 52, 62,
+	0, 1, 0, 1, 56, 76, 2, 1, 0, 1, 56, 62,
+	0, 1, 0, 1, 60, 76, 2, 1, 0, 1, 60, 62,
 	0, 1, 0, 1, 64, 74, 2, 1, 0, 1, 64, 62,
 	0, 1, 0, 1, 100, 72, 2, 1, 0, 1, 100, 62,
-	0, 1, 0, 1, 104, 80, 2, 1, 0, 1, 104, 62,
-	0, 1, 0, 1, 108, 80, 2, 1, 0, 1, 108, 62,
-	0, 1, 0, 1, 112, 80, 2, 1, 0, 1, 112, 62,
-	0, 1, 0, 1, 116, 80, 2, 1, 0, 1, 116, 62,
-	0, 1, 0, 1, 120, 80, 2, 1, 0, 1, 120, 62,
-	0, 1, 0, 1, 124, 80, 2, 1, 0, 1, 124, 62,
-	0, 1, 0, 1, 128, 80, 2, 1, 0, 1, 128, 62,
-	0, 1, 0, 1, 132, 80, 2, 1, 0, 1, 132, 62,
-	0, 1, 0, 1, 136, 80, 2, 1, 0, 1, 136, 62,
+	0, 1, 0, 1, 104, 76, 2, 1, 0, 1, 104, 62,
+	0, 1, 0, 1, 108, 76, 2, 1, 0, 1, 108, 62,
+	0, 1, 0, 1, 112, 76, 2, 1, 0, 1, 112, 62,
+	0, 1, 0, 1, 116, 76, 2, 1, 0, 1, 116, 62,
+	0, 1, 0, 1, 120, 76, 2, 1, 0, 1, 120, 62,
+	0, 1, 0, 1, 124, 76, 2, 1, 0, 1, 124, 62,
+	0, 1, 0, 1, 128, 76, 2, 1, 0, 1, 128, 62,
+	0, 1, 0, 1, 132, 76, 2, 1, 0, 1, 132, 62,
+	0, 1, 0, 1, 136, 76, 2, 1, 0, 1, 136, 62,
 	0, 1, 0, 1, 140, 72, 2, 1, 0, 1, 140, 62,
-	0, 1, 0, 1, 144, 80, 2, 1, 0, 1, 144, 127,
-	0, 1, 0, 1, 149, 80, 2, 1, 0, 1, 149, 127,
-	0, 1, 0, 1, 153, 80, 2, 1, 0, 1, 153, 127,
-	0, 1, 0, 1, 157, 80, 2, 1, 0, 1, 157, 127,
-	0, 1, 0, 1, 161, 80, 2, 1, 0, 1, 161, 127,
-	0, 1, 0, 1, 165, 80, 2, 1, 0, 1, 165, 127,
+	0, 1, 0, 1, 144, 76, 2, 1, 0, 1, 144, 127,
+	0, 1, 0, 1, 149, 76, 2, 1, 0, 1, 149, -128,
+	0, 1, 0, 1, 153, 76, 2, 1, 0, 1, 153, -128,
+	0, 1, 0, 1, 157, 76, 2, 1, 0, 1, 157, -128,
+	0, 1, 0, 1, 161, 76, 2, 1, 0, 1, 161, -128,
+	0, 1, 0, 1, 165, 76, 2, 1, 0, 1, 165, -128,
 	0, 1, 0, 2, 36, 72, 2, 1, 0, 2, 36, 62,
-	0, 1, 0, 2, 40, 80, 2, 1, 0, 2, 40, 62,
-	0, 1, 0, 2, 44, 80, 2, 1, 0, 2, 44, 62,
-	0, 1, 0, 2, 48, 80, 2, 1, 0, 2, 48, 62,
-	0, 1, 0, 2, 52, 80, 2, 1, 0, 2, 52, 62,
-	0, 1, 0, 2, 56, 80, 2, 1, 0, 2, 56, 62,
-	0, 1, 0, 2, 60, 80, 2, 1, 0, 2, 60, 62,
+	0, 1, 0, 2, 40, 76, 2, 1, 0, 2, 40, 62,
+	0, 1, 0, 2, 44, 76, 2, 1, 0, 2, 44, 62,
+	0, 1, 0, 2, 48, 76, 2, 1, 0, 2, 48, 62,
+	0, 1, 0, 2, 52, 76, 2, 1, 0, 2, 52, 62,
+	0, 1, 0, 2, 56, 76, 2, 1, 0, 2, 56, 62,
+	0, 1, 0, 2, 60, 76, 2, 1, 0, 2, 60, 62,
 	0, 1, 0, 2, 64, 74, 2, 1, 0, 2, 64, 62,
 	0, 1, 0, 2, 100, 70, 2, 1, 0, 2, 100, 62,
-	0, 1, 0, 2, 104, 80, 2, 1, 0, 2, 104, 62,
-	0, 1, 0, 2, 108, 80, 2, 1, 0, 2, 108, 62,
-	0, 1, 0, 2, 112, 80, 2, 1, 0, 2, 112, 62,
-	0, 1, 0, 2, 116, 80, 2, 1, 0, 2, 116, 62,
-	0, 1, 0, 2, 120, 80, 2, 1, 0, 2, 120, 62,
-	0, 1, 0, 2, 124, 80, 2, 1, 0, 2, 124, 62,
-	0, 1, 0, 2, 128, 80, 2, 1, 0, 2, 128, 62,
-	0, 1, 0, 2, 132, 80, 2, 1, 0, 2, 132, 62,
-	0, 1, 0, 2, 136, 80, 2, 1, 0, 2, 136, 62,
+	0, 1, 0, 2, 104, 76, 2, 1, 0, 2, 104, 62,
+	0, 1, 0, 2, 108, 76, 2, 1, 0, 2, 108, 62,
+	0, 1, 0, 2, 112, 76, 2, 1, 0, 2, 112, 62,
+	0, 1, 0, 2, 116, 76, 2, 1, 0, 2, 116, 62,
+	0, 1, 0, 2, 120, 76, 2, 1, 0, 2, 120, 62,
+	0, 1, 0, 2, 124, 76, 2, 1, 0, 2, 124, 62,
+	0, 1, 0, 2, 128, 76, 2, 1, 0, 2, 128, 62,
+	0, 1, 0, 2, 132, 76, 2, 1, 0, 2, 132, 62,
+	0, 1, 0, 2, 136, 76, 2, 1, 0, 2, 136, 62,
 	0, 1, 0, 2, 140, 70, 2, 1, 0, 2, 140, 62,
-	0, 1, 0, 2, 144, 80, 2, 1, 0, 2, 144, 127,
-	0, 1, 0, 2, 149, 80, 2, 1, 0, 2, 149, 127,
-	0, 1, 0, 2, 153, 80, 2, 1, 0, 2, 153, 127,
-	0, 1, 0, 2, 157, 80, 2, 1, 0, 2, 157, 127,
-	0, 1, 0, 2, 161, 80, 2, 1, 0, 2, 161, 127,
-	0, 1, 0, 2, 165, 80, 2, 1, 0, 2, 165, 127,
+	0, 1, 0, 2, 144, 76, 2, 1, 0, 2, 144, 127,
+	0, 1, 0, 2, 149, 76, 2, 1, 0, 2, 149, -128,
+	0, 1, 0, 2, 153, 76, 2, 1, 0, 2, 153, -128,
+	0, 1, 0, 2, 157, 76, 2, 1, 0, 2, 157, -128,
+	0, 1, 0, 2, 161, 76, 2, 1, 0, 2, 161, -128,
+	0, 1, 0, 2, 165, 76, 2, 1, 0, 2, 165, -128,
 	0, 1, 0, 3, 36, 68, 2, 1, 0, 3, 36, 38,
 	0, 1, 0, 3, 40, 68, 2, 1, 0, 3, 40, 38,
 	0, 1, 0, 3, 44, 68, 2, 1, 0, 3, 44, 38,
@@ -9558,23 +9558,23 @@ static const u8 rtw8822c_txpwr_lmt_type0[] = {
 	0, 1, 0, 3, 136, 68, 2, 1, 0, 3, 136, 38,
 	0, 1, 0, 3, 140, 60, 2, 1, 0, 3, 140, 38,
 	0, 1, 0, 3, 144, 68, 2, 1, 0, 3, 144, 127,
-	0, 1, 0, 3, 149, 80, 2, 1, 0, 3, 149, 127,
-	0, 1, 0, 3, 153, 80, 2, 1, 0, 3, 153, 127,
-	0, 1, 0, 3, 157, 80, 2, 1, 0, 3, 157, 127,
-	0, 1, 0, 3, 161, 80, 2, 1, 0, 3, 161, 127,
-	0, 1, 0, 3, 165, 80, 2, 1, 0, 3, 165, 127,
+	0, 1, 0, 3, 149, 76, 2, 1, 0, 3, 149, -128,
+	0, 1, 0, 3, 153, 76, 2, 1, 0, 3, 153, -128,
+	0, 1, 0, 3, 157, 76, 2, 1, 0, 3, 157, -128,
+	0, 1, 0, 3, 161, 76, 2, 1, 0, 3, 161, -128,
+	0, 1, 0, 3, 165, 76, 2, 1, 0, 3, 165, -128,
 	0, 1, 1, 2, 38, 66, 2, 1, 1, 2, 38, 64,
 	0, 1, 1, 2, 46, 72, 2, 1, 1, 2, 46, 64,
 	0, 1, 1, 2, 54, 72, 2, 1, 1, 2, 54, 64,
 	0, 1, 1, 2, 62, 64, 2, 1, 1, 2, 62, 64,
 	0, 1, 1, 2, 102, 58, 2, 1, 1, 2, 102, 64,
-	0, 1, 1, 2, 110, 74, 2, 1, 1, 2, 110, 64,
-	0, 1, 1, 2, 118, 74, 2, 1, 1, 2, 118, 64,
-	0, 1, 1, 2, 126, 74, 2, 1, 1, 2, 126, 64,
-	0, 1, 1, 2, 134, 74, 2, 1, 1, 2, 134, 64,
-	0, 1, 1, 2, 142, 74, 2, 1, 1, 2, 142, 127,
-	0, 1, 1, 2, 151, 74, 2, 1, 1, 2, 151, 127,
-	0, 1, 1, 2, 159, 74, 2, 1, 1, 2, 159, 127,
+	0, 1, 1, 2, 110, 72, 2, 1, 1, 2, 110, 64,
+	0, 1, 1, 2, 118, 72, 2, 1, 1, 2, 118, 64,
+	0, 1, 1, 2, 126, 72, 2, 1, 1, 2, 126, 64,
+	0, 1, 1, 2, 134, 72, 2, 1, 1, 2, 134, 64,
+	0, 1, 1, 2, 142, 72, 2, 1, 1, 2, 142, 127,
+	0, 1, 1, 2, 151, 72, 2, 1, 1, 2, 151, -128,
+	0, 1, 1, 2, 159, 72, 2, 1, 1, 2, 159, -128,
 	0, 1, 1, 3, 38, 60, 2, 1, 1, 3, 38, 40,
 	0, 1, 1, 3, 46, 68, 2, 1, 1, 3, 46, 40,
 	0, 1, 1, 3, 54, 68, 2, 1, 1, 3, 54, 40,
@@ -9585,20 +9585,703 @@ static const u8 rtw8822c_txpwr_lmt_type0[] = {
 	0, 1, 1, 3, 126, 68, 2, 1, 1, 3, 126, 40,
 	0, 1, 1, 3, 134, 68, 2, 1, 1, 3, 134, 40,
 	0, 1, 1, 3, 142, 68, 2, 1, 1, 3, 142, 127,
-	0, 1, 1, 3, 151, 74, 2, 1, 1, 3, 151, 127,
-	0, 1, 1, 3, 159, 74, 2, 1, 1, 3, 159, 127,
+	0, 1, 1, 3, 151, 72, 2, 1, 1, 3, 151, -128,
+	0, 1, 1, 3, 159, 72, 2, 1, 1, 3, 159, -128,
 	0, 1, 2, 4, 42, 64, 2, 1, 2, 4, 42, 64,
 	0, 1, 2, 4, 58, 62, 2, 1, 2, 4, 58, 64,
 	0, 1, 2, 4, 106, 58, 2, 1, 2, 4, 106, 64,
 	0, 1, 2, 4, 122, 72, 2, 1, 2, 4, 122, 64,
 	0, 1, 2, 4, 138, 72, 2, 1, 2, 4, 138, 127,
-	0, 1, 2, 4, 155, 72, 2, 1, 2, 4, 155, 127,
+	0, 1, 2, 4, 155, 72, 2, 1, 2, 4, 155, -128,
 	0, 1, 2, 5, 42, 54, 2, 1, 2, 5, 42, 40,
 	0, 1, 2, 5, 58, 52, 2, 1, 2, 5, 58, 40,
 	0, 1, 2, 5, 106, 50, 2, 1, 2, 5, 106, 40,
 	0, 1, 2, 5, 122, 66, 2, 1, 2, 5, 122, 40,
 	0, 1, 2, 5, 138, 66, 2, 1, 2, 5, 138, 127,
-	0, 1, 2, 5, 155, 62, 2, 1, 2, 5, 155, 127
+	0, 1, 2, 5, 155, 62, 2, 1, 2, 5, 155, -128,
+	1, 0, 0, 0, 1, 68, 3, 0, 0, 0, 1, 72,
+	4, 0, 0, 0, 1, 76, 5, 0, 0, 0, 1, 60,
+	6, 0, 0, 0, 1, 72, 7, 0, 0, 0, 1, 60,
+	8, 0, 0, 0, 1, 72, 1, 0, 0, 0, 2, 68,
+	3, 0, 0, 0, 2, 72, 4, 0, 0, 0, 2, 76,
+	5, 0, 0, 0, 2, 60, 6, 0, 0, 0, 2, 72,
+	7, 0, 0, 0, 2, 60, 8, 0, 0, 0, 2, 72,
+	1, 0, 0, 0, 3, 68, 3, 0, 0, 0, 3, 76,
+	4, 0, 0, 0, 3, 76, 5, 0, 0, 0, 3, 60,
+	6, 0, 0, 0, 3, 76, 7, 0, 0, 0, 3, 60,
+	8, 0, 0, 0, 3, 76, 1, 0, 0, 0, 4, 68,
+	3, 0, 0, 0, 4, 76, 4, 0, 0, 0, 4, 76,
+	5, 0, 0, 0, 4, 60, 6, 0, 0, 0, 4, 76,
+	7, 0, 0, 0, 4, 60, 8, 0, 0, 0, 4, 76,
+	1, 0, 0, 0, 5, 68, 3, 0, 0, 0, 5, 76,
+	4, 0, 0, 0, 5, 76, 5, 0, 0, 0, 5, 60,
+	6, 0, 0, 0, 5, 76, 7, 0, 0, 0, 5, 60,
+	8, 0, 0, 0, 5, 76, 1, 0, 0, 0, 6, 68,
+	3, 0, 0, 0, 6, 76, 4, 0, 0, 0, 6, 76,
+	5, 0, 0, 0, 6, 60, 6, 0, 0, 0, 6, 76,
+	7, 0, 0, 0, 6, 60, 8, 0, 0, 0, 6, 76,
+	1, 0, 0, 0, 7, 68, 3, 0, 0, 0, 7, 76,
+	4, 0, 0, 0, 7, 76, 5, 0, 0, 0, 7, 60,
+	6, 0, 0, 0, 7, 76, 7, 0, 0, 0, 7, 60,
+	8, 0, 0, 0, 7, 76, 1, 0, 0, 0, 8, 68,
+	3, 0, 0, 0, 8, 76, 4, 0, 0, 0, 8, 76,
+	5, 0, 0, 0, 8, 60, 6, 0, 0, 0, 8, 76,
+	7, 0, 0, 0, 8, 60, 8, 0, 0, 0, 8, 76,
+	1, 0, 0, 0, 9, 68, 3, 0, 0, 0, 9, 76,
+	4, 0, 0, 0, 9, 76, 5, 0, 0, 0, 9, 60,
+	6, 0, 0, 0, 9, 76, 7, 0, 0, 0, 9, 60,
+	8, 0, 0, 0, 9, 76, 1, 0, 0, 0, 10, 68,
+	3, 0, 0, 0, 10, 72, 4, 0, 0, 0, 10, 76,
+	5, 0, 0, 0, 10, 60, 6, 0, 0, 0, 10, 72,
+	7, 0, 0, 0, 10, 60, 8, 0, 0, 0, 10, 72,
+	1, 0, 0, 0, 11, 68, 3, 0, 0, 0, 11, 72,
+	4, 0, 0, 0, 11, 76, 5, 0, 0, 0, 11, 60,
+	6, 0, 0, 0, 11, 72, 7, 0, 0, 0, 11, 60,
+	8, 0, 0, 0, 11, 72, 1, 0, 0, 0, 12, 68,
+	3, 0, 0, 0, 12, 52, 4, 0, 0, 0, 12, 76,
+	5, 0, 0, 0, 12, 60, 6, 0, 0, 0, 12, 52,
+	7, 0, 0, 0, 12, 60, 8, 0, 0, 0, 12, 52,
+	1, 0, 0, 0, 13, 68, 3, 0, 0, 0, 13, 48,
+	4, 0, 0, 0, 13, 76, 5, 0, 0, 0, 13, 60,
+	6, 0, 0, 0, 13, 48, 7, 0, 0, 0, 13, 60,
+	8, 0, 0, 0, 13, 48, 1, 0, 0, 0, 14, 68,
+	3, 0, 0, 0, 14, 127, 4, 0, 0, 0, 14, 127,
+	5, 0, 0, 0, 14, 127, 6, 0, 0, 0, 14, 127,
+	7, 0, 0, 0, 14, 127, 8, 0, 0, 0, 14, 127,
+	1, 0, 0, 1, 1, 76, 3, 0, 0, 1, 1, 52,
+	4, 0, 0, 1, 1, 76, 5, 0, 0, 1, 1, 60,
+	6, 0, 0, 1, 1, 52, 7, 0, 0, 1, 1, 60,
+	8, 0, 0, 1, 1, 52, 1, 0, 0, 1, 2, 76,
+	3, 0, 0, 1, 2, 60, 4, 0, 0, 1, 2, 76,
+	5, 0, 0, 1, 2, 60, 6, 0, 0, 1, 2, 60,
+	7, 0, 0, 1, 2, 60, 8, 0, 0, 1, 2, 60,
+	1, 0, 0, 1, 3, 76, 3, 0, 0, 1, 3, 64,
+	4, 0, 0, 1, 3, 76, 5, 0, 0, 1, 3, 60,
+	6, 0, 0, 1, 3, 64, 7, 0, 0, 1, 3, 60,
+	8, 0, 0, 1, 3, 64, 1, 0, 0, 1, 4, 76,
+	3, 0, 0, 1, 4, 68, 4, 0, 0, 1, 4, 76,
+	5, 0, 0, 1, 4, 60, 6, 0, 0, 1, 4, 68,
+	7, 0, 0, 1, 4, 60, 8, 0, 0, 1, 4, 68,
+	1, 0, 0, 1, 5, 76, 3, 0, 0, 1, 5, 76,
+	4, 0, 0, 1, 5, 76, 5, 0, 0, 1, 5, 60,
+	6, 0, 0, 1, 5, 76, 7, 0, 0, 1, 5, 60,
+	8, 0, 0, 1, 5, 76, 1, 0, 0, 1, 6, 76,
+	3, 0, 0, 1, 6, 76, 4, 0, 0, 1, 6, 76,
+	5, 0, 0, 1, 6, 60, 6, 0, 0, 1, 6, 76,
+	7, 0, 0, 1, 6, 60, 8, 0, 0, 1, 6, 76,
+	1, 0, 0, 1, 7, 76, 3, 0, 0, 1, 7, 76,
+	4, 0, 0, 1, 7, 76, 5, 0, 0, 1, 7, 60,
+	6, 0, 0, 1, 7, 76, 7, 0, 0, 1, 7, 60,
+	8, 0, 0, 1, 7, 76, 1, 0, 0, 1, 8, 76,
+	3, 0, 0, 1, 8, 68, 4, 0, 0, 1, 8, 76,
+	5, 0, 0, 1, 8, 60, 6, 0, 0, 1, 8, 68,
+	7, 0, 0, 1, 8, 60, 8, 0, 0, 1, 8, 68,
+	1, 0, 0, 1, 9, 76, 3, 0, 0, 1, 9, 64,
+	4, 0, 0, 1, 9, 76, 5, 0, 0, 1, 9, 60,
+	6, 0, 0, 1, 9, 64, 7, 0, 0, 1, 9, 60,
+	8, 0, 0, 1, 9, 64, 1, 0, 0, 1, 10, 76,
+	3, 0, 0, 1, 10, 60, 4, 0, 0, 1, 10, 76,
+	5, 0, 0, 1, 10, 60, 6, 0, 0, 1, 10, 60,
+	7, 0, 0, 1, 10, 60, 8, 0, 0, 1, 10, 60,
+	1, 0, 0, 1, 11, 76, 3, 0, 0, 1, 11, 52,
+	4, 0, 0, 1, 11, 76, 5, 0, 0, 1, 11, 60,
+	6, 0, 0, 1, 11, 52, 7, 0, 0, 1, 11, 60,
+	8, 0, 0, 1, 11, 52, 1, 0, 0, 1, 12, 76,
+	3, 0, 0, 1, 12, 40, 4, 0, 0, 1, 12, 76,
+	5, 0, 0, 1, 12, 60, 6, 0, 0, 1, 12, 40,
+	7, 0, 0, 1, 12, 60, 8, 0, 0, 1, 12, 40,
+	1, 0, 0, 1, 13, 76, 3, 0, 0, 1, 13, 28,
+	4, 0, 0, 1, 13, 70, 5, 0, 0, 1, 13, 60,
+	6, 0, 0, 1, 13, 28, 7, 0, 0, 1, 13, 60,
+	8, 0, 0, 1, 13, 28, 1, 0, 0, 1, 14, 127,
+	3, 0, 0, 1, 14, 127, 4, 0, 0, 1, 14, 127,
+	5, 0, 0, 1, 14, 127, 6, 0, 0, 1, 14, 127,
+	7, 0, 0, 1, 14, 127, 8, 0, 0, 1, 14, 127,
+	1, 0, 0, 2, 1, 76, 3, 0, 0, 2, 1, 52,
+	4, 0, 0, 2, 1, 76, 5, 0, 0, 2, 1, 60,
+	6, 0, 0, 2, 1, 52, 7, 0, 0, 2, 1, 60,
+	8, 0, 0, 2, 1, 52, 1, 0, 0, 2, 2, 76,
+	3, 0, 0, 2, 2, 60, 4, 0, 0, 2, 2, 76,
+	5, 0, 0, 2, 2, 60, 6, 0, 0, 2, 2, 60,
+	7, 0, 0, 2, 2, 60, 8, 0, 0, 2, 2, 60,
+	1, 0, 0, 2, 3, 76, 3, 0, 0, 2, 3, 64,
+	4, 0, 0, 2, 3, 76, 5, 0, 0, 2, 3, 60,
+	6, 0, 0, 2, 3, 64, 7, 0, 0, 2, 3, 60,
+	8, 0, 0, 2, 3, 64, 1, 0, 0, 2, 4, 76,
+	3, 0, 0, 2, 4, 68, 4, 0, 0, 2, 4, 76,
+	5, 0, 0, 2, 4, 60, 6, 0, 0, 2, 4, 68,
+	7, 0, 0, 2, 4, 60, 8, 0, 0, 2, 4, 68,
+	1, 0, 0, 2, 5, 76, 3, 0, 0, 2, 5, 76,
+	4, 0, 0, 2, 5, 76, 5, 0, 0, 2, 5, 60,
+	6, 0, 0, 2, 5, 76, 7, 0, 0, 2, 5, 60,
+	8, 0, 0, 2, 5, 76, 1, 0, 0, 2, 6, 76,
+	3, 0, 0, 2, 6, 76, 4, 0, 0, 2, 6, 76,
+	5, 0, 0, 2, 6, 60, 6, 0, 0, 2, 6, 76,
+	7, 0, 0, 2, 6, 60, 8, 0, 0, 2, 6, 76,
+	1, 0, 0, 2, 7, 76, 3, 0, 0, 2, 7, 76,
+	4, 0, 0, 2, 7, 76, 5, 0, 0, 2, 7, 60,
+	6, 0, 0, 2, 7, 76, 7, 0, 0, 2, 7, 60,
+	8, 0, 0, 2, 7, 76, 1, 0, 0, 2, 8, 76,
+	3, 0, 0, 2, 8, 68, 4, 0, 0, 2, 8, 76,
+	5, 0, 0, 2, 8, 60, 6, 0, 0, 2, 8, 68,
+	7, 0, 0, 2, 8, 60, 8, 0, 0, 2, 8, 68,
+	1, 0, 0, 2, 9, 76, 3, 0, 0, 2, 9, 64,
+	4, 0, 0, 2, 9, 76, 5, 0, 0, 2, 9, 60,
+	6, 0, 0, 2, 9, 64, 7, 0, 0, 2, 9, 60,
+	8, 0, 0, 2, 9, 64, 1, 0, 0, 2, 10, 76,
+	3, 0, 0, 2, 10, 60, 4, 0, 0, 2, 10, 76,
+	5, 0, 0, 2, 10, 60, 6, 0, 0, 2, 10, 60,
+	7, 0, 0, 2, 10, 60, 8, 0, 0, 2, 10, 60,
+	1, 0, 0, 2, 11, 76, 3, 0, 0, 2, 11, 52,
+	4, 0, 0, 2, 11, 76, 5, 0, 0, 2, 11, 60,
+	6, 0, 0, 2, 11, 52, 7, 0, 0, 2, 11, 60,
+	8, 0, 0, 2, 11, 52, 1, 0, 0, 2, 12, 76,
+	3, 0, 0, 2, 12, 40, 4, 0, 0, 2, 12, 76,
+	5, 0, 0, 2, 12, 60, 6, 0, 0, 2, 12, 40,
+	7, 0, 0, 2, 12, 60, 8, 0, 0, 2, 12, 40,
+	1, 0, 0, 2, 13, 76, 3, 0, 0, 2, 13, 28,
+	4, 0, 0, 2, 13, 72, 5, 0, 0, 2, 13, 60,
+	6, 0, 0, 2, 13, 28, 7, 0, 0, 2, 13, 60,
+	8, 0, 0, 2, 13, 28, 1, 0, 0, 2, 14, 127,
+	3, 0, 0, 2, 14, 127, 4, 0, 0, 2, 14, 127,
+	5, 0, 0, 2, 14, 127, 6, 0, 0, 2, 14, 127,
+	7, 0, 0, 2, 14, 127, 8, 0, 0, 2, 14, 127,
+	1, 0, 0, 3, 1, 66, 3, 0, 0, 3, 1, 52,
+	4, 0, 0, 3, 1, 68, 5, 0, 0, 3, 1, 36,
+	6, 0, 0, 3, 1, 52, 7, 0, 0, 3, 1, 36,
+	8, 0, 0, 3, 1, 52, 1, 0, 0, 3, 2, 66,
+	3, 0, 0, 3, 2, 60, 4, 0, 0, 3, 2, 70,
+	5, 0, 0, 3, 2, 36, 6, 0, 0, 3, 2, 60,
+	7, 0, 0, 3, 2, 36, 8, 0, 0, 3, 2, 60,
+	1, 0, 0, 3, 3, 66, 3, 0, 0, 3, 3, 64,
+	4, 0, 0, 3, 3, 70, 5, 0, 0, 3, 3, 36,
+	6, 0, 0, 3, 3, 64, 7, 0, 0, 3, 3, 36,
+	8, 0, 0, 3, 3, 64, 1, 0, 0, 3, 4, 66,
+	3, 0, 0, 3, 4, 68, 4, 0, 0, 3, 4, 70,
+	5, 0, 0, 3, 4, 36, 6, 0, 0, 3, 4, 68,
+	7, 0, 0, 3, 4, 36, 8, 0, 0, 3, 4, 68,
+	1, 0, 0, 3, 5, 66, 3, 0, 0, 3, 5, 76,
+	4, 0, 0, 3, 5, 70, 5, 0, 0, 3, 5, 36,
+	6, 0, 0, 3, 5, 76, 7, 0, 0, 3, 5, 36,
+	8, 0, 0, 3, 5, 76, 1, 0, 0, 3, 6, 66,
+	3, 0, 0, 3, 6, 76, 4, 0, 0, 3, 6, 70,
+	5, 0, 0, 3, 6, 36, 6, 0, 0, 3, 6, 76,
+	7, 0, 0, 3, 6, 36, 8, 0, 0, 3, 6, 76,
+	1, 0, 0, 3, 7, 66, 3, 0, 0, 3, 7, 76,
+	4, 0, 0, 3, 7, 70, 5, 0, 0, 3, 7, 36,
+	6, 0, 0, 3, 7, 76, 7, 0, 0, 3, 7, 36,
+	8, 0, 0, 3, 7, 76, 1, 0, 0, 3, 8, 66,
+	3, 0, 0, 3, 8, 68, 4, 0, 0, 3, 8, 70,
+	5, 0, 0, 3, 8, 36, 6, 0, 0, 3, 8, 68,
+	7, 0, 0, 3, 8, 36, 8, 0, 0, 3, 8, 68,
+	1, 0, 0, 3, 9, 66, 3, 0, 0, 3, 9, 64,
+	4, 0, 0, 3, 9, 70, 5, 0, 0, 3, 9, 36,
+	6, 0, 0, 3, 9, 64, 7, 0, 0, 3, 9, 36,
+	8, 0, 0, 3, 9, 64, 1, 0, 0, 3, 10, 66,
+	3, 0, 0, 3, 10, 60, 4, 0, 0, 3, 10, 70,
+	5, 0, 0, 3, 10, 36, 6, 0, 0, 3, 10, 60,
+	7, 0, 0, 3, 10, 36, 8, 0, 0, 3, 10, 60,
+	1, 0, 0, 3, 11, 66, 3, 0, 0, 3, 11, 52,
+	4, 0, 0, 3, 11, 70, 5, 0, 0, 3, 11, 36,
+	6, 0, 0, 3, 11, 52, 7, 0, 0, 3, 11, 36,
+	8, 0, 0, 3, 11, 52, 1, 0, 0, 3, 12, 66,
+	3, 0, 0, 3, 12, 40, 4, 0, 0, 3, 12, 70,
+	5, 0, 0, 3, 12, 36, 6, 0, 0, 3, 12, 40,
+	7, 0, 0, 3, 12, 36, 8, 0, 0, 3, 12, 40,
+	1, 0, 0, 3, 13, 66, 3, 0, 0, 3, 13, 28,
+	4, 0, 0, 3, 13, 62, 5, 0, 0, 3, 13, 36,
+	6, 0, 0, 3, 13, 28, 7, 0, 0, 3, 13, 36,
+	8, 0, 0, 3, 13, 28, 1, 0, 0, 3, 14, 127,
+	3, 0, 0, 3, 14, 127, 4, 0, 0, 3, 14, 127,
+	5, 0, 0, 3, 14, 127, 6, 0, 0, 3, 14, 127,
+	7, 0, 0, 3, 14, 127, 8, 0, 0, 3, 14, 127,
+	1, 0, 1, 2, 1, 127, 3, 0, 1, 2, 1, 127,
+	4, 0, 1, 2, 1, 127, 5, 0, 1, 2, 1, 127,
+	6, 0, 1, 2, 1, 127, 7, 0, 1, 2, 1, 127,
+	8, 0, 1, 2, 1, 127, 1, 0, 1, 2, 2, 127,
+	3, 0, 1, 2, 2, 127, 4, 0, 1, 2, 2, 127,
+	5, 0, 1, 2, 2, 127, 6, 0, 1, 2, 2, 127,
+	7, 0, 1, 2, 2, 127, 8, 0, 1, 2, 2, 127,
+	1, 0, 1, 2, 3, 72, 3, 0, 1, 2, 3, 52,
+	4, 0, 1, 2, 3, 72, 5, 0, 1, 2, 3, 60,
+	6, 0, 1, 2, 3, 52, 7, 0, 1, 2, 3, 60,
+	8, 0, 1, 2, 3, 52, 1, 0, 1, 2, 4, 72,
+	3, 0, 1, 2, 4, 52, 4, 0, 1, 2, 4, 72,
+	5, 0, 1, 2, 4, 60, 6, 0, 1, 2, 4, 52,
+	7, 0, 1, 2, 4, 60, 8, 0, 1, 2, 4, 52,
+	1, 0, 1, 2, 5, 72, 3, 0, 1, 2, 5, 60,
+	4, 0, 1, 2, 5, 72, 5, 0, 1, 2, 5, 60,
+	6, 0, 1, 2, 5, 60, 7, 0, 1, 2, 5, 60,
+	8, 0, 1, 2, 5, 60, 1, 0, 1, 2, 6, 72,
+	3, 0, 1, 2, 6, 64, 4, 0, 1, 2, 6, 72,
+	5, 0, 1, 2, 6, 60, 6, 0, 1, 2, 6, 64,
+	7, 0, 1, 2, 6, 60, 8, 0, 1, 2, 6, 64,
+	1, 0, 1, 2, 7, 72, 3, 0, 1, 2, 7, 60,
+	4, 0, 1, 2, 7, 72, 5, 0, 1, 2, 7, 60,
+	6, 0, 1, 2, 7, 60, 7, 0, 1, 2, 7, 60,
+	8, 0, 1, 2, 7, 60, 1, 0, 1, 2, 8, 72,
+	3, 0, 1, 2, 8, 52, 4, 0, 1, 2, 8, 72,
+	5, 0, 1, 2, 8, 60, 6, 0, 1, 2, 8, 52,
+	7, 0, 1, 2, 8, 60, 8, 0, 1, 2, 8, 52,
+	1, 0, 1, 2, 9, 72, 3, 0, 1, 2, 9, 52,
+	4, 0, 1, 2, 9, 72, 5, 0, 1, 2, 9, 60,
+	6, 0, 1, 2, 9, 52, 7, 0, 1, 2, 9, 60,
+	8, 0, 1, 2, 9, 52, 1, 0, 1, 2, 10, 72,
+	3, 0, 1, 2, 10, 40, 4, 0, 1, 2, 10, 72,
+	5, 0, 1, 2, 10, 60, 6, 0, 1, 2, 10, 40,
+	7, 0, 1, 2, 10, 60, 8, 0, 1, 2, 10, 40,
+	1, 0, 1, 2, 11, 72, 3, 0, 1, 2, 11, 28,
+	4, 0, 1, 2, 11, 70, 5, 0, 1, 2, 11, 60,
+	6, 0, 1, 2, 11, 28, 7, 0, 1, 2, 11, 60,
+	8, 0, 1, 2, 11, 28, 1, 0, 1, 2, 12, 127,
+	3, 0, 1, 2, 12, 127, 4, 0, 1, 2, 12, 127,
+	5, 0, 1, 2, 12, 127, 6, 0, 1, 2, 12, 127,
+	7, 0, 1, 2, 12, 127, 8, 0, 1, 2, 12, 127,
+	1, 0, 1, 2, 13, 127, 3, 0, 1, 2, 13, 127,
+	4, 0, 1, 2, 13, 127, 5, 0, 1, 2, 13, 127,
+	6, 0, 1, 2, 13, 127, 7, 0, 1, 2, 13, 127,
+	8, 0, 1, 2, 13, 127, 1, 0, 1, 2, 14, 127,
+	3, 0, 1, 2, 14, 127, 4, 0, 1, 2, 14, 127,
+	5, 0, 1, 2, 14, 127, 6, 0, 1, 2, 14, 127,
+	7, 0, 1, 2, 14, 127, 8, 0, 1, 2, 14, 127,
+	1, 0, 1, 3, 1, 127, 3, 0, 1, 3, 1, 127,
+	4, 0, 1, 3, 1, 127, 5, 0, 1, 3, 1, 127,
+	6, 0, 1, 3, 1, 127, 7, 0, 1, 3, 1, 127,
+	8, 0, 1, 3, 1, 127, 1, 0, 1, 3, 2, 127,
+	3, 0, 1, 3, 2, 127, 4, 0, 1, 3, 2, 127,
+	5, 0, 1, 3, 2, 127, 6, 0, 1, 3, 2, 127,
+	7, 0, 1, 3, 2, 127, 8, 0, 1, 3, 2, 127,
+	1, 0, 1, 3, 3, 66, 3, 0, 1, 3, 3, 48,
+	4, 0, 1, 3, 3, 66, 5, 0, 1, 3, 3, 36,
+	6, 0, 1, 3, 3, 48, 7, 0, 1, 3, 3, 36,
+	8, 0, 1, 3, 3, 48, 1, 0, 1, 3, 4, 66,
+	3, 0, 1, 3, 4, 48, 4, 0, 1, 3, 4, 70,
+	5, 0, 1, 3, 4, 36, 6, 0, 1, 3, 4, 48,
+	7, 0, 1, 3, 4, 36, 8, 0, 1, 3, 4, 48,
+	1, 0, 1, 3, 5, 66, 3, 0, 1, 3, 5, 60,
+	4, 0, 1, 3, 5, 70, 5, 0, 1, 3, 5, 36,
+	6, 0, 1, 3, 5, 60, 7, 0, 1, 3, 5, 36,
+	8, 0, 1, 3, 5, 60, 1, 0, 1, 3, 6, 66,
+	3, 0, 1, 3, 6, 64, 4, 0, 1, 3, 6, 70,
+	5, 0, 1, 3, 6, 36, 6, 0, 1, 3, 6, 64,
+	7, 0, 1, 3, 6, 36, 8, 0, 1, 3, 6, 64,
+	1, 0, 1, 3, 7, 66, 3, 0, 1, 3, 7, 60,
+	4, 0, 1, 3, 7, 70, 5, 0, 1, 3, 7, 36,
+	6, 0, 1, 3, 7, 60, 7, 0, 1, 3, 7, 36,
+	8, 0, 1, 3, 7, 60, 1, 0, 1, 3, 8, 66,
+	3, 0, 1, 3, 8, 52, 4, 0, 1, 3, 8, 70,
+	5, 0, 1, 3, 8, 36, 6, 0, 1, 3, 8, 52,
+	7, 0, 1, 3, 8, 36, 8, 0, 1, 3, 8, 52,
+	1, 0, 1, 3, 9, 66, 3, 0, 1, 3, 9, 52,
+	4, 0, 1, 3, 9, 70, 5, 0, 1, 3, 9, 36,
+	6, 0, 1, 3, 9, 52, 7, 0, 1, 3, 9, 36,
+	8, 0, 1, 3, 9, 52, 1, 0, 1, 3, 10, 66,
+	3, 0, 1, 3, 10, 40, 4, 0, 1, 3, 10, 70,
+	5, 0, 1, 3, 10, 36, 6, 0, 1, 3, 10, 40,
+	7, 0, 1, 3, 10, 36, 8, 0, 1, 3, 10, 40,
+	1, 0, 1, 3, 11, 66, 3, 0, 1, 3, 11, 26,
+	4, 0, 1, 3, 11, 66, 5, 0, 1, 3, 11, 36,
+	6, 0, 1, 3, 11, 26, 7, 0, 1, 3, 11, 36,
+	8, 0, 1, 3, 11, 26, 1, 0, 1, 3, 12, 127,
+	3, 0, 1, 3, 12, 127, 4, 0, 1, 3, 12, 127,
+	5, 0, 1, 3, 12, 127, 6, 0, 1, 3, 12, 127,
+	7, 0, 1, 3, 12, 127, 8, 0, 1, 3, 12, 127,
+	1, 0, 1, 3, 13, 127, 3, 0, 1, 3, 13, 127,
+	4, 0, 1, 3, 13, 127, 5, 0, 1, 3, 13, 127,
+	6, 0, 1, 3, 13, 127, 7, 0, 1, 3, 13, 127,
+	8, 0, 1, 3, 13, 127, 1, 0, 1, 3, 14, 127,
+	3, 0, 1, 3, 14, 127, 4, 0, 1, 3, 14, 127,
+	5, 0, 1, 3, 14, 127, 6, 0, 1, 3, 14, 127,
+	7, 0, 1, 3, 14, 127, 8, 0, 1, 3, 14, 127,
+	1, 1, 0, 1, 36, 60, 3, 1, 0, 1, 36, 62,
+	4, 1, 0, 1, 36, 76, 5, 1, 0, 1, 36, 62,
+	6, 1, 0, 1, 36, 64, 7, 1, 0, 1, 36, 54,
+	8, 1, 0, 1, 36, 62, 1, 1, 0, 1, 40, 62,
+	3, 1, 0, 1, 40, 62, 4, 1, 0, 1, 40, 76,
+	5, 1, 0, 1, 40, 62, 6, 1, 0, 1, 40, 64,
+	7, 1, 0, 1, 40, 54, 8, 1, 0, 1, 40, 62,
+	1, 1, 0, 1, 44, 62, 3, 1, 0, 1, 44, 62,
+	4, 1, 0, 1, 44, 76, 5, 1, 0, 1, 44, 62,
+	6, 1, 0, 1, 44, 64, 7, 1, 0, 1, 44, 54,
+	8, 1, 0, 1, 44, 62, 1, 1, 0, 1, 48, 62,
+	3, 1, 0, 1, 48, 62, 4, 1, 0, 1, 48, 76,
+	5, 1, 0, 1, 48, 62, 6, 1, 0, 1, 48, 64,
+	7, 1, 0, 1, 48, 54, 8, 1, 0, 1, 48, 62,
+	1, 1, 0, 1, 52, 62, 3, 1, 0, 1, 52, 64,
+	4, 1, 0, 1, 52, 76, 5, 1, 0, 1, 52, 62,
+	6, 1, 0, 1, 52, 76, 7, 1, 0, 1, 52, 54,
+	8, 1, 0, 1, 52, 76, 1, 1, 0, 1, 56, 62,
+	3, 1, 0, 1, 56, 64, 4, 1, 0, 1, 56, 76,
+	5, 1, 0, 1, 56, 62, 6, 1, 0, 1, 56, 76,
+	7, 1, 0, 1, 56, 54, 8, 1, 0, 1, 56, 76,
+	1, 1, 0, 1, 60, 62, 3, 1, 0, 1, 60, 64,
+	4, 1, 0, 1, 60, 76, 5, 1, 0, 1, 60, 62,
+	6, 1, 0, 1, 60, 76, 7, 1, 0, 1, 60, 54,
+	8, 1, 0, 1, 60, 76, 1, 1, 0, 1, 64, 60,
+	3, 1, 0, 1, 64, 64, 4, 1, 0, 1, 64, 76,
+	5, 1, 0, 1, 64, 62, 6, 1, 0, 1, 64, 74,
+	7, 1, 0, 1, 64, 54, 8, 1, 0, 1, 64, 74,
+	1, 1, 0, 1, 100, 76, 3, 1, 0, 1, 100, 72,
+	4, 1, 0, 1, 100, 76, 5, 1, 0, 1, 100, 62,
+	6, 1, 0, 1, 100, 72, 7, 1, 0, 1, 100, 54,
+	8, 1, 0, 1, 100, 72, 1, 1, 0, 1, 104, 76,
+	3, 1, 0, 1, 104, 76, 4, 1, 0, 1, 104, 76,
+	5, 1, 0, 1, 104, 62, 6, 1, 0, 1, 104, 76,
+	7, 1, 0, 1, 104, 54, 8, 1, 0, 1, 104, 76,
+	1, 1, 0, 1, 108, 76, 3, 1, 0, 1, 108, 76,
+	4, 1, 0, 1, 108, 76, 5, 1, 0, 1, 108, 62,
+	6, 1, 0, 1, 108, 76, 7, 1, 0, 1, 108, 54,
+	8, 1, 0, 1, 108, 76, 1, 1, 0, 1, 112, 76,
+	3, 1, 0, 1, 112, 76, 4, 1, 0, 1, 112, 76,
+	5, 1, 0, 1, 112, 62, 6, 1, 0, 1, 112, 76,
+	7, 1, 0, 1, 112, 54, 8, 1, 0, 1, 112, 76,
+	1, 1, 0, 1, 116, 76, 3, 1, 0, 1, 116, 76,
+	4, 1, 0, 1, 116, 76, 5, 1, 0, 1, 116, 62,
+	6, 1, 0, 1, 116, 76, 7, 1, 0, 1, 116, 54,
+	8, 1, 0, 1, 116, 76, 1, 1, 0, 1, 120, 76,
+	3, 1, 0, 1, 120, 127, 4, 1, 0, 1, 120, 76,
+	5, 1, 0, 1, 120, 127, 6, 1, 0, 1, 120, 76,
+	7, 1, 0, 1, 120, 54, 8, 1, 0, 1, 120, 76,
+	1, 1, 0, 1, 124, 76, 3, 1, 0, 1, 124, 127,
+	4, 1, 0, 1, 124, 76, 5, 1, 0, 1, 124, 127,
+	6, 1, 0, 1, 124, 76, 7, 1, 0, 1, 124, 54,
+	8, 1, 0, 1, 124, 76, 1, 1, 0, 1, 128, 76,
+	3, 1, 0, 1, 128, 127, 4, 1, 0, 1, 128, 76,
+	5, 1, 0, 1, 128, 127, 6, 1, 0, 1, 128, 76,
+	7, 1, 0, 1, 128, 54, 8, 1, 0, 1, 128, 76,
+	1, 1, 0, 1, 132, 76, 3, 1, 0, 1, 132, 76,
+	4, 1, 0, 1, 132, 76, 5, 1, 0, 1, 132, 62,
+	6, 1, 0, 1, 132, 76, 7, 1, 0, 1, 132, 54,
+	8, 1, 0, 1, 132, 76, 1, 1, 0, 1, 136, 76,
+	3, 1, 0, 1, 136, 76, 4, 1, 0, 1, 136, 76,
+	5, 1, 0, 1, 136, 62, 6, 1, 0, 1, 136, 76,
+	7, 1, 0, 1, 136, 127, 8, 1, 0, 1, 136, 76,
+	1, 1, 0, 1, 140, 76, 3, 1, 0, 1, 140, 72,
+	4, 1, 0, 1, 140, 76, 5, 1, 0, 1, 140, 62,
+	6, 1, 0, 1, 140, 72, 7, 1, 0, 1, 140, 127,
+	8, 1, 0, 1, 140, 72, 1, 1, 0, 1, 144, 127,
+	3, 1, 0, 1, 144, 76, 4, 1, 0, 1, 144, 76,
+	5, 1, 0, 1, 144, 127, 6, 1, 0, 1, 144, 76,
+	7, 1, 0, 1, 144, 127, 8, 1, 0, 1, 144, 76,
+	1, 1, 0, 1, 149, 127, 3, 1, 0, 1, 149, 76,
+	4, 1, 0, 1, 149, 74, 5, 1, 0, 1, 149, 76,
+	6, 1, 0, 1, 149, 76, 7, 1, 0, 1, 149, 54,
+	8, 1, 0, 1, 149, 76, 1, 1, 0, 1, 153, 127,
+	3, 1, 0, 1, 153, 76, 4, 1, 0, 1, 153, 74,
+	5, 1, 0, 1, 153, 76, 6, 1, 0, 1, 153, 76,
+	7, 1, 0, 1, 153, 54, 8, 1, 0, 1, 153, 76,
+	1, 1, 0, 1, 157, 127, 3, 1, 0, 1, 157, 76,
+	4, 1, 0, 1, 157, 74, 5, 1, 0, 1, 157, 76,
+	6, 1, 0, 1, 157, 76, 7, 1, 0, 1, 157, 54,
+	8, 1, 0, 1, 157, 76, 1, 1, 0, 1, 161, 127,
+	3, 1, 0, 1, 161, 76, 4, 1, 0, 1, 161, 74,
+	5, 1, 0, 1, 161, 76, 6, 1, 0, 1, 161, 76,
+	7, 1, 0, 1, 161, 54, 8, 1, 0, 1, 161, 76,
+	1, 1, 0, 1, 165, 127, 3, 1, 0, 1, 165, 76,
+	4, 1, 0, 1, 165, 74, 5, 1, 0, 1, 165, 76,
+	6, 1, 0, 1, 165, 76, 7, 1, 0, 1, 165, 54,
+	8, 1, 0, 1, 165, 76, 1, 1, 0, 2, 36, 62,
+	3, 1, 0, 2, 36, 62, 4, 1, 0, 2, 36, 76,
+	5, 1, 0, 2, 36, 62, 6, 1, 0, 2, 36, 64,
+	7, 1, 0, 2, 36, 54, 8, 1, 0, 2, 36, 62,
+	1, 1, 0, 2, 40, 62, 3, 1, 0, 2, 40, 62,
+	4, 1, 0, 2, 40, 76, 5, 1, 0, 2, 40, 62,
+	6, 1, 0, 2, 40, 64, 7, 1, 0, 2, 40, 54,
+	8, 1, 0, 2, 40, 62, 1, 1, 0, 2, 44, 62,
+	3, 1, 0, 2, 44, 62, 4, 1, 0, 2, 44, 76,
+	5, 1, 0, 2, 44, 62, 6, 1, 0, 2, 44, 64,
+	7, 1, 0, 2, 44, 54, 8, 1, 0, 2, 44, 62,
+	1, 1, 0, 2, 48, 62, 3, 1, 0, 2, 48, 62,
+	4, 1, 0, 2, 48, 76, 5, 1, 0, 2, 48, 62,
+	6, 1, 0, 2, 48, 64, 7, 1, 0, 2, 48, 54,
+	8, 1, 0, 2, 48, 62, 1, 1, 0, 2, 52, 62,
+	3, 1, 0, 2, 52, 64, 4, 1, 0, 2, 52, 76,
+	5, 1, 0, 2, 52, 62, 6, 1, 0, 2, 52, 76,
+	7, 1, 0, 2, 52, 54, 8, 1, 0, 2, 52, 76,
+	1, 1, 0, 2, 56, 62, 3, 1, 0, 2, 56, 64,
+	4, 1, 0, 2, 56, 76, 5, 1, 0, 2, 56, 62,
+	6, 1, 0, 2, 56, 76, 7, 1, 0, 2, 56, 54,
+	8, 1, 0, 2, 56, 76, 1, 1, 0, 2, 60, 62,
+	3, 1, 0, 2, 60, 64, 4, 1, 0, 2, 60, 76,
+	5, 1, 0, 2, 60, 62, 6, 1, 0, 2, 60, 76,
+	7, 1, 0, 2, 60, 54, 8, 1, 0, 2, 60, 76,
+	1, 1, 0, 2, 64, 60, 3, 1, 0, 2, 64, 64,
+	4, 1, 0, 2, 64, 74, 5, 1, 0, 2, 64, 62,
+	6, 1, 0, 2, 64, 74, 7, 1, 0, 2, 64, 54,
+	8, 1, 0, 2, 64, 74, 1, 1, 0, 2, 100, 76,
+	3, 1, 0, 2, 100, 70, 4, 1, 0, 2, 100, 76,
+	5, 1, 0, 2, 100, 62, 6, 1, 0, 2, 100, 70,
+	7, 1, 0, 2, 100, 54, 8, 1, 0, 2, 100, 70,
+	1, 1, 0, 2, 104, 76, 3, 1, 0, 2, 104, 76,
+	4, 1, 0, 2, 104, 76, 5, 1, 0, 2, 104, 62,
+	6, 1, 0, 2, 104, 76, 7, 1, 0, 2, 104, 54,
+	8, 1, 0, 2, 104, 76, 1, 1, 0, 2, 108, 76,
+	3, 1, 0, 2, 108, 76, 4, 1, 0, 2, 108, 76,
+	5, 1, 0, 2, 108, 62, 6, 1, 0, 2, 108, 76,
+	7, 1, 0, 2, 108, 54, 8, 1, 0, 2, 108, 76,
+	1, 1, 0, 2, 112, 76, 3, 1, 0, 2, 112, 76,
+	4, 1, 0, 2, 112, 76, 5, 1, 0, 2, 112, 62,
+	6, 1, 0, 2, 112, 76, 7, 1, 0, 2, 112, 54,
+	8, 1, 0, 2, 112, 76, 1, 1, 0, 2, 116, 76,
+	3, 1, 0, 2, 116, 76, 4, 1, 0, 2, 116, 76,
+	5, 1, 0, 2, 116, 62, 6, 1, 0, 2, 116, 76,
+	7, 1, 0, 2, 116, 54, 8, 1, 0, 2, 116, 76,
+	1, 1, 0, 2, 120, 76, 3, 1, 0, 2, 120, 127,
+	4, 1, 0, 2, 120, 76, 5, 1, 0, 2, 120, 127,
+	6, 1, 0, 2, 120, 76, 7, 1, 0, 2, 120, 54,
+	8, 1, 0, 2, 120, 76, 1, 1, 0, 2, 124, 76,
+	3, 1, 0, 2, 124, 127, 4, 1, 0, 2, 124, 76,
+	5, 1, 0, 2, 124, 127, 6, 1, 0, 2, 124, 76,
+	7, 1, 0, 2, 124, 54, 8, 1, 0, 2, 124, 76,
+	1, 1, 0, 2, 128, 76, 3, 1, 0, 2, 128, 127,
+	4, 1, 0, 2, 128, 76, 5, 1, 0, 2, 128, 127,
+	6, 1, 0, 2, 128, 76, 7, 1, 0, 2, 128, 54,
+	8, 1, 0, 2, 128, 76, 1, 1, 0, 2, 132, 76,
+	3, 1, 0, 2, 132, 76, 4, 1, 0, 2, 132, 76,
+	5, 1, 0, 2, 132, 62, 6, 1, 0, 2, 132, 76,
+	7, 1, 0, 2, 132, 54, 8, 1, 0, 2, 132, 76,
+	1, 1, 0, 2, 136, 76, 3, 1, 0, 2, 136, 76,
+	4, 1, 0, 2, 136, 76, 5, 1, 0, 2, 136, 62,
+	6, 1, 0, 2, 136, 76, 7, 1, 0, 2, 136, 127,
+	8, 1, 0, 2, 136, 76, 1, 1, 0, 2, 140, 76,
+	3, 1, 0, 2, 140, 70, 4, 1, 0, 2, 140, 76,
+	5, 1, 0, 2, 140, 62, 6, 1, 0, 2, 140, 70,
+	7, 1, 0, 2, 140, 127, 8, 1, 0, 2, 140, 70,
+	1, 1, 0, 2, 144, 127, 3, 1, 0, 2, 144, 76,
+	4, 1, 0, 2, 144, 76, 5, 1, 0, 2, 144, 127,
+	6, 1, 0, 2, 144, 76, 7, 1, 0, 2, 144, 127,
+	8, 1, 0, 2, 144, 76, 1, 1, 0, 2, 149, 127,
+	3, 1, 0, 2, 149, 76, 4, 1, 0, 2, 149, 74,
+	5, 1, 0, 2, 149, 76, 6, 1, 0, 2, 149, 76,
+	7, 1, 0, 2, 149, 54, 8, 1, 0, 2, 149, 76,
+	1, 1, 0, 2, 153, 127, 3, 1, 0, 2, 153, 76,
+	4, 1, 0, 2, 153, 74, 5, 1, 0, 2, 153, 76,
+	6, 1, 0, 2, 153, 76, 7, 1, 0, 2, 153, 54,
+	8, 1, 0, 2, 153, 76, 1, 1, 0, 2, 157, 127,
+	3, 1, 0, 2, 157, 76, 4, 1, 0, 2, 157, 74,
+	5, 1, 0, 2, 157, 76, 6, 1, 0, 2, 157, 76,
+	7, 1, 0, 2, 157, 54, 8, 1, 0, 2, 157, 76,
+	1, 1, 0, 2, 161, 127, 3, 1, 0, 2, 161, 76,
+	4, 1, 0, 2, 161, 74, 5, 1, 0, 2, 161, 76,
+	6, 1, 0, 2, 161, 76, 7, 1, 0, 2, 161, 54,
+	8, 1, 0, 2, 161, 76, 1, 1, 0, 2, 165, 127,
+	3, 1, 0, 2, 165, 76, 4, 1, 0, 2, 165, 74,
+	5, 1, 0, 2, 165, 76, 6, 1, 0, 2, 165, 76,
+	7, 1, 0, 2, 165, 54, 8, 1, 0, 2, 165, 76,
+	1, 1, 0, 3, 36, 50, 3, 1, 0, 3, 36, 38,
+	4, 1, 0, 3, 36, 66, 5, 1, 0, 3, 36, 38,
+	6, 1, 0, 3, 36, 52, 7, 1, 0, 3, 36, 30,
+	8, 1, 0, 3, 36, 50, 1, 1, 0, 3, 40, 50,
+	3, 1, 0, 3, 40, 38, 4, 1, 0, 3, 40, 66,
+	5, 1, 0, 3, 40, 38, 6, 1, 0, 3, 40, 52,
+	7, 1, 0, 3, 40, 30, 8, 1, 0, 3, 40, 50,
+	1, 1, 0, 3, 44, 50, 3, 1, 0, 3, 44, 38,
+	4, 1, 0, 3, 44, 66, 5, 1, 0, 3, 44, 38,
+	6, 1, 0, 3, 44, 52, 7, 1, 0, 3, 44, 30,
+	8, 1, 0, 3, 44, 50, 1, 1, 0, 3, 48, 50,
+	3, 1, 0, 3, 48, 38, 4, 1, 0, 3, 48, 66,
+	5, 1, 0, 3, 48, 38, 6, 1, 0, 3, 48, 52,
+	7, 1, 0, 3, 48, 30, 8, 1, 0, 3, 48, 50,
+	1, 1, 0, 3, 52, 50, 3, 1, 0, 3, 52, 40,
+	4, 1, 0, 3, 52, 66, 5, 1, 0, 3, 52, 38,
+	6, 1, 0, 3, 52, 68, 7, 1, 0, 3, 52, 30,
+	8, 1, 0, 3, 52, 68, 1, 1, 0, 3, 56, 50,
+	3, 1, 0, 3, 56, 40, 4, 1, 0, 3, 56, 66,
+	5, 1, 0, 3, 56, 38, 6, 1, 0, 3, 56, 68,
+	7, 1, 0, 3, 56, 30, 8, 1, 0, 3, 56, 68,
+	1, 1, 0, 3, 60, 50, 3, 1, 0, 3, 60, 40,
+	4, 1, 0, 3, 60, 66, 5, 1, 0, 3, 60, 38,
+	6, 1, 0, 3, 60, 66, 7, 1, 0, 3, 60, 30,
+	8, 1, 0, 3, 60, 66, 1, 1, 0, 3, 64, 50,
+	3, 1, 0, 3, 64, 40, 4, 1, 0, 3, 64, 66,
+	5, 1, 0, 3, 64, 38, 6, 1, 0, 3, 64, 68,
+	7, 1, 0, 3, 64, 30, 8, 1, 0, 3, 64, 68,
+	1, 1, 0, 3, 100, 70, 3, 1, 0, 3, 100, 60,
+	4, 1, 0, 3, 100, 64, 5, 1, 0, 3, 100, 38,
+	6, 1, 0, 3, 100, 60, 7, 1, 0, 3, 100, 30,
+	8, 1, 0, 3, 100, 60, 1, 1, 0, 3, 104, 70,
+	3, 1, 0, 3, 104, 68, 4, 1, 0, 3, 104, 64,
+	5, 1, 0, 3, 104, 38, 6, 1, 0, 3, 104, 68,
+	7, 1, 0, 3, 104, 30, 8, 1, 0, 3, 104, 68,
+	1, 1, 0, 3, 108, 70, 3, 1, 0, 3, 108, 68,
+	4, 1, 0, 3, 108, 64, 5, 1, 0, 3, 108, 38,
+	6, 1, 0, 3, 108, 68, 7, 1, 0, 3, 108, 30,
+	8, 1, 0, 3, 108, 68, 1, 1, 0, 3, 112, 70,
+	3, 1, 0, 3, 112, 68, 4, 1, 0, 3, 112, 64,
+	5, 1, 0, 3, 112, 38, 6, 1, 0, 3, 112, 68,
+	7, 1, 0, 3, 112, 30, 8, 1, 0, 3, 112, 68,
+	1, 1, 0, 3, 116, 70, 3, 1, 0, 3, 116, 68,
+	4, 1, 0, 3, 116, 64, 5, 1, 0, 3, 116, 38,
+	6, 1, 0, 3, 116, 68, 7, 1, 0, 3, 116, 30,
+	8, 1, 0, 3, 116, 68, 1, 1, 0, 3, 120, 70,
+	3, 1, 0, 3, 120, 127, 4, 1, 0, 3, 120, 64,
+	5, 1, 0, 3, 120, 127, 6, 1, 0, 3, 120, 68,
+	7, 1, 0, 3, 120, 30, 8, 1, 0, 3, 120, 68,
+	1, 1, 0, 3, 124, 70, 3, 1, 0, 3, 124, 127,
+	4, 1, 0, 3, 124, 64, 5, 1, 0, 3, 124, 127,
+	6, 1, 0, 3, 124, 68, 7, 1, 0, 3, 124, 30,
+	8, 1, 0, 3, 124, 68, 1, 1, 0, 3, 128, 70,
+	3, 1, 0, 3, 128, 127, 4, 1, 0, 3, 128, 64,
+	5, 1, 0, 3, 128, 127, 6, 1, 0, 3, 128, 68,
+	7, 1, 0, 3, 128, 30, 8, 1, 0, 3, 128, 68,
+	1, 1, 0, 3, 132, 70, 3, 1, 0, 3, 132, 68,
+	4, 1, 0, 3, 132, 64, 5, 1, 0, 3, 132, 38,
+	6, 1, 0, 3, 132, 68, 7, 1, 0, 3, 132, 30,
+	8, 1, 0, 3, 132, 68, 1, 1, 0, 3, 136, 70,
+	3, 1, 0, 3, 136, 68, 4, 1, 0, 3, 136, 64,
+	5, 1, 0, 3, 136, 38, 6, 1, 0, 3, 136, 68,
+	7, 1, 0, 3, 136, 127, 8, 1, 0, 3, 136, 68,
+	1, 1, 0, 3, 140, 70, 3, 1, 0, 3, 140, 60,
+	4, 1, 0, 3, 140, 64, 5, 1, 0, 3, 140, 38,
+	6, 1, 0, 3, 140, 60, 7, 1, 0, 3, 140, 127,
+	8, 1, 0, 3, 140, 60, 1, 1, 0, 3, 144, 127,
+	3, 1, 0, 3, 144, 68, 4, 1, 0, 3, 144, 64,
+	5, 1, 0, 3, 144, 127, 6, 1, 0, 3, 144, 68,
+	7, 1, 0, 3, 144, 127, 8, 1, 0, 3, 144, 68,
+	1, 1, 0, 3, 149, 127, 3, 1, 0, 3, 149, 76,
+	4, 1, 0, 3, 149, 60, 5, 1, 0, 3, 149, 76,
+	6, 1, 0, 3, 149, 76, 7, 1, 0, 3, 149, 30,
+	8, 1, 0, 3, 149, 72, 1, 1, 0, 3, 153, 127,
+	3, 1, 0, 3, 153, 76, 4, 1, 0, 3, 153, 60,
+	5, 1, 0, 3, 153, 76, 6, 1, 0, 3, 153, 76,
+	7, 1, 0, 3, 153, 30, 8, 1, 0, 3, 153, 76,
+	1, 1, 0, 3, 157, 127, 3, 1, 0, 3, 157, 76,
+	4, 1, 0, 3, 157, 60, 5, 1, 0, 3, 157, 76,
+	6, 1, 0, 3, 157, 76, 7, 1, 0, 3, 157, 30,
+	8, 1, 0, 3, 157, 76, 1, 1, 0, 3, 161, 127,
+	3, 1, 0, 3, 161, 76, 4, 1, 0, 3, 161, 60,
+	5, 1, 0, 3, 161, 76, 6, 1, 0, 3, 161, 76,
+	7, 1, 0, 3, 161, 30, 8, 1, 0, 3, 161, 76,
+	1, 1, 0, 3, 165, 127, 3, 1, 0, 3, 165, 76,
+	4, 1, 0, 3, 165, 60, 5, 1, 0, 3, 165, 76,
+	6, 1, 0, 3, 165, 76, 7, 1, 0, 3, 165, 30,
+	8, 1, 0, 3, 165, 76, 1, 1, 1, 2, 38, 62,
+	3, 1, 1, 2, 38, 64, 4, 1, 1, 2, 38, 72,
+	5, 1, 1, 2, 38, 64, 6, 1, 1, 2, 38, 64,
+	7, 1, 1, 2, 38, 54, 8, 1, 1, 2, 38, 62,
+	1, 1, 1, 2, 46, 62, 3, 1, 1, 2, 46, 64,
+	4, 1, 1, 2, 46, 72, 5, 1, 1, 2, 46, 64,
+	6, 1, 1, 2, 46, 64, 7, 1, 1, 2, 46, 54,
+	8, 1, 1, 2, 46, 62, 1, 1, 1, 2, 54, 62,
+	3, 1, 1, 2, 54, 64, 4, 1, 1, 2, 54, 72,
+	5, 1, 1, 2, 54, 64, 6, 1, 1, 2, 54, 72,
+	7, 1, 1, 2, 54, 54, 8, 1, 1, 2, 54, 72,
+	1, 1, 1, 2, 62, 62, 3, 1, 1, 2, 62, 64,
+	4, 1, 1, 2, 62, 70, 5, 1, 1, 2, 62, 64,
+	6, 1, 1, 2, 62, 64, 7, 1, 1, 2, 62, 54,
+	8, 1, 1, 2, 62, 64, 1, 1, 1, 2, 102, 72,
+	3, 1, 1, 2, 102, 58, 4, 1, 1, 2, 102, 72,
+	5, 1, 1, 2, 102, 64, 6, 1, 1, 2, 102, 58,
+	7, 1, 1, 2, 102, 54, 8, 1, 1, 2, 102, 58,
+	1, 1, 1, 2, 110, 72, 3, 1, 1, 2, 110, 72,
+	4, 1, 1, 2, 110, 72, 5, 1, 1, 2, 110, 64,
+	6, 1, 1, 2, 110, 72, 7, 1, 1, 2, 110, 54,
+	8, 1, 1, 2, 110, 72, 1, 1, 1, 2, 118, 72,
+	3, 1, 1, 2, 118, 127, 4, 1, 1, 2, 118, 72,
+	5, 1, 1, 2, 118, 127, 6, 1, 1, 2, 118, 72,
+	7, 1, 1, 2, 118, 54, 8, 1, 1, 2, 118, 72,
+	1, 1, 1, 2, 126, 72, 3, 1, 1, 2, 126, 127,
+	4, 1, 1, 2, 126, 72, 5, 1, 1, 2, 126, 127,
+	6, 1, 1, 2, 126, 72, 7, 1, 1, 2, 126, 54,
+	8, 1, 1, 2, 126, 72, 1, 1, 1, 2, 134, 72,
+	3, 1, 1, 2, 134, 72, 4, 1, 1, 2, 134, 72,
+	5, 1, 1, 2, 134, 64, 6, 1, 1, 2, 134, 72,
+	7, 1, 1, 2, 134, 127, 8, 1, 1, 2, 134, 72,
+	1, 1, 1, 2, 142, 127, 3, 1, 1, 2, 142, 72,
+	4, 1, 1, 2, 142, 72, 5, 1, 1, 2, 142, 127,
+	6, 1, 1, 2, 142, 72, 7, 1, 1, 2, 142, 127,
+	8, 1, 1, 2, 142, 72, 1, 1, 1, 2, 151, 127,
+	3, 1, 1, 2, 151, 72, 4, 1, 1, 2, 151, 72,
+	5, 1, 1, 2, 151, 72, 6, 1, 1, 2, 151, 72,
+	7, 1, 1, 2, 151, 54, 8, 1, 1, 2, 151, 72,
+	1, 1, 1, 2, 159, 127, 3, 1, 1, 2, 159, 72,
+	4, 1, 1, 2, 159, 72, 5, 1, 1, 2, 159, 72,
+	6, 1, 1, 2, 159, 72, 7, 1, 1, 2, 159, 54,
+	8, 1, 1, 2, 159, 72, 1, 1, 1, 3, 38, 50,
+	3, 1, 1, 3, 38, 40, 4, 1, 1, 3, 38, 62,
+	5, 1, 1, 3, 38, 40, 6, 1, 1, 3, 38, 52,
+	7, 1, 1, 3, 38, 30, 8, 1, 1, 3, 38, 50,
+	1, 1, 1, 3, 46, 50, 3, 1, 1, 3, 46, 40,
+	4, 1, 1, 3, 46, 62, 5, 1, 1, 3, 46, 40,
+	6, 1, 1, 3, 46, 52, 7, 1, 1, 3, 46, 30,
+	8, 1, 1, 3, 46, 50, 1, 1, 1, 3, 54, 50,
+	3, 1, 1, 3, 54, 40, 4, 1, 1, 3, 54, 62,
+	5, 1, 1, 3, 54, 40, 6, 1, 1, 3, 54, 68,
+	7, 1, 1, 3, 54, 30, 8, 1, 1, 3, 54, 68,
+	1, 1, 1, 3, 62, 48, 3, 1, 1, 3, 62, 40,
+	4, 1, 1, 3, 62, 58, 5, 1, 1, 3, 62, 40,
+	6, 1, 1, 3, 62, 58, 7, 1, 1, 3, 62, 30,
+	8, 1, 1, 3, 62, 58, 1, 1, 1, 3, 102, 70,
+	3, 1, 1, 3, 102, 54, 4, 1, 1, 3, 102, 64,
+	5, 1, 1, 3, 102, 40, 6, 1, 1, 3, 102, 54,
+	7, 1, 1, 3, 102, 30, 8, 1, 1, 3, 102, 54,
+	1, 1, 1, 3, 110, 70, 3, 1, 1, 3, 110, 68,
+	4, 1, 1, 3, 110, 64, 5, 1, 1, 3, 110, 40,
+	6, 1, 1, 3, 110, 68, 7, 1, 1, 3, 110, 30,
+	8, 1, 1, 3, 110, 68, 1, 1, 1, 3, 118, 70,
+	3, 1, 1, 3, 118, 127, 4, 1, 1, 3, 118, 64,
+	5, 1, 1, 3, 118, 127, 6, 1, 1, 3, 118, 68,
+	7, 1, 1, 3, 118, 30, 8, 1, 1, 3, 118, 68,
+	1, 1, 1, 3, 126, 70, 3, 1, 1, 3, 126, 127,
+	4, 1, 1, 3, 126, 64, 5, 1, 1, 3, 126, 127,
+	6, 1, 1, 3, 126, 68, 7, 1, 1, 3, 126, 30,
+	8, 1, 1, 3, 126, 68, 1, 1, 1, 3, 134, 70,
+	3, 1, 1, 3, 134, 68, 4, 1, 1, 3, 134, 64,
+	5, 1, 1, 3, 134, 40, 6, 1, 1, 3, 134, 68,
+	7, 1, 1, 3, 134, 127, 8, 1, 1, 3, 134, 68,
+	1, 1, 1, 3, 142, 127, 3, 1, 1, 3, 142, 68,
+	4, 1, 1, 3, 142, 64, 5, 1, 1, 3, 142, 127,
+	6, 1, 1, 3, 142, 68, 7, 1, 1, 3, 142, 127,
+	8, 1, 1, 3, 142, 68, 1, 1, 1, 3, 151, 127,
+	3, 1, 1, 3, 151, 72, 4, 1, 1, 3, 151, 66,
+	5, 1, 1, 3, 151, 72, 6, 1, 1, 3, 151, 72,
+	7, 1, 1, 3, 151, 30, 8, 1, 1, 3, 151, 68,
+	1, 1, 1, 3, 159, 127, 3, 1, 1, 3, 159, 72,
+	4, 1, 1, 3, 159, 66, 5, 1, 1, 3, 159, 72,
+	6, 1, 1, 3, 159, 72, 7, 1, 1, 3, 159, 30,
+	8, 1, 1, 3, 159, 72, 1, 1, 2, 4, 42, 64,
+	3, 1, 2, 4, 42, 64, 4, 1, 2, 4, 42, 68,
+	5, 1, 2, 4, 42, 64, 6, 1, 2, 4, 42, 64,
+	7, 1, 2, 4, 42, 54, 8, 1, 2, 4, 42, 62,
+	1, 1, 2, 4, 58, 64, 3, 1, 2, 4, 58, 62,
+	4, 1, 2, 4, 58, 64, 5, 1, 2, 4, 58, 64,
+	6, 1, 2, 4, 58, 62, 7, 1, 2, 4, 58, 54,
+	8, 1, 2, 4, 58, 62, 1, 1, 2, 4, 106, 72,
+	3, 1, 2, 4, 106, 58, 4, 1, 2, 4, 106, 66,
+	5, 1, 2, 4, 106, 64, 6, 1, 2, 4, 106, 58,
+	7, 1, 2, 4, 106, 54, 8, 1, 2, 4, 106, 58,
+	1, 1, 2, 4, 122, 72, 3, 1, 2, 4, 122, 127,
+	4, 1, 2, 4, 122, 68, 5, 1, 2, 4, 122, 127,
+	6, 1, 2, 4, 122, 72, 7, 1, 2, 4, 122, 54,
+	8, 1, 2, 4, 122, 72, 1, 1, 2, 4, 138, 127,
+	3, 1, 2, 4, 138, 72, 4, 1, 2, 4, 138, 68,
+	5, 1, 2, 4, 138, 127, 6, 1, 2, 4, 138, 72,
+	7, 1, 2, 4, 138, 127, 8, 1, 2, 4, 138, 72,
+	1, 1, 2, 4, 155, 127, 3, 1, 2, 4, 155, 72,
+	4, 1, 2, 4, 155, 68, 5, 1, 2, 4, 155, 72,
+	6, 1, 2, 4, 155, 72, 7, 1, 2, 4, 155, 54,
+	8, 1, 2, 4, 155, 68, 1, 1, 2, 5, 42, 50,
+	3, 1, 2, 5, 42, 40, 4, 1, 2, 5, 42, 58,
+	5, 1, 2, 5, 42, 40, 6, 1, 2, 5, 42, 52,
+	7, 1, 2, 5, 42, 30, 8, 1, 2, 5, 42, 50,
+	1, 1, 2, 5, 58, 50, 3, 1, 2, 5, 58, 40,
+	4, 1, 2, 5, 58, 56, 5, 1, 2, 5, 58, 40,
+	6, 1, 2, 5, 58, 52, 7, 1, 2, 5, 58, 30,
+	8, 1, 2, 5, 58, 52, 1, 1, 2, 5, 106, 72,
+	3, 1, 2, 5, 106, 50, 4, 1, 2, 5, 106, 56,
+	5, 1, 2, 5, 106, 40, 6, 1, 2, 5, 106, 50,
+	7, 1, 2, 5, 106, 30, 8, 1, 2, 5, 106, 50,
+	1, 1, 2, 5, 122, 72, 3, 1, 2, 5, 122, 127,
+	4, 1, 2, 5, 122, 56, 5, 1, 2, 5, 122, 127,
+	6, 1, 2, 5, 122, 66, 7, 1, 2, 5, 122, 30,
+	8, 1, 2, 5, 122, 66, 1, 1, 2, 5, 138, 127,
+	3, 1, 2, 5, 138, 66, 4, 1, 2, 5, 138, 58,
+	5, 1, 2, 5, 138, 127, 6, 1, 2, 5, 138, 66,
+	7, 1, 2, 5, 138, 127, 8, 1, 2, 5, 138, 66,
+	1, 1, 2, 5, 155, 127, 3, 1, 2, 5, 155, 62,
+	4, 1, 2, 5, 155, 58, 5, 1, 2, 5, 155, 72,
+	6, 1, 2, 5, 155, 62, 7, 1, 2, 5, 155, 30,
+	8, 1, 2, 5, 155, 62
 };
 
 RTW_DECL_TABLE_TXPWR_LMT(rtw8822c_txpwr_lmt_type0);
-- 
2.7.4


^ permalink raw reply related

* [PATCH 05/11] rtw88: fix incorrect tx power limit at 5G
From: yhchuang @ 2019-05-29  7:54 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless
In-Reply-To: <1559116487-5244-1-git-send-email-yhchuang@realtek.com>

From: Yan-Hsuan Chuang <yhchuang@realtek.com>

Tx power limit is stored separately by 2G and 5G.
But driver did not get tx power limit from 5G and causes incorrect tx
power. Check if the channel is beyond 2G and get the corresponding tx
power limit.

Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
---
 drivers/net/wireless/realtek/rtw88/phy.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/phy.c b/drivers/net/wireless/realtek/rtw88/phy.c
index a7c7fd1..ac6912a 100644
--- a/drivers/net/wireless/realtek/rtw88/phy.c
+++ b/drivers/net/wireless/realtek/rtw88/phy.c
@@ -1461,15 +1461,6 @@ static u8 rtw_phy_get_5g_tx_power_index(struct rtw_dev *rtwdev,
 	return tx_power;
 }
 
-static s8 __rtw_phy_get_tx_power_limit(struct rtw_hal *hal,
-				       u8 bw, u8 rs, u8 ch, u8 regd)
-{
-	if (regd > RTW_REGD_WW)
-		return RTW_MAX_POWER_INDEX;
-
-	return hal->tx_pwr_limit_2g[regd][bw][rs][ch];
-}
-
 static s8 rtw_phy_get_tx_power_limit(struct rtw_dev *rtwdev, u8 band,
 				     enum rtw_bandwidth bw, u8 rf_path,
 				     u8 rate, u8 channel, u8 regd)
@@ -1479,6 +1470,9 @@ static s8 rtw_phy_get_tx_power_limit(struct rtw_dev *rtwdev, u8 band,
 	u8 rs;
 	int ch_idx;
 
+	if (regd > RTW_REGD_WW)
+		return RTW_MAX_POWER_INDEX;
+
 	if (rate >= DESC_RATE1M && rate <= DESC_RATE11M)
 		rs = RTW_RATE_SECTION_CCK;
 	else if (rate >= DESC_RATE6M && rate <= DESC_RATE54M)
@@ -1498,7 +1492,10 @@ static s8 rtw_phy_get_tx_power_limit(struct rtw_dev *rtwdev, u8 band,
 	if (ch_idx < 0)
 		goto err;
 
-	power_limit = __rtw_phy_get_tx_power_limit(hal, bw, rs, ch_idx, regd);
+	if (channel <= RTW_MAX_CHANNEL_NUM_2G)
+		power_limit = hal->tx_pwr_limit_2g[regd][bw][rs][ch_idx];
+	else
+		power_limit = hal->tx_pwr_limit_5g[regd][bw][rs][ch_idx];
 
 	return power_limit;
 
-- 
2.7.4


^ permalink raw reply related

* [PATCH 06/11] rtw88: choose the lowest as world-wide power limit
From: yhchuang @ 2019-05-29  7:54 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless
In-Reply-To: <1559116487-5244-1-git-send-email-yhchuang@realtek.com>

From: Yan-Hsuan Chuang <yhchuang@realtek.com>

When we are loading tx power limit from the power limit table, compare
the world-wide limit with the current limit and choose the lowest power
limit for the world-wide power settings.

Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
---
 drivers/net/wireless/realtek/rtw88/phy.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/phy.c b/drivers/net/wireless/realtek/rtw88/phy.c
index ac6912a..91f8b61 100644
--- a/drivers/net/wireless/realtek/rtw88/phy.c
+++ b/drivers/net/wireless/realtek/rtw88/phy.c
@@ -1165,6 +1165,7 @@ static void rtw_phy_set_tx_power_limit(struct rtw_dev *rtwdev, u8 regd, u8 band,
 				       u8 bw, u8 rs, u8 ch, s8 pwr_limit)
 {
 	struct rtw_hal *hal = &rtwdev->hal;
+	s8 ww;
 	int ch_idx;
 
 	pwr_limit = clamp_t(s8, pwr_limit,
@@ -1179,10 +1180,17 @@ static void rtw_phy_set_tx_power_limit(struct rtw_dev *rtwdev, u8 regd, u8 band,
 		return;
 	}
 
-	if (band == PHY_BAND_2G)
+	if (band == PHY_BAND_2G) {
 		hal->tx_pwr_limit_2g[regd][bw][rs][ch_idx] = pwr_limit;
-	else if (band == PHY_BAND_5G)
+		ww = hal->tx_pwr_limit_2g[RTW_REGD_WW][bw][rs][ch_idx];
+		ww = min_t(s8, ww, pwr_limit);
+		hal->tx_pwr_limit_2g[RTW_REGD_WW][bw][rs][ch_idx] = ww;
+	} else if (band == PHY_BAND_5G) {
 		hal->tx_pwr_limit_5g[regd][bw][rs][ch_idx] = pwr_limit;
+		ww = hal->tx_pwr_limit_5g[RTW_REGD_WW][bw][rs][ch_idx];
+		ww = min_t(s8, ww, pwr_limit);
+		hal->tx_pwr_limit_5g[RTW_REGD_WW][bw][rs][ch_idx] = ww;
+	}
 }
 
 void rtw_parse_tbl_txpwr_lmt(struct rtw_dev *rtwdev,
-- 
2.7.4


^ permalink raw reply related

* [PATCH 03/11] rtw88: unify prefixes for tx power setting routine
From: yhchuang @ 2019-05-29  7:54 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless
In-Reply-To: <1559116487-5244-1-git-send-email-yhchuang@realtek.com>

From: Yan-Hsuan Chuang <yhchuang@realtek.com>

Rename the function names to make them have the same prefix "rtw_phy"
for the tx power setting routines. Only the function names and
corresponding identation are modified.

Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
---
 drivers/net/wireless/realtek/rtw88/main.c |   2 +-
 drivers/net/wireless/realtek/rtw88/phy.c  | 128 +++++++++++++++---------------
 drivers/net/wireless/realtek/rtw88/phy.h  |   2 +-
 3 files changed, 66 insertions(+), 66 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
index b2dac460..f1ea5aa 100644
--- a/drivers/net/wireless/realtek/rtw88/main.c
+++ b/drivers/net/wireless/realtek/rtw88/main.c
@@ -1042,7 +1042,7 @@ static int rtw_chip_board_info_setup(struct rtw_dev *rtwdev)
 
 	rtw_phy_setup_phy_cond(rtwdev, 0);
 
-	rtw_hw_init_tx_power(hal);
+	rtw_phy_init_tx_power(hal);
 	rtw_load_table(rtwdev, rfe_def->phy_pg_tbl);
 	rtw_load_table(rtwdev, rfe_def->txpwr_lmt_tbl);
 	rtw_phy_tx_power_by_rate_config(hal);
diff --git a/drivers/net/wireless/realtek/rtw88/phy.c b/drivers/net/wireless/realtek/rtw88/phy.c
index d4bcc89..9733dba 100644
--- a/drivers/net/wireless/realtek/rtw88/phy.c
+++ b/drivers/net/wireless/realtek/rtw88/phy.c
@@ -774,10 +774,10 @@ static u8 tbl_to_dec_pwr_by_rate(struct rtw_dev *rtwdev, u32 hex, u8 i)
 	return (hex >> (i * 8)) & 0xFF;
 }
 
-static void phy_get_rate_values_of_txpwr_by_rate(struct rtw_dev *rtwdev,
-						 u32 addr, u32 mask,
-						 u32 val, u8 *rate,
-						 u8 *pwr_by_rate, u8 *rate_num)
+static void
+rtw_phy_get_rate_values_of_txpwr_by_rate(struct rtw_dev *rtwdev,
+					 u32 addr, u32 mask, u32 val, u8 *rate,
+					 u8 *pwr_by_rate, u8 *rate_num)
 {
 	int i;
 
@@ -1079,9 +1079,9 @@ static void phy_get_rate_values_of_txpwr_by_rate(struct rtw_dev *rtwdev,
 	}
 }
 
-static void phy_store_tx_power_by_rate(struct rtw_dev *rtwdev,
-				       u32 band, u32 rfpath, u32 txnum,
-				       u32 regaddr, u32 bitmask, u32 data)
+static void rtw_phy_store_tx_power_by_rate(struct rtw_dev *rtwdev,
+					   u32 band, u32 rfpath, u32 txnum,
+					   u32 regaddr, u32 bitmask, u32 data)
 {
 	struct rtw_hal *hal = &rtwdev->hal;
 	u8 rate_num = 0;
@@ -1091,8 +1091,8 @@ static void phy_store_tx_power_by_rate(struct rtw_dev *rtwdev,
 	s8 pwr_by_rate[RTW_RF_PATH_MAX] = {0};
 	int i;
 
-	phy_get_rate_values_of_txpwr_by_rate(rtwdev, regaddr, bitmask, data,
-					     rates, pwr_by_rate, &rate_num);
+	rtw_phy_get_rate_values_of_txpwr_by_rate(rtwdev, regaddr, bitmask, data,
+						 rates, pwr_by_rate, &rate_num);
 
 	if (WARN_ON(rfpath >= RTW_RF_PATH_MAX ||
 		    (band != PHY_BAND_2G && band != PHY_BAND_5G) ||
@@ -1123,9 +1123,9 @@ void rtw_parse_tbl_bb_pg(struct rtw_dev *rtwdev, const struct rtw_table *tbl)
 			msleep(50);
 			continue;
 		}
-		phy_store_tx_power_by_rate(rtwdev, p->band, p->rf_path,
-					   p->tx_num, p->addr, p->bitmask,
-					   p->data);
+		rtw_phy_store_tx_power_by_rate(rtwdev, p->band, p->rf_path,
+					       p->tx_num, p->addr, p->bitmask,
+					       p->data);
 	}
 }
 
@@ -1161,8 +1161,8 @@ static int rtw_channel_to_idx(u8 band, u8 channel)
 	return ch_idx;
 }
 
-static void phy_set_tx_power_limit(struct rtw_dev *rtwdev, u8 regd, u8 band,
-				   u8 bw, u8 rs, u8 ch, s8 pwr_limit)
+static void rtw_phy_set_tx_power_limit(struct rtw_dev *rtwdev, u8 regd, u8 band,
+				       u8 bw, u8 rs, u8 ch, s8 pwr_limit)
 {
 	struct rtw_hal *hal = &rtwdev->hal;
 	int ch_idx;
@@ -1194,9 +1194,8 @@ void rtw_parse_tbl_txpwr_lmt(struct rtw_dev *rtwdev,
 	BUILD_BUG_ON(sizeof(struct txpwr_lmt_cfg_pair) != sizeof(u8) * 6);
 
 	for (; p < end; p++) {
-		phy_set_tx_power_limit(rtwdev, p->regd, p->band,
-				       p->bw, p->rs,
-				       p->ch, p->txpwr_lmt);
+		rtw_phy_set_tx_power_limit(rtwdev, p->regd, p->band,
+					   p->bw, p->rs, p->ch, p->txpwr_lmt);
 	}
 }
 
@@ -1361,10 +1360,10 @@ static u8 rtw_get_channel_group(u8 channel)
 	}
 }
 
-static u8 phy_get_2g_tx_power_index(struct rtw_dev *rtwdev,
-				    struct rtw_2g_txpwr_idx *pwr_idx_2g,
-				    enum rtw_bandwidth bandwidth,
-				    u8 rate, u8 group)
+static u8 rtw_phy_get_2g_tx_power_index(struct rtw_dev *rtwdev,
+					struct rtw_2g_txpwr_idx *pwr_idx_2g,
+					enum rtw_bandwidth bandwidth,
+					u8 rate, u8 group)
 {
 	struct rtw_chip_info *chip = rtwdev->chip;
 	u8 tx_power;
@@ -1408,10 +1407,10 @@ static u8 phy_get_2g_tx_power_index(struct rtw_dev *rtwdev,
 	return tx_power;
 }
 
-static u8 phy_get_5g_tx_power_index(struct rtw_dev *rtwdev,
-				    struct rtw_5g_txpwr_idx *pwr_idx_5g,
-				    enum rtw_bandwidth bandwidth,
-				    u8 rate, u8 group)
+static u8 rtw_phy_get_5g_tx_power_index(struct rtw_dev *rtwdev,
+					struct rtw_5g_txpwr_idx *pwr_idx_5g,
+					enum rtw_bandwidth bandwidth,
+					u8 rate, u8 group)
 {
 	struct rtw_chip_info *chip = rtwdev->chip;
 	u8 tx_power;
@@ -1462,7 +1461,8 @@ static u8 phy_get_5g_tx_power_index(struct rtw_dev *rtwdev,
 	return tx_power;
 }
 
-static s8 get_tx_power_limit(struct rtw_hal *hal, u8 bw, u8 rs, u8 ch, u8 regd)
+static s8 __rtw_phy_get_tx_power_limit(struct rtw_hal *hal,
+				       u8 bw, u8 rs, u8 ch, u8 regd)
 {
 	if (regd > RTW_REGD_WW)
 		return RTW_MAX_POWER_INDEX;
@@ -1470,9 +1470,9 @@ static s8 get_tx_power_limit(struct rtw_hal *hal, u8 bw, u8 rs, u8 ch, u8 regd)
 	return hal->tx_pwr_limit_2g[regd][bw][rs][ch];
 }
 
-static s8 phy_get_tx_power_limit(struct rtw_dev *rtwdev, u8 band,
-				 enum rtw_bandwidth bw, u8 rf_path,
-				 u8 rate, u8 channel, u8 regd)
+static s8 rtw_phy_get_tx_power_limit(struct rtw_dev *rtwdev, u8 band,
+				     enum rtw_bandwidth bw, u8 rf_path,
+				     u8 rate, u8 channel, u8 regd)
 {
 	struct rtw_hal *hal = &rtwdev->hal;
 	s8 power_limit;
@@ -1498,7 +1498,7 @@ static s8 phy_get_tx_power_limit(struct rtw_dev *rtwdev, u8 band,
 	if (ch_idx < 0)
 		goto err;
 
-	power_limit = get_tx_power_limit(hal, bw, rs, ch_idx, regd);
+	power_limit = __rtw_phy_get_tx_power_limit(hal, bw, rs, ch_idx, regd);
 
 	return power_limit;
 
@@ -1508,9 +1508,9 @@ static s8 phy_get_tx_power_limit(struct rtw_dev *rtwdev, u8 band,
 	return RTW_MAX_POWER_INDEX;
 }
 
-static
-u8 phy_get_tx_power_index(struct rtw_dev *rtwdev, u8 rf_path, u8 rate,
-			  enum rtw_bandwidth bandwidth, u8 channel, u8 regd)
+static u8
+rtw_phy_get_tx_power_index(struct rtw_dev *rtwdev, u8 rf_path, u8 rate,
+			   enum rtw_bandwidth bandwidth, u8 channel, u8 regd)
 {
 	struct rtw_hal *hal = &rtwdev->hal;
 	struct rtw_txpwr_idx *pwr_idx;
@@ -1525,20 +1525,20 @@ u8 phy_get_tx_power_index(struct rtw_dev *rtwdev, u8 rf_path, u8 rate,
 	/* base power index for 2.4G/5G */
 	if (channel <= 14) {
 		band = PHY_BAND_2G;
-		tx_power = phy_get_2g_tx_power_index(rtwdev,
-						     &pwr_idx->pwr_idx_2g,
-						     bandwidth, rate, group);
+		tx_power = rtw_phy_get_2g_tx_power_index(rtwdev,
+							 &pwr_idx->pwr_idx_2g,
+							 bandwidth, rate, group);
 		offset = hal->tx_pwr_by_rate_offset_2g[rf_path][rate];
 	} else {
 		band = PHY_BAND_5G;
-		tx_power = phy_get_5g_tx_power_index(rtwdev,
-						     &pwr_idx->pwr_idx_5g,
-						     bandwidth, rate, group);
+		tx_power = rtw_phy_get_5g_tx_power_index(rtwdev,
+							 &pwr_idx->pwr_idx_5g,
+							 bandwidth, rate, group);
 		offset = hal->tx_pwr_by_rate_offset_5g[rf_path][rate];
 	}
 
-	limit = phy_get_tx_power_limit(rtwdev, band, bandwidth, rf_path,
-				       rate, channel, regd);
+	limit = rtw_phy_get_tx_power_limit(rtwdev, band, bandwidth, rf_path,
+					   rate, channel, regd);
 
 	if (offset > limit)
 		offset = limit;
@@ -1551,8 +1551,8 @@ u8 phy_get_tx_power_index(struct rtw_dev *rtwdev, u8 rf_path, u8 rate,
 	return tx_power;
 }
 
-static void phy_set_tx_power_index_by_rs(struct rtw_dev *rtwdev,
-					 u8 ch, u8 path, u8 rs)
+static void rtw_phy_set_tx_power_index_by_rs(struct rtw_dev *rtwdev,
+					     u8 ch, u8 path, u8 rs)
 {
 	struct rtw_hal *hal = &rtwdev->hal;
 	u8 regd = rtwdev->regd.txpwr_regd;
@@ -1571,8 +1571,8 @@ static void phy_set_tx_power_index_by_rs(struct rtw_dev *rtwdev,
 	bw = hal->current_band_width;
 	for (i = 0; i < size; i++) {
 		rate = rates[i];
-		pwr_idx = phy_get_tx_power_index(rtwdev, path, rate, bw, ch,
-						 regd);
+		pwr_idx = rtw_phy_get_tx_power_index(rtwdev, path, rate,
+						     bw, ch, regd);
 		hal->tx_pwr_tbl[path][rate] = pwr_idx;
 	}
 }
@@ -1582,8 +1582,8 @@ static void phy_set_tx_power_index_by_rs(struct rtw_dev *rtwdev,
  * power index into a four-byte power index register, and calls set_tx_agc to
  * write these values into hardware
  */
-static
-void phy_set_tx_power_level_by_path(struct rtw_dev *rtwdev, u8 ch, u8 path)
+static void rtw_phy_set_tx_power_level_by_path(struct rtw_dev *rtwdev,
+					       u8 ch, u8 path)
 {
 	struct rtw_hal *hal = &rtwdev->hal;
 	u8 rs;
@@ -1595,7 +1595,7 @@ void phy_set_tx_power_level_by_path(struct rtw_dev *rtwdev, u8 ch, u8 path)
 		rs = RTW_RATE_SECTION_OFDM;
 
 	for (; rs < RTW_RATE_SECTION_MAX; rs++)
-		phy_set_tx_power_index_by_rs(rtwdev, ch, path, rs);
+		rtw_phy_set_tx_power_index_by_rs(rtwdev, ch, path, rs);
 }
 
 void rtw_phy_set_tx_power_level(struct rtw_dev *rtwdev, u8 channel)
@@ -1607,15 +1607,15 @@ void rtw_phy_set_tx_power_level(struct rtw_dev *rtwdev, u8 channel)
 	mutex_lock(&hal->tx_power_mutex);
 
 	for (path = 0; path < hal->rf_path_num; path++)
-		phy_set_tx_power_level_by_path(rtwdev, channel, path);
+		rtw_phy_set_tx_power_level_by_path(rtwdev, channel, path);
 
 	chip->ops->set_tx_power_index(rtwdev);
 	mutex_unlock(&hal->tx_power_mutex);
 }
 
-static
-void phy_tx_power_by_rate_config_by_path(struct rtw_hal *hal, u8 path,
-					 u8 rs, u8 size, u8 *rates)
+static void
+rtw_phy_tx_power_by_rate_config_by_path(struct rtw_hal *hal, u8 path,
+					u8 rs, u8 size, u8 *rates)
 {
 	u8 rate;
 	u8 base_idx, rate_idx;
@@ -1641,29 +1641,29 @@ void rtw_phy_tx_power_by_rate_config(struct rtw_hal *hal)
 	u8 path;
 
 	for (path = 0; path < RTW_RF_PATH_MAX; path++) {
-		phy_tx_power_by_rate_config_by_path(hal, path,
+		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
 				RTW_RATE_SECTION_CCK,
 				rtw_cck_size, rtw_cck_rates);
-		phy_tx_power_by_rate_config_by_path(hal, path,
+		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
 				RTW_RATE_SECTION_OFDM,
 				rtw_ofdm_size, rtw_ofdm_rates);
-		phy_tx_power_by_rate_config_by_path(hal, path,
+		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
 				RTW_RATE_SECTION_HT_1S,
 				rtw_ht_1s_size, rtw_ht_1s_rates);
-		phy_tx_power_by_rate_config_by_path(hal, path,
+		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
 				RTW_RATE_SECTION_HT_2S,
 				rtw_ht_2s_size, rtw_ht_2s_rates);
-		phy_tx_power_by_rate_config_by_path(hal, path,
+		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
 				RTW_RATE_SECTION_VHT_1S,
 				rtw_vht_1s_size, rtw_vht_1s_rates);
-		phy_tx_power_by_rate_config_by_path(hal, path,
+		rtw_phy_tx_power_by_rate_config_by_path(hal, path,
 				RTW_RATE_SECTION_VHT_2S,
 				rtw_vht_2s_size, rtw_vht_2s_rates);
 	}
 }
 
 static void
-phy_tx_power_limit_config(struct rtw_hal *hal, u8 regd, u8 bw, u8 rs)
+__rtw_phy_tx_power_limit_config(struct rtw_hal *hal, u8 regd, u8 bw, u8 rs)
 {
 	s8 base, orig;
 	u8 ch;
@@ -1687,11 +1687,11 @@ void rtw_phy_tx_power_limit_config(struct rtw_hal *hal)
 	for (regd = 0; regd < RTW_REGD_MAX; regd++)
 		for (bw = 0; bw < RTW_CHANNEL_WIDTH_MAX; bw++)
 			for (rs = 0; rs < RTW_RATE_SECTION_MAX; rs++)
-				phy_tx_power_limit_config(hal, regd, bw, rs);
+				__rtw_phy_tx_power_limit_config(hal, regd, bw, rs);
 }
 
-static
-void rtw_hw_tx_power_limit_init(struct rtw_hal *hal, u8 regd, u8 bw, u8 rs)
+static void rtw_phy_init_tx_power_limit(struct rtw_hal *hal,
+					u8 regd, u8 bw, u8 rs)
 {
 	u8 ch;
 
@@ -1704,7 +1704,7 @@ void rtw_hw_tx_power_limit_init(struct rtw_hal *hal, u8 regd, u8 bw, u8 rs)
 		hal->tx_pwr_limit_5g[regd][bw][rs][ch] = RTW_MAX_POWER_INDEX;
 }
 
-void rtw_hw_init_tx_power(struct rtw_hal *hal)
+void rtw_phy_init_tx_power(struct rtw_hal *hal)
 {
 	u8 regd, path, rate, rs, bw;
 
@@ -1720,5 +1720,5 @@ void rtw_hw_init_tx_power(struct rtw_hal *hal)
 	for (regd = 0; regd < RTW_REGD_MAX; regd++)
 		for (bw = 0; bw < RTW_CHANNEL_WIDTH_MAX; bw++)
 			for (rs = 0; rs < RTW_RATE_SECTION_MAX; rs++)
-				rtw_hw_tx_power_limit_init(hal, regd, bw, rs);
+				rtw_phy_init_tx_power_limit(hal, regd, bw, rs);
 }
diff --git a/drivers/net/wireless/realtek/rtw88/phy.h b/drivers/net/wireless/realtek/rtw88/phy.h
index 7ad64e7..dfd8d77 100644
--- a/drivers/net/wireless/realtek/rtw88/phy.h
+++ b/drivers/net/wireless/realtek/rtw88/phy.h
@@ -41,7 +41,7 @@ void rtw_phy_cfg_bb(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
 		    u32 addr, u32 data);
 void rtw_phy_cfg_rf(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
 		    u32 addr, u32 data);
-void rtw_hw_init_tx_power(struct rtw_hal *hal);
+void rtw_phy_init_tx_power(struct rtw_hal *hal);
 void rtw_phy_load_tables(struct rtw_dev *rtwdev);
 void rtw_phy_set_tx_power_level(struct rtw_dev *rtwdev, u8 channel);
 void rtw_phy_tx_power_by_rate_config(struct rtw_hal *hal);
-- 
2.7.4


^ permalink raw reply related

* [PATCH 02/11] rtw88: do not use (void *) as argument
From: yhchuang @ 2019-05-29  7:54 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless
In-Reply-To: <1559116487-5244-1-git-send-email-yhchuang@realtek.com>

From: Yan-Hsuan Chuang <yhchuang@realtek.com>

The type change from (void *) to (struct rtw_dev *) is redundant.
Just pass the right type and compiler can check that for us.

Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
---
 drivers/net/wireless/realtek/rtw88/phy.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/phy.c b/drivers/net/wireless/realtek/rtw88/phy.c
index ed104ea..d4bcc89 100644
--- a/drivers/net/wireless/realtek/rtw88/phy.c
+++ b/drivers/net/wireless/realtek/rtw88/phy.c
@@ -1079,11 +1079,10 @@ static void phy_get_rate_values_of_txpwr_by_rate(struct rtw_dev *rtwdev,
 	}
 }
 
-static void phy_store_tx_power_by_rate(void *adapter,
+static void phy_store_tx_power_by_rate(struct rtw_dev *rtwdev,
 				       u32 band, u32 rfpath, u32 txnum,
 				       u32 regaddr, u32 bitmask, u32 data)
 {
-	struct rtw_dev *rtwdev = adapter;
 	struct rtw_hal *hal = &rtwdev->hal;
 	u8 rate_num = 0;
 	u8 rate;
@@ -1510,10 +1509,9 @@ static s8 phy_get_tx_power_limit(struct rtw_dev *rtwdev, u8 band,
 }
 
 static
-u8 phy_get_tx_power_index(void *adapter, u8 rf_path, u8 rate,
+u8 phy_get_tx_power_index(struct rtw_dev *rtwdev, u8 rf_path, u8 rate,
 			  enum rtw_bandwidth bandwidth, u8 channel, u8 regd)
 {
-	struct rtw_dev *rtwdev = adapter;
 	struct rtw_hal *hal = &rtwdev->hal;
 	struct rtw_txpwr_idx *pwr_idx;
 	u8 tx_power;
@@ -1553,9 +1551,9 @@ u8 phy_get_tx_power_index(void *adapter, u8 rf_path, u8 rate,
 	return tx_power;
 }
 
-static void phy_set_tx_power_index_by_rs(void *adapter, u8 ch, u8 path, u8 rs)
+static void phy_set_tx_power_index_by_rs(struct rtw_dev *rtwdev,
+					 u8 ch, u8 path, u8 rs)
 {
-	struct rtw_dev *rtwdev = adapter;
 	struct rtw_hal *hal = &rtwdev->hal;
 	u8 regd = rtwdev->regd.txpwr_regd;
 	u8 *rates;
@@ -1573,7 +1571,7 @@ static void phy_set_tx_power_index_by_rs(void *adapter, u8 ch, u8 path, u8 rs)
 	bw = hal->current_band_width;
 	for (i = 0; i < size; i++) {
 		rate = rates[i];
-		pwr_idx = phy_get_tx_power_index(adapter, path, rate, bw, ch,
+		pwr_idx = phy_get_tx_power_index(rtwdev, path, rate, bw, ch,
 						 regd);
 		hal->tx_pwr_tbl[path][rate] = pwr_idx;
 	}
-- 
2.7.4


^ permalink raw reply related

* [PATCH 00/11] rtw88: power index setting routine updates and fixes
From: yhchuang @ 2019-05-29  7:54 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless

From: Yan-Hsuan Chuang <yhchuang@realtek.com>

This patch set updates the power index setting routine for rtw88.

The first commit "rtw88: resolve order of tx power setting routines"
is to reorder the functions to not to expose some functions used
internally.

The following commits:
    "rtw88: do not use (void *) as argument"
    "rtw88: unify prefixes for tx power setting routine"
    "rtw88: remove unused variable"

are minor refinements to make the routine look better.

The following commits:
    "rtw88: fix incorrect tx power limit at 5G"
    "rtw88: choose the lowest as world-wide power limit"
    "rtw88: correct power limit selection"
    "rtw88: update tx power limit table to RF v20"
    "rtw88: remove all RTW_MAX_POWER_INDEX macro"

are fixes to get correct tx power index, also update the power
limit table to the latest.

The following commits:
    "rtw88: refine flow to get tx power index"
    "rtw88: debug: dump tx power indexes in use"

add a debugfs entry to dump power index by rate, by limit and by base.
This is useful for us to check if correct power indexes are used.


Tzu-En Huang (1):
  rtw88: remove all RTW_MAX_POWER_INDEX macro

Yan-Hsuan Chuang (6):
  rtw88: resolve order of tx power setting routines
  rtw88: do not use (void *) as argument
  rtw88: unify prefixes for tx power setting routine
  rtw88: remove unused variable
  rtw88: fix incorrect tx power limit at 5G
  rtw88: choose the lowest as world-wide power limit

Zong-Zhe Yang (4):
  rtw88: correct power limit selection
  rtw88: update tx power limit table to RF v20
  rtw88: refine flow to get tx power index
  rtw88: debug: dump tx power indexes in use

 drivers/net/wireless/realtek/rtw88/debug.c         |  112 ++
 drivers/net/wireless/realtek/rtw88/main.c          |   26 +-
 drivers/net/wireless/realtek/rtw88/main.h          |   27 +-
 drivers/net/wireless/realtek/rtw88/phy.c           | 1298 +++++++++++---------
 drivers/net/wireless/realtek/rtw88/phy.h           |   18 +-
 drivers/net/wireless/realtek/rtw88/regd.c          |   69 +-
 drivers/net/wireless/realtek/rtw88/regd.h          |    4 +
 .../net/wireless/realtek/rtw88/rtw8822c_table.c    |  799 +++++++++++-
 8 files changed, 1653 insertions(+), 700 deletions(-)

-- 
2.7.4


^ permalink raw reply

* [PATCH] rtlwifi: rtl8192cu: fix error handle when usb probe failed
From: pkshih @ 2019-05-29  6:57 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless, andreyknvl, Larry.Finger

From: Ping-Ke Shih <pkshih@realtek.com>

rtl_usb_probe() must do error handle rtl_deinit_core() only if
rtl_init_core() is done, otherwise goto error_out2.

| usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
| rtl_usb: reg 0xf0, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x0
| rtl8192cu: Chip version 0x10
| rtl_usb: reg 0xa, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x0
| rtl_usb: Too few input end points found
| INFO: trying to register non-static key.
| the code is fine but needs lockdep annotation.
| turning off the locking correctness validator.
| CPU: 0 PID: 12 Comm: kworker/0:1 Not tainted 5.1.0-rc4-319354-g9a33b36 #3
| Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
| Google 01/01/2011
| Workqueue: usb_hub_wq hub_event
| Call Trace:
|   __dump_stack lib/dump_stack.c:77 [inline]
|   dump_stack+0xe8/0x16e lib/dump_stack.c:113
|   assign_lock_key kernel/locking/lockdep.c:786 [inline]
|   register_lock_class+0x11b8/0x1250 kernel/locking/lockdep.c:1095
|   __lock_acquire+0xfb/0x37c0 kernel/locking/lockdep.c:3582
|   lock_acquire+0x10d/0x2f0 kernel/locking/lockdep.c:4211
|   __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
|   _raw_spin_lock_irqsave+0x44/0x60 kernel/locking/spinlock.c:152
|   rtl_c2hcmd_launcher+0xd1/0x390
| drivers/net/wireless/realtek/rtlwifi/base.c:2344
|   rtl_deinit_core+0x25/0x2d0 drivers/net/wireless/realtek/rtlwifi/base.c:574
|   rtl_usb_probe.cold+0x861/0xa70
| drivers/net/wireless/realtek/rtlwifi/usb.c:1093
|   usb_probe_interface+0x31d/0x820 drivers/usb/core/driver.c:361
|   really_probe+0x2da/0xb10 drivers/base/dd.c:509
|   driver_probe_device+0x21d/0x350 drivers/base/dd.c:671
|   __device_attach_driver+0x1d8/0x290 drivers/base/dd.c:778
|   bus_for_each_drv+0x163/0x1e0 drivers/base/bus.c:454
|   __device_attach+0x223/0x3a0 drivers/base/dd.c:844
|   bus_probe_device+0x1f1/0x2a0 drivers/base/bus.c:514
|   device_add+0xad2/0x16e0 drivers/base/core.c:2106
|   usb_set_configuration+0xdf7/0x1740 drivers/usb/core/message.c:2021
|   generic_probe+0xa2/0xda drivers/usb/core/generic.c:210
|   usb_probe_device+0xc0/0x150 drivers/usb/core/driver.c:266
|   really_probe+0x2da/0xb10 drivers/base/dd.c:509
|   driver_probe_device+0x21d/0x350 drivers/base/dd.c:671
|   __device_attach_driver+0x1d8/0x290 drivers/base/dd.c:778
|   bus_for_each_drv+0x163/0x1e0 drivers/base/bus.c:454
|   __device_attach+0x223/0x3a0 drivers/base/dd.c:844
|   bus_probe_device+0x1f1/0x2a0 drivers/base/bus.c:514
|   device_add+0xad2/0x16e0 drivers/base/core.c:2106
|   usb_new_device.cold+0x537/0xccf drivers/usb/core/hub.c:2534
|   hub_port_connect drivers/usb/core/hub.c:5089 [inline]
|   hub_port_connect_change drivers/usb/core/hub.c:5204 [inline]
|   port_event drivers/usb/core/hub.c:5350 [inline]
|   hub_event+0x138e/0x3b00 drivers/usb/core/hub.c:5432
|   process_one_work+0x90f/0x1580 kernel/workqueue.c:2269
|   worker_thread+0x9b/0xe20 kernel/workqueue.c:2415
|   kthread+0x313/0x420 kernel/kthread.c:253
|   ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352

Reported-by: syzbot+1fcc5ef45175fc774231@syzkaller.appspotmail.com
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
---
 drivers/net/wireless/realtek/rtlwifi/usb.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtlwifi/usb.c b/drivers/net/wireless/realtek/rtlwifi/usb.c
index e24fda5e9087..34d68dbf4b4c 100644
--- a/drivers/net/wireless/realtek/rtlwifi/usb.c
+++ b/drivers/net/wireless/realtek/rtlwifi/usb.c
@@ -1064,13 +1064,13 @@ int rtl_usb_probe(struct usb_interface *intf,
 	rtlpriv->cfg->ops->read_eeprom_info(hw);
 	err = _rtl_usb_init(hw);
 	if (err)
-		goto error_out;
+		goto error_out2;
 	rtl_usb_init_sw(hw);
 	/* Init mac80211 sw */
 	err = rtl_init_core(hw);
 	if (err) {
 		pr_err("Can't allocate sw for mac80211\n");
-		goto error_out;
+		goto error_out2;
 	}
 	if (rtlpriv->cfg->ops->init_sw_vars(hw)) {
 		pr_err("Can't init_sw_vars\n");
@@ -1091,6 +1091,7 @@ int rtl_usb_probe(struct usb_interface *intf,
 
 error_out:
 	rtl_deinit_core(hw);
+error_out2:
 	_rtl_usb_io_handler_release(hw);
 	usb_put_dev(udev);
 	complete(&rtlpriv->firmware_loading_complete);
-- 
2.21.0


^ permalink raw reply related

* [RFC PATCH v3] rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver
From: Chris Chiu @ 2019-05-29  5:03 UTC (permalink / raw)
  To: jes.sorensen, kvalo, davem; +Cc: linux-wireless, netdev, linux-kernel, linux

We have 3 laptops which connect the wifi by the same RTL8723BU.
The PCI VID/PID of the wifi chip is 10EC:B720 which is supported.
They have the same problem with the in-kernel rtl8xxxu driver, the
iperf (as a client to an ethernet-connected server) gets ~1Mbps.
Nevertheless, the signal strength is reported as around -40dBm,
which is quite good. From the wireshark capture, the tx rate for each
data and qos data packet is only 1Mbps. Compare to the driver from
https://github.com/lwfinger/rtl8723bu, the same iperf test gets ~12
Mbps or more. The signal strength is reported similarly around
-40dBm. That's why we want to improve.

After reading the source code of the rtl8xxxu driver and Larry's, the
major difference is that Larry's driver has a watchdog which will keep
monitoring the signal quality and updating the rate mask just like the
rtl8xxxu_gen2_update_rate_mask() does if signal quality changes.
And this kind of watchdog also exists in rtlwifi driver of some specific
chips, ex rtl8192ee, rtl8188ee, rtl8723ae, rtl8821ae...etc. They have
the same member function named dm_watchdog and will invoke the
corresponding dm_refresh_rate_adaptive_mask to adjust the tx rate
mask.

With this commit, the tx rate of each data and qos data packet will
be 39Mbps (MCS4) with the 0xF00000 as the tx rate mask. The 20th bit
to 23th bit means MCS4 to MCS7. It means that the firmware still picks
the lowest rate from the rate mask and explains why the tx rate of
data and qos data is always lowest 1Mbps because the default rate mask
passed is always 0xFFFFFFF ranges from the basic CCK rate, OFDM rate,
and MCS rate. However, with Larry's driver, the tx rate observed from
wireshark under the same condition is almost 65Mbps or 72Mbps.

I believe the firmware of RTL8723BU may need fix. And I think we
can still bring in the dm_watchdog as rtlwifi to improve from the
driver side. Please leave precious comments for my commits and
suggest what I can do better. Or suggest if there's any better idea
to fix this. Thanks.

Signed-off-by: Chris Chiu <chiu@endlessm.com>
---


Notes:
  v2:
   - Fix errors and warnings complained by checkpatch.pl
   - Replace data structure rate_adaptive by 2 member variables
   - Make rtl8xxxu_wireless_mode non-static
   - Runs refresh_rate_mask() only in station mode
  v3:
   - Remove ugly rtl8xxxu_watchdog data structure
   - Make sure only one vif exists


 .../net/wireless/realtek/rtl8xxxu/rtl8xxxu.h  |  49 ++++++
 .../realtek/rtl8xxxu/rtl8xxxu_8723b.c         | 145 ++++++++++++++++++
 .../wireless/realtek/rtl8xxxu/rtl8xxxu_core.c |  80 +++++++++-
 3 files changed, 273 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
index 8828baf26e7b..42e9227f4d19 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -1195,6 +1195,44 @@ struct rtl8723bu_c2h {
 
 struct rtl8xxxu_fileops;
 
+/*mlme related.*/
+enum wireless_mode {
+	WIRELESS_MODE_UNKNOWN = 0,
+	/* Sub-Element */
+	WIRELESS_MODE_B = BIT(0),
+	WIRELESS_MODE_G = BIT(1),
+	WIRELESS_MODE_A = BIT(2),
+	WIRELESS_MODE_N_24G = BIT(3),
+	WIRELESS_MODE_N_5G = BIT(4),
+	WIRELESS_AUTO = BIT(5),
+	WIRELESS_MODE_AC = BIT(6),
+	WIRELESS_MODE_MAX = 0x7F,
+};
+
+/* from rtlwifi/wifi.h */
+enum ratr_table_mode_new {
+	RATEID_IDX_BGN_40M_2SS = 0,
+	RATEID_IDX_BGN_40M_1SS = 1,
+	RATEID_IDX_BGN_20M_2SS_BN = 2,
+	RATEID_IDX_BGN_20M_1SS_BN = 3,
+	RATEID_IDX_GN_N2SS = 4,
+	RATEID_IDX_GN_N1SS = 5,
+	RATEID_IDX_BG = 6,
+	RATEID_IDX_G = 7,
+	RATEID_IDX_B = 8,
+	RATEID_IDX_VHT_2SS = 9,
+	RATEID_IDX_VHT_1SS = 10,
+	RATEID_IDX_MIX1 = 11,
+	RATEID_IDX_MIX2 = 12,
+	RATEID_IDX_VHT_3SS = 13,
+	RATEID_IDX_BGN_3SS = 14,
+};
+
+#define RTL8XXXU_RATR_STA_INIT 0
+#define RTL8XXXU_RATR_STA_HIGH 1
+#define RTL8XXXU_RATR_STA_MID  2
+#define RTL8XXXU_RATR_STA_LOW  3
+
 struct rtl8xxxu_priv {
 	struct ieee80211_hw *hw;
 	struct usb_device *udev;
@@ -1299,6 +1337,14 @@ struct rtl8xxxu_priv {
 	u8 pi_enabled:1;
 	u8 no_pape:1;
 	u8 int_buf[USB_INTR_CONTENT_LENGTH];
+	u8 ratr_index;
+	u8 rssi_level;
+	/*
+	 * Single virtual interface permitted since the driver supports STATION
+	 * mode only.
+	 */
+	struct ieee80211_vif *vif;
+	struct delayed_work ra_watchdog;
 };
 
 struct rtl8xxxu_rx_urb {
@@ -1335,6 +1381,8 @@ struct rtl8xxxu_fileops {
 			      bool ht40);
 	void (*update_rate_mask) (struct rtl8xxxu_priv *priv,
 				  u32 ramask, int sgi);
+	void (*refresh_rate_mask) (struct rtl8xxxu_priv *priv, int signal,
+				   struct ieee80211_sta *sta);
 	void (*report_connect) (struct rtl8xxxu_priv *priv,
 				u8 macid, bool connect);
 	void (*fill_txdesc) (struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
@@ -1445,6 +1493,7 @@ void rtl8xxxu_fill_txdesc_v2(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
 			     struct rtl8xxxu_txdesc32 *tx_desc32, bool sgi,
 			     bool short_preamble, bool ampdu_enable,
 			     u32 rts_rate);
+u16 rtl8xxxu_wireless_mode(struct ieee80211_hw *hw, struct ieee80211_sta *sta);
 
 extern struct rtl8xxxu_fileops rtl8192cu_fops;
 extern struct rtl8xxxu_fileops rtl8192eu_fops;
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
index 26b674aca125..7a510bc22a60 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
@@ -1645,6 +1645,150 @@ static void rtl8723bu_init_statistics(struct rtl8xxxu_priv *priv)
 	rtl8xxxu_write32(priv, REG_OFDM0_FA_RSTC, val32);
 }
 
+static u8 rtl8723b_signal_to_rssi(int signal)
+{
+	if (signal < -95)
+		signal = -95;
+	return (u8)(signal + 95);
+}
+
+static void rtl8723b_refresh_rate_mask(struct rtl8xxxu_priv *priv,
+				       int signal, struct ieee80211_sta *sta)
+{
+	struct ieee80211_hw *hw = priv->hw;
+	u16 wireless_mode;
+	u8 rssi_level, ratr_index;
+	u8 txbw_40mhz;
+	u8 rssi, rssi_thresh_high, rssi_thresh_low;
+
+	rssi_level = priv->rssi_level;
+	rssi = rtl8723b_signal_to_rssi(signal);
+	ratr_index = priv->ratr_index;
+	txbw_40mhz = (hw->conf.chandef.width == NL80211_CHAN_WIDTH_40) ? 1 : 0;
+
+	switch (rssi_level) {
+	case RTL8XXXU_RATR_STA_HIGH:
+		rssi_thresh_high = 50;
+		rssi_thresh_low = 20;
+		break;
+	case RTL8XXXU_RATR_STA_MID:
+		rssi_thresh_high = 55;
+		rssi_thresh_low = 20;
+		break;
+	case RTL8XXXU_RATR_STA_LOW:
+		rssi_thresh_high = 60;
+		rssi_thresh_low = 25;
+		break;
+	default:
+		rssi_thresh_high = 50;
+		rssi_thresh_low = 20;
+		break;
+	}
+
+	if (rssi > rssi_thresh_high)
+		rssi_level = RTL8XXXU_RATR_STA_HIGH;
+	else if (rssi > rssi_thresh_low)
+		rssi_level = RTL8XXXU_RATR_STA_MID;
+	else
+		rssi_level = RTL8XXXU_RATR_STA_LOW;
+
+	if (rssi_level != priv->rssi_level) {
+		int sgi = 0;
+		u32 rate_bitmap = 0;
+
+		rcu_read_lock();
+		rate_bitmap = (sta->supp_rates[0] & 0xfff) |
+				(sta->ht_cap.mcs.rx_mask[0] << 12) |
+				(sta->ht_cap.mcs.rx_mask[1] << 20);
+		if (sta->ht_cap.cap &
+		    (IEEE80211_HT_CAP_SGI_40 | IEEE80211_HT_CAP_SGI_20))
+			sgi = 1;
+		rcu_read_unlock();
+
+		wireless_mode = rtl8xxxu_wireless_mode(hw, sta);
+		switch (wireless_mode) {
+		case WIRELESS_MODE_B:
+			ratr_index = RATEID_IDX_B;
+			if (rate_bitmap & 0x0000000c)
+				rate_bitmap &= 0x0000000d;
+			else
+				rate_bitmap &= 0x0000000f;
+			break;
+		case WIRELESS_MODE_A:
+		case WIRELESS_MODE_G:
+			ratr_index = RATEID_IDX_G;
+			if (rssi_level == RTL8XXXU_RATR_STA_HIGH)
+				rate_bitmap &= 0x00000f00;
+			else
+				rate_bitmap &= 0x00000ff0;
+			break;
+		case (WIRELESS_MODE_B | WIRELESS_MODE_G):
+			ratr_index = RATEID_IDX_BG;
+			if (rssi_level == RTL8XXXU_RATR_STA_HIGH)
+				rate_bitmap &= 0x00000f00;
+			else if (rssi_level == RTL8XXXU_RATR_STA_MID)
+				rate_bitmap &= 0x00000ff0;
+			else
+				rate_bitmap &= 0x00000ff5;
+			break;
+		case WIRELESS_MODE_N_24G:
+		case WIRELESS_MODE_N_5G:
+		case (WIRELESS_MODE_G | WIRELESS_MODE_N_24G):
+		case (WIRELESS_MODE_A | WIRELESS_MODE_N_5G):
+			if (priv->tx_paths == 2 && priv->rx_paths == 2)
+				ratr_index = RATEID_IDX_GN_N2SS;
+			else
+				ratr_index = RATEID_IDX_GN_N1SS;
+		case (WIRELESS_MODE_B | WIRELESS_MODE_G | WIRELESS_MODE_N_24G):
+		case (WIRELESS_MODE_B | WIRELESS_MODE_N_24G):
+			if (txbw_40mhz) {
+				if (priv->tx_paths == 2 && priv->rx_paths == 2)
+					ratr_index = RATEID_IDX_BGN_40M_2SS;
+				else
+					ratr_index = RATEID_IDX_BGN_40M_1SS;
+			} else {
+				if (priv->tx_paths == 2 && priv->rx_paths == 2)
+					ratr_index = RATEID_IDX_BGN_20M_2SS_BN;
+				else
+					ratr_index = RATEID_IDX_BGN_20M_1SS_BN;
+			}
+
+			if (priv->tx_paths == 2 && priv->rx_paths == 2) {
+				if (rssi_level == RTL8XXXU_RATR_STA_HIGH) {
+					rate_bitmap &= 0x0f8f0000;
+				} else if (rssi_level == RTL8XXXU_RATR_STA_MID) {
+					rate_bitmap &= 0x0f8ff000;
+				} else {
+					if (txbw_40mhz)
+						rate_bitmap &= 0x0f8ff015;
+					else
+						rate_bitmap &= 0x0f8ff005;
+				}
+			} else {
+				if (rssi_level == RTL8XXXU_RATR_STA_HIGH) {
+					rate_bitmap &= 0x000f0000;
+				} else if (rssi_level == RTL8XXXU_RATR_STA_MID) {
+					rate_bitmap &= 0x000ff000;
+				} else {
+					if (txbw_40mhz)
+						rate_bitmap &= 0x000ff015;
+					else
+						rate_bitmap &= 0x000ff005;
+				}
+			}
+			break;
+		default:
+			ratr_index = RATEID_IDX_BGN_40M_2SS;
+			rate_bitmap &= 0x0fffffff;
+			break;
+		}
+
+		priv->ratr_index = ratr_index;
+		priv->rssi_level = rssi_level;
+		priv->fops->update_rate_mask(priv, rate_bitmap, sgi);
+	}
+}
+
 struct rtl8xxxu_fileops rtl8723bu_fops = {
 	.parse_efuse = rtl8723bu_parse_efuse,
 	.load_firmware = rtl8723bu_load_firmware,
@@ -1665,6 +1809,7 @@ struct rtl8xxxu_fileops rtl8723bu_fops = {
 	.usb_quirks = rtl8xxxu_gen2_usb_quirks,
 	.set_tx_power = rtl8723b_set_tx_power,
 	.update_rate_mask = rtl8xxxu_gen2_update_rate_mask,
+	.refresh_rate_mask = rtl8723b_refresh_rate_mask,
 	.report_connect = rtl8xxxu_gen2_report_connect,
 	.fill_txdesc = rtl8xxxu_fill_txdesc_v2,
 	.writeN_block_size = 1024,
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
index 039e5ca9d2e4..2d612c2df5b2 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -4345,7 +4345,7 @@ void rtl8xxxu_gen2_update_rate_mask(struct rtl8xxxu_priv *priv,
 	h2c.b_macid_cfg.ramask3 = (ramask >> 24) & 0xff;
 
 	h2c.ramask.arg = 0x80;
-	h2c.b_macid_cfg.data1 = 0;
+	h2c.b_macid_cfg.data1 = priv->ratr_index;
 	if (sgi)
 		h2c.b_macid_cfg.data1 |= BIT(7);
 
@@ -4485,6 +4485,40 @@ static void rtl8xxxu_set_basic_rates(struct rtl8xxxu_priv *priv, u32 rate_cfg)
 	rtl8xxxu_write8(priv, REG_INIRTS_RATE_SEL, rate_idx);
 }
 
+u16
+rtl8xxxu_wireless_mode(struct ieee80211_hw *hw, struct ieee80211_sta *sta)
+{
+	u16 network_type = WIRELESS_MODE_UNKNOWN;
+	u32 rate_mask;
+
+	rate_mask = (sta->supp_rates[0] & 0xfff) |
+		    (sta->ht_cap.mcs.rx_mask[0] << 12) |
+		    (sta->ht_cap.mcs.rx_mask[0] << 20);
+
+	if (hw->conf.chandef.chan->band == NL80211_BAND_5GHZ) {
+		if (sta->vht_cap.vht_supported)
+			network_type = WIRELESS_MODE_AC;
+		else if (sta->ht_cap.ht_supported)
+			network_type = WIRELESS_MODE_N_5G;
+
+		network_type |= WIRELESS_MODE_A;
+	} else {
+		if (sta->vht_cap.vht_supported)
+			network_type = WIRELESS_MODE_AC;
+		else if (sta->ht_cap.ht_supported)
+			network_type = WIRELESS_MODE_N_24G;
+
+		if (sta->supp_rates[0] <= 0xf)
+			network_type |= WIRELESS_MODE_B;
+		else if (sta->supp_rates[0] & 0xf)
+			network_type |= (WIRELESS_MODE_B | WIRELESS_MODE_G);
+		else
+			network_type |= WIRELESS_MODE_G;
+	}
+
+	return network_type;
+}
+
 static void
 rtl8xxxu_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 			  struct ieee80211_bss_conf *bss_conf, u32 changed)
@@ -4527,6 +4561,10 @@ rtl8xxxu_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 				sgi = 1;
 			rcu_read_unlock();
 
+			priv->vif = vif;
+			priv->ratr_index = RATEID_IDX_BGN_40M_2SS;
+			priv->rssi_level = RTL8XXXU_RATR_STA_INIT;
+
 			priv->fops->update_rate_mask(priv, ramask, sgi);
 
 			rtl8xxxu_write8(priv, REG_BCN_MAX_ERR, 0xff);
@@ -5471,6 +5509,10 @@ static int rtl8xxxu_add_interface(struct ieee80211_hw *hw,
 
 	switch (vif->type) {
 	case NL80211_IFTYPE_STATION:
+		if (!priv->vif)
+			priv->vif = vif;
+		else
+			return -EOPNOTSUPP;
 		rtl8xxxu_stop_tx_beacon(priv);
 
 		val8 = rtl8xxxu_read8(priv, REG_BEACON_CTRL);
@@ -5779,6 +5821,37 @@ rtl8xxxu_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 	return 0;
 }
 
+static void rtl8xxxu_watchdog_callback(struct work_struct *work)
+{
+	struct ieee80211_vif *vif;
+	struct rtl8xxxu_priv *priv;
+
+	priv = container_of(work, struct rtl8xxxu_priv, ra_watchdog.work);
+	vif = priv->vif;
+
+	if (vif && vif->type == NL80211_IFTYPE_STATION) {
+		int signal;
+		struct ieee80211_sta *sta;
+
+		rcu_read_lock();
+		sta = ieee80211_find_sta(vif, vif->bss_conf.bssid);
+		if (!sta) {
+			struct device *dev = &priv->udev->dev;
+
+			dev_info(dev, "%s: no sta found\n", __func__);
+			rcu_read_unlock();
+			return;
+		}
+		rcu_read_unlock();
+
+		signal = ieee80211_ave_rssi(vif);
+		if (priv->fops->refresh_rate_mask)
+			priv->fops->refresh_rate_mask(priv, signal, sta);
+	}
+
+	schedule_delayed_work(&priv->ra_watchdog, 2 * HZ);
+}
+
 static int rtl8xxxu_start(struct ieee80211_hw *hw)
 {
 	struct rtl8xxxu_priv *priv = hw->priv;
@@ -5835,6 +5908,8 @@ static int rtl8xxxu_start(struct ieee80211_hw *hw)
 
 		ret = rtl8xxxu_submit_rx_urb(priv, rx_urb);
 	}
+
+	schedule_delayed_work(&priv->ra_watchdog, 2 * HZ);
 exit:
 	/*
 	 * Accept all data and mgmt frames
@@ -6058,6 +6133,7 @@ static int rtl8xxxu_probe(struct usb_interface *interface,
 	INIT_LIST_HEAD(&priv->rx_urb_pending_list);
 	spin_lock_init(&priv->rx_urb_lock);
 	INIT_WORK(&priv->rx_urb_wq, rtl8xxxu_rx_urb_work);
+	INIT_DELAYED_WORK(&priv->ra_watchdog, rtl8xxxu_watchdog_callback);
 
 	usb_set_intfdata(interface, hw);
 
@@ -6183,6 +6259,8 @@ static void rtl8xxxu_disconnect(struct usb_interface *interface)
 	mutex_destroy(&priv->usb_buf_mutex);
 	mutex_destroy(&priv->h2c_mutex);
 
+	cancel_delayed_work_sync(&priv->ra_watchdog);
+
 	if (priv->udev->state != USB_STATE_NOTATTACHED) {
 		dev_info(&priv->udev->dev,
 			 "Device still attached, trying to reset\n");
-- 
2.21.0


^ permalink raw reply related

* [PATCH] NFC: microread/pn544: Fix possible null pointer deference error
From: Young Xiao @ 2019-05-29  3:43 UTC (permalink / raw)
  To: sameo, linux-wireless, linux-kernel; +Cc: Young Xiao

When there is an access phy-hdev in pn544_hci_i2c_irq_thread_fn or
microread_i2c_irq_thread_fn, it is not initialized in pn544_hci_i2c_probe
or microread_i2c_probe.

Therefore, we change the order of calling function xxx_probe and
request_threaded_irq, and add guard of phy->hdev in
xxx_i2c_irq_thread_fn function.

Signed-off-by: Young Xiao <92siuyang@gmail.com>
---
 drivers/nfc/microread/i2c.c | 19 +++++++------------
 drivers/nfc/pn544/i2c.c     | 16 ++++++++--------
 2 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/drivers/nfc/microread/i2c.c b/drivers/nfc/microread/i2c.c
index 1806d20..80fc6d5 100644
--- a/drivers/nfc/microread/i2c.c
+++ b/drivers/nfc/microread/i2c.c
@@ -212,7 +212,7 @@ static irqreturn_t microread_i2c_irq_thread_fn(int irq, void *phy_id)
 	struct sk_buff *skb = NULL;
 	int r;
 
-	if (!phy || irq != phy->i2c_dev->irq) {
+	if (!phy || !phy->hdev || irq != phy->i2c_dev->irq) {
 		WARN_ON_ONCE(1);
 		return IRQ_NONE;
 	}
@@ -257,6 +257,12 @@ static int microread_i2c_probe(struct i2c_client *client,
 
 	i2c_set_clientdata(client, phy);
 	phy->i2c_dev = client;
+	r = microread_probe(phy, &i2c_phy_ops, LLC_SHDLC_NAME,
+			    MICROREAD_I2C_FRAME_HEADROOM,
+			    MICROREAD_I2C_FRAME_TAILROOM,
+			    MICROREAD_I2C_LLC_MAX_PAYLOAD, &phy->hdev);
+	if (r < 0)
+		return r;
 
 	r = request_threaded_irq(client->irq, NULL, microread_i2c_irq_thread_fn,
 				 IRQF_TRIGGER_RISING | IRQF_ONESHOT,
@@ -266,21 +272,10 @@ static int microread_i2c_probe(struct i2c_client *client,
 		return r;
 	}
 
-	r = microread_probe(phy, &i2c_phy_ops, LLC_SHDLC_NAME,
-			    MICROREAD_I2C_FRAME_HEADROOM,
-			    MICROREAD_I2C_FRAME_TAILROOM,
-			    MICROREAD_I2C_LLC_MAX_PAYLOAD, &phy->hdev);
-	if (r < 0)
-		goto err_irq;
 
 	nfc_info(&client->dev, "Probed\n");
 
 	return 0;
-
-err_irq:
-	free_irq(client->irq, phy);
-
-	return r;
 }
 
 static int microread_i2c_remove(struct i2c_client *client)
diff --git a/drivers/nfc/pn544/i2c.c b/drivers/nfc/pn544/i2c.c
index d0207f8..c9694c8 100644
--- a/drivers/nfc/pn544/i2c.c
+++ b/drivers/nfc/pn544/i2c.c
@@ -496,7 +496,7 @@ static irqreturn_t pn544_hci_i2c_irq_thread_fn(int irq, void *phy_id)
 	struct sk_buff *skb = NULL;
 	int r;
 
-	if (!phy || irq != phy->i2c_dev->irq) {
+	if (!phy || !phy->hdev || irq != phy->i2c_dev->irq) {
 		WARN_ON_ONCE(1);
 		return IRQ_NONE;
 	}
@@ -924,6 +924,13 @@ static int pn544_hci_i2c_probe(struct i2c_client *client,
 
 	pn544_hci_i2c_platform_init(phy);
 
+	r = pn544_hci_probe(phy, &i2c_phy_ops, LLC_SHDLC_NAME,
+			    PN544_I2C_FRAME_HEADROOM, PN544_I2C_FRAME_TAILROOM,
+			    PN544_HCI_I2C_LLC_MAX_PAYLOAD,
+			    pn544_hci_i2c_fw_download, &phy->hdev);
+	if (r < 0)
+		return r;
+
 	r = devm_request_threaded_irq(&client->dev, client->irq, NULL,
 				      pn544_hci_i2c_irq_thread_fn,
 				      IRQF_TRIGGER_RISING | IRQF_ONESHOT,
@@ -933,13 +940,6 @@ static int pn544_hci_i2c_probe(struct i2c_client *client,
 		return r;
 	}
 
-	r = pn544_hci_probe(phy, &i2c_phy_ops, LLC_SHDLC_NAME,
-			    PN544_I2C_FRAME_HEADROOM, PN544_I2C_FRAME_TAILROOM,
-			    PN544_HCI_I2C_LLC_MAX_PAYLOAD,
-			    pn544_hci_i2c_fw_download, &phy->hdev);
-	if (r < 0)
-		return r;
-
 	return 0;
 }
 
-- 
2.7.4


^ permalink raw reply related

* Urgent!!!
From: Ms Karen~CIO/GMD @ 2019-05-29  2:43 UTC (permalink / raw)
  To: linux-wireless

Hello
 
  Just a quick remindal, did you get the proposal i sent to you 
on the 24th of this month ?
 
Kindly Reply
Regional Group Manager
Mrs Karen Ngui

^ permalink raw reply

* [PATCH] mac80211: free peer keys before vif down in mesh
From: Pradeep Kumar Chitrapu @ 2019-05-28 23:36 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Pradeep Kumar Chitrapu

freeing peer keys after vif down is resulting in peer key uninstall
to fail due to interface lookup failure. so fix that.

Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
---
 net/mac80211/mesh.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
index 766e5e5bab8a..bd68f5a87b26 100644
--- a/net/mac80211/mesh.c
+++ b/net/mac80211/mesh.c
@@ -929,6 +929,7 @@ void ieee80211_stop_mesh(struct ieee80211_sub_if_data *sdata)
 
 	/* flush STAs and mpaths on this iface */
 	sta_info_flush(sdata);
+	ieee80211_free_keys(sdata, true);
 	mesh_path_flush_by_iface(sdata);
 
 	/* stop the beacon */
-- 
2.1.2


^ permalink raw reply related

* Re: [PATCH v2] mmc: dw_mmc: Disable SDIO interrupts while suspended to fix suspend/resume
From: Doug Anderson @ 2019-05-28 22:49 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Jaehoon Chung, Shawn Lin, Kalle Valo, Heiko Stuebner,
	open list:ARM/Rockchip SoC..., Guenter Roeck, Brian Norris,
	linux-wireless, Sonny Rao, Emil Renner Berthing,
	Matthias Kaehlcke, Ryan Case, # 4.0+, linux-mmc@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <CAPDyKFp0fQ+3CS-DadE9rO-9Npzve-nztY9hRaMdX7Pw9sUZMw@mail.gmail.com>

Hi,

On Tue, May 28, 2019 at 12:22 PM Ulf Hansson <ulf.hansson@linaro.org> wrote:
>
> On Mon, 29 Apr 2019 at 22:41, Douglas Anderson <dianders@chromium.org> wrote:
> >
> > Processing SDIO interrupts while dw_mmc is suspended (or partly
> > suspended) seems like a bad idea.  We really don't want to be
> > processing them until we've gotten ourselves fully powered up.
>
> I fully agree.
>
> Although, this is important not only from the host driver/controller
> perspective, but also from the SDIO card (managed by mmc core) point
> of view.
>
> In $subject patch you mange the driver/controller issue, but only for
> one specific host driver (dw_mmc). I am thinking that this problem may
> be a rather common problem, so perhaps we should try to address this
> from the core in a way that it affects all host drivers. Did you
> consider that?

I did wonder that.  See below, but in general I don't have massive
experience with all the host controllers out there.  Looking at sdhci
code, though, it might not have the same problems?  At least in some
cases it fully turns off the interrupts.  In other cases it seems like
the controller itself keeps power and so maybe getting the SDIO
interrupts early is OK?


> The other problem I refer to, is in principle a way to prevent
> sdio_run_irqs() from being executed before the SDIO card has been
> resumed, via mmc_sdio_resume(). It's a separate problem, but certainly
> related. This may need some more thinking to address properly, let's
> just keep this in mind and discuss this in a separate thread.

Actually, I think if we could figure out how to do this well it might
solve my particular problem.  Specifically I don't believe that
running dw_mmc's interrupt handler itself is causing the problem
(though it does seem pretty odd to run it while we're in the middle of
initting the host), I think it's the SDIO driver calling back into us
that's causing the problems.


> > You might be wondering how it's even possible to become suspended when
> > an SDIO interrupt is active.  As can be seen in
> > dw_mci_enable_sdio_irq(), we explicitly keep dw_mmc out of runtime
> > suspend when the SDIO interrupt is enabled.  ...but even though we
> > stop normal runtime suspend transitions when SDIO interrupts are
> > enabled, the dw_mci_runtime_suspend() can still get called for a full
> > system suspend.
> >
> > Let's handle all this by explicitly masking SDIO interrupts in the
> > suspend call and unmasking them later in the resume call.  To do this
> > cleanly I'll keep track of whether the client requested that SDIO
> > interrupts be enabled so that we can reliably restore them regardless
> > of whether we're masking them for one reason or another.
> >
> > It should be noted that if dw_mci_enable_sdio_irq() is never called
> > (for instance, if we don't have an SDIO card plugged in) that
> > "client_sdio_enb" will always be false.  In those cases this patch
> > adds a tiny bit of overhead to suspend/resume (a spinlock and a
> > read/write of INTMASK) but other than that is a no-op.  The
> > SDMMC_INT_SDIO bit should always be clear and clearing it again won't
> > hurt.
>
> Thanks for the detailed problem description. In general your approach
> sounds okay to me, but I have a few questions.
>
> 1) As kind of stated above, did you consider a solution where the core
> simply disables the SDIO IRQ in case it isn't enabled for system
> wakeup? In this way all host drivers would benefit.

I can give it a shot if you can give me a bunch of specific advice,
but I only have access to a few devices doing anything with SDIO and
they are all using Marvell or Broadcom on dw_mmc.

In general I have no idea how SDIO wakeup (plumbed through the SD
controller) would work.  As per below the only way I've seen it done
is totally out-of-band.  ...and actually, I'm not sure I've actually
ever seen even the out of band stuff truly work on a system myself.
It's always been one of those "we should support wake on WiFi" but
never made it all the way to implementation.  In any case, if there
are examples of people plumbing wakeup through the SD controller I'd
need to figure out how to not break them.  Just doing a solution for
dw_mmc means I don't have to worry about this since dw_mmc definitely
doesn't support SDIO wakeup.

Maybe one way to get a more generic solution is if you had an idea for
a patch that would work for many host controllers then you could post
it and I could test to confirm that it's happy on dw_mmc?  ...similar
to when you switched dw_mmc away from the old kthread-based SDIO
stuff?


> 2) dw_mmc isn't calling device_init_wakeup() during ->probe(), hence I
> assume it doesn't support the SDIO IRQ being configured as system
> wakeup. Correct? I understand this is platform specific, but still it
> would be good to know your view.

Right, currently dw_mmc doesn't support the SDIO IRQ being configured
as a system wakeup.  I'm kinda curious how this works in general.
Don't you need a clock running to get an SDIO interrupt?  How does
that work for suspend?  ...I do know that I've seen some dw_mmc host
controllers have an "SDIO IRQ" line that could be pinned out and that
line would also assert the same SDIO interrupt, but the mainline
driver has never supported it.  Whenever I asked Marvell about it in
the past they were always confused about what to do with that line and
(if I remember correctly) we never hooked it up.  I always though it
would be super interesting because it seemed like it would let us
disable the card clock when the slot was idle.  ...as far as I was
ever able to discern the pin was officially "non-standard".

As far as I know SDIO cards that want to be able to wakeup the device
end up using some sort of out of band mechanism.  For instance
"marvell,wakeup-pin" or Broadcom's "host-wake" interrupt.  As per
above, I don't have tons of experience here.  I see that
"rk3399-gru-kevin" has "marvell,wakeup-pin" defined, but that's PCIe
not SDIO.  Downstream in our Chrome OS kernel it seems like
"mt8173-oak.dtsi" and "mt8176-rowan.dtsi" have this for SDIO but they
are are devices I didn't work on and don't have much familiarity with.


> 3) Because of 2) The below code in dw_mci_runtime_suspend(), puzzles me:
> "if (host->slot->mmc->pm_flags & MMC_PM_KEEP_POWER)"
>        dw_mci_set_ios(host->slot->mmc, &host->slot->mmc->ios);
>
> Why is 3) needed at all in case system wakeup isn't supported?

That code has been in there for a really long time, dating back to
commit ab269128a2cf ("mmc: dw_mmc: Add sdio power bindings").  ...but,
in general, I know that we always keep power to the SDIO card in
suspend time.  This doesn't take a whole lot of power and speeds up
WiFi acquisition after resume by a whole lot (because otherwise we'd
have to fully re-load the WiFi firmware).  In fact, I believe that the
Marvell WiFi driver requires it.  Ah yes, search for
"MMC_PM_KEEP_POWER" in "marvell/mwifiex/sdio.c" and you'll see that it
gets yells if power isn't kept.

If we are keeping power during suspend/resume then presumably the card
will expect that communication resumes as normal upon resume.  AKA:
the clock should come up at the expected rate / voltage level and we
should resume as normal.


> A note; the current support in the mmc core for the SDIO IRQ being
> used as system wakeup, really needs some re-work. For example, we
> should convert to use common wakeup interfaces, as to allow the PM
> core to behave correctly during system suspend/resume. These are
> changes that have been scheduled on my TODO list since long time ago,
> I hope I can get some time to look into them soon.

Personally my knowledge of SD / SDIO is mostly acquired by trying to
make the dw_mmc driver do what we've needed it to over the years, so I
don't actually have a ton of broad understanding of the SDIO spec and
what is generally done for host controllers / SDIO cards.  If you're
aware of standard ways to get an SDIO IRQ to work in suspend time then
that'd be interesting.


> > Without this fix it can be seen that rk3288-veyron Chromebooks with
> > Marvell WiFi would sometimes fail to resume WiFi even after picking my
> > recent mwifiex patch [1].  Specifically you'd see messages like this:
> >   mwifiex_sdio mmc1:0001:1: Firmware wakeup failed
> >   mwifiex_sdio mmc1:0001:1: PREP_CMD: FW in reset state
> >
> > ...and tracing through the resume code in the failing cases showed
> > that we were processing a SDIO interrupt really early in the resume
> > call.
> >
> > NOTE: downstream in Chrome OS 3.14 and 3.18 kernels (both of which
> > support the Marvell SDIO WiFi card) we had a patch ("CHROMIUM: sdio:
> > Defer SDIO interrupt handling until after resume") [2].  Presumably
> > this is the same problem that was solved by that patch.
>
> Seems reasonable.

Anyway, let me know what you think the next set of steps ought to be.
It would be sorta nice to get suspend/resume working reliably and land
this patch, but if you think that will impede our ability to come up
with a more generic solution then I guess we don't need to land it...


-Doug

^ permalink raw reply

* Announcing Netdev 0x14
From: Jamal Hadi Salim @ 2019-05-28 21:50 UTC (permalink / raw)
  To: people
  Cc: board@netdevconf.org, linux-wireless, netfilter-devel, netfilter,
	lwn, netdev, lartc


Folks,

Based on the feedback we received in the conducted polls,
The NetDev Society is pleased to announce that Netdev 0x14
will take place March 17-20th, 2020 in Vancouver, Canada.

The new format is:
- 3 days talks + 1 day of tutorials and workshops
- The 3 day talks will be single track talks with more breaks
and breakout rooms available for discussions.

The call for papers will open up on Tuesday, September 17, 2019.

More details will be posted here:
https://www.netdevconf.org/0x14

We are going to bring you more updates as they become available to us.
For regular updates, please subscribe to people@lists.netdevconf.org

If twitter is your thing then follow us: @netdev01
and use hashtag #netdevconf


cheers,
jamal

^ permalink raw reply

* Re: brcmfmac & DEL_INTERFACE
From: Denis Kenzior @ 2019-05-28 20:49 UTC (permalink / raw)
  To: Arend Van Spriel; +Cc: linux-wireless@vger.kernel.org
In-Reply-To: <5679a6a1-e4a1-1f55-5b6d-21b178201078@broadcom.com>

Hi Arend,

On 05/28/2019 03:27 PM, Arend Van Spriel wrote:
> On 5/28/2019 8:16 PM, Denis Kenzior wrote:
>> Hi Arend,
>>
>> We noticed that brcmfmac doesn't support .del_virtual_intf for 
>> non-p2p/ap interface types.  Any chance this can be added?
>>
>> We currently remove all wifi interfaces and re-create the needed ones 
>> with SOCKET_OWNER set, and it would be nice if we didn't need to treat 
>> brcmfmac specially.
> 
> This came up recently. During probe the driver creates a network 
> interface that we refer to as primary interface. We consider this 
> non-virtual and ownership is with the driver. My guess is that this 
> concept comes from the WEXT era, where we did not have the ieee80211 phy 
> objects to interact with the driver from user-space. I suppose you don't 
> mind the creation of this interface and just want to allow removing it, 
> right?

Correct.  If we can at least get the DEL_INTERFACE supported, that would 
solve our immediate use case.

I do think that the drivers should not be creating a netdev by default 
and should wait until userspace asks for it.  But that is a separate 
topic, with backwards compatibility concerns, so I'll leave it for the 
future :)

Regards,
-Denis

^ permalink raw reply

* Re: brcmfmac & DEL_INTERFACE
From: Arend Van Spriel @ 2019-05-28 20:27 UTC (permalink / raw)
  To: Denis Kenzior; +Cc: linux-wireless@vger.kernel.org
In-Reply-To: <089d2d0a-a802-3c2b-4993-e17326028d1f@gmail.com>

On 5/28/2019 8:16 PM, Denis Kenzior wrote:
> Hi Arend,
> 
> We noticed that brcmfmac doesn't support .del_virtual_intf for 
> non-p2p/ap interface types.  Any chance this can be added?
> 
> We currently remove all wifi interfaces and re-create the needed ones 
> with SOCKET_OWNER set, and it would be nice if we didn't need to treat 
> brcmfmac specially.

This came up recently. During probe the driver creates a network 
interface that we refer to as primary interface. We consider this 
non-virtual and ownership is with the driver. My guess is that this 
concept comes from the WEXT era, where we did not have the ieee80211 phy 
objects to interact with the driver from user-space. I suppose you don't 
mind the creation of this interface and just want to allow removing it, 
right?

Regards,
Arend

^ permalink raw reply

* Re: Issue with Broadcom wireless in 5.2rc1 (was Re: [PATCH] mmc: sdhci: queue work after sdhci_defer_done())
From: Ulf Hansson @ 2019-05-28 20:11 UTC (permalink / raw)
  To: Brian Masney, Adrian Hunter
  Cc: Arend Van Spriel, Franky Lin, Hante Meuleman, Chi-Hsien Lin,
	Wright Feng, Faiz Abbas, linux-mmc@vger.kernel.org,
	Linux Kernel Mailing List, linux-arm-msm, Kalle Valo,
	linux-wireless, brcm80211-dev-list.pdl, brcm80211-dev-list,
	netdev
In-Reply-To: <20190527125026.GA4272@basecamp>

On Mon, 27 May 2019 at 14:50, Brian Masney <masneyb@onstation.org> wrote:
>
> On Mon, May 27, 2019 at 03:08:07PM +0300, Adrian Hunter wrote:
> > On 27/05/19 12:37 PM, Brian Masney wrote:
> > > On Sun, May 26, 2019 at 03:58:19PM -0400, Brian Masney wrote:
> > >> I attached a patch that shows how I was able to determine what had
> > >> already claimed the host.
> > > On Mon, May 27, 2019 at 10:48:24AM +0300, Adrian Hunter wrote:
> > >> This is because SDHCI is using the IRQ thread to process the SDIO card
> > >> interrupt (sdio_run_irqs()).  When the card driver tries to use the card, it
> > >> causes interrupts which deadlocks since c07a48c26519 ("mmc: sdhci: Remove
> > >> finish_tasklet") has moved the tasklet processing to the IRQ thread.
> > >>
> > >> I would expect to be able to use the IRQ thread to complete requests, and it
> > >> is desirable to do so because it is lower latency.
> > >>
> > >> Probably, SDHCI should use sdio_signal_irq() which queues a work item, and
> > >> is what other drivers are doing.
> > >>
> > >> I will investigate some more and send a patch.
> >
> > Please try the patch below:
> >
> > From: Adrian Hunter <adrian.hunter@intel.com>
> > Date: Mon, 27 May 2019 14:45:55 +0300
> > Subject: [PATCH] mmc: sdhci: Fix SDIO IRQ thread deadlock
> >
> > Since commit c07a48c26519 ("mmc: sdhci: Remove finish_tasklet"), the IRQ
> > thread might be used to complete requests, but the IRQ thread is also used
> > to process SDIO card interrupts. This can cause a deadlock when the SDIO
> > processing tries to access the card since that would also require the IRQ
> > thread. Change SDHCI to use sdio_signal_irq() to schedule a work item
> > instead. That also requires implementing the ->ack_sdio_irq() mmc host op.
> >
> > Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
> > Fixes: c07a48c26519 ("mmc: sdhci: Remove finish_tasklet")
>
> Yes, this fixes the issue for me. You can add my:
>
> Reported-by: Brian Masney <masneyb@onstation.org>
> Tested-by: Brian Masney <masneyb@onstation.org>
>

Applied for fixes, thanks!

Kind regards
Uffe

^ permalink raw reply

* Re: [PATCH v2] mmc: dw_mmc: Disable SDIO interrupts while suspended to fix suspend/resume
From: Ulf Hansson @ 2019-05-28 19:21 UTC (permalink / raw)
  To: Douglas Anderson
  Cc: Jaehoon Chung, Shawn Lin, Kalle Valo, Heiko Stuebner,
	open list:ARM/Rockchip SoC..., Guenter Roeck, Brian Norris,
	linux-wireless, Sonny Rao, Emil Renner Berthing,
	Matthias Kaehlcke, Ryan Case, # 4.0+, linux-mmc@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <20190429204040.18725-1-dianders@chromium.org>

On Mon, 29 Apr 2019 at 22:41, Douglas Anderson <dianders@chromium.org> wrote:
>
> Processing SDIO interrupts while dw_mmc is suspended (or partly
> suspended) seems like a bad idea.  We really don't want to be
> processing them until we've gotten ourselves fully powered up.

I fully agree.

Although, this is important not only from the host driver/controller
perspective, but also from the SDIO card (managed by mmc core) point
of view.

In $subject patch you mange the driver/controller issue, but only for
one specific host driver (dw_mmc). I am thinking that this problem may
be a rather common problem, so perhaps we should try to address this
from the core in a way that it affects all host drivers. Did you
consider that?

The other problem I refer to, is in principle a way to prevent
sdio_run_irqs() from being executed before the SDIO card has been
resumed, via mmc_sdio_resume(). It's a separate problem, but certainly
related. This may need some more thinking to address properly, let's
just keep this in mind and discuss this in a separate thread.

>
> You might be wondering how it's even possible to become suspended when
> an SDIO interrupt is active.  As can be seen in
> dw_mci_enable_sdio_irq(), we explicitly keep dw_mmc out of runtime
> suspend when the SDIO interrupt is enabled.  ...but even though we
> stop normal runtime suspend transitions when SDIO interrupts are
> enabled, the dw_mci_runtime_suspend() can still get called for a full
> system suspend.
>
> Let's handle all this by explicitly masking SDIO interrupts in the
> suspend call and unmasking them later in the resume call.  To do this
> cleanly I'll keep track of whether the client requested that SDIO
> interrupts be enabled so that we can reliably restore them regardless
> of whether we're masking them for one reason or another.
>
> It should be noted that if dw_mci_enable_sdio_irq() is never called
> (for instance, if we don't have an SDIO card plugged in) that
> "client_sdio_enb" will always be false.  In those cases this patch
> adds a tiny bit of overhead to suspend/resume (a spinlock and a
> read/write of INTMASK) but other than that is a no-op.  The
> SDMMC_INT_SDIO bit should always be clear and clearing it again won't
> hurt.

Thanks for the detailed problem description. In general your approach
sounds okay to me, but I have a few questions.

1) As kind of stated above, did you consider a solution where the core
simply disables the SDIO IRQ in case it isn't enabled for system
wakeup? In this way all host drivers would benefit.

2) dw_mmc isn't calling device_init_wakeup() during ->probe(), hence I
assume it doesn't support the SDIO IRQ being configured as system
wakeup. Correct? I understand this is platform specific, but still it
would be good to know your view.

3) Because of 2) The below code in dw_mci_runtime_suspend(), puzzles me:
"if (host->slot->mmc->pm_flags & MMC_PM_KEEP_POWER)"
       dw_mci_set_ios(host->slot->mmc, &host->slot->mmc->ios);

Why is 3) needed at all in case system wakeup isn't supported?

A note; the current support in the mmc core for the SDIO IRQ being
used as system wakeup, really needs some re-work. For example, we
should convert to use common wakeup interfaces, as to allow the PM
core to behave correctly during system suspend/resume. These are
changes that have been scheduled on my TODO list since long time ago,
I hope I can get some time to look into them soon.

>
> Without this fix it can be seen that rk3288-veyron Chromebooks with
> Marvell WiFi would sometimes fail to resume WiFi even after picking my
> recent mwifiex patch [1].  Specifically you'd see messages like this:
>   mwifiex_sdio mmc1:0001:1: Firmware wakeup failed
>   mwifiex_sdio mmc1:0001:1: PREP_CMD: FW in reset state
>
> ...and tracing through the resume code in the failing cases showed
> that we were processing a SDIO interrupt really early in the resume
> call.
>
> NOTE: downstream in Chrome OS 3.14 and 3.18 kernels (both of which
> support the Marvell SDIO WiFi card) we had a patch ("CHROMIUM: sdio:
> Defer SDIO interrupt handling until after resume") [2].  Presumably
> this is the same problem that was solved by that patch.

Seems reasonable.

>
> [1] https://lkml.kernel.org/r/20190404040106.40519-1-dianders@chromium.org
> [2] https://crrev.com/c/230765
>
> Cc: <stable@vger.kernel.org> # 4.14.x
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
> ---
> I didn't put any "Fixes" tag here, but presumably this could be
> backported to whichever kernels folks found it useful for.  I have at
> least confirmed that kernels v4.14 and v4.19 (as well as v5.1-rc2)
> show the problem.  It is very easy to pick this to v4.19 and it
> definitely fixes the problem there.
>
> I haven't spent the time to pick this to 4.14 myself, but presumably
> it wouldn't be too hard to backport this as far as v4.13 since that
> contains commit 32dba73772f8 ("mmc: dw_mmc: Convert to use
> MMC_CAP2_SDIO_IRQ_NOTHREAD for SDIO IRQs").  Prior to that it might
> make sense for anyone experiencing this problem to just pick the old
> CHROMIUM patch to fix them.
>
> Changes in v2:
> - Suggested 4.14+ in the stable tag (Sasha-bot)
> - Extra note that this is a noop on non-SDIO (Shawn / Emil)
> - Make boolean logic cleaner as per https://crrev.com/c/1586207/1
> - Hopefully clear comments as per https://crrev.com/c/1586207/1
>
>  drivers/mmc/host/dw_mmc.c | 27 +++++++++++++++++++++++----
>  drivers/mmc/host/dw_mmc.h |  3 +++
>  2 files changed, 26 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 80dc2fd6576c..480067b87a94 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -1664,7 +1664,8 @@ static void dw_mci_init_card(struct mmc_host *mmc, struct mmc_card *card)
>         }
>  }
>
> -static void __dw_mci_enable_sdio_irq(struct dw_mci_slot *slot, int enb)
> +static void __dw_mci_enable_sdio_irq(struct dw_mci_slot *slot, bool enb,
> +                                    bool client_requested)
>  {
>         struct dw_mci *host = slot->host;
>         unsigned long irqflags;
> @@ -1672,6 +1673,20 @@ static void __dw_mci_enable_sdio_irq(struct dw_mci_slot *slot, int enb)
>
>         spin_lock_irqsave(&host->irq_lock, irqflags);
>
> +       /*
> +        * If we're being called directly from dw_mci_enable_sdio_irq()
> +        * (which means that the client driver actually wants to enable or
> +        * disable interrupts) then save the request.  Otherwise this
> +        * wasn't directly requested by the client and we should logically
> +        * AND it with the client request since we want to disable if
> +        * _either_ the client disabled OR we have some other reason to
> +        * disable temporarily.
> +        */
> +       if (client_requested)
> +               host->client_sdio_enb = enb;
> +       else
> +               enb &= host->client_sdio_enb;
> +
>         /* Enable/disable Slot Specific SDIO interrupt */
>         int_mask = mci_readl(host, INTMASK);
>         if (enb)
> @@ -1688,7 +1703,7 @@ static void dw_mci_enable_sdio_irq(struct mmc_host *mmc, int enb)
>         struct dw_mci_slot *slot = mmc_priv(mmc);
>         struct dw_mci *host = slot->host;
>
> -       __dw_mci_enable_sdio_irq(slot, enb);
> +       __dw_mci_enable_sdio_irq(slot, enb, true);
>
>         /* Avoid runtime suspending the device when SDIO IRQ is enabled */
>         if (enb)
> @@ -1701,7 +1716,7 @@ static void dw_mci_ack_sdio_irq(struct mmc_host *mmc)
>  {
>         struct dw_mci_slot *slot = mmc_priv(mmc);
>
> -       __dw_mci_enable_sdio_irq(slot, 1);
> +       __dw_mci_enable_sdio_irq(slot, true, false);
>  }
>
>  static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
> @@ -2734,7 +2749,7 @@ static irqreturn_t dw_mci_interrupt(int irq, void *dev_id)
>                 if (pending & SDMMC_INT_SDIO(slot->sdio_id)) {
>                         mci_writel(host, RINTSTS,
>                                    SDMMC_INT_SDIO(slot->sdio_id));
> -                       __dw_mci_enable_sdio_irq(slot, 0);
> +                       __dw_mci_enable_sdio_irq(slot, false, false);
>                         sdio_signal_irq(slot->mmc);
>                 }
>
> @@ -3424,6 +3439,8 @@ int dw_mci_runtime_suspend(struct device *dev)
>  {
>         struct dw_mci *host = dev_get_drvdata(dev);
>
> +       __dw_mci_enable_sdio_irq(host->slot, false, false);
> +
>         if (host->use_dma && host->dma_ops->exit)
>                 host->dma_ops->exit(host);
>
> @@ -3490,6 +3507,8 @@ int dw_mci_runtime_resume(struct device *dev)
>         /* Now that slots are all setup, we can enable card detect */
>         dw_mci_enable_cd(host);
>
> +       __dw_mci_enable_sdio_irq(host->slot, true, false);
> +
>         return 0;
>
>  err:
> diff --git a/drivers/mmc/host/dw_mmc.h b/drivers/mmc/host/dw_mmc.h
> index 46e9f8ec5398..dfbace0f5043 100644
> --- a/drivers/mmc/host/dw_mmc.h
> +++ b/drivers/mmc/host/dw_mmc.h
> @@ -127,6 +127,7 @@ struct dw_mci_dma_slave {
>   * @cmd11_timer: Timer for SD3.0 voltage switch over scheme.
>   * @cto_timer: Timer for broken command transfer over scheme.
>   * @dto_timer: Timer for broken data transfer over scheme.
> + * @client_sdio_enb: The value last passed to enable_sdio_irq.
>   *
>   * Locking
>   * =======
> @@ -234,6 +235,8 @@ struct dw_mci {
>         struct timer_list       cmd11_timer;
>         struct timer_list       cto_timer;
>         struct timer_list       dto_timer;
> +
> +       bool                    client_sdio_enb;
>  };
>
>  /* DMA ops for Internal/External DMAC interface */
> --
> 2.21.0.593.g511ec345e18-goog
>

Kind regards
Uffe

^ permalink raw reply

* brcmfmac & DEL_INTERFACE
From: Denis Kenzior @ 2019-05-28 18:16 UTC (permalink / raw)
  To: Arend Van Spriel, linux-wireless@vger.kernel.org

Hi Arend,

We noticed that brcmfmac doesn't support .del_virtual_intf for 
non-p2p/ap interface types.  Any chance this can be added?

We currently remove all wifi interfaces and re-create the needed ones 
with SOCKET_OWNER set, and it would be nice if we didn't need to treat 
brcmfmac specially.

Regards,
-Denis

^ permalink raw reply

* Re: FYI: vendor specific nl80211 API upstream
From: Denis Kenzior @ 2019-05-28 17:36 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless
In-Reply-To: <c138fac51c7f49bbcd8617ae0a2c750d78abb35d.camel@sipsolutions.net>

Hi Johannes,

On 05/28/2019 06:51 AM, Johannes Berg wrote:
> Hi all,
> 
> FYI - at the discussions in Prague we decided to let some vendor
> specific nl80211 API go upstream, and I've just documented the expected
> rules here:
> 
> https://wireless.wiki.kernel.org/en/developers/documentation/nl80211#vendor-specific_api
> 

I'm guessing that you guys considered and rejected the idea of pushing 
these out to a separate, vendor specific genl family instead?

Regards,
-Denis

^ permalink raw reply

* [PATCH] linux-firmware: rsi: add firmware image for redpine 9116 chipset
From: Siva Rebbagondla @ 2019-05-28 17:02 UTC (permalink / raw)
  To: linux-firmware; +Cc: linux-wireless, Siva Rebbagondla

These images will be loaded by rsi driver based on operating mode for
RS9116 chipset. Firmware version is 1.0.5b.

rs9116_wlan.rps - WLAN(AP+STA) functionality.
rs9116_wlan_bt_classic.rps - WLAN(AP+STA) and BT functionality

Signed-off-by: Siva Rebbagondla <siva8118@gmail.com>
---
 rsi/rs9116_wlan.rps            | Bin 0 -> 103872 bytes
 rsi/rs9116_wlan_bt_classic.rps | Bin 0 -> 315840 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 rsi/rs9116_wlan.rps
 create mode 100644 rsi/rs9116_wlan_bt_classic.rps

diff --git a/rsi/rs9116_wlan.rps b/rsi/rs9116_wlan.rps
new file mode 100644
index 0000000000000000000000000000000000000000..46d511abc7a145f34bbf0c7ba4e3dd8178957ef9
GIT binary patch
literal 103872
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
HjspJ&{{GZ2

literal 0
HcmV?d00001

diff --git a/rsi/rs9116_wlan_bt_classic.rps b/rsi/rs9116_wlan_bt_classic.rps
new file mode 100644
index 0000000000000000000000000000000000000000..e4284152e3de2e5d834eff7f101d893ff0eca792
GIT binary patch
literal 315840
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

literal 0
HcmV?d00001

-- 
2.17.1


^ permalink raw reply

* Re: [PATCH 1/3] brcmfmac: re-enable command decode in sdio_aos for BRCM 4354
From: Arend Van Spriel @ 2019-05-28 16:11 UTC (permalink / raw)
  To: Doug Anderson, Kalle Valo
  Cc: Madhan Mohan R, Ulf Hansson, LKML, Hante Meuleman,
	David S. Miller, netdev, Chi-Hsien Lin, Brian Norris,
	linux-wireless, YueHaibing, Adrian Hunter,
	open list:ARM/Rockchip SoC..., brcm80211-dev-list.pdl,
	Matthias Kaehlcke, Naveen Gupta, Wright Feng, brcm80211-dev-list,
	Double Lo, Franky Lin
In-Reply-To: <16aff33f3e0.2764.9b12b7fc0a3841636cfb5e919b41b954@broadcom.com>

On May 28, 2019 6:09:21 PM Arend Van Spriel <arend.vanspriel@broadcom.com> 
wrote:

> On May 28, 2019 5:52:10 PM Doug Anderson <dianders@chromium.org> wrote:
>
>> Hi,
>>
>> On Tue, May 28, 2019 at 5:18 AM Kalle Valo <kvalo@codeaurora.org> wrote:
>>>
>>> Douglas Anderson <dianders@chromium.org> wrote:
>>>
>>> > In commit 29f6589140a1 ("brcmfmac: disable command decode in
>>> > sdio_aos") we disabled something called "command decode in sdio_aos"
>>> > for a whole bunch of Broadcom SDIO WiFi parts.
>>> >
>>> > After that patch landed I find that my kernel log on
>>> > rk3288-veyron-minnie and rk3288-veyron-speedy is filled with:
>>> >   brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
>>> >
>>> > This seems to happen every time the Broadcom WiFi transitions out of
>>> > sleep mode.  Reverting the part of the commit that affects the WiFi on
>>> > my boards fixes the problem for me, so that's what this patch does.
>>> >
>>> > Note that, in general, the justification in the original commit seemed
>>> > a little weak.  It looked like someone was testing on a SD card
>>> > controller that would sometimes die if there were CRC errors on the
>>> > bus.  This used to happen back in early days of dw_mmc (the controller
>>> > on my boards), but we fixed it.  Disabling a feature on all boards
>>> > just because one SD card controller is broken seems bad.  ...so
>>> > instead of just this patch possibly the right thing to do is to fully
>>> > revert the original commit.
>>> >
>>> > Fixes: 29f6589140a1 ("brcmfmac: disable command decode in sdio_aos")
>>> > Signed-off-by: Douglas Anderson <dianders@chromium.org>
>>>
>>> I don't see patch 2 in patchwork and I assume discussion continues.
>>
>> Apologies.  I made sure to CC you individually on all the patches but
>> didn't think about the fact that you use patchwork to manage and so
>> didn't ensure all patches made it to all lists (by default each patch
>> gets recipients individually from get_maintainer).  I'll make sure to
>> fix for patch set #2.  If you want to see all the patches, you can at
>> least find them on lore.kernel.org linked from the cover:
>>
>> https://lore.kernel.org/patchwork/cover/1075373/
>>
>>
>>> Please resend if/when I need to apply something.
>>>
>>> 2 patches set to Changes Requested.
>>>
>>> 10948785 [1/3] brcmfmac: re-enable command decode in sdio_aos for BRCM 4354
>>
>> As per Arend I'll change patch #1 to a full revert instead of a
>> partial revert.  Arend: please yell if you want otherwise.
>
> No yelling here. If any it is expected from Cypress. Maybe good to add them
> specifically in Cc:

Of the revert patch that is.

Gr. AvS



^ permalink raw reply

* Re: INFO: trying to register non-static key in rtl_c2hcmd_launcher
From: Andrey Konovalov @ 2019-05-28 16:10 UTC (permalink / raw)
  To: syzbot, pkshih, Kalle Valo, linux-wireless
  Cc: David S. Miller, LKML, USB list, netdev, syzkaller-bugs
In-Reply-To: <000000000000727264058653d9a7@google.com>

On Fri, Apr 12, 2019 at 1:46 PM syzbot
<syzbot+1fcc5ef45175fc774231@syzkaller.appspotmail.com> wrote:
>
> Hello,
>
> syzbot found the following crash on:
>
> HEAD commit:    9a33b369 usb-fuzzer: main usb gadget fuzzer driver
> git tree:       https://github.com/google/kasan/tree/usb-fuzzer
> console output: https://syzkaller.appspot.com/x/log.txt?x=14d4c1af200000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=23e37f59d94ddd15
> dashboard link: https://syzkaller.appspot.com/bug?extid=1fcc5ef45175fc774231
> compiler:       gcc (GCC) 9.0.0 20181231 (experimental)
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=15b6f0f3200000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=140c7c2d200000
>
> IMPORTANT: if you fix the bug, please add the following tag to the commit:
> Reported-by: syzbot+1fcc5ef45175fc774231@syzkaller.appspotmail.com
>
> usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
> rtl_usb: reg 0xf0, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x0
> rtl8192cu: Chip version 0x10
> rtl_usb: reg 0xa, usbctrl_vendorreq TimeOut! status:0xffffffb9 value=0x0
> rtl_usb: Too few input end points found
> INFO: trying to register non-static key.
> the code is fine but needs lockdep annotation.
> turning off the locking correctness validator.
> CPU: 0 PID: 12 Comm: kworker/0:1 Not tainted 5.1.0-rc4-319354-g9a33b36 #3
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> Google 01/01/2011
> Workqueue: usb_hub_wq hub_event
> Call Trace:
>   __dump_stack lib/dump_stack.c:77 [inline]
>   dump_stack+0xe8/0x16e lib/dump_stack.c:113
>   assign_lock_key kernel/locking/lockdep.c:786 [inline]
>   register_lock_class+0x11b8/0x1250 kernel/locking/lockdep.c:1095
>   __lock_acquire+0xfb/0x37c0 kernel/locking/lockdep.c:3582
>   lock_acquire+0x10d/0x2f0 kernel/locking/lockdep.c:4211
>   __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
>   _raw_spin_lock_irqsave+0x44/0x60 kernel/locking/spinlock.c:152
>   rtl_c2hcmd_launcher+0xd1/0x390
> drivers/net/wireless/realtek/rtlwifi/base.c:2344
>   rtl_deinit_core+0x25/0x2d0 drivers/net/wireless/realtek/rtlwifi/base.c:574
>   rtl_usb_probe.cold+0x861/0xa70
> drivers/net/wireless/realtek/rtlwifi/usb.c:1093
>   usb_probe_interface+0x31d/0x820 drivers/usb/core/driver.c:361
>   really_probe+0x2da/0xb10 drivers/base/dd.c:509
>   driver_probe_device+0x21d/0x350 drivers/base/dd.c:671
>   __device_attach_driver+0x1d8/0x290 drivers/base/dd.c:778
>   bus_for_each_drv+0x163/0x1e0 drivers/base/bus.c:454
>   __device_attach+0x223/0x3a0 drivers/base/dd.c:844
>   bus_probe_device+0x1f1/0x2a0 drivers/base/bus.c:514
>   device_add+0xad2/0x16e0 drivers/base/core.c:2106
>   usb_set_configuration+0xdf7/0x1740 drivers/usb/core/message.c:2021
>   generic_probe+0xa2/0xda drivers/usb/core/generic.c:210
>   usb_probe_device+0xc0/0x150 drivers/usb/core/driver.c:266
>   really_probe+0x2da/0xb10 drivers/base/dd.c:509
>   driver_probe_device+0x21d/0x350 drivers/base/dd.c:671
>   __device_attach_driver+0x1d8/0x290 drivers/base/dd.c:778
>   bus_for_each_drv+0x163/0x1e0 drivers/base/bus.c:454
>   __device_attach+0x223/0x3a0 drivers/base/dd.c:844
>   bus_probe_device+0x1f1/0x2a0 drivers/base/bus.c:514
>   device_add+0xad2/0x16e0 drivers/base/core.c:2106
>   usb_new_device.cold+0x537/0xccf drivers/usb/core/hub.c:2534
>   hub_port_connect drivers/usb/core/hub.c:5089 [inline]
>   hub_port_connect_change drivers/usb/core/hub.c:5204 [inline]
>   port_event drivers/usb/core/hub.c:5350 [inline]
>   hub_event+0x138e/0x3b00 drivers/usb/core/hub.c:5432
>   process_one_work+0x90f/0x1580 kernel/workqueue.c:2269
>   worker_thread+0x9b/0xe20 kernel/workqueue.c:2415
>   kthread+0x313/0x420 kernel/kthread.c:253
>   ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352
> kasan: CONFIG_KASAN_INLINE enabled
> kasan: GPF could be caused by NULL-ptr deref or user memory access
> general protection fault: 0000 [#1] SMP KASAN PTI
> CPU: 0 PID: 12 Comm: kworker/0:1 Not tainted 5.1.0-rc4-319354-g9a33b36 #3
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> Google 01/01/2011
> Workqueue: usb_hub_wq hub_event
> RIP: 0010:rtl_free_entries_from_scan_list
> drivers/net/wireless/realtek/rtlwifi/base.c:1933 [inline]
> RIP: 0010:rtl_deinit_core+0x84/0x2d0
> drivers/net/wireless/realtek/rtlwifi/base.c:575
> Code: 4c 89 f2 48 c1 ea 03 80 3c 02 00 0f 85 52 02 00 00 4d 8b bc 24 c8 c4
> 00 00 48 b8 00 00 00 00 00 fc ff df 4c 89 fa 48 c1 ea 03 <80> 3c 02 00 0f
> 85 22 02 00 00 4d 39 f7 4d 8b 2f 4c 89 ff 0f 84 3d
> RSP: 0018:ffff8880a84b7278 EFLAGS: 00010246
> RAX: dffffc0000000000 RBX: 0000000000000001 RCX: 1ffffffff27960ab
> RDX: 0000000000000000 RSI: ffffffff88da7445 RDI: ffff888093c00b68
> RBP: ffff888093c00b20 R08: ffff8880a8498000 R09: ffffed101278051d
> R10: ffffed101278051c R11: ffff888093c028e3 R12: ffff888093c02540
> R13: ffff88821add7848 R14: ffff888093c0ea08 R15: 0000000000000000
> FS:  0000000000000000(0000) GS:ffff8880ad000000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007fd01db19000 CR3: 000000009c01a000 CR4: 00000000001406f0
> Call Trace:
>   rtl_usb_probe.cold+0x861/0xa70
> drivers/net/wireless/realtek/rtlwifi/usb.c:1093
>   usb_probe_interface+0x31d/0x820 drivers/usb/core/driver.c:361
>   really_probe+0x2da/0xb10 drivers/base/dd.c:509
>   driver_probe_device+0x21d/0x350 drivers/base/dd.c:671
>   __device_attach_driver+0x1d8/0x290 drivers/base/dd.c:778
>   bus_for_each_drv+0x163/0x1e0 drivers/base/bus.c:454
>   __device_attach+0x223/0x3a0 drivers/base/dd.c:844
>   bus_probe_device+0x1f1/0x2a0 drivers/base/bus.c:514
>   device_add+0xad2/0x16e0 drivers/base/core.c:2106
>   usb_set_configuration+0xdf7/0x1740 drivers/usb/core/message.c:2021
>   generic_probe+0xa2/0xda drivers/usb/core/generic.c:210
>   usb_probe_device+0xc0/0x150 drivers/usb/core/driver.c:266
>   really_probe+0x2da/0xb10 drivers/base/dd.c:509
>   driver_probe_device+0x21d/0x350 drivers/base/dd.c:671
>   __device_attach_driver+0x1d8/0x290 drivers/base/dd.c:778
>   bus_for_each_drv+0x163/0x1e0 drivers/base/bus.c:454
>   __device_attach+0x223/0x3a0 drivers/base/dd.c:844
>   bus_probe_device+0x1f1/0x2a0 drivers/base/bus.c:514
>   device_add+0xad2/0x16e0 drivers/base/core.c:2106
>   usb_new_device.cold+0x537/0xccf drivers/usb/core/hub.c:2534
>   hub_port_connect drivers/usb/core/hub.c:5089 [inline]
>   hub_port_connect_change drivers/usb/core/hub.c:5204 [inline]
>   port_event drivers/usb/core/hub.c:5350 [inline]
>   hub_event+0x138e/0x3b00 drivers/usb/core/hub.c:5432
>   process_one_work+0x90f/0x1580 kernel/workqueue.c:2269
>   worker_thread+0x9b/0xe20 kernel/workqueue.c:2415
>   kthread+0x313/0x420 kernel/kthread.c:253
>   ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352
> Modules linked in:
> ---[ end trace 38ab7b2a1beef511 ]---
> RIP: 0010:rtl_free_entries_from_scan_list
> drivers/net/wireless/realtek/rtlwifi/base.c:1933 [inline]
> RIP: 0010:rtl_deinit_core+0x84/0x2d0
> drivers/net/wireless/realtek/rtlwifi/base.c:575
> Code: 4c 89 f2 48 c1 ea 03 80 3c 02 00 0f 85 52 02 00 00 4d 8b bc 24 c8 c4
> 00 00 48 b8 00 00 00 00 00 fc ff df 4c 89 fa 48 c1 ea 03 <80> 3c 02 00 0f
> 85 22 02 00 00 4d 39 f7 4d 8b 2f 4c 89 ff 0f 84 3d
> RSP: 0018:ffff8880a84b7278 EFLAGS: 00010246
> RAX: dffffc0000000000 RBX: 0000000000000001 RCX: 1ffffffff27960ab
> RDX: 0000000000000000 RSI: ffffffff88da7445 RDI: ffff888093c00b68
> RBP: ffff888093c00b20 R08: ffff8880a8498000 R09: ffffed101278051d
> R10: ffffed101278051c R11: ffff888093c028e3 R12: ffff888093c02540
> R13: ffff88821add7848 R14: ffff888093c0ea08 R15: 0000000000000000
> FS:  0000000000000000(0000) GS:ffff8880ad000000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007fd01db19000 CR3: 000000009c01a000 CR4: 00000000001406f0

This is currently the top crasher on the USB syzbot fuzzing instance.

AFAICT the issue is that rtl_usb_probe() can goto error_out and call
rtl_deinit_core()->rtl_c2hcmd_launcher()->spin_lock_irqsave(&rtlpriv->locks.c2hcmd_lock)
before locks.c2hcmd_lock is initialized by rtl_init_core().

>
>
> ---
> This bug is generated by a bot. It may contain errors.
> See https://goo.gl/tpsmEJ for more information about syzbot.
> syzbot engineers can be reached at syzkaller@googlegroups.com.
>
> syzbot will keep track of this bug report. See:
> https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
> syzbot can test patches for this bug, for details see:
> https://goo.gl/tpsmEJ#testing-patches

^ permalink raw reply

* Re: [PATCH 1/3] brcmfmac: re-enable command decode in sdio_aos for BRCM 4354
From: Arend Van Spriel @ 2019-05-28 16:09 UTC (permalink / raw)
  To: Doug Anderson, Kalle Valo
  Cc: Madhan Mohan R, Ulf Hansson, LKML, Hante Meuleman,
	David S. Miller, netdev, Chi-Hsien Lin, Brian Norris,
	linux-wireless, YueHaibing, Adrian Hunter,
	open list:ARM/Rockchip SoC..., brcm80211-dev-list.pdl,
	Matthias Kaehlcke, Naveen Gupta, Wright Feng, brcm80211-dev-list,
	Double Lo, Franky Lin
In-Reply-To: <CAD=FV=VtxdEeFQsdF=U7-_7R+TXfVmA2_JMB_-WYidGHTLDgLw@mail.gmail.com>

On May 28, 2019 5:52:10 PM Doug Anderson <dianders@chromium.org> wrote:

> Hi,
>
> On Tue, May 28, 2019 at 5:18 AM Kalle Valo <kvalo@codeaurora.org> wrote:
>>
>> Douglas Anderson <dianders@chromium.org> wrote:
>>
>> > In commit 29f6589140a1 ("brcmfmac: disable command decode in
>> > sdio_aos") we disabled something called "command decode in sdio_aos"
>> > for a whole bunch of Broadcom SDIO WiFi parts.
>> >
>> > After that patch landed I find that my kernel log on
>> > rk3288-veyron-minnie and rk3288-veyron-speedy is filled with:
>> >   brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
>> >
>> > This seems to happen every time the Broadcom WiFi transitions out of
>> > sleep mode.  Reverting the part of the commit that affects the WiFi on
>> > my boards fixes the problem for me, so that's what this patch does.
>> >
>> > Note that, in general, the justification in the original commit seemed
>> > a little weak.  It looked like someone was testing on a SD card
>> > controller that would sometimes die if there were CRC errors on the
>> > bus.  This used to happen back in early days of dw_mmc (the controller
>> > on my boards), but we fixed it.  Disabling a feature on all boards
>> > just because one SD card controller is broken seems bad.  ...so
>> > instead of just this patch possibly the right thing to do is to fully
>> > revert the original commit.
>> >
>> > Fixes: 29f6589140a1 ("brcmfmac: disable command decode in sdio_aos")
>> > Signed-off-by: Douglas Anderson <dianders@chromium.org>
>>
>> I don't see patch 2 in patchwork and I assume discussion continues.
>
> Apologies.  I made sure to CC you individually on all the patches but
> didn't think about the fact that you use patchwork to manage and so
> didn't ensure all patches made it to all lists (by default each patch
> gets recipients individually from get_maintainer).  I'll make sure to
> fix for patch set #2.  If you want to see all the patches, you can at
> least find them on lore.kernel.org linked from the cover:
>
> https://lore.kernel.org/patchwork/cover/1075373/
>
>
>> Please resend if/when I need to apply something.
>>
>> 2 patches set to Changes Requested.
>>
>> 10948785 [1/3] brcmfmac: re-enable command decode in sdio_aos for BRCM 4354
>
> As per Arend I'll change patch #1 to a full revert instead of a
> partial revert.  Arend: please yell if you want otherwise.

No yelling here. If any it is expected from Cypress. Maybe good to add them 
specifically in Cc:

Regards,
Arend



^ permalink raw reply

* Re: [PATCH 1/3] brcmfmac: re-enable command decode in sdio_aos for BRCM 4354
From: Doug Anderson @ 2019-05-28 15:51 UTC (permalink / raw)
  To: Kalle Valo, Arend van Spriel
  Cc: Madhan Mohan R, Ulf Hansson, LKML, Hante Meuleman,
	David S. Miller, netdev, Chi-Hsien Lin, Brian Norris,
	linux-wireless, YueHaibing, Adrian Hunter,
	open list:ARM/Rockchip SoC..., brcm80211-dev-list.pdl,
	Matthias Kaehlcke, Naveen Gupta, Wright Feng, brcm80211-dev-list,
	Double Lo, Franky Lin
In-Reply-To: <20190528121833.7D3A460A00@smtp.codeaurora.org>

Hi,

On Tue, May 28, 2019 at 5:18 AM Kalle Valo <kvalo@codeaurora.org> wrote:
>
> Douglas Anderson <dianders@chromium.org> wrote:
>
> > In commit 29f6589140a1 ("brcmfmac: disable command decode in
> > sdio_aos") we disabled something called "command decode in sdio_aos"
> > for a whole bunch of Broadcom SDIO WiFi parts.
> >
> > After that patch landed I find that my kernel log on
> > rk3288-veyron-minnie and rk3288-veyron-speedy is filled with:
> >   brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
> >
> > This seems to happen every time the Broadcom WiFi transitions out of
> > sleep mode.  Reverting the part of the commit that affects the WiFi on
> > my boards fixes the problem for me, so that's what this patch does.
> >
> > Note that, in general, the justification in the original commit seemed
> > a little weak.  It looked like someone was testing on a SD card
> > controller that would sometimes die if there were CRC errors on the
> > bus.  This used to happen back in early days of dw_mmc (the controller
> > on my boards), but we fixed it.  Disabling a feature on all boards
> > just because one SD card controller is broken seems bad.  ...so
> > instead of just this patch possibly the right thing to do is to fully
> > revert the original commit.
> >
> > Fixes: 29f6589140a1 ("brcmfmac: disable command decode in sdio_aos")
> > Signed-off-by: Douglas Anderson <dianders@chromium.org>
>
> I don't see patch 2 in patchwork and I assume discussion continues.

Apologies.  I made sure to CC you individually on all the patches but
didn't think about the fact that you use patchwork to manage and so
didn't ensure all patches made it to all lists (by default each patch
gets recipients individually from get_maintainer).  I'll make sure to
fix for patch set #2.  If you want to see all the patches, you can at
least find them on lore.kernel.org linked from the cover:

https://lore.kernel.org/patchwork/cover/1075373/


> Please resend if/when I need to apply something.
>
> 2 patches set to Changes Requested.
>
> 10948785 [1/3] brcmfmac: re-enable command decode in sdio_aos for BRCM 4354

As per Arend I'll change patch #1 to a full revert instead of a
partial revert.  Arend: please yell if you want otherwise.

-Doug

^ permalink raw reply

* Re: [PATCH v2] mmc: dw_mmc: Disable SDIO interrupts while suspended to fix suspend/resume
From: Doug Anderson @ 2019-05-28 14:38 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Kalle Valo, Heiko Stübner, open list:ARM/Rockchip SoC...,
	Guenter Roeck, Brian Norris, linux-wireless, Sonny Rao,
	Emil Renner Berthing, Matthias Kaehlcke, Ryan Case, # 4.0+,
	Linux MMC List, LKML, Jaehoon Chung, Shawn Lin
In-Reply-To: <CAPDyKFoKN2zUNvDkgciO6r_ohdh2Vaj5qQaAPwMq21y02XAK8A@mail.gmail.com>

Hi,

On Tue, May 28, 2019 at 6:12 AM Ulf Hansson <ulf.hansson@linaro.org> wrote:
>
> On Mon, 20 May 2019 at 20:41, Doug Anderson <dianders@chromium.org> wrote:
> >
> > Hi,
> >
> > On Mon, Apr 29, 2019 at 1:41 PM Douglas Anderson <dianders@chromium.org> wrote:
> > >
> > > Processing SDIO interrupts while dw_mmc is suspended (or partly
> > > suspended) seems like a bad idea.  We really don't want to be
> > > processing them until we've gotten ourselves fully powered up.
> > >
> > > You might be wondering how it's even possible to become suspended when
> > > an SDIO interrupt is active.  As can be seen in
> > > dw_mci_enable_sdio_irq(), we explicitly keep dw_mmc out of runtime
> > > suspend when the SDIO interrupt is enabled.  ...but even though we
> > > stop normal runtime suspend transitions when SDIO interrupts are
> > > enabled, the dw_mci_runtime_suspend() can still get called for a full
> > > system suspend.
> > >
> > > Let's handle all this by explicitly masking SDIO interrupts in the
> > > suspend call and unmasking them later in the resume call.  To do this
> > > cleanly I'll keep track of whether the client requested that SDIO
> > > interrupts be enabled so that we can reliably restore them regardless
> > > of whether we're masking them for one reason or another.
> > >
> > > It should be noted that if dw_mci_enable_sdio_irq() is never called
> > > (for instance, if we don't have an SDIO card plugged in) that
> > > "client_sdio_enb" will always be false.  In those cases this patch
> > > adds a tiny bit of overhead to suspend/resume (a spinlock and a
> > > read/write of INTMASK) but other than that is a no-op.  The
> > > SDMMC_INT_SDIO bit should always be clear and clearing it again won't
> > > hurt.
> > >
> > > Without this fix it can be seen that rk3288-veyron Chromebooks with
> > > Marvell WiFi would sometimes fail to resume WiFi even after picking my
> > > recent mwifiex patch [1].  Specifically you'd see messages like this:
> > >   mwifiex_sdio mmc1:0001:1: Firmware wakeup failed
> > >   mwifiex_sdio mmc1:0001:1: PREP_CMD: FW in reset state
> > >
> > > ...and tracing through the resume code in the failing cases showed
> > > that we were processing a SDIO interrupt really early in the resume
> > > call.
> > >
> > > NOTE: downstream in Chrome OS 3.14 and 3.18 kernels (both of which
> > > support the Marvell SDIO WiFi card) we had a patch ("CHROMIUM: sdio:
> > > Defer SDIO interrupt handling until after resume") [2].  Presumably
> > > this is the same problem that was solved by that patch.
> > >
> > > [1] https://lkml.kernel.org/r/20190404040106.40519-1-dianders@chromium.org
> > > [2] https://crrev.com/c/230765
> > >
> > > Cc: <stable@vger.kernel.org> # 4.14.x
> > > Signed-off-by: Douglas Anderson <dianders@chromium.org>
> > > ---
> > > I didn't put any "Fixes" tag here, but presumably this could be
> > > backported to whichever kernels folks found it useful for.  I have at
> > > least confirmed that kernels v4.14 and v4.19 (as well as v5.1-rc2)
> > > show the problem.  It is very easy to pick this to v4.19 and it
> > > definitely fixes the problem there.
> > >
> > > I haven't spent the time to pick this to 4.14 myself, but presumably
> > > it wouldn't be too hard to backport this as far as v4.13 since that
> > > contains commit 32dba73772f8 ("mmc: dw_mmc: Convert to use
> > > MMC_CAP2_SDIO_IRQ_NOTHREAD for SDIO IRQs").  Prior to that it might
> > > make sense for anyone experiencing this problem to just pick the old
> > > CHROMIUM patch to fix them.
> > >
> > > Changes in v2:
> > > - Suggested 4.14+ in the stable tag (Sasha-bot)
> > > - Extra note that this is a noop on non-SDIO (Shawn / Emil)
> > > - Make boolean logic cleaner as per https://crrev.com/c/1586207/1
> > > - Hopefully clear comments as per https://crrev.com/c/1586207/1
> > >
> > >  drivers/mmc/host/dw_mmc.c | 27 +++++++++++++++++++++++----
> > >  drivers/mmc/host/dw_mmc.h |  3 +++
> > >  2 files changed, 26 insertions(+), 4 deletions(-)
> >
> > Ulf: are you the right person to land this?  With 5.2-rc1 out it might
> > be a good time for it?  To refresh your memory about this patch:
> >
> > * Patch v1 was posted back on April 10th [1] so we're at about 1.5
> > months of time for people to comment about it now.  Should be more
> > than enough.
>
> Apologize for the delay, not sure why this has slipped through my
> filters. Anyway, let me have a look at it now.

No worries.  If there's something better I can do in the future to
avoid problems, please let me know.


> > * Shawn Lin saw it and didn't hate it.  He had some confusion about
> > how it worked and I've hopefully alleviated via extra comments / text.
> >
> > * Emil Renner Berthing thought it caused a regression for him but then
> > tested further and was convinced that it didn't.  This is extra
> > confirmation that someone other than me did try the patch and found it
> > to not break things.  ;-)
> >
> > * It has been reviewed by Guenter Roeck (in v2)
>
> One question, I am guessing you are considering
> https://lkml.org/lkml/2019/5/17/761 as the long term solution, and
> thus $subject patch should go as fix+stable? No?

No, the two problems are completely separate.  ${SUBJECT} patch deals
with full system suspend/resume.  I originally reproduced the problems
on a device with Marvell WiFi, though it could possibly affect
Broadcom parts on dw_mmc too.  ${SUBJECT} patch is ready to land on
mainline Linux at your leisure.  Also: in case you didn't notice
(since it didn't thread properly for me), Shawn Lin gave it a reviewed
by [1].

The patch you refer to [2] is related to something akin to an idle
state (more like Runtime PM) and only affects Broadcom parts.  Also
the Broadcom issue ought to happen across all host controllers (AKA
not just dw_mmc).

[1] https://lkml.kernel.org/r/982ffba1-c599-e73d-e5e0-b1be5668851c@rock-chips.com
[2] https://lkml.org/lkml/2019/5/17/761

-Doug

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox