On Mon, Jul 27, 2015 at 08:56:05AM +0200, Dirk Behme wrote:
> Add support for the Sierra Wireless AR8550 device with
> USB descriptor 0x1199, 0x68AB.
>
> It is common with MC879x modules 1199:683c/683d which
> also are composite devices with 7 interfaces (0..6)
> and also MDM62xx based as the AR85
Although the driver works normally, we find the device may get all 0xff data
when
tranmitting packets on certain platforms. It would break the device and no
packet
could be transmitted. The reset is necessary to recover the hw for this
situation.
Hayes Wang (2):
r8152: add pre_reset and post_
Add rtl8152_pre_reset() and rtl8152_post_reset() which are used when
calling usb_reset_device(). The two functions could reduce the time
of reset when calling usb_reset_device() after probe().
Signed-off-by: Hayes Wang
---
drivers/net/usb/r8152.c | 68
The device reset is necessary if the hw becomes abnormal and stops
transmitting packets.
Signed-off-by: Hayes Wang
---
drivers/net/usb/r8152.c | 22 ++
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index a6caa
apq8016-sbc board is using Dual SPDT USB Switch (TC7USB40MU),
witch is controlled by GPIO to de/multiplex D+/D- USB lines to
USB2513B Hub and uB connector. Add support for this.
Signed-off-by: Ivan T. Ivanov
---
* Rebased on current testing/next.
.../devicetree/bindings/usb/msm-hsusb.txt
On 07/28/2015 03:38 AM, Peter Chen wrote:
> diff --git a/drivers/usb/gadget/function/f_uac2.c
> b/drivers/usb/gadget/function/f_uac2.c
> index 5318615..6a8e0d2 100644
> --- a/drivers/usb/gadget/function/f_uac2.c
> +++ b/drivers/usb/gadget/function/f_uac2.c
> @@ -975,6 +975,31 @@ free_ep(struct ua
On Tue, 2015-07-28 at 15:36 +0800, Hayes Wang wrote:
> Add rtl8152_pre_reset() and rtl8152_post_reset() which are used when
> calling usb_reset_device(). The two functions could reduce the time
> of reset when calling usb_reset_device() after probe().
>
> Signed-off-by: Hayes Wang
> ---
> driver
On Tue, 2015-07-28 at 15:36 +0800, Hayes Wang wrote:
> The device reset is necessary if the hw becomes abnormal and stops
> transmitting packets.
You are not the first one to face this problem. Hence there
is a helper:
* usb_queue_reset_device - Reset a USB device from an atomic context
* @ifac
On 07/28/2015 03:38 AM, Peter Chen wrote:
> +static void set_ep_max_packet_size (struct f_uac2_opts *uac2_opts,
> + struct usb_endpoint_descriptor *ep_desc, unsigned int factor)
> +{
> + int chmask;
> + int srate;
> + int ssize;
> + u16 max_packet_size;
> +
> + if (ep_desc =
On Tue, Jul 28, 2015 at 10:13:48AM +0200, Daniel Mack wrote:
> On 07/28/2015 03:38 AM, Peter Chen wrote:
>
> > diff --git a/drivers/usb/gadget/function/f_uac2.c
> > b/drivers/usb/gadget/function/f_uac2.c
> > index 5318615..6a8e0d2 100644
> > --- a/drivers/usb/gadget/function/f_uac2.c
> > +++ b/dr
On 07/28/2015 11:30 AM, Daniel Mack wrote:
> On 07/28/2015 03:38 AM, Peter Chen wrote:
>> +static void set_ep_max_packet_size (struct f_uac2_opts *uac2_opts,
>> +struct usb_endpoint_descriptor *ep_desc, unsigned int factor)
>> +{
>> +int chmask;
>> +int srate;
>> +int ssize;
>> +
Oliver Neukum [mailto:oneu...@suse.com]
> Sent: Tuesday, July 28, 2015 4:57 PM
[...]
> * usb_queue_reset_device - Reset a USB device from an atomic context
> * @iface: USB interface belonging to the device to reset
> *
> * This function can be used to reset a USB device from an atomic
> * cont
According to USB Audio Device 2.0 Spec, Ch4.10.1.1:
wMaxPacketSize is defined as follows:
Maximum packet size this endpoint is capable of sending or receiving
when this configuration is selected.
This is determined by the audio bandwidth constraints of the endpoint.
In current code, the wMaxPacket
Oliver Neukum [mailto:oneu...@suse.com]
> Sent: Tuesday, July 28, 2015 4:53 PM
[...]
> > + return 0;
> > +
> > + netdev = tp->netdev;
> > + if (!netif_running(netdev))
> > + return 0;
> > +
> > + ret = usb_autopm_get_interface(intf);
> > + if (ret < 0)
> > + re
On 07/28/2015 11:17 AM, Peter Chen wrote:
> According to USB Audio Device 2.0 Spec, Ch4.10.1.1:
> wMaxPacketSize is defined as follows:
> Maximum packet size this endpoint is capable of sending or receiving
> when this configuration is selected.
> This is determined by the audio bandwidth constrain
On Tue, 2015-07-28 at 09:52 +, Hayes Wang wrote:
> Oliver Neukum [mailto:oneu...@suse.com]
> > Sent: Tuesday, July 28, 2015 4:53 PM
> [...]
> > > + return 0;
> > > +
> > > + netdev = tp->netdev;
> > > + if (!netif_running(netdev))
> > > + return 0;
> > > +
> > > + ret = usb_auto
v2:
For patch #1, remove usb_autopm_get_interface(), usb_autopm_put_interface(), and
the checking of intf->condition.
For patch #2, replace the original method with usb_queue_reset_device() to reset
the device.
v1:
Although the driver works normally, we find the device may get all 0xff data
whe
The device reset is necessary if the hw becomes abnormal and stops
transmitting packets.
Signed-off-by: Hayes Wang
---
drivers/net/usb/r8152.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index e1b6d6d..6af299f 1006
Add rtl8152_pre_reset() and rtl8152_post_reset() which are used when
calling usb_reset_device(). The two functions could reduce the time
of reset when calling usb_reset_device() after probe().
Signed-off-by: Hayes Wang
---
drivers/net/usb/r8152.c | 54
On Tue, 2015-07-28 at 20:08 +0800, Hayes Wang wrote:
> static void rtl8152_tx_timeout(struct net_device *netdev)
> {
> struct r8152 *tp = netdev_priv(netdev);
> - int i;
>
> netif_warn(tp, tx_err, netdev, "Tx timeout\n");
> - for (i = 0; i < RTL8152_MAX_TX; i++)
> -
Oliver Neukum [mailto:oneu...@suse.com]
> Sent: Tuesday, July 28, 2015 8:14 PM
[...]
> > static void rtl8152_tx_timeout(struct net_device *netdev) {
> > struct r8152 *tp = netdev_priv(netdev);
> > - int i;
> >
> > netif_warn(tp, tx_err, netdev, "Tx timeout\n");
> > - f
On Tue, 2015-07-28 at 12:31 +, Hayes Wang wrote:
> Oliver Neukum [mailto:oneu...@suse.com]
> > Sent: Tuesday, July 28, 2015 8:14 PM
> [...]
> > > static void rtl8152_tx_timeout(struct net_device *netdev) {
> > > struct r8152 *tp = netdev_priv(netdev);
> > > - int i;
> > >
> > >
Hello,
I have a problem with the panel on my Tegra Chromebook taking longer
than expected to be ready during boot (Stéphane Marchesin reported what
is basically the same issue in [0]), and have looked into ordered
probing as a better way of solving this than moving nodes around in the
DT or playin
When looking up a phy through its firmware node, probe it if it hasn't
already.
The goal is to reduce deferred probes to a minimum, as it makes it very
cumbersome to find out why a device failed to probe, and can introduce
very big delays in when a critical device is probed.
Signed-off-by: Tomeu
This introduces an attribute for each interface to
authorize (1) or deauthorize (0) it:
/sys/bus/usb/devices/INTERFACE/authorized
Signed-off-by: Stefan Koch
---
drivers/usb/core/sysfs.c | 43 +--
1 file changed, 41 insertions(+), 2 deletions(-)
diff --git
This part adds the documentation for the interface authorization.
Signed-off-by: Stefan Koch
---
Documentation/ABI/testing/sysfs-bus-usb | 22 +
Documentation/usb/authorization.txt | 34 +
2 files changed, 56 insertions(+)
diff --git a/Doc
Interfaces are allowed per default.
This can disabled or enabled (again) by writing 0 or 1 to
/sys/bus/usb/devices/usbX/interface_authorized_default
Signed-off-by: Stefan Koch
---
drivers/usb/core/hcd.c | 51 ++
drivers/usb/core/message.c | 1 +
i
This patch introduces an interface authorization for USB devices.
The kernel supports a device authorization because of wireless USB.
But the new interface authorization allows to authorize or deauthorize
individual interfaces instead authorization or deauthorize a whole device.
Therefore the aut
The kernel supports the device authorization because of wireless USB.
These is usable for wired USB devices, too.
These new interface authorization allows to enable or disable
individual interfaces instead a whole device.
If a deauthorized interface will be authorized so the driver probing must
be
The attribute authorized shows the authorization state for an interface.
Signed-off-by: Stefan Koch
---
include/linux/usb.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 447fe29..3deccab 100644
--- a/include/linux/usb.h
+++ b/include/linux/us
With this patch a flag instead of a variable
is used for the default device authorization.
Signed-off-by: Stefan Koch
---
drivers/usb/core/hcd.c | 28 ++--
drivers/usb/core/usb.c | 2 +-
include/linux/usb/hcd.h | 6 --
3 files changed, 23 insertions(+), 13 deletio
Driver probings and interface claims get rejected
if an interface is not authorized.
Signed-off-by: Stefan Koch
---
drivers/usb/core/driver.c | 8
1 file changed, 8 insertions(+)
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index 818369a..d542d43 100644
--- a/driv
On Tue, 28 Jul 2015, Stefan Koch wrote:
> This introduces an attribute for each interface to
> authorize (1) or deauthorize (0) it:
> /sys/bus/usb/devices/INTERFACE/authorized
>
> Signed-off-by: Stefan Koch
> ---
> drivers/usb/core/sysfs.c | 43 +--
> 1 f
On Tue, 28 Jul 2015, Stefan Koch wrote:
> With this patch a flag instead of a variable
> is used for the default device authorization.
>
> Signed-off-by: Stefan Koch
> ---
> drivers/usb/core/hcd.c | 28 ++--
> drivers/usb/core/usb.c | 2 +-
> include/linux/usb/hcd.h |
Hello.
On 07/28/2015 04:38 PM, Stefan Koch wrote:
This introduces an attribute for each interface to
authorize (1) or deauthorize (0) it:
/sys/bus/usb/devices/INTERFACE/authorized
Signed-off-by: Stefan Koch
---
drivers/usb/core/sysfs.c | 43 +--
1
Hi,
While debugging an issue with another driver, I've hit some corruption in xHCI.
I'm not sure if the corruption is directly caused by the first warning or if
the warning is exposing an issue with the driver. The issue I was actually
trying to debug was a URB double submit:
[ cut h
On Tuesday, July 28, 2015 03:19:31 PM Tomeu Vizoso wrote:
> Hello,
>
> I have a problem with the panel on my Tegra Chromebook taking longer
> than expected to be ready during boot (Stéphane Marchesin reported what
> is basically the same issue in [0]), and have looked into ordered
> probing as a b
Antoine and Rob,
I was just doing some testing with USB on a Qualcomm SoC.
I followed the instructions in the binding document:
Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
which has a compatible for "qcom,ci-hdrc", and is, in general,
for chipidea-based USB controllers.
It says in th
> On 07/28/2015 11:17 AM, Peter Chen wrote:
> > According to USB Audio Device 2.0 Spec, Ch4.10.1.1:
> > wMaxPacketSize is defined as follows:
> > Maximum packet size this endpoint is capable of sending or receiving
> > when this configuration is selected.
> > This is determined by the audio bandw
On Tue, Jul 28, 2015 at 06:06:30PM -0700, Tim Bird wrote:
> Antoine and Rob,
>
> I was just doing some testing with USB on a Qualcomm SoC.
>
> I followed the instructions in the binding document:
> Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
>
> which has a compatible for "qcom,ci-hdr
Oliver Neukum [mailto:oneu...@suse.com]
> Sent: Tuesday, July 28, 2015 8:59 PM
[...]
> > > > static void rtl8152_tx_timeout(struct net_device *netdev) {
> > > > struct r8152 *tp = netdev_priv(netdev);
> > > > - int i;
> > > >
> > > > netif_warn(tp, tx_err, netdev, "Tx timeo
On Tue, Jul 28, 2015 at 8:06 PM, Tim Bird wrote:
> Antoine and Rob,
>
> I was just doing some testing with USB on a Qualcomm SoC.
>
> I followed the instructions in the binding document:
> Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
>
> which has a compatible for "qcom,ci-hdrc", and is,
> > I was just doing some testing with USB on a Qualcomm SoC.
> >
> > I followed the instructions in the binding document:
> > Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> >
> > which has a compatible for "qcom,ci-hdrc", and is, in general, for
> > chipidea-based USB controllers.
> >
On Tue, Jul 28, 2015 at 10:12 PM, Peter Chen wrote:
>
>> > I was just doing some testing with USB on a Qualcomm SoC.
>> >
>> > I followed the instructions in the binding document:
>> > Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
>> >
>> > which has a compatible for "qcom,ci-hdrc", and i
Hi all,
In this series, I add several new interfaces for chipidea driver,
they are mainly for system configuration adjustment. The USB
performance may be improved with these configuration changing,
but each vendor driver owner needs to consult with your IC
owner which configuration parameters are
The system bus and chipidea IP have different limitations for
both host and device mode.
For example, with below errata, we need to enable SDIS(Stream Disable Mode)
at host mode. But we don't want it for device mode at the same system.
TAR 9000378958
Title: Non-Double Word Aligned Buffer Address S
The zero-length packet is the sendor tells the receiver that there
is no more data, so it is only needed at the TX side.
Signed-off-by: Peter Chen
---
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/
It can improve the USB performance when choosing larger
burst size at some systems (bus size is larger), there is
no side effect if this burst size is larger than bus size.
Signed-off-by: Peter Chen
---
arch/arm/boot/dts/imx6qdl.dtsi | 8
arch/arm/boot/dts/imx6sl.dtsi | 6 ++
arch/
The user can adjust it through dts or platform data
Signed-off-by: Peter Chen
---
drivers/usb/chipidea/bits.h | 4
drivers/usb/chipidea/ci.h| 1 +
drivers/usb/chipidea/core.c | 35 +++
include/linux/usb/chipidea.h | 4
4 files changed, 44 insert
It is used to override the default setting for burst size, changing
burst size takes effect only when the SBUSCFG.AHBBRST = 0.
Signed-off-by: Peter Chen
---
Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt | 6 ++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/b
The users can change it through dts or platform data if they
want to change the default value.
Signed-off-by: Peter Chen
---
drivers/usb/chipidea/bits.h | 3 +++
drivers/usb/chipidea/core.c | 14 ++
include/linux/usb/chipidea.h | 2 ++
3 files changed, 19 insertions(+)
diff --gi
It is used to change ahb burst configuration for platforms, it is
vendor specific.
Signed-off-by: Peter Chen
---
Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt | 4
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
b/Documentation/
Stream mode enable is known for better performance, this stream mode
enable patch has been passed with stress tests at device mode for
imx6sl and imx6sx, and no issue is found.
Signed-off-by: Peter Chen
---
drivers/usb/chipidea/ci_hdrc_imx.c | 16 ++--
1 file changed, 10 insertions(+
With this setting and AHBBRST at SBUSCFG as "Incremental burst of
unspecified length", each unburst size can be taken as one single transfer.
It is benefit for unburst size transfer.
Signed-off-by: Peter Chen
---
drivers/usb/chipidea/usbmisc_imx.c | 12 ++--
1 file changed, 10 insertions
After setting ahb burst configuration as 0, we can increase tx/rx
burst size, it will improve the USB performance
Signed-off-by: Peter Chen
---
arch/arm/boot/dts/imx6qdl.dtsi | 4
arch/arm/boot/dts/imx6sl.dtsi | 3 +++
arch/arm/boot/dts/imx6sx.dtsi | 3 +++
3 files changed, 10 insertions(
On Wed, Jul 29, 2015 at 10:42:06AM +0800, Peter Chen wrote:
> The system bus and chipidea IP have different limitations for
> both host and device mode.
> For example, with below errata, we need to enable SDIS(Stream Disable Mode)
> at host mode. But we don't want it for device mode at the same sys
Add runtime pm operations for registers access to avoid system hang.
Signed-off-by: Li Jun
---
drivers/usb/chipidea/debug.c |6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/usb/chipidea/debug.c b/drivers/usb/chipidea/debug.c
index 3869c6d..080b7be 100644
--- a/drivers/usb/chi
On Wed, Jul 29, 2015 at 10:42:06AM +0800, Peter Chen wrote:
> @@ -20,7 +20,6 @@ struct ci_hdrc_platform_data {
> unsigned longflags;
> #define CI_HDRC_REGS_SHARED BIT(0)
> #define CI_HDRC_SUPPORTS_RUNTIME_PM BIT(2)
> -#define CI_HDRC_DISABLE_STREAMINGBIT(3)
Why not just r
On Tue, Jul 28, 2015 at 10:08:28PM -0700, Greg KH wrote:
> On Wed, Jul 29, 2015 at 10:42:06AM +0800, Peter Chen wrote:
> > The system bus and chipidea IP have different limitations for
> > both host and device mode.
> > For example, with below errata, we need to enable SDIS(Stream Disable Mode)
> >
Hi Peter,
On Wed, Jul 29, 2015 at 10:42:06AM +0800, Peter Chen wrote:
> The system bus and chipidea IP have different limitations for
> both host and device mode.
> For example, with below errata, we need to enable SDIS(Stream Disable Mode)
> at host mode. But we don't want it for device mode at t
On Tue, Jul 28, 2015 at 10:10:16PM -0700, Greg KH wrote:
> On Wed, Jul 29, 2015 at 10:42:06AM +0800, Peter Chen wrote:
> > @@ -20,7 +20,6 @@ struct ci_hdrc_platform_data {
> > unsigned longflags;
> > #define CI_HDRC_REGS_SHAREDBIT(0)
> > #define CI_HDRC_SUPPORTS_RUNTIME_PM
On Wed, Jul 29, 2015 at 07:51:55AM +0200, Sascha Hauer wrote:
> Hi Peter,
>
> On Wed, Jul 29, 2015 at 10:42:06AM +0800, Peter Chen wrote:
> > The system bus and chipidea IP have different limitations for
> > both host and device mode.
> > For example, with below errata, we need to enable SDIS(Stre
62 matches
Mail list logo