Search Linux Wireless

Re: [PATCH 0/4] do not use sg if not properly supported by usb controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>
> (repost with corrected Lorenzo email)
>
> On Tue, Feb 12, 2019 at 02:45:50PM +0100, Stanislaw Gruszka wrote:
> > On Tue, Feb 12, 2019 at 02:24:47PM +0100, LorenzoBianconilorenzo@xxxxxxxxxx wrote:
> > > From: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
> > >
> > > Use linear fragment and not a single usb scatter-gather buffer in mt76u
> > > {tx,rx} datapath if the usb controller has sg data length constraints.
> > > Moreover add disable_usb_sg module parameter in order to explicitly
> > > disable scatter-gather. SG I/O is not supported by all host drivers and
> > > some users have reported sg issues on AMD IOMMU.
> >
> > Again. This is not right approach. SG issues should be fixed
> > not workarounded.

Hi Stanislaw,

here we do not use SG, so num_sg is 0 and we use transfer_buffer. I do
not see how I am working around the issue.
Moreover with this approach we avoid some unnecessary operation in the hotpath

Regards,
Lorenzo

> >
> > > This series has been tested on AMD IOMMU cpus/motherboards and on rpi3+
> >
> > > - rebased on top of 'fix multiple issues in mt76u error path'
> > >   https://patchwork.kernel.org/cover/10804919/
> > >
> > > Lorenzo Bianconi (4):
> > >   mt76: usb: move mt76u_check_sg in usb.c
> > >   mt76: usb: do not use sg buffers for mcu messages
> > >   mt76: usb: use a linear buffer for tx/rx datapath if sg is not
> > >     supported
> > >   mt76: usb: introduce disable_usb_sg parameter
> > >
> > >  drivers/net/wireless/mediatek/mt76/mt76.h     |  14 +-
> > >  .../net/wireless/mediatek/mt76/mt76x0/usb.c   |   2 +-
> > >  .../wireless/mediatek/mt76/mt76x02_usb_mcu.c  |   3 +-
> > >  .../wireless/mediatek/mt76/mt76x2/usb_init.c  |   2 +-
> > >  drivers/net/wireless/mediatek/mt76/usb.c      | 133 +++++++++++++-----
> > >  drivers/net/wireless/mediatek/mt76/usb_mcu.c  |   5 +-
> > >  6 files changed, 105 insertions(+), 54 deletions(-)
> >
> > I really think my approach is simpler. Diffstat from my proposed patch is:
> >
> >   drivers/net/wireless/mediatek/mt76/mt76.h |  1 +
> >   drivers/net/wireless/mediatek/mt76/usb.c  | 55 ++++++++++++++---------
> >   2 files changed, 36 insertions(+), 20 deletions(-)
> >
> > Also this fix bug(s), presumably regression for mt76x0, should be
> > backported.
> >
> > Stanislaw
> >



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux