Hi,
Joseph Kogut writes:
> Well, after comparing the kernel log from both systems, it seems that
> the device controller simply isn't being enumerated by the kernel for
> some reason.
>
> Here's the relevant section from the Android kernel:
>
> <6>[0.612857] PCI host bridge to bus :00
>
On Tue, Oct 25, 2016 at 11:34:40AM +0200, Linus Walleij wrote:
> Good work on this patch, nice that it got merged.
>
> I was just thinking that as an add-on, you may want to name
> the gpio lines so they have meaningful names in userspace
> when you use this with the chardev (I have reasons to bel
tree: https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
testing/next
head: 43f960528708df4edd74d176266f611b0e127772
commit: 43f960528708df4edd74d176266f611b0e127772 [82/82] usb: dwc3: pci: call
_DSM for suspend/resume
config: arm-multi_v7_defconfig (attached as .config)
compiler:
The cmd argument we pass to
dwc3_send_gadget_ep_cmd() could contain extra
arguments embedded. When checking for StartTransfer
command, we need to make sure to match only lower 4
bits which contain the actual command and ignore the
rest.
Reported-by: Janusz Dziedzic
Signed-off-by: Felipe Balbi
--
There might be situations where a Start Transfer
command might fail, if that ever happens, instead of
simply removing the request from our list, we should
give the request back to the gadget driver,
otherwise we might eventually starve it from requests.
Signed-off-by: Felipe Balbi
---
drivers/us
Hi guys,
Sorry for the patch bomb, but I wanted to make sure everyoby knows which
patches are already queued up for the next window. They are still
sitting in my testing/next branch, so I can still change any of them.
Please make sure to go through each one of them. This very branch has
been test
ep->mult is supposed to be set to Isochronous and
Interrupt Endapoint's multiplier value. This value
is computed from different places depending on the
link speed.
If we're dealing with HighSpeed, then it's part of
bits [12:11] of wMaxPacketSize. This case wasn't
taken into consideration before.
According to USB Specification 2.0 table 9-4,
wMaxPacketSize is a bitfield. Endpoint's maxpacket
is laid out in bits 10:0. For high-speed,
high-bandwidth isochronous endpoints, bits 12:11
contain a multiplier to tell us how many
transactions we want to try per uframe.
This means that if we want an
In case of High-Speed, High-Bandwidth endpoints, we
need to tell DWC3 that we have more than one packet
per interval. We do that by setting PCM1 field of
Isochronous-First TRB.
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/gadget.c | 13 +++--
1 file changed, 11 insertions(+), 2
Link State Change events are only needed for
debugging and to apply certain workarounds on known
errata. Let's save a few cycles by disabling these
events completely on working revisions of the core.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/gadget.c | 4 +++-
1 file changed, 3 insertions
usb_endpoint_maxp() returns wMaxPacketSize in its
raw form. Without taking into consideration that it
also contains other bits reserved for isochronous
endpoints.
This patch fixes one occasion where this is a
problem by making sure that we initialize
ep->maxpacket only with lower 10 bits of the va
No Response Update Transfer is a special type of
Update Transfer command which can be used whenever
we're not relying on XferNotReady to prepare
transfers. With this, we don't need to wait for
CMDACT to be cleared and issue further commands to
the endpoint straight away.
Let's start using this ver
DWC3 can tell us which phase of a setup transfer
we're getting into. Let's decode it from the event
to make it easier to debug.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/core.h | 1 +
drivers/usb/dwc3/debug.h | 13 +
2 files changed, 14 insertions(+)
diff --git a/drivers/us
Removing some trace prints which were made redundant
when we started decoding events and TRBs completely
within their respective trace points.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/ep0.c| 17 +
drivers/usb/dwc3/gadget.c | 43 +---
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Cc: Laurent Pinchart
Cc: Mauro Carvalho Chehab
Cc:
Acked-by: Laurent Pinchart
Signed-off-by: Felipe Balbi
---
drivers/media/usb/uvc/uvc_video.c | 2 +-
1 file cha
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Cc: Greg Kroah-Hartman
Cc:
Acked-by: Greg Kroah-Hartman
Signed-off-by: Felipe Balbi
---
drivers/usb/core/devices.c | 2 +-
1 file changed, 1 insertion(+), 1 deleti
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/gr_udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/gr_udc.c b/drivers/usb/gadget/udc/gr_udc.c
ind
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/net2272.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/gadget/udc/net227
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Bin Liu
Signed-off-by: Felipe Balbi
---
drivers/usb/musb/musb_gadget.c | 6 +++---
drivers/usb/musb/musb_host.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/usb
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Ashwini Pahuja
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/bdc/bdc_cmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/bdc/bdc_cmd.c
b
usb_endpoint_maxp() is now returning maxpacket
correctly - iow only bits 10:0. We can finaly remove
XHCI's private GET_MAX_PACKET macro.
Signed-off-by: Felipe Balbi
---
drivers/usb/host/xhci-mem.c | 4 ++--
drivers/usb/host/xhci-mtk-sch.c | 4 ++--
drivers/usb/host/xhci-ring.c| 6 +++---
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Signed-off-by: Felipe Balbi
---
drivers/usb/misc/usbtest.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c
index 5c8210dc
With this extra piece of information, it will be
easier to find mismatches between driver and HW.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/debug.h | 11 ---
drivers/usb/dwc3/ep0.c| 4
drivers/usb/dwc3/gadget.c | 2 +-
drivers/usb/dwc3/trace.h | 12 +++-
4 fil
We will be using dwc3_ep0_state_string() from within
our tracepoints, so we need to move that helper to
debug.h in order for it to be accessible.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/debug.h | 16
drivers/usb/dwc3/ep0.c | 16
2 files changed, 16 in
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Cc: Ashwini Pahuja
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/bdc/bdc_ep.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drive
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Cc: Peter Chen
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/chipidea/udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/chipid
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/fusb300_udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/fusb300_udc.c
b/drivers/usb/gadget/udc/f
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Nicolas Ferre
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/atmel_usba_udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/atmel_usba_udc
Now that we have a helper to gather periodic
endpoints' multiplier bits from wMaxPacketSize and
every driver is using it, we can safely make sure
that usb_endpoint_maxp() returns only bits 10:0 of
wMaxPacketSize which is where the actual packet size
lies.
Signed-off-by: Felipe Balbi
---
include/
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/s3c2410_udc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/gadget/udc/s3
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Alan Stern
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/dummy_hcd.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c
b/drive
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Greg Kroah-Hartman
Cc:
Acked-by: Greg Kroah-Hartman
Signed-off-by: Felipe Balbi
---
drivers/usb/core/devices.c | 10 ++
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/driv
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Cc: Greg Kroah-Hartman
Acked-by: Greg Kroah-Hartman
Signed-off-by: Felipe Balbi
---
drivers/usb/core/endpoint.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Peter Chen
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/chipidea/udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Cc: Alan Stern
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/dummy_hcd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/us
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Cc: Nicolas Ferre
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/atmel_usba_udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dr
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Signed-off-by: Felipe Balbi
---
drivers/usb/misc/usbtest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/misc/usbtest.c b/drivers/us
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove this macro
from the driver.
Cc: Alan Stern
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/host/ehci-q.c | 22 +-
drivers/usb/host/ehci-sched.c | 1 -
2 files changed, 9 ins
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Mauro Carvalho Chehab
Cc:
Signed-off-by: Felipe Balbi
---
drivers/media/usb/usbtv/usbtv-core.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/media/usb/usbtv/u
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Li Yang
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/fsl_udc_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c
b/driv
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/composite.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/composite.c b/dr
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/mv_udc_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/mv_udc_core.c
b/drivers/usb/gadget/udc/m
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Laurent Pinchart
Cc: Mauro Carvalho Chehab
Cc:
Signed-off-by: Felipe Balbi
---
drivers/media/usb/uvc/uvc_video.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/me
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Mathias Nyman
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/host/xhci-mem.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/h
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/net2280.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/gadget/udc/net2
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Cc: Alan Stern
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/host/ehci-q.c | 10 ++
drivers/usb/host/ehci-sched.c | 2 +-
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a
From: Juergen Gross
Let's not reimplement generic kernel helpers,
instead call kasprintf().
[ felipe.ba...@linux.intel.com: better commit log ]
Signed-off-by: Juergen Gross
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/composite.c | 14 ++
1 file changed, 2 insertions(+), 12
We don't need dwc3_trace() unless we're building a
kernel with CONFIG_FTRACE. This patch reduces
dwc3.ko text size a bit while also removing overhead
of dwc3_trace() calls.
textdata bss dec hex filename
50796 581 0 51377c8b1 drivers/usb/dwc3/dwc3.o
43961
We shouldn't have any glue layer which doesn't
compile everywhere. In order to make sure this is
always the case, make sure COMPILE_TEST is properly
added at dependency list of a config entry.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 d
From: Masahiro Yamada
The combo of list_empty() check and return list_first_entry()
can be replaced with list_first_entry_or_null().
Signed-off-by: Masahiro Yamada
Acked-by: John Youn
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc2/gadget.c | 6 ++
1 file changed, 2 insertions(+), 4 del
From: Lu Baolu
Member @mem in struct dwc3 is not used in any places. Clean up it.
Signed-off-by: Lu Baolu
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/core.c | 1 -
drivers/usb/dwc3/core.h | 3 ---
2 files changed, 4 deletions(-)
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/co
From: Masahiro Yamada
The combo of list_empty() check and return list_first_entry()
can be replaced with list_first_entry_or_null().
Acked-by: Yoshihiro Shimoda
Signed-off-by: Masahiro Yamada
Signed-off-by: Felipe Balbi
---
drivers/usb/renesas_usbhs/fifo.c | 5 +
1 file changed, 1 insert
CSP bit is only valid for OUT endpoints. Synopsys
databook is unclear if HW ignores CSP for IN
endpoints (chances are, it does) but to avoid
problems, let's make sure to set CSP only when valid
to do so.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/gadget.c | 3 ++-
1 file changed, 2 inserti
This helper will be responsible for reading and
parsing our properties. No functional changes in
this patch, cleanup only.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/core.c | 90 +++--
1 file changed, 49 insertions(+), 41 deletions(-)
diff --git
Recent changes have turned this field obsolete. Remove it.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/core.h | 2 --
drivers/usb/dwc3/gadget.c | 1 -
2 files changed, 3 deletions(-)
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 18e4c09ae286..bdd37871fc6c 100644
--
This little helper will be used to make sure we're
dealing with a valid Synopsys DWC3 or DWC3.1 core.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/core.c | 32 ++--
1 file changed, 22 insertions(+), 10 deletions(-)
diff --git a/drivers/usb/dwc3/core.c b/drivers/u
This will give us a simpler way of figuring out how
many bytes were left in each TRB. It's useful for
cases where we queue only part of an SG-list due to
amount of available TRBs at the time of kicking the
transfer.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/core.h | 2 ++
drivers/usb/d
We can offset the latency of a full Start Transfer
command - where we _must_ poll for its completion -
to usb_ep_enable() time. This means that once
requests start showing up from the gadget driver, we
can rely on No Response Update Transfer command -
where we don't need to poll for completion.
Th
Say we have three requests prepared to the HW (reqA,
reqB, and reqC). All of them are composed of
SG-lists with several entries and they all requests
interrupt only on last TRBs of the SG-list.
When we get interrupt for reqA, it could be that
reqB is already half-way transferred and some of its
TR
We should never kill the machine just because some
USB endpoint type is wrong. WARN about it and move
on.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/gadget.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index a1
If XferNotReady comes before usb_ep_queue() we will
set our PENDING request flag and wait for a
request. However, originally, we were assuming
usb_ep_queue() would always happen before our first
XferNotReady and that causes a corner case where we
could try to issue ENDTRANSFER command before
STARTT
From: John Youn
For the usb31 IP and from version 2.90a of the usb3 IP, the core
supports HW exit from L1 in HS. Enable it, otherwise the controller may
never exit from LPM to do a transfer.
Signed-off-by: John Youn
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/core.c | 10 ++
driv
We'll be tracking a little more information for PCI
drivers, it's about time we add a private structure
for that.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/dwc3-pci.c | 49 +++--
1 file changed, 34 insertions(+), 15 deletions(-)
diff --git a/driver
From: Daniel Wagner
There is only one waiter for the completion, therefore there
is no need to use complete_all(). Let's make that clear by
using complete() instead of complete_all().
The usage pattern of the completion is:
waiter context waker context
reinit_completi
Kernel will give us page aligned memory anyway.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/core.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index e65f30afb89a..1f33abf21e0f 100644
--- a/drivers/usb/dwc3/cor
In case of periodic transfers, let's pretty print
the size field as a multiplier followed by length,
such as :
3x 1024
instead of:
33555456
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/trace.h | 25 +++--
1 file changed, 23 insertions(+), 2 deletions(-)
That function is unnecessarily called from
dwc3_gadget_reset_interrupt(). Gadget drivers (and
thus, functions) are required to dequeue all pending
requests when they get notified about a USB Bus
Reset.
Trying to make sure there are no pending requests
only serves the purpose of working around poss
This little helper will be used to setup anything
related to GCTL register. There are no functional
changes, this is a cleanup only patch.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/core.c | 90 ++---
1 file changed, 48 insertions(+), 42 deletion
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/mv_udc_core.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/mv_udc_core.c
b/driver
From: Baolin Wang
Instead of just delaying for 100us, we should
actually wait for End Transfer Command Complete
interrupt before moving on. Note that this should
only be done if we're dealing with one of the core
revisions that actually require the interrupt before
moving on.
[ felipe.ba...@linu
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Cc: Valentina Manea
Cc: Shuah Khan
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/usbip/vudc_dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --g
When we get a half-way processed request, we should
make sure to try to prepare further TRBs for it or
for any possibly queued up request held in our
pending_list. This will make sure our controller is
kept busy for as long as possible.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/gadget.c |
From: Torsten Polle
Socket buffers should be linked to the (network) device that allocated
the buffers.
Signed-off-by: Torsten Polle
Signed-off-by: Harish Jenny K N
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/function/f_ncm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/driv
From: Masahiro Yamada
The combo of list_empty() check and return list_first_entry()
can be replaced with list_first_entry_or_null().
Signed-off-by: Masahiro Yamada
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/gadget.h | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a
From: Baolin Wang
When we change the USB function with configfs dynamically, we possibly
met this situation: one core is doing the control transfer, another core
is trying to unregister the USB gadget from userspace, we must wait for
completing this control tranfer, or it will hang the controller
From: Torsten Polle
Socket buffers should be linked to the (network) device that allocated
the buffers. __netdev_alloc_skb performs this task.
Signed-off-by: Torsten Polle
Signed-off-by: Jim Baxter
Signed-off-by: Harish Jenny K N
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/function/u
In cases where we're given an SG-list which is
longer than the amount of currently available TRBs,
we will be left with the same request on
started_list and we should prioritize that request
over possible new requests on pending_list. That's
a way to guarantee requests complete in order.
Signed-of
Now that usb_endpoint_maxp() only returns the lowest
11 bits from wMaxPacketSize, we can remove the &
operation from this driver.
Cc: Li Yang
Cc:
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/fsl_udc_core.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/fsl_
From: Torsten Polle
dev_kfree_skb_any() is used to free packets that are dropped by the
network stack. Therefore the function should not be used for packets
that have been successfully processed by the network stack. Instead
dev_consume_skb_any() has to be used for such consumed packets.
This se
Intel's BXT devices need to execute a _DSM method
during {runtime_,}{suspend,resume} in order to get a
chunk of dwc3 to power gate and save some extra
power.
Let's do that now.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/Kconfig| 2 +-
drivers/usb/dwc3/dwc3-pci.c | 73
By extracting smaller functions from
dwc3_ep0_handle_feature(), it becomes far easier to
understand what's going on. Cleanup only, no
functional changes.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/ep0.c | 256 +++--
1 file changed, 163 insertions
Cleanup only, no functional changes.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/host.c | 68 +
1 file changed, 35 insertions(+), 33 deletions(-)
diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c
index f6533c68fed1..ed824647ead8
From: Joe Perches
Use the more common logging mechanism.
Miscellanea:
o Realign multiline statements
o Coalesce format
Acked-by: Robert Jarzmik
Acked-by: Nicolas Ferre
Signed-off-by: Joe Perches
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/function/rndis.c | 9 -
driver
We want to reduce the usage of dwc3_trace() in favor
of proper tracepoints which can be enabled/disabled
by the user. Let's start with our register
accessors.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/io.h| 6 ++
drivers/usb/dwc3/trace.h | 35 ++-
We don't need to know about short packets unless
gadget driver told us it's not ok to see them on the
bus. In the normal situation we can continue
processing the list of requests if we get a Short
packet.
Also, note that we're making sure ISP is only set
for OUT endpoints, where that setting is va
Cleanup only, no functional changes.
Signed-off-by: Felipe Balbi
---
drivers/usb/dwc3/gadget.c | 62 +--
1 file changed, 38 insertions(+), 24 deletions(-)
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index c692aafa7397..c0011174a
Hi Baolin,
Felipe Balbi writes:
> From: Baolin Wang
>
> Instead of just delaying for 100us, we should
> actually wait for End Transfer Command Complete
> interrupt before moving on. Note that this should
> only be done if we're dealing with one of the core
> revisions that actually require the
On 10/31/2016 1:48 PM, Felipe Balbi wrote:
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.
Signed-off-by: Felipe Balbi
---
drivers/usb/gadget/udc/gr_udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/
Hi,
Masahiro Yamada writes:
> Hello Felipe,
>
> If this series looks good, can you pick it up please?
it's in my testing/next branch. Has been there for a while ;-)
--
balbi
signature.asc
Description: PGP signature
Hi Felipe,
>>
>> If this series looks good, can you pick it up please?
>
> it's in my testing/next branch. Has been there for a while ;-)
Good. Thanks for taking care of it!
--
Best Regards
Masahiro Yamada
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body o
Hi,
John Stultz writes:
> I had seen some odd behavior with HiKey's usb-gadget interface
> that I finally seemed to have chased down. Basically every other
> time I pluged in the OTG port, the gadget interface would
> properly initialize. The other times, I'd get a big WARN_ON
> in dwc2_hsotg_in
On 29 October 2016 at 01:03, Mark Brown wrote:
> On Fri, Oct 28, 2016 at 08:51:41PM +0800, Baolin Wang wrote:
>> On 28 October 2016 at 06:00, NeilBrown wrote:
>
>> > 1/ I think we agreed that it doesn't make sense for there to be
>> > two chargers registered in a system.
>
>> Yes, until now...
>
Hi Feilpe,
On 31 October 2016 at 18:55, Felipe Balbi wrote:
>
> Hi Baolin,
>
> Felipe Balbi writes:
>> From: Baolin Wang
>>
>> Instead of just delaying for 100us, we should
>> actually wait for End Transfer Command Complete
>> interrupt before moving on. Note that this should
>> only be done if
tree: https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
testing/next
head: 391ea04dea216a223b8dea3a0a832ff83884db1b
commit: 6a58c79df975feebfc5bd338b9fb0c9bc61081e5 [49/82] usb: dwc3: Kconfig:
allow all glues to build if COMPILE_TEST
config: powerpc-allyesconfig (attached as .conf
Instead of just delaying for 100us, we should
actually wait for End Transfer Command Complete
interrupt before moving on. Note that this should
only be done if we're dealing with one of the core
revisions that actually require the interrupt before
moving on.
[ felipe.ba...@linux.intel.com: minor i
On Fri, Oct 28, 2016 at 11:13:19AM -0700, Tony Lindgren wrote:
> * Johan Hovold [161028 02:45]:
> > On Thu, Oct 27, 2016 at 12:15:52PM -0700, Tony Lindgren wrote:
> > > * Johan Hovold [161027 11:46]:
> > > > But then this looks like it could trigger an ABBA deadlock as musb->lock
> > > > is held
Hi,
Sergei Shtylyov writes:
> On 10/31/2016 1:48 PM, Felipe Balbi wrote:
>
>> We have introduced a helper to calculate multiplier
>> value from wMaxPacketSize. Start using it.
>>
>> Signed-off-by: Felipe Balbi
>> ---
>> drivers/usb/gadget/udc/gr_udc.c | 2 +-
>> 1 file changed, 1 insertion(+),
Hi,
Baolin Wang writes:
> Instead of just delaying for 100us, we should
> actually wait for End Transfer Command Complete
> interrupt before moving on. Note that this should
> only be done if we're dealing with one of the core
> revisions that actually require the interrupt before
> moving on.
>
I am Mrs. Gu Kailai and i intend to make a DONATION. Contact my personal E-mail
Via: mrsgukai...@post.cz for more details:
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/m
On 10/31/2016 3:51 AM, Felipe Balbi wrote:
> Cleanup only, no functional changes.
>
> Signed-off-by: Felipe Balbi
> ---
> drivers/usb/dwc3/gadget.c | 62
> +--
> 1 file changed, 38 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/usb/dwc3/gadg
1 - 100 of 121 matches
Mail list logo