Simon Horman [Fri, 5 Dec 2014 08:48:58 +0000 (17:48 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/phy-rcar-gen2-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 08:48:57 +0000 (17:48 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/phy-rcar-gen2-usb-to-v3.15' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 08:48:57 +0000 (17:48 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/usb-
20141113' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 08:48:56 +0000 (17:48 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/pci-rcar-gen2-to-v3.16' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 08:48:48 +0000 (17:48 +0900)]
Merge tag 'v3.14.25' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
This is the 3.14.25 stable release
Conflicts:
Makefile
Sergei Shtylyov [Tue, 22 Jul 2014 19:27:14 +0000 (23:27 +0400)]
phy: Renesas R-Car Gen2 PHY driver
This PHY, though formally being a part of Renesas USBHS controller, contains the
UGCTRL2 register that controls multiplexing of the USB ports (Renesas calls them
channels) to the different USB controllers: channel 0 can be connected to either
PCI EHCI/OHCI or USBHS controllers, channel 2 can be connected to PCI EHCI/OHCI
or xHCI controllers.
This is a new driver for this USB PHY currently already supported under drivers/
usb/phy/. The reason for writing the new driver was the requirement that the
multiplexing of USB channels to the controller be dynamic, depending on what
USB drivers are loaded, rather than static as provided by the old driver. The
infrastructure provided by drivers/phy/phy-core.c seems to fit that purpose
ideally. The new driver only supports device tree probing for now.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
(cherry picked from commit
1233f59f745b237d85f12aa9cf12ffab469f322d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
drivers/phy/Kconfig
drivers/phy/Makefile
Sergei Shtylyov [Sat, 22 Feb 2014 01:29:15 +0000 (04:29 +0300)]
usb: phy: rcar-gen2-usb: always use 'dev' variable in probe() method
The probe() method has the 'dev' local variable declared and used but strangely
not in all cases where it should be...
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
(cherry picked from commit
7241a21a7178eb327ca2c8f2ffc325b10e1e05bd)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Sergei Shtylyov [Wed, 24 Sep 2014 19:09:44 +0000 (23:09 +0400)]
usb: hcd: add generic PHY support
Add the generic PHY support, analogous to the USB PHY support. Intended it to be
used with the PCI EHCI/OHCI drivers and the xHCI platform driver.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
0043325495222139daa0696db736f67658dc7770)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Antoine Tenart [Wed, 24 Sep 2014 19:05:50 +0000 (23:05 +0400)]
usb: rename phy to usb_phy in HCD
The USB PHY member of the HCD structure is renamed to 'usb_phy' and
modifications are done in all drivers accessing it.
This is in preparation to adding the generic PHY support.
Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
[Sergei: added missing 'drivers/usb/misc/lvstest.c' file, resolved rejects,
updated changelog.]
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
3d46e73dfdb840f460e5b06416965d132570ec33)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
drivers/usb/misc/lvstest.c
Dan Williams [Wed, 21 May 2014 01:08:17 +0000 (18:08 -0700)]
usb: rename usb_port device objects
The current port name "portX" is ambiguous. Before adding more port
messages rename ports to "<hub-device-name>-portX"
This is an ABI change, but the suspicion is that it will go unnoticed as
the port power control implementation has been broken since its
introduction. If however, someone was relying on the old name we can
add sysfs links from the old name to the new name.
Additionally, it unifies/simplifies port dev_printk messages and modifies
instances of:
dev_XXX(hub->intfdev, ..."port %d"...
dev_XXX(&hdev->dev, ..."port%d"...
into:
dev_XXX(&port_dev->dev, ...
Now that the names are unique usb_port devices it would be nice if they
could be included in /sys/bus/usb. However, it turns out that this
breaks 'lsusb -t'. For now, create a dummy port driver so that print
messages are prefixed "usb 1-1-port3" rather than the
subsystem-ambiguous " 1-1-port3".
Finally, it corrects an odd usage of sscanf("port%d") in usb-acpi.c.
Suggested-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
d99f6b41308779244662109a9c2bad09a82e8ac6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Dan Williams [Wed, 21 May 2014 01:08:12 +0000 (18:08 -0700)]
usb: disable port power control if not supported in wHubCharacteristics
A hub indicates whether it supports per-port power control via the
wHubCharacteristics field in its descriptor. If it is not supported
a hub will still emulate ClearPortPower(PORT_POWER) requests by
stopping the link state machine. However, since this does not save
power do not bother suspending.
This also consolidates support checks into a
hub_is_port_power_switchable() helper.
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
9262c19d14c433a6a1ba25c3ff897cb89e412309)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Hans de Goede [Fri, 8 Nov 2013 12:41:05 +0000 (13:41 +0100)]
usb: Reset USB-3 devices on USB-3 link bounce
On disconnect USB3 protocol ports transit from U0 to SS.Inactive to Rx.Detect,
on a recoverable error, the port stays in SS.Inactive and we recover from it by
doing a warm-reset (through usb_device_reset if we have a udev for the port).
If this really is a disconnect we may end up trying the warm-reset anyways,
since khubd may run before the SS.Inactive to Rx.Detect transition, or it
may get skipped if the transition to Rx.Detect happens before khubd gets run.
With a loose connector, or in the case which actually led me to debugging this
bad ACPI firmware toggling Vbus off and on in quick succession, the port
may transition from Rx.Detect to U0 again before khubd gets run. In this case
the device state is unknown really, but khubd happily goes into the resuscitate
an existing device path, and the device driver never gets notified about the
device state being messed up.
If the above scenario happens with a streams using device, as soon as an urb
is submitted to an endpoint with streams, the following appears in dmesg:
ERROR Transfer event for disabled endpoint or incorrect stream ring
@
0000000036807420 00000000 00000000 04000000 04078000
Notice how the TRB address is all zeros. I've seen this both on Intel
Pantherpoint and Nec xhci hosts.
Luckily we can detect the U0 to SS.Inactive to Rx.Detect to U0 all having
happened before khubd runs case since the C_LINK_STATE bit gets set in the
portchange bits on the U0 -> SS.Inactive change. This bit will also be set on
suspend / resume, but then it gets cleared by port_hub_init before khubd runs.
So if the C_LINK_STATE bit is set and a warm-reset is not needed, iow the port
is not still in SS.Inactive, and the port still has a connection, then the
device needs to be reset to put it back in a known state.
I've verified that doing the device reset also fixes the transfer event with
all zeros address issue.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
(cherry picked from commit
a82b76f7fa6154e8ab2d8071842a3e38b9c0d0ff)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Peter Chen [Tue, 19 Aug 2014 01:51:56 +0000 (09:51 +0800)]
usb: chipidea: add TPL support for targeted hosts
For OTG and Embedded hosts, they may need TPL (Targeted Peripheral List)
for usb certification and other vender specific requirements, the
platform can tell chipidea core driver if it supports tpl through DT
or platform data.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
f6a9ff07832a9d30d457e976e6233b4351cd4cdf)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ben Dooks [Mon, 19 May 2014 21:10:20 +0000 (01:10 +0400)]
PCI: rcar: Add gen2 device tree support
Add device tree probing support to the 'pci-rcar-gen2' driver.
[Sergei: numerous fixes/cleanups/additions]
[bhelgaas: whitespace fix]
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Arnd Bergmann <arnd@arndb.de>
(cherry picked from commit
d47b62f4b1c0374517ccbdf3ee4a7cceead58905)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Lucas Stach [Wed, 16 Apr 2014 16:24:09 +0000 (10:24 -0600)]
PCI: rcar: Use new OF interrupt mapping when possible
Use new OF interrupt mapping (of_irq_parse_and_map_pci()) when possible.
This is the recommended method of doing the IRQ mapping. For old
devicetrees we fall back to the previous practice.
This allows interrupts to be remapped across bridges.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
f8f2fe7355fb04dd129d49ac0ad440beb44f0f79)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Magnus Damm [Tue, 18 Feb 2014 02:11:32 +0000 (11:11 +0900)]
PCI: rcar: Break out window size handling
Break out the hard coded window size code to allow dynamic setup. The
window size is still left at 1GiB but with this patch changing window size
is easy for testing.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
33966fd9b5bcae325a283d7d46156bab25bc162b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Magnus Damm [Tue, 18 Feb 2014 02:11:21 +0000 (11:11 +0900)]
PCI: rcar: Register each instance independently
Convert the code to allow per-device probe() like other device drivers.
This also delays driver registration due to change from subsys_initcall()
to regular module_platform_driver().
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
546cadda3575153bdd0af4febfe958cc5945f95a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ben Dooks [Tue, 18 Feb 2014 02:11:11 +0000 (11:11 +0900)]
PCI: rcar: Fix bridge logic configuration accesses
The bridge logic at slot 0 only supports reads up to 0x40 and the rest of
the PCI configuration space for this slot is marked as reserved in the
manual.
Trying a read from offset 0x100 is producing an error from the bridge. With
error interrupts enabled, the following is printed:
pci-rcar-gen2
ee0d0000.pci: error irq: status
00000014
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
e64a2a973e179613489a0ddb1bb550dff108164e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ben Dooks [Tue, 18 Feb 2014 02:11:01 +0000 (11:11 +0900)]
PCI: rcar: Add error interrupt handling
Add option to enable interrupts to report any errors from the AHB-PCI
bridge to help find any issues with the bridge when in use.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
80a595d941a2ce2953e6c77d822d8a4c3d8fa5a0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ben Dooks [Tue, 18 Feb 2014 02:10:51 +0000 (11:10 +0900)]
PCI: rcar: Check platform_get_irq() return code
The current code does not check the return from platform_get_irq() so add
an error check and return if this call does fail.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
ed65b78881c713b41051310780f94bde3c010db9)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kishon Vijay Abraham I [Mon, 14 Jul 2014 10:25:01 +0000 (15:55 +0530)]
phy: core: Fix of_phy_provider_lookup to return PHY provider for sub node
Fixed of_phy_provider_lookup to return 'phy_provider' if _of_phy_get
passes the node pointer of the sub-node of phy provider node. This is
needed when phy provider implements multiple PHYs and each PHY is
modelled as the sub-node of PHY provider device node.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
(cherry picked from commit
2a4c37016ca96e413cd352985d3a0db8cfb7716c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Sergei Shtylyov [Sat, 19 Apr 2014 03:21:43 +0000 (08:51 +0530)]
phy: fix kernel oops in phy_lookup()
The kernel oopses in phy_lookup() due to 'phy->init_data' being NULL if we
register PHYs from a device tree probing driver and then call phy_get() on a
device that has no representation in the device tree (e.g. a PCI device).
Checking the pointer before dereferening it and skipping an interation if
it's NULL prevents this kernel oops.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
743bb387a1edbf1ebbba6cf77c1af3e488886c39)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kishon Vijay Abraham I [Mon, 14 Jul 2014 10:25:02 +0000 (15:55 +0530)]
phy: core: Let node ptr of PHY point to PHY and not of PHY provider
In case of multi-phy PHY providers, each PHY should be modeled as a sub
node of the PHY provider. Then each PHY will have a different node pointer
(node pointer of sub node) than that of PHY provider. Added this provision
in the PHY core.
Also fixed all drivers to use the updated API.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
(cherry picked from commit
f0ed817638b59aa927f1f7e9564dd8796b18dc4f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
drivers/phy/phy-berlin-sata.c
drivers/phy/phy-exynos5-usbdrd.c
drivers/phy/phy-exynos5250-sata.c
drivers/phy/phy-hix5hd2-sata.c
drivers/phy/phy-qcom-apq8064-sata.c
drivers/phy/phy-samsung-usb2.c
drivers/phy/phy-sun4i-usb.c
drivers/phy/phy-ti-pipe3.c
drivers/phy/phy-xgene.c
Simon Horman [Fri, 5 Dec 2014 01:59:06 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/rcar-thermal-to-v3.18-rc4' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:05 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/i2c-sh-mobile-to-v3.18-rc4' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:05 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/xhci-plat-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:04 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/sh-mobile-sdhi-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:04 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/pm-runtime-
20141105' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:03 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/mmc-
20141105' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:03 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/usbhs-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:02 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/sh-tmu-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:02 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/sh-sci-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:01 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/sh-pfc-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:01 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/sh-mtu2-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:00 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/sh-msiof-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:59:00 +0000 (10:59 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/sh-drivers-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:58:59 +0000 (10:58 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/sh-cmt-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:58:59 +0000 (10:58 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/rspi-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:58:58 +0000 (10:58 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/rcar-snd-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:58:56 +0000 (10:58 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/rcar-du-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Conflicts:
drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
Simon Horman [Fri, 5 Dec 2014 01:58:51 +0000 (10:58 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/of-
20141105' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:58:51 +0000 (10:58 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/pinctrl-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:58:50 +0000 (10:58 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/mach-shmobile-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:58:50 +0000 (10:58 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/i2c-rcar-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:58:49 +0000 (10:58 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/da9210-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Simon Horman [Fri, 5 Dec 2014 01:58:49 +0000 (10:58 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/cpg-to-v3.18-rc1' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
Laurent Pinchart [Tue, 21 Jan 2014 14:57:26 +0000 (15:57 +0100)]
drm/rcar-du: Add OF support
Implement support for the R-Car DU DT bindings in the rcar-du DRM
driver.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit
96c026911890ceacee238da00a0b140ad634cc43)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Tue, 26 Aug 2014 22:42:56 +0000 (00:42 +0200)]
drm/rcar-du: Use struct videomode in platform data
In preparation for DT support where panel timings will be described by a
DRM-agnostic video mode, replace the struct drm_mode_modeinfo instance
in the panel platform data with a struct videomode.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit
1d46fea7d091f9dc2d4fd3fcb9f0117ca288f9a5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Thu, 6 Feb 2014 17:13:52 +0000 (18:13 +0100)]
drm/rcar-du: Update copyright notice
The "Renesas Corporation" listed in the copyright notice doesn't exist.
Replace it with "Renesas Electronics Corporation" and update the
copyright years.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit
36d50464e05f498fa4024270e091b306af5de898)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 28 Aug 2014 08:10:19 +0000 (10:10 +0200)]
spi: rspi: Add support for new R-Car Gen2 SoCs
Add support for QSPI in:
- r8a7792 (R-Car V2H)
- r8a7793 (R-Car M2-N)
- r8a7794 (R-Car E2)
r8a7791 is now called "R-Car M2-W".
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
6089af775a4b4ea5237648de650dda548cb841c2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
Documentation/devicetree/bindings/spi/spi-rspi.txt
Geert Uytterhoeven [Wed, 6 Aug 2014 12:59:02 +0000 (14:59 +0200)]
spi: rspi: Add DT support to DMA setup
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
e825b8dd2b363e9134006fb141825518a11b2bf4)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
Documentation/devicetree/bindings/spi/spi-rspi.txt
Geert Uytterhoeven [Wed, 6 Aug 2014 12:59:01 +0000 (14:59 +0200)]
spi: rspi: Configure DMA slave bus width to 8 bit
The new Renesas R-Car Gen2 DMA Controller driver (rcar-dmac) requires
explicit configuration of the DMA slave bus width.
Hardcode the DMA transfer size to 1 byte for both directions, as that's
the only supported configuration (16-bit DMA support was removed in
commit
9c5de2c1754c2bb3c69c4d7bf0d0edc0a61d8232 ("spi: rspi: Remove
unused 16-bit DMA support")).
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
a30b95a7d81cfc3442beb5a9635f22b19c97bbfc)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Wed, 6 Aug 2014 12:59:00 +0000 (14:59 +0200)]
spi: rspi: Use devm_kasprintf()
Use the devm_kasprintf() helper function instead of open coding
error-prone buffer handling and string formatting.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
43937455c9bf294cffc2f25c4a4d0a1b9bbd88e6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Wed, 6 Aug 2014 12:58:59 +0000 (14:58 +0200)]
spi: rspi: Remove unneeded semicolon
Introduced by commit
426ef76dd8a394a0e04d096941cd9acb49539a3e ("spi:
rspi: Add DT support").
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
d64b472678e17ef9afb251577f4f544793483fa9)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Wed, 20 Aug 2014 13:26:35 +0000 (15:26 +0200)]
devres: Improve devm_kasprintf()/kvasprintf() support
- Add devm_kasprintf()/kvasprintf(), introduced by commit
75f2a4ead5d5890ada9c2663a70fb58613c0d9f2 ("devres: Add
devm_kasprintf and devm_kvasprintf API"), to
Documentation/driver-model/devres.txt,
- Improve kernel doc: the string is not an existing formatted string,
but is formatted into the newly-allocated buffer,
- Add a __printf() annotation to devm_kasprintf(), so the compiler
will verify the format string argument types.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
bef59c5024be687ef4f228915af9961307a779ab)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
Documentation/driver-model/devres.txt
drivers/base/devres.c
Himangi Saraogi [Wed, 16 Jul 2014 20:57:52 +0000 (02:27 +0530)]
devres: Add devm_kasprintf and devm_kvasprintf API
devm_kasprintf() and devm_kvasprintf() are the managed counterparts
for kasprintf() and kvasprintf().
Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
75f2a4ead5d5890ada9c2663a70fb58613c0d9f2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Conflicts:
drivers/base/devres.c
Sergei Shtylyov [Thu, 18 Sep 2014 19:33:49 +0000 (23:33 +0400)]
mmc: tmio: prevent endless loop in tmio_mmc_set_clock()
I spent a couple of days with the driver just hanging due to me forgetting to
specify the external crystal frequency, so that clk_get_rate() returned 0 and
thus the loop in tmio_mmc_set_clock() never ended. I don't think that's an
acceptable behavior, so I suggest that the minimum frequency is checked for 0
in tmio_mmc_host_probe().
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Ian Molton <ian.molton@codethink.co.uk>
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
bb98d9d1d2e791f368295c9c09c9a03fe3ac0e62)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Wed, 10 Sep 2014 07:23:24 +0000 (00:23 -0700)]
mmc: tmio: enable odd number size access
Current tmio is using sd_ctrl_read16/write16_rep()
for data transfer.
It works if transfer size was even number,
but, last 1 byte will be ignored if
transfer size was odd number.
This patch adds new tmio_mmc_transfer_data()
and solve this issue.
Tested-by: Shinobu Uehara <shinobu.uehara.xc@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
b9bd7ff8069a7125da897de657da421c497d4f15)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Tue, 9 Sep 2014 06:45:46 +0000 (23:45 -0700)]
mmc: use .multi_io_quirk on sh_mobile
Now, sh_mobile_sdhi can use .multi_io_quirk callback
instead of MMC_CAP2_NO_MULTI_READ flags.
let's use it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
8b4efe2f58b1699a57f6c30d17345b801ab4213b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Tue, 9 Sep 2014 06:45:25 +0000 (23:45 -0700)]
mmc: use .multi_io_quirk on tmio_mmc
Now, tmio_mmc can use .multi_io_quirk callback
instead of MMC_CAP2_NO_MULTI_READ flags.
let's use it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
bbf0208d39121bd8873b032459cb2b5f35e14593)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 28 Aug 2014 08:07:19 +0000 (10:07 +0200)]
mmc: tmio-mmc: Add support for SDHI on new R-Car Gen2 SoCs
- r8a7792 (R-Car V2H)
- r8a7793 (R-Car M2-N)
- r8a7794 (R-Car E2)
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
a638640335d86549da2b7d38f82d584294333512)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Shinobu Uehara [Mon, 25 Aug 2014 03:03:00 +0000 (20:03 -0700)]
mmc: tmio: add actual clock support as option
Some controller is supporting actual clock on SD_CLK_CTRL :: DIV[7:0].
Renesas SH-Mobile SDHI doesn't support,
but, Renesas R-Car SDHI supports it.
This patch adds new TMIO_MMC_CLK_ACTUAL flag for it.
[Kuninori Morimoto: tidyuped for upstreaming]
Tested-by: Nguyen Xuan Nui <nx-nui@jinso.co.jp>
Tested-by: Hiep Cao Minh <cm-hiep@jinso.co.jp>
Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
da29fe2bf573f0ae56fdc2e790387cb73fc8c6f8)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Mon, 25 Aug 2014 03:02:16 +0000 (20:02 -0700)]
mmc: tmio: remove SCLKEN bit setting from tmio_mmc_set_clock()
TMIO clock is set via tmio_mmc_set_clock() -> tmio_mmc_clk_start(),
and SCLKEN bit will be set on tmio_mmc_clk_start().
It is not needed on tmio_mmc_set_clock() function.
The required clock setting will not be able to set
in some clocks without this patch.
Tested-by: Nguyen Xuan Nui <nx-nui@jinso.co.jp>
Tested-by: Hiep Cao Minh <cm-hiep@jinso.co.jp>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
b30d6958a014812158d9729a3e0b6d448f6e8968)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Mon, 25 Aug 2014 03:01:54 +0000 (20:01 -0700)]
mmc: tmio: remove Renesas specific #ifdef
This patch adds new TMIO_MMC_HAVE_CTL_DMA_REG flag,
and remove Renesas specific #ifdef from tmio driver
Tested-by: Nguyen Xuan Nui <nx-nui@jinso.co.jp>
Tested-by: Hiep Cao Minh <cm-hiep@jinso.co.jp>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
e85dd04ea8c8d32ba8eae278959d28df34338e9d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Shinobu Uehara [Mon, 25 Aug 2014 03:01:32 +0000 (20:01 -0700)]
mmc: tmio: check ILL_FUNC instead of CBSY
Some controllers need to check SD bus status when writing data.
Then, it checks ILL_FUNC bit on SD_INFO2 register,
and this method is controlled via TMIO_MMC_HAS_IDLE_WAIT flags.
Same method is required on tmio_mmc_data_irq() which will
be called after writing data.
Current driver is checking CBSY bit for this purpose,
but, some controllers doesn't have CBSY bit.
This patch checks ILL_FUNC bit instead of CBSY bit
if it has TMIO_MMC_HAS_IDLE_WAIT flags
[Kuninori Morimoto: tidyuped for upstreaming]
Tested-by: Nguyen Xuan Nui <nx-nui@jinso.co.jp>
Tested-by: Hiep Cao Minh <cm-hiep@jinso.co.jp>
Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
81e888daab027e05130b0459e5d8e0b42dac4323)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Shinobu Uehara [Mon, 25 Aug 2014 03:00:52 +0000 (20:00 -0700)]
mmc: tmio: add TMIO_MMC_SDIO_STATUS_QUIRK
Renesas R-Car SDHI should set reserved bits
on CTL_SDIO_STATUS register when writing.
This patch adds new TMIO_MMC_SDIO_STATUS_QUIRK flags
for this purpose
[Kuninori Morimoto: tidyuped for upstreaming
enabled this flags for all SH-Mobile/R-Car]
Tested-by: Nguyen Xuan Nui <nx-nui@jinso.co.jp>
Tested-by: Hiep Cao Minh <cm-hiep@jinso.co.jp>
Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
6b98757e53cb0e93b02db4067c14afcb32c90615)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Shinobu Uehara [Mon, 25 Aug 2014 03:00:25 +0000 (20:00 -0700)]
mmc: tmio: control multiple block transfer mode
Renesas SDHI has "Multiple Block Transfer Mode" settings
on SD_CMD register which controls CMD12 automatically.
This patch cares it, because
CMD12 is not needed when CMD53 (= SD_IO_RW_EXTENDED)
[Kuninori Morimoto: tidyuped for upstreaming
enabled this flags for all SH-Mobile/R-Car]
Tested-by: Nguyen Xuan Nui <nx-nui@jinso.co.jp>
Tested-by: Hiep Cao Minh <cm-hiep@jinso.co.jp>
Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
b8d11962c2d83c984d5afd091e5b725ad2fd5607)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Shinobu Uehara [Mon, 25 Aug 2014 02:59:22 +0000 (19:59 -0700)]
mmc: tmio: clear error IRQ status
Next card access will be always
error if it didn't clear error status
Tested-by: Nguyen Xuan Nui <nx-nui@jinso.co.jp>
Tested-by: Hiep Cao Minh <cm-hiep@jinso.co.jp>
Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
f83bfa751babb521924f6d8c93055215d2eb33cc)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Mon, 25 Aug 2014 02:58:48 +0000 (19:58 -0700)]
mmc: tmio: care about DMA tx/rx addr offset
Basically, SD_BUF0 Tx/Rx addresses are same
in normal TMIO controller,
but, it is different on Renesas R-Car SDHI controller
if it uses DMAC
(Rx address needs to add 0x2000 to Tx address)
This patch adds new .dma_rx_offset and cares it
Tested-by: Nguyen Xuan Nui <nx-nui@jinso.co.jp>
Tested-by: Hiep Cao Minh <cm-hiep@jinso.co.jp>
Acked-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
384b2cbd56a02efb16358ed7c0c039e4afca5ed0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Mon, 25 Aug 2014 11:22:51 +0000 (13:22 +0200)]
mmc: tmio: Remove library functions for system PM
These library functions aren't used and nor needed, let's remove them.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
341eb6a4e7beea5730faf55610ef60584bcfffcf)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Mon, 25 Aug 2014 10:28:20 +0000 (12:28 +0200)]
mmc: tmio_mmc: Fixup system PM suspend lock-up
At system PM suspend, the tmio core accessed the internal registers of
the controller without first moving the device into active state. This
caused a lock-up in system PM suspend phase.
The reason for the register access were masking of IRQs. Since that is
managed via the runtime PM suspend path, let's just re-use that path
for system PM suspend.
In other words force the device into runtime PM suspend state at system
PM suspend and restore it to active state at system PM resume.
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
70a15e1a3c58ee841415c84170b80a3859027686)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Mon, 25 Aug 2014 10:18:26 +0000 (12:18 +0200)]
mmc: sdhi: Fixup system PM suspend lock-up
At system PM suspend, the tmio core accessed the internal registers of
the controller without first moving the device into active state. This
caused a lock-up in system PM suspend phase.
The reason for the register access were masking of IRQs. Since that is
managed via the runtime PM suspend path, let's just re-use that path
for system PM suspend.
In other words force the device into runtime PM suspend state at system
PM suspend and restore it to active state at system PM resume.
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
753a688c9f28ad3198611bbbd39f3b226c35ab98)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Mon, 25 Aug 2014 10:12:02 +0000 (12:12 +0200)]
mmc: tmio_mmc: Enable runtime PM support
To take advantage of the clock gating support, use the runtime PM
callbacks provided by the tmio core.
Additionally, we make use of the SET_PM_RUNTIME_PM_OPS, which is a
preparation needed to simplify system PM.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
78f76df60926f7853df9ee2b707ea9254129775c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Mon, 25 Aug 2014 10:06:55 +0000 (12:06 +0200)]
mmc: sdhi: Make runtime PM callbacks available for CONFIG_PM
To be able to simplify system PM, let's re-use the runtime PM callbacks
by converting to the SET_PM_RUNTIME_PM_OPS macro.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
f74f1e38206df93b9e11d5a8b84743e61c0768a6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Mon, 25 Aug 2014 10:03:20 +0000 (12:03 +0200)]
mmc: tmio: Make runtime PM callbacks available for CONFIG_PM
To give the option for tmio hosts to use the runtime PM callbacks for
CONFIG_PM_SLEEP as well as CONFIG_PM_RUNTIME, move them to CONFIG_PM.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
9ade7dbf20e8fc73d9784b772e320239de2acf08)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Mon, 25 Aug 2014 09:55:57 +0000 (11:55 +0200)]
mmc: tmio: Mask all IRQs when inactive
To make sure we don't receive any spurious IRQs while we are inactive,
mask the IRQs from within the ->runtime_suspend() callback.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
20e955c3c746f434a2f97ab08ac6bd71f63c6afa)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Tue, 29 Oct 2013 23:16:17 +0000 (00:16 +0100)]
mmc: tmio: Handle clock gating from runtime PM functions
Add clock gating control as a part of the tmio library functions for
runtime PM.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
ae12d25053fa20d67b16e568917b956006d5dc01)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Thu, 24 Oct 2013 15:53:15 +0000 (17:53 +0200)]
mmc: tmio: Restructure ->set_ios() and adapt ->probe() to it
An internal power state machine were beeing used to keep ->probe() and
->set_ios() in sync. Especially for handling specific scenarios while
using CONFIG_MMC_CLKGATE. Moreover dependency to CONFIG_MMC_CLKGATE
existed to handle runtime PM properly, which we moves away from here.
By removing the state machine and instead make ->set_ios() rely on the
information provided through the function's in-parameters, the code
becomes significantly simplier.
Additonally as a part of this rework we prepares for making the runtime
PM callbacks responsible of clock gating.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
3b292bb0e99018c448e0f5a26c29c68113a1b7bf)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Thu, 24 Oct 2013 15:42:53 +0000 (17:42 +0200)]
mmc: tmio: Extract bus_width modifications to a separate function
Move code for bus_width modification, out of the ->set_ios() callback
and into a separate function, to simplify code.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
9ae4ed7d30f433873351d5ba14ae000d10e10430)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Thu, 24 Oct 2013 14:42:33 +0000 (16:42 +0200)]
mmc: tmio: Keep host active while serving requests
Use runtime PM to keep the host active during I/O operations and other
requests which requires the tmio hardware to be powered.
Additionally make use of the runtime PM autosuspend feature with a
default timeout of 50 ms.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
0369483efc1719f47249fa94329aa94155edf69d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Thu, 24 Oct 2013 13:58:45 +0000 (15:58 +0200)]
mmc: tmio: Keep host active while SDIO IRQ is enabled
The host must be kept active to be able to serve SDIO IRQs, thus let's
prevent it from going inactive while SDIO IRQ is enabled.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
(cherry picked from commit
7501c4315faf46b088ed4de4d8695a91d7d63869)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Simon Horman [Fri, 5 Dec 2014 01:38:07 +0000 (10:38 +0900)]
Merge tag 'backport/v3.14.24-ltsi-rc1/pm-runtime-
20141105' into backport/v3.14.24-ltsi-rc1/mach-shmobile.base
Geert Uytterhoeven [Thu, 28 Aug 2014 08:12:32 +0000 (10:12 +0200)]
thermal: rcar: Add binding docs for new R-Car Gen2 SoCs
- r8a7792 (R-Car V2H)
- r8a7793 (R-Car M2-N)
- r8a7794 (R-Car E2)
r8a7791 is now called "R-Car M2-W".
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
(cherry picked from commit
689bd24c5e5046b5e5d0aeff9c0b6abf1093fed6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Wolfram Sang [Tue, 4 Nov 2014 22:46:27 +0000 (23:46 +0100)]
i2c: remove FSF address
We have a central copy of the GPL for that. Some addresses were already
outdated.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
(cherry picked from commit
ca1f8da9ac5ce6e63d8f6933f83fabc1f3f961f4)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Andrew Bresticker [Fri, 3 Oct 2014 08:35:26 +0000 (11:35 +0300)]
xhci: Introduce xhci_init_driver()
Since the struct hc_driver is mostly the same across the xhci-pci,
xhci-plat, and the upcoming xhci-tegra driver, introduce the function
xhci_init_driver() which will populate the hc_driver with the default
xHCI operations. The caller must supply a setup function which will
be used as the hc_driver's reset callback.
Note that xhci-plat also overrides the default ->start() callback so
that it can do rcar-specific initialization.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
1885d9a33753b73cbbe3f8efde4a852ecca08674)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Sat, 1 Mar 2014 10:56:05 +0000 (11:56 +0100)]
PM: Add pm_runtime_suspend|resume_force functions
This patch provides two new runtime PM helper functions which intend to
be used from system suspend/resume callbacks, to make sure devices are
put into low power state during system suspend and brought back to full
power at system resume.
The prerequisite is to have all levels of a device's runtime PM
callbacks to be defined through the SET_PM_RUNTIME_PM_OPS macro, which
means these are available for CONFIG_PM.
By using the new runtime PM helper functions especially the two
scenarios below will be addressed.
1) The PM core prevents .runtime_suspend callbacks from being invoked
during system suspend. That means even for a runtime PM centric
subsystem and driver, the device needs to be put into low power state
from a system suspend callback. Otherwise it may very well be left in
full power state (runtime resumed) while the system is suspended. By
using the new helper functions, we make sure to walk the hierarchy of
a device's power domain, subsystem and driver.
2) Subsystems and drivers need to cope with all the combinations of
CONFIG_PM_SLEEP and CONFIG_PM_RUNTIME. The two new helper functions
smothly addresses this.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit
37f204164dfb0186a0caf20bc3e3120080bcd788)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Sat, 1 Mar 2014 10:56:04 +0000 (11:56 +0100)]
PM / runtime: Fetch runtime PM callbacks using a macro
While fetching the proper runtime PM callback, we walk the hierarchy of
device's power domains, subsystems and drivers.
This is common for rpm_suspend(), rpm_idle() and rpm_resume(). Let's
clean up the code by using a macro that handles this.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit
5f59df79837bb809f3945613aba5519cd9755a53)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Wed, 3 Sep 2014 02:08:53 +0000 (19:08 -0700)]
mmc: Add .multi_io_quirk callback for multi I/O HW bug
Historically, we have been using MMC_CAP* to handle host HW issues and
currently the block layer uses MMC_CAP2_NO_MULTI_READ flag for a multi
I/O HW bug workaround.
There are a few tweaks needed to make MMC_CAP2_NO_MULTI_READ suite all
situations. Therefore let's add an optional host ops callback to enable
host drivers to return the number of blocks it allows per request.
In a future patch and when host drivers have converted to the new
callback, MMC_CAP2_NO_MULTI_READ shall be removed.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit
2e47e84245adcb1b3872210678b6146f674fb3ff)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Bartlomiej Zolnierkiewicz [Mon, 1 Sep 2014 14:24:40 +0000 (16:24 +0200)]
usb: renesas_usbhs: fix driver dependencies
Renesas USBHS controller support should be available only on
Renesas ARM SoCs and SuperH architecture.
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
2b6127ddefb33c339b4f1effcefc788fdd3d7679)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Yoshihiro Shimoda [Wed, 3 Sep 2014 05:25:56 +0000 (14:25 +0900)]
usb: renesas_usbhs: Add device tree support for R-Car H2 and M2
This driver supports other SoCs, but they need boards/Soc depend code.
So, this patch adds device tree support for R-Car H2 and M2 initially.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
(cherry picked from commit
b854100eda59a1df9eaf7454cc7c297910055f42)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Simon Horman [Wed, 27 Aug 2014 04:36:51 +0000 (13:36 +0900)]
clocksource: sh_tmu: Document r8a7779 binding
In general Renesas hardware is not documented to the extent
where the relationship between IP blocks on different SoCs can be assumed
although they may appear to operate the same way. Furthermore the
documentation typically does not specify a version for individual
IP blocks. For these reasons a convention of using the SoC name in place
of a version and providing SoC-specific compat strings has been adopted.
Although not universally liked this convention is used in the bindings
for a number of drivers for Renesas hardware. The purpose of this patch is
to update the Renesas R-Car Timer Unit (TMU) driver to follow this
convention.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
* I plan to follow up with a patch patch to use the new binding in the
dtsi files for the r8a7779 SoC.
commit
471269b790aec03385dc4fb127ed7094ff83c16d
v2
* Suggestions by Mark Rutland and Sergei Shtylyov
- Compatible strings should be "one or more" not "one" of those listed
- Describe the generic binding as covering any MTU2 device
- Re-order compat strings from most to least specific
v3
* Suggested by Laurent Pinchart
- Reword in keeping with a similar though more extensive patch for CMT
(cherry picked from commit
fb0eee2f141976b5d7f31e477a71556d312f7dc3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Vinod Koul [Sat, 11 Oct 2014 15:40:37 +0000 (21:10 +0530)]
serial: sh-sci: use dmaengine_terminate_all() API
The drivers should use dmaengine_terminate_all() API instead of
accessing the device_control which will be deprecated soon
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
(cherry picked from commit
2bcd90d56c6025189be98bed47c80c5261855a7e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Wed, 10 Sep 2014 21:55:55 +0000 (00:55 +0300)]
pinctrl: sh-pfc: sh73a0: Remove unnecessary SoC data allocation
The SoC data structure allocated at init time only holds a regulator
pointer that is only used in the init function. Replace it with a local
variable and get rid of the SoC data structure allocation altogether.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit
0a332c96c29c84cd9205c29dfa1add4667456059)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Linus Walleij [Wed, 3 Sep 2014 11:46:26 +0000 (13:46 +0200)]
pinctrl: sh-pfc: rename confusing pinmux ops variable
The vtable named *pinmux_ops in the affected files are not really
about pin multiplexing, but a struct related to some PFC-specific
operations, inclusing pin config (bias setting). Rename the variable
so as to avoid confusions.
Acked-by: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit
51128e8ac839495e0f2c8287cfe65f9277494a98)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Simon Horman [Wed, 27 Aug 2014 04:36:51 +0000 (13:36 +0900)]
clocksource: sh_mtu2: Document r7s72100 binding
In general Renesas hardware is not documented to the extent
where the relationship between IP blocks on different SoCs can be assumed
although they may appear to operate the same way. Furthermore the
documentation typically does not specify a version for individual
IP blocks. For these reasons a convention of using the SoC name in place
of a version and providing SoC-specific compat strings has been adopted.
Although not universally liked this convention is used in the bindings
for a number of drivers for Renesas hardware. The purpose of this patch is
to update the Renesas R-Car Multi-Function Timer Pulse Unit 2 (MTU2) driver
to follow this convention.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
* I plan to follow up with a patch patch to use the new binding in the
dtsi files for the r7s72100 SoC.
v2
* Suggestions by Mark Rutland and Sergei Shtylyov
- Compatible strings should be "one or more" not "one" of those listed
- Describe the generic binding as covering any MTU2 device
- Re-order compat strings from most to least specific
v3
* Suggested by Laurent Pinchart
- Reword compat documentation for consistency with a more extensive
CMT change
(cherry picked from commit
ffd24a543afe4c693d5c611ecfa01cc48e97f97d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 28 Aug 2014 08:11:03 +0000 (10:11 +0200)]
spi: sh-msiof: Add support for new R-Car Gen2 SoCs
Add support for MSIOF in:
- r8a7792 (R-Car V2H)
- r8a7793 (R-Car M2-N)
- r8a7794 (R-Car E2)
r8a7791 is now called "R-Car M2-W".
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
e221cc99bee4494a99aa8d8525cd7776092ced05)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 7 Aug 2014 12:07:42 +0000 (14:07 +0200)]
spi: sh-msiof: Return early in sh_msiof_dma_once() where possible
Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
a5e7c719fe257214aeda3dadb502a4cf58209a61)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Wed, 6 Aug 2014 12:59:05 +0000 (14:59 +0200)]
spi: sh-msiof: Add DT support to DMA setup
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
a6be4de6a24cbef6209e3a0fcddaee9e312a1f63)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Wed, 6 Aug 2014 12:59:04 +0000 (14:59 +0200)]
spi: sh-msiof: Configure DMA slave bus width
The new Renesas R-Car Gen2 DMA Controller driver (rcar-dmac) requires
explicit configuration of the DMA slave bus width.
Hardcode the DMA transfer size to 4 bytes, as MSIOF DMA is limited to
32-bit words.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
52fba2b85d30075490db023642632032371505c2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Ulf Hansson [Wed, 3 Sep 2014 10:52:29 +0000 (12:52 +0200)]
drivers: sh: Leave disabling of unused PM domains to genpd
Since genpd at late init, will try to disable unused PM domains we
don't need to do it from here as well.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit
f1bf45c70ffdcf048d046da4ad4611315f1a15bf)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>