Thinh Nguyen
db615c6264
usb: gadget: Introduce SSP rates and lanes
...
A USB device controller operating in SuperSpeed Plus may support gen2x1,
gen1x2, and/or gen2x2. Introduce SuperSpeed Plus signaling rate
generation and lane count to usb_gadget with the fields ssp_rate and
max_ssp_rate. The gadget driver can use these to setup the device BOS
descriptor and select the desire operating speed and number of lanes.
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com >
Link: https://lore.kernel.org/r/b6d2196dcc3c73747f91abf9a082b20bbe276cc4.1610592135.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-18 18:39:56 +01:00
Thinh Nguyen
121fc3ac2f
usb: gadget: composite: Use SSP sublink speed macros
...
Use SuperSpeed Plus sublink speed macros to fill the BOS descriptor
sublink speed attributes in the composite driver. They're
self-documented so we can remove some of the comments, and this helps
with readability by removing the magic numbers.
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com >
Link: https://lore.kernel.org/r/6f74d446aa164f66fbe4161e28547e28851f6a02.1610592135.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-18 18:39:53 +01:00
Thinh Nguyen
f2fc9ff28d
usb: ch9: Add USB 3.2 SSP attributes
...
In preparation for USB 3.2 dual-lane support, add sublink speed
attribute macros and enum usb_ssp_rate. A USB device that operates in
SuperSpeed Plus may operate at different speed and lane count. These
additional macros and enum values help specifying that.
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com >
Link: https://lore.kernel.org/r/ae9293ebd63a29f2a2035054753534d9eb123d74.1610592135.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-18 18:38:47 +01:00
Al Cooper
7766cafea0
usb: bdc: Remove the BDC PCI driver
...
The BDC PCI driver was only used for design verification with
an PCI/FPGA board. The board no longer exists and is not in use
anywhere. All instances of this core now exist as a memory mapped
device on the platform bus.
NOTE: This only removes the PCI driver and does not remove the
platform driver.
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Signed-off-by: Al Cooper <alcooperx@gmail.com >
Link: https://lore.kernel.org/r/20210115213142.35003-1-alcooperx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-18 18:36:31 +01:00
Fabio Estevam
2e559638f7
usb: phy: phy-mxs-usb: Use of_device_get_match_data()
...
The retrieval of driver data via of_device_get_match_data() can make
the code simpler.
Use of_device_get_match_data() to simplify the code.
Acked-by: Peter Chen <peter.chen@nxp.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Fabio Estevam <festevam@gmail.com >
Link: https://lore.kernel.org/r/20210118152615.1644861-1-festevam@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-18 18:35:46 +01:00
Shawn Guo
c25c210f59
usb: dwc3: qcom: add URS Host support for sdm845 ACPI boot
...
For sdm845 ACPI boot, the URS (USB Role Switch) node in ACPI DSDT table
holds the memory resource, while interrupt resources reside in the child
nodes USB0 and UFN0. It adds USB0 host support by probing URS node,
creating platform device for USB0 node, and then retrieve interrupt
resources from USB0 platform device.
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Signed-off-by: Shawn Guo <shawn.guo@linaro.org >
Link: https://lore.kernel.org/r/20210115035057.10994-1-shawn.guo@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:51:31 +01:00
Chunfeng Yun
9136972055
MAINTAINERS: update MediaTek PHY/USB entry
...
Due to the phy/usb bindings are converted into YAML schema and
also renamed, update entries.
Meanwhile add drivers/usb/host/mtk-xhci* files.
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/20201225075258.33352-11-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:10:53 +01:00
Chunfeng Yun
717774eb52
dt-bindings: usb: convert mediatek, mtu3.txt to YAML schema
...
Convert mediatek,mtu3.txt to YAML schema mediatek,mtu3.yaml
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/20201225075258.33352-10-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:10:53 +01:00
Chunfeng Yun
d93b29c809
dt-bindings: usb: convert mediatek, mtk-xhci.txt to YAML schema
...
Convert mediatek,mtk-xhci.txt to YAML schema mediatek,mtk-xhci.yaml
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/20201225075258.33352-9-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:10:53 +01:00
Chunfeng Yun
f9924caf5d
dt-bindings: usb: convert mediatek, musb.txt to YAML schema
...
Convert mediatek,musb.txt to YAML schema mediatek,musb.yaml
Cc: Min Guo <min.guo@mediatek.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/20201225075258.33352-8-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:10:52 +01:00
Chunfeng Yun
6a0d64fc5a
dt-bindings: net: btusb: change reference file name
...
Due to usb-device.txt is converted into usb-device.yaml,
so modify reference file names at the same time.
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/20201225075258.33352-2-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:10:52 +01:00
Chunfeng Yun
23bf6fc704
dt-bindings: usb: convert usb-device.txt to YAML schema
...
Convert usb-device.txt to YAML schema usb-device.yaml
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/20201225075258.33352-1-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:10:52 +01:00
Lorenzo Colitti
63d152149b
usb: gadget: u_ether: support configuring interface names.
...
This patch allows the administrator to configure the interface
name of a function using u_ether (e.g., eem, ncm, rndis).
Currently, all such interfaces, regardless of function type, are
always called usb0, usb1, etc. This makes it very cumbersome to
use more than one such type at a time, because userspace cannnot
easily tell the interfaces apart and apply the right
configuration to each one. Interface renaming in userspace based
on driver doesn't help, because the interfaces all have the same
driver. Without this patch, doing this require hacks/workarounds
such as setting fixed MAC addresses on the functions, and then
renaming by MAC address, or scraping configfs after each
interface is created to find out what it is.
Setting the interface name is done by writing to the same
"ifname" configfs attribute that reports the interface name after
the function is bound. The write must contain an interface
pattern such as "usb%d" (which will cause the net core to pick
the next available interface name starting with "usb").
This patch does not allow writing an exact interface name (as
opposed to a pattern) because if the interface already exists at
bind time, the bind will fail and the whole gadget will fail to
activate. This could be allowed in a future patch.
For compatibility with current userspace, when reading an ifname
that has not currently been set, the result is still "(unnamed
net_device)". Once a write to ifname happens, then reading ifname
will return whatever was last written.
Tested by configuring an rndis function and an ncm function on
the same gadget, and writing "rndis%d" to ifname on the rndis
function and "ncm%d" to ifname on the ncm function. When the
gadget was bound, the rndis interface was rndis0 and the ncm
interface was ncm0.
Signed-off-by: Lorenzo Colitti <lorenzo@google.com >
Link: https://lore.kernel.org/r/20210113234222.3272933-1-lorenzo@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:08:53 +01:00
Heikki Krogerus
f08fc2c30e
usb: dwc3: pci: add support for the Intel Alder Lake-P
...
This patch adds the necessary PCI ID for Intel Alder Lake-P
devices.
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com >
Link: https://lore.kernel.org/r/20210115094914.88401-5-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:06:43 +01:00
Heikki Krogerus
73203bde3a
usb: dwc3: pci: ID for Tiger Lake CPU
...
Tiger Lake SOC (the versions of it that have integrated USB4
controller) may have two DWC3 controllers. One is part of
the PCH (Platform Controller Hub, i.e. the chipset) as
usual, and the other is inside the actual CPU block.
On all Intel platforms that have the two separate DWC3
controllers, the one inside the CPU handles USB3 and only
USB3 traffic, while the PCH version handles USB2 and USB2
alone. The reason for splitting the two busses like this is
to allow easy USB3 tunneling over USB4 connections. As USB2
is not tunneled over USB4, it has dedicated USB controllers
(both xHCI and DWC3).
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com >
Link: https://lore.kernel.org/r/20210115094914.88401-4-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:06:42 +01:00
Heikki Krogerus
e492ce9bca
usb: dwc3: pci: Register a software node for the dwc3 platform device
...
By registering the software node directly instead of just
the properties in it, the driver can take advantage of also
the other features the software nodes have.
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com >
Link: https://lore.kernel.org/r/20210115094914.88401-3-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:06:42 +01:00
Heikki Krogerus
e68d0119e3
software node: Introduce device_add_software_node()
...
This helper will register a software node and then assign
it to device at the same time. The function will also make
sure that the device can't have more than one software node.
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com >
Link: https://lore.kernel.org/r/20210115094914.88401-2-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:06:42 +01:00
Jiapeng Zhong
c86cad04dc
drivers/usb/gadget/udc: Assign boolean values to a bool variable
...
Fix the following coccicheck warnings:
./drivers/usb/gadget/udc/udc-xilinx.c:1957:2-18: WARNING:
Assignment of 0/1 to bool variable.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Jiapeng Zhong <abaci-bugfix@linux.alibaba.com >
Link: https://lore.kernel.org/r/1610615002-66235-1-git-send-email-abaci-bugfix@linux.alibaba.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-15 16:00:20 +01:00
Mauro Carvalho Chehab
5dc71f1eb8
USB: dwc3: document gadget_max_speed
...
This new field was added to struct dwc3_scratchpad_array, but
a documentation for it was missed:
../drivers/usb/dwc3/core.h:1259: warning: Function parameter or member 'gadget_max_speed' not described in 'dwc3'
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au >
Acked-by: Felipe Balbi <balbi@kernel.org >
Link: https://lore.kernel.org/r/e9332e31bec9bcead2c7ced2b25462120488ca85.1610610444.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-14 10:17:43 +01:00
Mauro Carvalho Chehab
e793c2a3d3
dt-bindings: usb: update snps,dwc3.yaml references
...
Changeset 389d776588 ("dt-bindings: usb: Convert DWC USB3 bindings to DT schema")
renamed: Documentation/devicetree/bindings/usb/dwc3.txt
to: Documentation/devicetree/bindings/usb/snps,dwc3.yaml.
Update its cross-references accordingly.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/97704f110f0282fb47eb85dea430cc94cfd93a4b.1610605373.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-14 10:17:43 +01:00
Mauro Carvalho Chehab
16bcc58e1d
Documentation/devicetree/bindings/usb/dwc3-st.txt: update usb-drd.yaml reference
...
Changeset b0864e1a4d ("dt-bindings: usb: Convert generic USB properties to DT schemas")
renamed: Documentation/devicetree/bindings/usb/generic.txt
to: Documentation/devicetree/bindings/usb/usb-drd.yaml.
Update its cross-reference accordingly.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/43d5049a8ed688980bee12ecf18ef9937981de39.1610605373.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-14 10:17:43 +01:00
Thinh Nguyen
132ee0da6e
usb: dwc3: gadget: Disable Vendor Test LMP Received event
...
Some users questioned why Vendor Test LMP Received event was enabled.
The driver currently doesn't handle this event. Let's disable it to
avoid confusion.
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com >
Link: https://lore.kernel.org/r/4e785ba5d5e95801b6fcf96116f6090216e70760.1610596478.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-14 10:17:43 +01:00
Dmitry Osipenko
67004e130a
ARM: tegra_defconfig: Enable USB_CHIPIDEA_HOST and remove USB_EHCI_TEGRA
...
The ehci-tegra driver was superseded by the generic ChipIdea USB driver,
update the tegra's defconfig accordingly.
Acked-by: Thierry Reding <treding@nvidia.com >
Acked-by: Peter Chen <peter.chen@kernel.org >
Signed-off-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/20201218120246.7759-10-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:26:34 +01:00
Dmitry Osipenko
c3590c7656
usb: host: ehci-tegra: Remove the driver
...
The ChipIdea driver now provides USB2 host mode support for NVIDIA Tegra
SoCs. The ehci-tegra driver is obsolete now, remove it and redirect the
older Kconfig entry to the CI driver.
Tested-by: Matt Merhar <mattmerhar@protonmail.com >
Tested-by: Nicolas Chauvet <kwizart@gmail.com >
Tested-by: Peter Geis <pgwipeout@gmail.com >
Tested-by: Ion Agorria <ion@agorria.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Acked-by: Alan Stern <stern@rowland.harvard.edu >
Acked-by: Peter Chen <peter.chen@kernel.org >
Signed-off-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/20201218120246.7759-9-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:26:34 +01:00
Dmitry Osipenko
a1fdd107cd
usb: chipidea: tegra: Specify TX FIFO threshold in UDC SoC info
...
The UDC/OTG controller could be switched to a host mode and the
TXFILLTUNING register needs to be programmed properly for the host
mode. Hence specify the TX FIFO threshold in the UDC SoC info.
Acked-by: Peter Chen <peter.chen@kernel.org >
Signed-off-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/20201218120246.7759-8-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:26:34 +01:00
Dmitry Osipenko
a728f91bcc
usb: chipidea: tegra: Support runtime PM
...
Tegra PHY driver now supports waking up controller from a low power mode.
Enable runtime PM in order to put controller into the LPM during idle.
Tested-by: Matt Merhar <mattmerhar@protonmail.com >
Tested-by: Nicolas Chauvet <kwizart@gmail.com >
Tested-by: Peter Geis <pgwipeout@gmail.com >
Tested-by: Ion Agorria <ion@agorria.com >
Acked-by: Peter Chen <peter.chen@kernel.org >
Signed-off-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/20201218120246.7759-7-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:26:34 +01:00
Peter Geis
fc53d52790
usb: chipidea: tegra: Support host mode
...
Add USB host mode to the Tegra HDRC driver. This allows us to benefit from
support provided by the generic ChipIdea driver instead of duplicating the
effort in a separate ehci-tegra driver.
Tested-by: Matt Merhar <mattmerhar@protonmail.com >
Tested-by: Nicolas Chauvet <kwizart@gmail.com >
Tested-by: Ion Agorria <ion@agorria.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Acked-by: Peter Chen <peter.chen@kernel.org >
Signed-off-by: Peter Geis <pgwipeout@gmail.com >
Signed-off-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/20201218120246.7759-6-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:26:34 +01:00
Dmitry Osipenko
711e234427
usb: chipidea: tegra: Rename UDC to USB
...
Rename all occurrences in the code from "udc" to "usb" and change the
Kconfig entry in order to show that this driver supports USB modes other
than device-only mode. The follow up patch will add host-mode support and
it will be cleaner to perform the renaming separately, i.e. in this patch.
Tested-by: Matt Merhar <mattmerhar@protonmail.com >
Tested-by: Nicolas Chauvet <kwizart@gmail.com >
Tested-by: Peter Geis <pgwipeout@gmail.com >
Tested-by: Ion Agorria <ion@agorria.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Acked-by: Peter Chen <peter.chen@kernel.org >
Signed-off-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/20201218120246.7759-5-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:26:34 +01:00
Dmitry Osipenko
c49f958b8d
usb: chipidea: tegra: Remove MODULE_ALIAS
...
The OF core adds an alias based on the OF device ID table, which is enough
to have the driver autoloaded. The legacy MODULE_ALIAS macro was relevant
to a pre-OF board files which manually created platform devices, this is
irrelevant to the modern ARM kernels since devices are created by the OF
core. Remove the unnecessary macro in order to keep the driver's code
cleaner.
Tested-by: Matt Merhar <mattmerhar@protonmail.com >
Tested-by: Nicolas Chauvet <kwizart@gmail.com >
Tested-by: Peter Geis <pgwipeout@gmail.com >
Tested-by: Ion Agorria <ion@agorria.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Acked-by: Peter Chen <peter.chen@kernel.org >
Signed-off-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/20201218120246.7759-4-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:26:34 +01:00
Dmitry Osipenko
35192007d2
usb: phy: tegra: Support waking up from a low power mode
...
Support programming of waking up from a low power mode by implementing the
generic set_wakeup() callback of the USB PHY API.
Tested-by: Matt Merhar <mattmerhar@protonmail.com >
Tested-by: Nicolas Chauvet <kwizart@gmail.com >
Tested-by: Peter Geis <pgwipeout@gmail.com >
Tested-by: Ion Agorria <ion@agorria.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Acked-by: Peter Chen <peter.chen@kernel.org >
Signed-off-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/20201218120246.7759-3-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:26:34 +01:00
Dmitry Osipenko
b100402e93
usb: phy: tegra: Add delay after power up
...
The PHY hardware needs the delay of 2ms after power up, otherwise initial
interrupt may be lost if USB controller is accessed before PHY is settled
down. Previously this issue was masked by implicit delays, but now it pops
up after squashing the older ehci-tegra driver into the ChipIdea driver.
Tested-by: Matt Merhar <mattmerhar@protonmail.com >
Tested-by: Nicolas Chauvet <kwizart@gmail.com >
Tested-by: Peter Geis <pgwipeout@gmail.com >
Tested-by: Ion Agorria <ion@agorria.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Acked-by: Peter Chen <peter.chen@kernel.org >
Signed-off-by: Dmitry Osipenko <digetx@gmail.com >
Link: https://lore.kernel.org/r/20201218120246.7759-2-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:26:34 +01:00
Chunfeng Yun
ba9fc77cbf
usb: gadget: bdc: fix checkpatch.pl repeated word warning
...
fix the warning:
WARNING:REPEATED_WORD: Possible repeated word: 'and'
Cc: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-11-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:02 +01:00
Chunfeng Yun
14a46f82d7
usb: gadget: bdc: fix checkpatch.pl spacing error
...
fix checkpatch.pl error:
ERROR:SPACING: space prohibited before that ','
Cc: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-10-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:02 +01:00
Chunfeng Yun
fc43a80f7f
usb: gadget: bdc: fix checkpatch.pl tab warning
...
WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements
WARNING:TABSTOP: Statements should start on a tabstop
Cc: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-9-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:02 +01:00
Chunfeng Yun
cb387becbf
usb: gadget: bdc: use the BIT macro to define bit filed
...
Prefer using the BIT macro to define bit fileds
Cc: Florian Fainelli <f.fainelli@gmail.com >
Reported-by: kernel test robot <lkp@intel.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-8-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:02 +01:00
Chunfeng Yun
913a4a7d13
usb: gadget: bdc: avoid precedence issues
...
Add () around macro argument to avoid precedence issues
Cc: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-7-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:02 +01:00
Chunfeng Yun
5ae5f76a45
usb: gadget: bdc: add identifier name for function declaraion
...
This is used to avoid the warning of function arguments, e.g.
WARNING:FUNCTION_ARGUMENTS: function definition argument 'u32'
should also have an identifier name
Cc: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-6-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:02 +01:00
Chunfeng Yun
feed6252a5
usb: gadget: bdc: fix check warning of block comments alignment
...
fix the warning:
WARNING:BLOCK_COMMENT_STYLE:
Block comments should align the * on each line
Cc: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-5-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:02 +01:00
Chunfeng Yun
ddafe4b9c6
usb: gadget: bdc: fix warning of embedded function name
...
Use '"%s...", __func__' to replace embedded function name
Cc: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-4-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:02 +01:00
Chunfeng Yun
1c6e01bbe7
usb: gadget: bdc: prefer pointer dereference to pointer type
...
Prefer kzalloc(sizeof(*bd_table)...) over
kzalloc(sizeof(struct bd_table)
Cc: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-3-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:02 +01:00
Chunfeng Yun
e634ae98b8
usb: gadget: bdc: remove bdc_ep_set_halt() declaration
...
No definition for bdc_ep_set_halt(), so remove it.
Cc: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-2-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:02 +01:00
Chunfeng Yun
3aaefb76c5
usb: gadget: bdc: fix improper SPDX comment style for header file
...
For C header files Documentation/process/license-rules.rst
mandates C-like comments (opposed to C source files where
C++ style should be used).
Cc: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com >
Link: https://lore.kernel.org/r/1610505748-30616-1-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-13 11:24:01 +01:00
Mayank Rana
89795852c9
usb: typec: ucsi: Add support for USB role switch
...
UCSI already conveys the information about a port's connection
status, whether it is operating in UFP or DFP mode, and whether the
partner supports USB data or not. This information can be used to
notify a dual-role controller to start up its host or peripheral
mode accordingly. Add optional support for this by querying each
port's fwnode to look for an associated USB role switch device.
If present, call usb_role_switch_set() with the determined data
role upon Connect Change or Connector Partner Change updates.
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com >
Signed-off-by: Mayank Rana <mrana@codeaurora.org >
Signed-off-by: Jack Pham <jackp@codeaurora.org >
Link: https://lore.kernel.org/r/20210111215520.18476-1-jackp@codeaurora.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-12 12:56:27 +01:00
Amelie Delaunay
53febc9569
usb: dwc2: disable Link Power Management on STM32MP15 HS OTG
...
Link Power Management (LPM) on STM32MP15 OTG HS encounters instabilities
with some Host controllers. OTG core fails to exit L1 state in 200us:
"dwc2 49000000.usb-otg: Failed to exit L1 sleep state in 200us."
Then the device is still not enumerated.
To avoid this issue, disable Link Power Management on STM32MP15 HS OTG.
Acked-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com >
Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com >
Link: https://lore.kernel.org/r/20210105094855.30763-4-amelie.delaunay@foss.st.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-12 12:54:42 +01:00
Amelie Delaunay
f228cb27c5
usb: dwc2: enable FS/LS PHY clock select on STM32MP15 FS OTG
...
When the core is in FS host mode, using the FS transceiver, and a Low-Speed
device is connected, transceiver clock is 6Mhz.
So, to support Low-Speed devices, enable support of FS/LS Low Power mode,
so that the PHY supplies a 6 MHz clock during Low-Speed mode.
Acked-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com >
Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com >
Link: https://lore.kernel.org/r/20210105094855.30763-3-amelie.delaunay@foss.st.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-12 12:54:42 +01:00
Amelie Delaunay
2979ee7a91
usb: dwc2: set ahbcfg parameter for STM32MP15 OTG HS and FS
...
STM32MP15 ahbcfg register default value sets Burst length/type (HBSTLEN)
to Single (32-bit accesses on AHB), which is not recommended, according
to STM32MP157 Reference manual [1].
This patch sets Burst length/type (HBSTLEN) so that bus transactions
target 16x32 bit accesses. This improves OTG controller performance.
[1] https://www.st.com/resource/en/reference_manual/dm00327659.pdf , p.3149
Acked-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com >
Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com >
Link: https://lore.kernel.org/r/20210105094855.30763-2-amelie.delaunay@foss.st.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-12 12:54:42 +01:00
Davidlohr Bueso
8653d71ce3
usb/gadget: f_midi: Replace tasklet with work
...
Currently a tasklet is used to transmit input substream buffer
data. However, tasklets have long been deprecated as being too
heavy on the system by running in irq context - and this is not
a performance critical path. If a higher priority process wants
to run, it must wait for the tasklet to finish before doing so.
Deferring work to a workqueue and executing in process context
should be fine considering the callback already does
f_midi_do_transmit() under the transmit_lock and thus changes in
semantics are ok regarding concurrency - tasklets being serialized
against itself.
Cc: Takashi Iwai <tiwai@suse.de >
Reviewed-by: Takashi Iwai <tiwai@suse.de >
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Davidlohr Bueso <dbueso@suse.de >
Link: https://lore.kernel.org/r/20210111042855.73289-1-dave@stgolabs.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-12 12:52:28 +01:00
Andy Shevchenko
0c0a20f6da
usb: dwc3: Simplify with dev_err_probe()
...
Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and the error value gets printed.
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20210111135458.57084-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-12 12:50:56 +01:00
Andy Shevchenko
370e3d5b71
usb: dwc3: keystone: Simplify with dev_err_probe()
...
Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and the error value gets printed.
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20210111135539.57234-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-12 12:50:45 +01:00
Thinh Nguyen
49d08cfc78
usb: udc: core: Introduce started state
...
For some UDCs, the initialization sequence by udc_start() should not be
repeated until it is properly cleaned up with udc_stop() and vise versa.
We may run into some cleanup failure as seen with the DWC3 driver during
the irq cleanup. This issue can occur when the user triggers
soft-connect/soft-disconnect from the soft_connect sysfs. To avoid
adding checks to every UDC driver, at the UDC framework, introduce a
"started" state to track and prevent the UDC from repeating the
udc_start() and udc_stop() if it had already started/stopped.
Acked-by: Felipe Balbi <balbi@kernel.org >
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com >
Link: https://lore.kernel.org/r/a7c4112fcd4dc2f0169af94a24f5685ca77f09fd.1610395599.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-01-12 12:50:20 +01:00