|
@@ -77,6 +77,8 @@ static u16 d11ac_bw(enum brcmu_chan_bw bw)
|
|
|
return BRCMU_CHSPEC_D11AC_BW_40;
|
|
|
case BRCMU_CHAN_BW_80:
|
|
|
return BRCMU_CHSPEC_D11AC_BW_80;
|
|
|
+ case BRCMU_CHAN_BW_160:
|
|
|
+ return BRCMU_CHSPEC_D11AC_BW_160;
|
|
|
default:
|
|
|
WARN_ON(1);
|
|
|
}
|
|
@@ -190,8 +192,38 @@ static void brcmu_d11ac_decchspec(struct brcmu_chan *ch)
|
|
|
break;
|
|
|
}
|
|
|
break;
|
|
|
- case BRCMU_CHSPEC_D11AC_BW_8080:
|
|
|
case BRCMU_CHSPEC_D11AC_BW_160:
|
|
|
+ switch (ch->sb) {
|
|
|
+ case BRCMU_CHAN_SB_LLL:
|
|
|
+ ch->control_ch_num -= CH_70MHZ_APART;
|
|
|
+ break;
|
|
|
+ case BRCMU_CHAN_SB_LLU:
|
|
|
+ ch->control_ch_num -= CH_50MHZ_APART;
|
|
|
+ break;
|
|
|
+ case BRCMU_CHAN_SB_LUL:
|
|
|
+ ch->control_ch_num -= CH_30MHZ_APART;
|
|
|
+ break;
|
|
|
+ case BRCMU_CHAN_SB_LUU:
|
|
|
+ ch->control_ch_num -= CH_10MHZ_APART;
|
|
|
+ break;
|
|
|
+ case BRCMU_CHAN_SB_ULL:
|
|
|
+ ch->control_ch_num += CH_10MHZ_APART;
|
|
|
+ break;
|
|
|
+ case BRCMU_CHAN_SB_ULU:
|
|
|
+ ch->control_ch_num += CH_30MHZ_APART;
|
|
|
+ break;
|
|
|
+ case BRCMU_CHAN_SB_UUL:
|
|
|
+ ch->control_ch_num += CH_50MHZ_APART;
|
|
|
+ break;
|
|
|
+ case BRCMU_CHAN_SB_UUU:
|
|
|
+ ch->control_ch_num += CH_70MHZ_APART;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ WARN_ON_ONCE(1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case BRCMU_CHSPEC_D11AC_BW_8080:
|
|
|
default:
|
|
|
WARN_ON_ONCE(1);
|
|
|
break;
|