Am 17.05.2016 um 14:18 schrieb Michal Kazior:
+ re-adding ath10k list


On 17 May 2016 at 14:05, Sebastian Gottschall <s.gottsch...@dd-wrt.com> wrote:
Am 17.05.2016 um 14:00 schrieb Michal Kazior:
On 17 May 2016 at 13:43, Sebastian Gottschall <s.gottsch...@dd-wrt.com> wrote:
Attached you will find a testing patch for VHT160 support. i tested it today
on a QCA9984 device and it seems to work.
feel free to make any corrections
Hi,

Send patches inline, please. Preferably via git send-email. It's a lot
easier to review them this way.
unfortunaty i dont work with git right now and i wanted to send it to
the list first for getting comments.
since the patch is also very small, it should be that complicated
  From a quick glance vht capabilities setup looks weird:

if (ar->vht_cap_info &  IEEE80211_VHT_CAP_SHORT_GI_160) {
    vht_cap.cap |= IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ;
    vht_cap.cap |= IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ;
}
Why? Is this really necessary?
the firmware does not report correct flags. just SHORT_GI_160.
i reviewed the firmware sourcecodes and found out that this is maybe a
misstake of the QCA developers.
so we need to add the 160MHZ support flags locally using the
SHORT_GI_160 which is always set on QCA9984.
otherwise mac80211 will not be capable of running vht160.
I'm not sure if SGI160 implies 80+80.
according to the firmware sourcecode of 9984 it seems so. thats the only information source i have


I would expect IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ and
IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ to be already set in
ar->vht_cap_info if the chip supports 160 or 80+80.
me too. but it isnt :-)
Sigh. A comment explaining that would be really nice.
there is no comment available. the only information source is the firmware sourcecode for the 9984 which i reviewed.
let me give you a small snippet
#if defined(CONFIG_160MHZ_SUPPORT)
#define VHT_CAP_WITH_STBC_1SS_VHT160 ((VHT_CAP_WITH_STBC_1SS) | (WMI_VHT_CAP_SGI_160MHZ)) #define VHT_CAP_WITH_STBC_2SS_VHT160 ((VHT_CAP_WITH_STBC_2SS) | (WMI_VHT_CAP_SGI_160MHZ)) #define VHT_CAP_WITH_STBC_3SS_VHT160 ((VHT_CAP_WITH_STBC_3SS) | (WMI_VHT_CAP_SGI_160MHZ))
#endif
#if defined(CONFIG_160MHZ_SUPPORT)
    dev_info->vht_cap_info  = VHT_CAP_WITH_STBC_1SS_VHT160;
#else
    dev_info->vht_cap_info  = VHT_CAP_WITH_STBC_1SS_VHT80;
#endif


so the firmware simply does not set the correct flags. thats all.


You also don't seem to handle 80+80 because you just as phymode to 160
regardless of center frequencies:

!ath10k_peer_assoc_h_vht_masked(vht_mcs_mask)) {
     if (sta->bandwidth == IEEE80211_STA_RX_BW_80)
       phymode = MODE_11AC_VHT80;
     else if (sta->bandwidth == IEEE80211_STA_RX_BW_160)
       phymode = MODE_11AC_VHT160;
     else if (sta->bandwidth == IEEE80211_STA_RX_BW_40)
       phymode = MODE_11AC_VHT40;
     else if (sta->bandwidth == IEEE80211_STA_RX_BW_20)
there is no 80+80 STA_RX_BW flag. i dont know how to handle this. and
yes, just 160 mhz is tested right now. right now it looks like mac80211
is not 80+80 ready.
Hmm.. I wouldn't advertise 80+80 support then. All the more since
there's no way of telling whether hw/fw actually supports it in the
first place.
we can leave it out at the end, but the firmware seem to support it. so far i just tested 160 in ap mode yet, but found other
things in ath10k which need to be fixed. i'm on it right now


Michal



--
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Berliner Ring 101, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottsch...@dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

Reply via email to