In the Spectrum ASIC - unlike SwitchX-2 - FDB access is done by
specifying FID as parameter and not VID.
Change the relevant variables and parameters names to reflect that.
Note that this was OK up until now, since FID was always equal to VID,
but with the introduction of VLAN interfaces this is no longer the case.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
We previously used only one flood table for packets classified to vFIDs.
However, since we are going to add support for bridges between VLAN
interfaces (mapped to vFIDs) we need to add one more flood table.
That way we can separate the flooding domain of unknown unicast traffic
from all the rest and support flood control (as we do with the 802.1Q
bridge).
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
The __mlxsw_sp_port_flood_set function is now used to configure flooding
for both FIDs and vFIDs, so change the parameter name to 'idx' instead
of 'fid'. This is also consistent with hardware documentation.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Up until now we used a 1:1 mapping - based on VID - to map a VLAN
interface to a vFID. However, a different scheme is needed in order to
support bridges between VLAN interfaces, as all the member interfaces -
which can have different VIDs - need to share the same vFID.
Solve that by splitting the vFID range in two:
1. Non-bridged VLAN interfaces
2. Bridged VLAN interfaces
When a VLAN interface is created, assign it the next available vFID in
the first range, unless one already exists for that VID or number of
vFIDs in the range was exceeded. When interface is removed, free the
vFID, unless other interfaces are mapped to it.
To accomplish the above:
1. Store the VID to vFID mapping in a new struct (mlxsw_sp_vfid), which
has a global context and holds a reference count.
2. Create a vPort (dummy in case of bridge SELF invocation) on top of
of the physical port and hold a reference to the associated vFID.
vfid vfid
+-------------+ +-------------+
| vfid | | vfid |
| vid +---> ... | vid |
| nr_vports | | nr_vports |
+------+------+ +------+------+
|
+-----------------------+-------+
| |
vport vport
+-------------+ +-------------+
| ... | | ... |
| *vfid +---> ... | *vfid +---> ...
| ... | | ... |
+------+------+ +------+------+
| |
port port
+-------------+ +-------------+
| ... | | ... |
| vports_list | | vports_list |
| ... | | ... |
+-------------+ +-------------+
swXpY swXpZ
Next patches in the series will add the missing infrastructure for the
second range and transfer vPorts between the two ranges according to the
received notifications.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
When adding support for bridges between VLAN interfaces, we'll introduce
a new entity called a vPort, which is a represntation of the VLAN
interface in the hardware.
The main difference between a vPort and a physical port is that several
FIDs can be bound to the latter, whereas only one (called a vFID) can be
bound to the first.
Therefore, it makes sense to use the same struct to represent the two,
but to only allocate the 'active_vlans' bitmap in case of a physical
port.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
switchdev drivers need to know the netdev on which the switchdev op was
invoked. For example, the STP state of a VLAN interface configured on top
of a port can change while being member in a bridge. In this case, the
underlying driver should only change the STP state of that particular
VLAN and not of all the VLANs configured on the port.
However, current switchdev infrastructure only passes the port netdev down
to the driver. Solve that by passing the original device down to the
driver as part of the required switchdev object / attribute.
This doesn't entail any change in current switchdev drivers. It simply
enables those supporting stacked devices to know the originating device
and act accordingly.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
We need to be able to propagate static FDB entries and certain bridge
port attributes (e.g. learning, flooding) down to the port netdev
driver when bridge port is a VLAN interface.
Achieve that by setting ndo_bridge* and ndo_fdb* in vlan_netdev_ops to
the corresponding switchdev_port* functions. This is consistent with
team and bond devices.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Merge "Broadcom devicetree changes for v4.5" from Florian Fainelli:
This pull request contains MAINTAINERS updates for Broadcom SoCs:
- Florian Fainelli adds bcm-kernel-feedback-list for all Broadcom Set-Top Box
SoCs submissions and removes a stray '>' for the gpio-brcmstb section
* tag 'arm-soc/for-4.5/maintainers' of http://github.com/Broadcom/stblinux:
MAINTAINERS: gpio-brcmstb: Remove stray '>'
MAINTAINERS: brcmstb: Include Broadcom internal mailing-list
In order to meet high performance an low power requirement for Rockchip
enable the power domain support. The patch also fixes a drm/kms issue,
driver deferring untils power-domains are available)
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Though the driver will continue to check for and support the legacy
"isil,irq2-can-wakeup-machine" boolean property to wakeup source,
"wakeup-source" is the new standard binding.
This patch replaces the legacy "isil,irq2-can-wakeup-machine" with the
unified "wakeup-source" property in order to avoid any futher copy-paste
duplication.
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
The function can return negative values, so its result should
be assigned to signed variable.
The problem has been detected using proposed semantic patch
scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1].
[1]: http://permalink.gmane.org/gmane.linux.kernel/2046107
Fixes: fc48866f7 ('net/mlx4: Adapt code for N-Port VF')
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Acked-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-Enable USB OTG dual-role and some cleanup by make savedefconfig
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJWZ1WgAAoJEBmUBAuBoyj0OlwP/3EZyo1lLAU4ZMDmB9biciVR
FMUiLO2UoUIMdgz/2V/glSC92QehyYVQrOhOo3pFS3RfLdrPDhHbHvja/7yelYhi
6MzyvQAF4qlWLA8TeVKvisgE7+zjhB24uwG+CRgbdd/PM/XUqkINCo//CcrZo4ex
RL/XYKNwCqW+pQjnUVYNogWdlwoqNKdaFcVGELKnJcymN4LvkkvLs1y+swMxjou5
qGH9vlXyXvNEJvb44OsrfMZPT6X0CfN/lRrzGoIoc+0cxg4YEiLhTrHDO8Pgr/Pv
IyEoNy6jWL2+RiUg4pBXfu2aEm62tmRTyURn7xYPVzyvS+fPAHAcFiJk+jmF6IX+
2TFHjLJN5X7EaGukVaLYEGCvivlJdR2gjj8tvdtfWY45OX28SxLTxbUGfWOZBOSL
ICF2E4hD6UG1hTJ+ot9aJoVWVtLZw5bhcvtCmZM6YU5N422BKTPSACBZhVCWwsLd
pj9HsirBS5F3zu710DZQuoh35qB38XXcLWI57rvR4RD87ncDg6p6UrQDUsEAeAa7
L3HGnBp/mDJLrF1ASWDXxdcV2fykoNxdNP10r06MrcbjUY6keihEuS7ePnNunGpn
a1c4DQRnaPVmrBCwd51BNfEk2tU+M2Mo3JfINLS+iMQuCVJMs7+Jj4+VwuA4AL5f
1qwsWAuBhlNg6Yx6QEx6
=y5U2
-----END PGP SIGNATURE-----
Merge tag 'socfpga_defconfig_for_v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/defconfig
Merge "SoCFPGA defconfig update for v4.5" from Dinh Nguyen:
-Enable USB OTG dual-role and some cleanup by make savedefconfig
* tag 'socfpga_defconfig_for_v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
arm: socfpga_defconfig: enable USB dual-role and cleanup
This adds a few features that are available on some
or all of the RealView but never made it into the SMP
defconfig file:
- Full tickless idle
- High resolution timers
- Perf events and HW perf events from the PMU
- MTD AFS partition handling
- MTD ROM partition handling
- USB and ISP1760 USB driver
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This adds a few features that are available on some
or all of the RealView but never made it into the defconfig
file:
- High-resolution timers
- Perf events and HW perf events from the PMU
- MTD AFS partition handling
- MTD ROM partition handling
- USB and ISP1760 USB driver
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This updates the RealView SMP defconfig with the latest Kconfig
structure.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This updates the RealView defconfig with the latest Kconfig
structure.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Enable the GPU for SolidRun's Cubox.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Add DT support for the Vivante GC600 GPU on Marvell Dove platforms.
These nodes default to being disabled unless a platform decides they
should be enabled.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
This patch enables some drivers for LS1021A, such as
GIANFAR, WATCHDOG, AUDIO, QSPI, I2C, ESDHC, EDMA, FTM.
QorIQ Clock Framework and Ramdisk support is also enabled.
Signed-off-by: Alison Wang <alison.wang@freescale.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Jeff Kirsher says:
====================
1GbE Intel Wired LAN Driver Updates 2015-12-14
This series contains updates to e1000e and igb.
Alex Duyck changes e1000_up() to void since it always returned 0, also
by making it void, we can drop some code since we no longer have to worry
about non-zero return values.
Aaron Sierra removes GS40G specific defines and functions since the i210
internal PHY can be accessed with the access functions shared by 82580,
i350 and i354 devices. Also removes the code to add the PHY address into
the PCDL register address, since there is no real reason to do so.
Joe updates the cable length function reports all four pairs true min, max
and average cable length for i210. Also updated ethtool to use enum-based
labels instead of hard coded values.
Benjamin Poirier cleans up code that is never reachable since MSI-X
interrupts are not shared in e1000e. Also removes the ICR read in the
other interrupt handler, since the information is not needed and IMS is
configured such that the only link status change can trigger the other
interrupt handler. Fixed in MSI-X mode, there is no handler for the LSC
interrupt so there is no point in writing that to ICS now that we always
assume other interrupts are caused by LSC.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
A bunch of patches to enable new drivers related to Allwinner SoCs.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJWbrDuAAoJEBx+YmzsjxAgTdoP+QFrx/IEge9ipLDe2wQ3jbiz
4Qn2JkkbwBDALXUMAjHEKXx5xknbq38x/iUnYkZsZCw7RaijxCirvjzSW/6EozCu
aRnmNLakSNdG7H8erVhOYEDFOpaXnv+v5OJ8PI8mW7+NDBRhQ1o/GCn7C/Yb2K3K
A/1mUtbH6pT53yU2qzXj0Ez+MtRGMrWyod2gePSwR7NlNr7pVXQDPkeMA09HV37J
HkTHsa5bU59ou96MN+wZLI8eTT6L7PIU64FX89f5C4V4vLvPe4roBXmzm6Ii47up
lbJX2HJP01ruz/aJdb6rUrB7jRqpi9//E6RrkmWy8u5QX/WGJbeVY6SfFivSu/gM
5SLit995SX1SmVk7z4VVEK9gxlzklO1lyjzxa/m2t3a1lk1Cb2G9ImV8nD6vesvu
wUDCLc4cfdAc+HK9DnGsQEp2T4Q+UltsXYstsEds0Ui3fRXWTrehkbDSPS0mg6Hu
ExJfhrVpsB4LtuwOl1DWnBEC+E+eJ0xggMFSBvfA5HJynlQx4nuRHOAuvR0ovBY9
oPd7JW8LHJnAfv1txZlUKdItZ/GCVAvfv1zUgXgoJIzaAA/5wFdJZidBGwI1yj9h
TgylqmoiIxMMue7FgtEUS/mf2zSmkNgcKevARoe7ubPwAPWYu70DOjWXDPjVsw1B
7kiPahxBKCi1Vezr+z12
=eVFZ
-----END PGP SIGNATURE-----
Merge tag 'sunxi-defconfig-for-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/defconfig
Merge "Allwinner defconfig changes for 4.5" from Maxime Ripard:
A bunch of patches to enable new drivers related to Allwinner SoCs.
* tag 'sunxi-defconfig-for-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
ARM: sunxi: Clean up sunxi_defconfig
ARM: sunxi: Really enable LRADC keys in sunxi_defconfig
ARM: sunxi: Re-enable SID driver in sunxi_defconfig
ARM: sunxi: Re-enable SID driver in multi_v7_defconfig
ARM: multi_v7_defconfig: Enable RSB and AXP20X related drivers as modules
ARM: sunxi_defconfig: Update MFD_AXP20X symbol and enable MFD_AXP20X_RSB
update of mvebu_v5 defconfig with the addition of cpuidle
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEABECAAYFAlZlsxEACgkQCwYYjhRyO9UumgCfR353K8WoWry2InK6VnZvD9hG
tuEAnjYYkYYGvdt4/hl/ASSXTOqfM9R4
=2Sxs
-----END PGP SIGNATURE-----
Merge tag 'mvebu-defconfig-4.5-1' of git://git.infradead.org/linux-mvebu into next/defconfig
Merge "mvebu defconfig for 4.5 (part 1)" from Gregory CLEMENT:
update of mvebu_v5 defconfig with the addition of cpuidle
* tag 'mvebu-defconfig-4.5-1' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: add Kirkwood cpuidle to defconfig
ARM: mvebu: update v5 defconfig
stop using mtd->priv for NAND drivers.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJWZkijAAoJEFySrpd9RFgtnYIP/0y43CeSvaeyDl51xfxrep5m
ctbICUKLi0dtrIwtyUuFgx33BjrOvEoqxEpEd0TMF1wPILhUszaEnqB03LXzi1zh
090w0jXi0B5lSZuDmc5pFJR7staFz+suX4Gqs35xWWxymO0PX4+MxBWX/SE5whiB
fw+aHm5AsG4NxL2wGuoTKhHS7HcUHPKhOCdhoHv9tknV7i5b4WFoh4k4W2CAhHpY
5xKpJ0YKRHbBFFCKEpfQx1kUTo8dEe6ZcVWtnpRw7dg21KO8yEKQDP2fJvW6wTsv
zF6SYKEvFL76D8j+Po2lDr0X+R1RLibi8LehVx3EMfG8j80p20xbHtnW4G1R5L2G
l3Y/DVqsDL9esxyhFUTiYxig5tlYTYbaG6MmQch2OlPrXK/6UEDI1xsZuUCGRa8y
8xZlnvLyogV4bQapnTV38wfKD9d6GQVS599uz9bpFd3TloxsQf5o/OJEkl0wEnTM
xmZzXXQLK3vQfdy3biD+DEViQopcGK0GlYXaQPhQgUoNRHJzC1E42gFM7NUCp699
nOUIsADi3QYZdC6OAcmZnnSiVqgPQBlwphR9YE0UmU50GHpFsx4QGNs/hIIMzXBS
16aIV641baRxIvdbVvb23q9vKgoLzVKj2ZLdIwt/P0guo/NujrMU33EmWfyX/hOF
Y0qb0T2GtuhHxEPfKti3
=03sV
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-4.5/cleanup' of git://git.infradead.org/linux-mtd into next/cleanup
Merge "MTD/NAND cleanups for v4.5" from Brian Norris:
Two changes for NAND/MTD refactoring. The mtd_to_nand() helper will allow us to
stop using mtd->priv for NAND drivers.
* tag 'arm-soc/for-4.5/cleanup' of git://git.infradead.org/linux-mtd:
ARM: nand: make use of mtd_to_nand() where appropriate
mtd: nand: add an mtd_to_nand() helper
Since the function applies a threshold and also slightly worse
values are accepted, ''equal or better'' does not represent the
intention of the function. ''Similar or better'' represents that better.
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
This adds a device tree for the CloudEngines PogoPlug series 4
NAS device. Inspired by out-of-tree boardfiles from ArchLinux
by Kevin Mihelich.
Cc: Moonman <moonman.ca@gmail.com>
Cc: Kevin Mihelich <kevin@archlinuxarm.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
This adds the compatible strings for Cloudengine PogoPlug E02 and
series 4. The former already has a devicetree in the kernel.
Cc: devicetree@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Add a new DTS file to support the Zyxel NSA325(v2) dual bay
NAS device, based on the NSA320 DTS files.
The only difference to the NSA320 device is GPIO47.
This en/disables the power for the hdd in slot2, currently
fixed to on.
[gregory.clement@free-electrons.com: fix comment format]
Signed-off-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Verify that the guest maximum storage address is below the MHA (maximum
host address) value allowed on the host.
Acked-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Guenther Hutzl <hutzl@linux.vnet.ibm.com>
Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com>
[adopt to match recent limit,size changes]
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
While the userspace interface requests the maximum size the gmap code
expects to get a maximum address.
This error resulted in bigger page tables than necessary for some guest
sizes, e.g. a 2GB guest used 3 levels instead of 2.
At the same time we introduce KVM_S390_NO_MEM_LIMIT, which allows in a
bright future that a guest spans the complete 64 bit address space.
We also switch to TASK_MAX_SIZE for the initial memory size, this is a
cosmetic change as the previous size also resulted in a 4 level pagetable
creation.
Reported-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
The s390dbf and trace events provide a debugfs interface.
If kptr_restrict is active, we should not expose kernel
pointers. We can fence the debugfs output by using %pK
instead of %p.
Cc: Kees Cook <keescook@chromium.org>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Adding control elements is just for models supported by old
firewire-speakers modules. The processing should be in a function to add
model-dependent quirk.
This commit moves the codes to the function. As a result, the function
should handle error state, thus this commit also changes prototype of
the function.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Currently, assignment to model-dependent quirk is corresponding to
asynchronous transactions on IEEE 1394 bus. This is also achieved with
device entry.
This commit changes the processing of model-dependent quirk with the
entry. As a result, the transactions are sent only for Loud models.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
ALSA OXFW driver uses AV/C Audio Subunit commands to control some models.
The commands get/set the state of Feature function block of the subunit.
The commands are not specific to OXFW, thus there's a possibility to use
them in the other drivers.
Currently, helper functions for the commands require 'struct snd_oxfw',
although, it's not necessarily required. It's better to change prototype
of the functions without the structure for future use.
This commit changes the prototype.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit renames local functions with prefix 'spkr_', so that they're
for firewire-speakers.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
In ALSA firewire stack, drivers basically has no control elements. This
is due to the fact that each model has own functionality even if they use
the same communication chipset. Implementing all of the functionalities in
kernel space unreasonably increases our efforts to maintain the stack. In
most case, these functionalities can be implemented in userspace via Linux
fw character devices.
However, ALSA OXFW driver has control elements comes from old
firewire-speakers driver. Adding the elements is in a file names as
'oxfw-control.c', while the elements are really model-specific. The
name is confusing because it gives an idea to handle control elements
for all of OXFW-based models.
This commit renames the file so that it's just for models supported by
old firewire-speakers driver.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
As of commit 3d7608e4c1 ("ARM: shmobile: bockw: remove legacy
board file and config"), the Renesas R-Car (Gen1) USB PHY driver is no
longer used.
In theory it could still be used on R-Car Gen1 SoCs, but that would
require adding DT support to the driver. Instead, a new driver using the
generic PHY framework should be written, as was done for R-Car Gen2.
Remove the driver for good.
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Remove mach/irq.h from the list of included headers, there is no
compilation dependency on this include file, and the change is needed
to prevent a compilation failure, when mach/irq.h is removed.
Additionally remove other unneeded includes and sort out their order.
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
struct usb_request have 3 flags which might be
important to know about during debug. This patch
shows each of the 3 flags as a single letter:
z -> for zero
s -> short not okay
i -> interrupt
A capital letter means the feature is enabled
while a lower case letter means it is disabled;
Thus 'zsI' indicates that a ZLP is not needed,
that we can accept a short packet and interrupt
for this request should be enabled.
Signed-off-by: Felipe Balbi <balbi@ti.com>
So far, dwc3 has always missed request->zero
handling for every endpoint. Let's implement
that so we can handle cases where transfer must
be finished with a ZLP.
Note that dwc3 is a little special. Even though
we're dealing with a ZLP, we still need a buffer
of wMaxPacketSize bytes; to hide that detail from
every gadget driver, we have a preallocated buffer
of 1024 bytes (biggest bulk size) to use (and
share) among all endpoints.
Reported-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
This file already uses pr_debug in a few places; this converts the
remaining printks.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Felipe Balbi <balbi@ti.com>
In general it is wise to clear interrupts before processing them. If
you don't do that, you can get:
1. Interrupt happens
2. You look at system state and process interrupt
3. A new interrupt happens
4. You clear interrupt without processing it.
This patch was actually a first attempt to fix missing device insertions
as described in (usb: dwc2: host: Fix missing device insertions) and it
did solve some of the signal bouncing problems but not all of
them (which is why I submitted the other patch). Specifically, this
patch itself would sometimes change:
1. hardware sees connect
2. hardware sees disconnect
3. hardware sees connect
4. dwc2_port_intr() - clears connect interrupt
5. dwc2_handle_common_intr() - calls dwc2_hcd_disconnect()
...to:
1. hardware sees connect
2. hardware sees disconnect
3. dwc2_port_intr() - clears connect interrupt
4. hardware sees connect
5. dwc2_handle_common_intr() - calls dwc2_hcd_disconnect()
...but with different timing then sometimes we'd still miss cable
insertions.
In any case, though this patch doesn't fix any (known) problems, it
still seems wise as a general policy to clear interrupt before handling
them.
Note that for dwc2_handle_usb_port_intr(), instead of moving the clear
of PRTINT to the beginning of the function we remove it completely. The
only way to clear PRTINT is to clear the sources that set it in the
first place.
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
The dwc2_hcd_reset_func() function is only ever called directly by a
delayed work function. As such no locks are already held when the
function is called.
Doing a read-modify-write of CPU registers and setting fields in the
main hsotg data structure is a bad idea without locks. Let's add
locks.
The bug was found by code inspection only. It turns out that the
dwc2_hcd_reset_func() is only ever called today if the
"host_support_fs_ls_low_power" parameter is enabled and no code in
mainline enables that parameter. Thus no known issues in mainline are
fixed by this patch, but it's still probably wise to fix the function.
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>