All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Stanislaw Gruszka <sgruszka@redhat.com>,
	Stefan Wahren <stefan.wahren@i2se.com>,
	Felix Fietkau <nbd@nbd.name>,
	Doug Anderson <dianders@chromium.org>,
	Minas Harutyunyan <hminas@synopsys.com>,
	USB list <linux-usb@vger.kernel.org>,
	linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: [BUG] mt76x0u: Probing issues on Raspberry Pi 3 B+
Date: Tue, 12 Feb 2019 01:06:00 +0100	[thread overview]
Message-ID: <CAJ0CqmVFVBXi5E07-ZsYojC7mP4ogpwbcDkDTeebHwX+ayz2DQ@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1902111246410.1543-100000@iolanthe.rowland.org>

>
> On Mon, 11 Feb 2019, Stanislaw Gruszka wrote:
>
> > On Mon, Feb 11, 2019 at 10:12:57AM -0500, Alan Stern wrote:
> > > On Mon, 11 Feb 2019, Lorenzo Bianconi wrote:
> > >
> > > > Here it is a different issue respect to the AMD IOMMU one, dwc2 host driver
> > > > does not implement SG I/O so probing fails. I guess it is still useful to
> > > > implement a 'legacy' mode that enable mt76 on host controllers that do not implement
> > > > SG I/O (rpi is a very common device so it will be cool to have mt76 working on
> > > > it). Moreover we are not removing functionalities, user experience will remain
> > > > the same
> > >
> > > Has anyone considered adding SG support to dwc2?  It shouldn't be very
> > > difficult.  The corresponding change for ehci-hcd required adding no
> > > more than about 30 lines of code.
> >
> > That would be cool. Perhaps somebody with dwc2 hardware could do this.
> >
> > However in mt76x02u we possibly would like to support other usb host
> > drivers with sg_tablesize = 0 . I would like to clarify what is correct
> > to do with such drivers.
> >
> > Is ok to pass buffer via urb->sg with urb->num_sgs = 1 ? Or maybe
> > urb->num_sgs should be 0 to pass buffer via urb->sg on such drivers ?
> > Or maybe non of above is correct and the only option that will work
> > in 100% is pass buffer via urb->transfer_buffer ?
>
> See the kerneldoc for usb_sg_init(), usb_sg_wait(), and usb_sg_cancel()
> in drivers/usb/core/message.c.  These routines will always do the right
> thing -- however usb_sg_wait() must be called in process context.
>
> Alan Stern
>

Hi Alan,

I actually used usb_sg_init()/usb_sg_wait() as reference to implement
mt76u {tx/rx} datapath, but I will double-check.
I guess we should even consider if there are other usb host drivers
that do not implement SG I/O and it is worth to support.
I am wondering if the right approach is to add SG to the controller
one by one or have legacy I/O in mt76 (not sure what is the 'best'
approach)
What do you think?

Regards,
Lorenzo

WARNING: multiple messages have this Message-ID (diff)
From: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Stanislaw Gruszka <sgruszka@redhat.com>,
	Stefan Wahren <stefan.wahren@i2se.com>,
	Felix Fietkau <nbd@nbd.name>,
	Doug Anderson <dianders@chromium.org>,
	Minas Harutyunyan <hminas@synopsys.com>,
	USB list <linux-usb@vger.kernel.org>,
	linux-wireless <linux-wireless@vger.kernel.org>
Subject: [BUG] mt76x0u: Probing issues on Raspberry Pi 3 B+
Date: Tue, 12 Feb 2019 01:06:00 +0100	[thread overview]
Message-ID: <CAJ0CqmVFVBXi5E07-ZsYojC7mP4ogpwbcDkDTeebHwX+ayz2DQ@mail.gmail.com> (raw)

>
> On Mon, 11 Feb 2019, Stanislaw Gruszka wrote:
>
> > On Mon, Feb 11, 2019 at 10:12:57AM -0500, Alan Stern wrote:
> > > On Mon, 11 Feb 2019, Lorenzo Bianconi wrote:
> > >
> > > > Here it is a different issue respect to the AMD IOMMU one, dwc2 host driver
> > > > does not implement SG I/O so probing fails. I guess it is still useful to
> > > > implement a 'legacy' mode that enable mt76 on host controllers that do not implement
> > > > SG I/O (rpi is a very common device so it will be cool to have mt76 working on
> > > > it). Moreover we are not removing functionalities, user experience will remain
> > > > the same
> > >
> > > Has anyone considered adding SG support to dwc2?  It shouldn't be very
> > > difficult.  The corresponding change for ehci-hcd required adding no
> > > more than about 30 lines of code.
> >
> > That would be cool. Perhaps somebody with dwc2 hardware could do this.
> >
> > However in mt76x02u we possibly would like to support other usb host
> > drivers with sg_tablesize = 0 . I would like to clarify what is correct
> > to do with such drivers.
> >
> > Is ok to pass buffer via urb->sg with urb->num_sgs = 1 ? Or maybe
> > urb->num_sgs should be 0 to pass buffer via urb->sg on such drivers ?
> > Or maybe non of above is correct and the only option that will work
> > in 100% is pass buffer via urb->transfer_buffer ?
>
> See the kerneldoc for usb_sg_init(), usb_sg_wait(), and usb_sg_cancel()
> in drivers/usb/core/message.c.  These routines will always do the right
> thing -- however usb_sg_wait() must be called in process context.
>
> Alan Stern
>

Hi Alan,

I actually used usb_sg_init()/usb_sg_wait() as reference to implement
mt76u {tx/rx} datapath, but I will double-check.
I guess we should even consider if there are other usb host drivers
that do not implement SG I/O and it is worth to support.
I am wondering if the right approach is to add SG to the controller
one by one or have legacy I/O in mt76 (not sure what is the 'best'
approach)
What do you think?

Regards,
Lorenzo

  reply	other threads:[~2019-02-12  0:06 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-11 17:33 [BUG] mt76x0u: Probing issues on Raspberry Pi 3 B+ Stanislaw Gruszka
2019-02-11 17:49 ` Alan Stern
2019-02-12  0:06   ` Lorenzo Bianconi [this message]
2019-02-12  0:06     ` Lorenzo Bianconi
2019-02-12  9:30     ` Stanislaw Gruszka
2019-02-12  9:30       ` Stanislaw Gruszka
2019-02-12 11:58       ` Lorenzo Bianconi
2019-02-12 11:58         ` Lorenzo Bianconi
2019-02-12 13:15         ` Stanislaw Gruszka
2019-02-12 13:15           ` Stanislaw Gruszka
2019-02-14  6:49       ` Stefan Wahren
2019-02-14  6:49         ` Stefan Wahren
2019-02-14  9:25         ` Stanislaw Gruszka
2019-02-14  9:25           ` Stanislaw Gruszka
2019-02-14  9:48           ` Stefan Wahren
2019-02-14  9:48             ` Stefan Wahren
2019-02-14  9:54             ` Stanislaw Gruszka
2019-02-14  9:54               ` Stanislaw Gruszka
2019-02-15  7:12             ` Stanislaw Gruszka
2019-02-15  7:12               ` Stanislaw Gruszka
2019-02-16 11:05               ` Stefan Wahren
2019-02-16 11:05                 ` Stefan Wahren
2019-02-16 14:07                 ` Stanislaw Gruszka
2019-02-16 14:07                   ` Stanislaw Gruszka
2019-02-16 19:17                   ` Stefan Wahren
2019-02-16 19:17                     ` Stefan Wahren
2019-02-18 13:52                     ` Stanislaw Gruszka
2019-02-18 13:52                       ` Stanislaw Gruszka
2019-02-18 14:25                       ` Lorenzo Bianconi
2019-02-18 14:25                         ` Lorenzo Bianconi
2019-02-18 14:47                         ` Stanislaw Gruszka
2019-02-18 14:47                           ` Stanislaw Gruszka
2019-02-18 14:43                       ` Felix Fietkau
2019-02-18 14:43                         ` Felix Fietkau
2019-02-18 15:03                         ` Stanislaw Gruszka
2019-02-18 15:03                           ` Stanislaw Gruszka
2019-02-18 18:52                           ` Felix Fietkau
2019-02-18 18:52                             ` Felix Fietkau
2019-02-19 10:42                             ` Stanislaw Gruszka
2019-02-19 10:42                               ` Stanislaw Gruszka
2019-02-19 12:19                               ` Felix Fietkau
2019-02-19 12:19                                 ` Felix Fietkau
2019-02-20 13:00                                 ` Stanislaw Gruszka
2019-02-20 13:00                                   ` Stanislaw Gruszka
2019-02-20 13:22                                   ` Lorenzo Bianconi
2019-02-20 13:22                                     ` Lorenzo Bianconi
2019-02-20 16:14                                     ` Stanislaw Gruszka
2019-02-20 16:14                                       ` Stanislaw Gruszka
2019-02-20 16:22                                       ` Lorenzo Bianconi
2019-02-20 16:22                                         ` Lorenzo Bianconi
2019-02-20 16:32                                         ` Stanislaw Gruszka
2019-02-20 16:32                                           ` Stanislaw Gruszka
2019-02-20 16:36                                           ` Lorenzo Bianconi
2019-02-20 16:36                                             ` Lorenzo Bianconi
2019-03-03 21:16                                           ` Stefan Wahren
2019-03-03 21:16                                             ` Stefan Wahren
2019-02-18 22:19                       ` Stefan Wahren
2019-02-18 22:19                         ` Stefan Wahren
2019-02-19 10:59                         ` Stanislaw Gruszka
2019-02-19 10:59                           ` Stanislaw Gruszka
2019-02-19 12:11                           ` Felix Fietkau
2019-02-19 12:11                             ` Felix Fietkau
2019-02-19 15:40                           ` Alan Stern
2019-02-19 15:40                             ` Alan Stern
2019-02-20 10:20                             ` Stanislaw Gruszka
2019-02-20 10:20                               ` Stanislaw Gruszka
2019-02-20 15:25                               ` Alan Stern
2019-02-20 15:25                                 ` Alan Stern
2019-02-19 17:02                           ` Stefan Wahren
2019-02-19 17:02                             ` Stefan Wahren
2019-02-12 15:27     ` Alan Stern
2019-02-12 15:27       ` Alan Stern
  -- strict thread matches above, loose matches on Subject: below --
2019-02-11 15:12 Alan Stern
2019-02-09 12:08 Stefan Wahren
2019-02-09 18:46 ` Lorenzo Bianconi
2019-02-09 20:29   ` Stefan Wahren
2019-02-09 20:33     ` Lorenzo Bianconi
2019-02-09 22:47       ` Stefan Wahren
2019-02-10  9:41     ` Stanislaw Gruszka
2019-02-10  9:41       ` Stanislaw Gruszka
2019-02-10 10:22       ` Lorenzo Bianconi
2019-02-10 10:22         ` Lorenzo Bianconi
2019-02-11  7:44         ` Stanislaw Gruszka
2019-02-11  7:44           ` Stanislaw Gruszka
2019-02-11 10:04           ` Lorenzo Bianconi
2019-02-11 10:04             ` Lorenzo Bianconi
2019-02-11 10:33             ` Stefan Wahren
2019-02-11 10:33               ` Stefan Wahren
2019-02-11 11:06               ` Lorenzo Bianconi
2019-02-11 11:06                 ` Lorenzo Bianconi
2019-02-11 14:04                 ` Stefan Wahren
2019-02-11 14:04                   ` Stefan Wahren
2019-02-11 15:10                   ` Lorenzo Bianconi
2019-02-11 15:10                     ` Lorenzo Bianconi
2019-02-11 15:27                     ` Stefan Wahren
2019-02-11 15:27                       ` Stefan Wahren
2019-02-11 15:57                       ` Lorenzo Bianconi
2019-02-11 15:57                         ` Lorenzo Bianconi
2019-02-13  7:05                         ` Stefan Wahren
2019-02-13  7:05                           ` Stefan Wahren
2019-02-11 17:22                       ` Stanislaw Gruszka
2019-02-11 17:22                         ` Stanislaw Gruszka
2019-02-10  9:29   ` Stanislaw Gruszka
2019-02-10 16:38     ` Stefan Wahren
2019-02-10 16:52       ` Lorenzo Bianconi
2019-02-10 17:39         ` Lorenzo Bianconi
2019-02-10 17:39           ` Lorenzo Bianconi
2019-02-11  7:50         ` Stanislaw Gruszka
2019-02-11  8:08           ` Stefan Wahren
2019-02-11  9:52             ` Lorenzo Bianconi

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=CAJ0CqmVFVBXi5E07-ZsYojC7mP4ogpwbcDkDTeebHwX+ayz2DQ@mail.gmail.com \
    --to=lorenzo.bianconi@redhat.com \
    --cc=dianders@chromium.org \
    --cc=hminas@synopsys.com \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=nbd@nbd.name \
    --cc=sgruszka@redhat.com \
    --cc=stefan.wahren@i2se.com \
    --cc=stern@rowland.harvard.edu \
    /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.