From: Johannes Stezenbach <js@sig21.net>
To: Felix Fietkau <nbd@openwrt.org>
Cc: "Tuomas Räsänen" <tuomasjjrasanen@tjjr.fi>,
"Jakub Kiciński" <moorray3@wp.pl>,
linux-wireless@vger.kernel.org, tuomasjjrasanen@opinsys.fi,
"Linus Walleij" <linus.walleij@linaro.org>
Subject: Re: About adding support for MT76x2U to Linux kernel
Date: Tue, 8 Mar 2016 14:22:25 +0100 [thread overview]
Message-ID: <20160308132225.GA14912@sig21.net> (raw)
In-Reply-To: <56DECC5B.2090508@openwrt.org>
On Tue, Mar 08, 2016 at 01:58:03PM +0100, Felix Fietkau wrote:
> On 2016-03-08 13:49, Johannes Stezenbach wrote:
> > On Mon, Mar 07, 2016 at 10:22:38PM +0100, Felix Fietkau wrote:
> >> On 2016-03-07 13:41, Johannes Stezenbach wrote:
> >> > http://www.mediatek.com/en/downloads1/downloads/mt7612u/
> >> I checked, they simply use a software timer for it and stuff buffered
> >> multicast packets into the BE queue. I don't think the hardware offers
> >> any better way of doing this...
> >
> > I had to refresh my memory on this driver. The thing that tripped
> > me when I first read through it was that is using a jiffies based
> > timer and additionally sets it to fire 10ms after the calculated
> > beacon time. So it's always too late, isn't it?
> >
> > But of course it is irrelevant for us since we can use a hrtimer.
> > However, if other frames are queued in the hw they are still sent
> > before the buffered frames. Since the hw has a dedicated queue
> > for HCCA I wonder if it could be used here?
> > (My knowledged of the standard is also rusty, ISTR the buffered
> > traffic must be sent before other traffic before the stations
> > go back to sleep.)
> On mt76x2e, I simply use the management queue for buffered frames, since
> it has a very high priority, and management frames are typically
> delivered via the voice WMM queue anyway.
> I think the MAC is probably similar enough that the same approach is
> possible on mt76x2u as well.
The mt7610u has 2 IN and 6 OUT endpoints, where 1 IN and 1 out
are for MCU commands and the 5 remaining OUT EPs are
for EDCA VO/VI/BE/BK and HCCA.
I found the vendor driver uses:
#define MGMTPIPEIDX 0 /* EP6 is highest priority */
where the comment is confusing since
#define EDCA_AC0_PIPE 0 /* Bulk EP1 OUT */
#define EDCA_AC1_PIPE 1 /* Bulk EP2 OUT */
#define EDCA_AC2_PIPE 2 /* Bulk EP3 OUT */
#define EDCA_AC3_PIPE 3 /* Bulk EP4 OUT */
#define HCCA_PIPE 4 /* Bulk EP5 OUT */
Johannes
prev parent reply other threads:[~2016-03-08 13:22 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-14 8:15 About adding support for MT76x2U to Linux kernel Tuomas Räsänen
2015-08-14 12:32 ` Jakub Kiciński
2015-12-16 18:53 ` Felix Fietkau
2015-12-16 21:24 ` Johannes Stezenbach
2015-12-17 20:28 ` Johannes Stezenbach
2015-12-17 8:55 ` Linus Walleij
2016-03-02 7:32 ` Tuomas Räsänen
2016-03-07 11:14 ` Johannes Stezenbach
2016-03-07 11:51 ` Felix Fietkau
2016-03-07 12:41 ` Johannes Stezenbach
2016-03-07 12:54 ` Felix Fietkau
2016-03-07 21:22 ` Felix Fietkau
2016-03-08 12:49 ` Johannes Stezenbach
2016-03-08 12:58 ` Felix Fietkau
2016-03-08 13:22 ` Johannes Stezenbach [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160308132225.GA14912@sig21.net \
--to=js@sig21.net \
--cc=linus.walleij@linaro.org \
--cc=linux-wireless@vger.kernel.org \
--cc=moorray3@wp.pl \
--cc=nbd@openwrt.org \
--cc=tuomasjjrasanen@opinsys.fi \
--cc=tuomasjjrasanen@tjjr.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.