Revision tags: v3.10-rc6, v3.10-rc5, v3.10-rc4, v3.10-rc3 |
|
#
dbd897b9 |
| 23-May-2013 |
Linus Walleij <linus.walleij@linaro.org> |
spi: pl022: use DMA by default when probing from DT
In the past we controlled the selection of DMA for a certain host by a boolean switch in the platform data. Currently there is no way to enable DM
spi: pl022: use DMA by default when probing from DT
In the past we controlled the selection of DMA for a certain host by a boolean switch in the platform data. Currently there is no way to enable DMA on a PL022 probed from the device tree. Let's default to trying to obtain DMA channels in the DT case, and then we can always fail (and thus fall back to PIO mode).
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
show more ...
|
#
f1c9cf07 |
| 10-Jun-2013 |
Linus Walleij <linus.walleij@linaro.org> |
spi: pl022: use pinctrl PM helpers
This utilize the new pinctrl core PM helpers to transition the driver to "sleep" and "idle" states, cutting away some boilerplate code.
Cc: Hebbar Gururaja <gurur
spi: pl022: use pinctrl PM helpers
This utilize the new pinctrl core PM helpers to transition the driver to "sleep" and "idle" states, cutting away some boilerplate code.
Cc: Hebbar Gururaja <gururaja.hebbar@ti.com> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Kevin Hilman <khilman@linaro.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Wolfram Sang <wsa@the-dreams.de> Acked-by: Mark Brown <broonie@kernel.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
show more ...
|
#
5b547a75 |
| 23-May-2013 |
Linus Walleij <linus.walleij@linaro.org> |
spi: pl022: use DMA by default when probing from DT
In the past we controlled the selection of DMA for a certain host by a boolean switch in the platform data. Currently there is no way to enable DM
spi: pl022: use DMA by default when probing from DT
In the past we controlled the selection of DMA for a certain host by a boolean switch in the platform data. Currently there is no way to enable DMA on a PL022 probed from the device tree. Let's default to trying to obtain DMA channels in the DT case, and then we can always fail (and thus fall back to PIO mode).
Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
Revision tags: v3.10-rc2, v3.10-rc1, v3.9, v3.9-rc8, v3.9-rc7, v3.9-rc6, v3.9-rc5, v3.9-rc4, v3.9-rc3, v3.9-rc2, v3.9-rc1, v3.8, v3.8-rc7, v3.8-rc6 |
|
#
dc715452 |
| 28-Jan-2013 |
Arnd Bergmann <arnd@arndb.de> |
spi: pl022: use generic DMA slave configuration if possible
With the new OF DMA binding, it is possible to completely avoid the need for platform_data for configuring a DMA channel. In cases where t
spi: pl022: use generic DMA slave configuration if possible
With the new OF DMA binding, it is possible to completely avoid the need for platform_data for configuring a DMA channel. In cases where the platform has already been converted, calling dma_request_slave_channel should get all the necessary information from the device tree.
Like the patch that converts the dw_dma controller, this is completely untested and is looking for someone to try it out.
Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Cc: spi-devel-general@lists.sourceforge.net Cc: Viresh Kumar <viresh.kumar@linaro.org> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Vinod Koul <vinod.koul@linux.intel.com> Cc: devicetree-discuss@lists.ozlabs.org Cc: linux-arm-kernel@lists.infradead.org
show more ...
|
Revision tags: v3.8-rc5, v3.8-rc4, v3.8-rc3, v3.8-rc2, v3.8-rc1, v3.7 |
|
#
fd4a319b |
| 07-Dec-2012 |
Grant Likely <grant.likely@secretlab.ca> |
spi: Remove HOTPLUG section attributes
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away.
Remove use of __devinit, __devexit_p, __devinitdata, __devinitco
spi: Remove HOTPLUG section attributes
CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away.
Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit.
Bill Pemberton has done most of the legwork on this series. I've used his script to purge the attributes from the drivers/gpio tree.
Reported-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
show more ...
|
Revision tags: v3.7-rc8, v3.7-rc7, v3.7-rc6, v3.7-rc5, v3.7-rc4, v3.7-rc3, v3.7-rc2, v3.7-rc1 |
|
#
213d27a4 |
| 05-Oct-2012 |
Ulf Hansson <ulf.hansson@linaro.org> |
spi/pl022: Revert recent runtime PM changes
[Originally sent by Ulf as two changes, squashed down into one with a redone changelog, thanks to Russell King for analysis. -- broonie]
This reverts com
spi/pl022: Revert recent runtime PM changes
[Originally sent by Ulf as two changes, squashed down into one with a redone changelog, thanks to Russell King for analysis. -- broonie]
This reverts commit 688723 (spi/pl022: enable runtime PM) and commit 2fb30d (spi/pl022: fix spi-pl022 pm enable at probe).
Commit "spi/pl022: enable runtime PM" introduced runtime PM issues as it interacted badly with the work Russell King had done to move core runtime PM handling into the bus. Due to that commit, "spi/pl022: fix spi-pl022 pm enable at probe" was merged to fix part of those issues.
Instead of adding another fix, let's clean up and revert everything back to when it was already fine.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Revert "spi/pl022: enable runtime PM"
Conflicts: drivers/spi/spi-pl022.c
show more ...
|
#
d8f18420 |
| 17-Oct-2012 |
Patrice Chotard <patrice.chotard@stericsson.com> |
spi/pl022: add IDLE state pin management
This commit allow to put pins in IDLE state in runtime_suspend and in SLEEP state in suspend, corresponding to defined semantics in <linux/pinctrl/pinctrl-st
spi/pl022: add IDLE state pin management
This commit allow to put pins in IDLE state in runtime_suspend and in SLEEP state in suspend, corresponding to defined semantics in <linux/pinctrl/pinctrl-state.h>.
To do this, just add a boolean parameter runtime to pl022_resume_resources/pl022_suspend_resources which indicates if it's called from PM_RUNTIME callbacks or not.
Signed-off-by: Patrice Chotard <patrice.chotard@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
#
4964a26d |
| 17-Oct-2012 |
Ulf Hansson <ulf.hansson@linaro.org> |
spi/pl022: Activate resourses before deactivate them in suspend
To be able to deactivate resourses in suspend, the resourses must first be surely active. This is done with a pm_runtime_get_sync. Onc
spi/pl022: Activate resourses before deactivate them in suspend
To be able to deactivate resourses in suspend, the resourses must first be surely active. This is done with a pm_runtime_get_sync. Once the resourses are restored to active state again in resume, the runtime pm usage count can be decreased with a pm_runtime_put.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
#
0df34994 |
| 17-Oct-2012 |
Ulf Hansson <ulf.hansson@linaro.org> |
spi/pl022: Minor simplification for runtime pm
In probe pm_runtime_put_autosuspend has the same effect as doing pm_runtime_put. This due to upper layer in driver core is preventing the device from b
spi/pl022: Minor simplification for runtime pm
In probe pm_runtime_put_autosuspend has the same effect as doing pm_runtime_put. This due to upper layer in driver core is preventing the device from being runtime suspended by a pm_runtime_get*.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
#
5015a2e1 |
| 05-Oct-2012 |
Ulf Hansson <ulf.hansson@linaro.org> |
spi/pl022: Revert "spi/pl022: fix spi-pl022 pm enable at probe"
This reverts commit 6887237cd7da904184dab2750504040c68f3a080.
Commit "spi/pl022: enable runtime PM" introduced runtime PM issues. Due
spi/pl022: Revert "spi/pl022: fix spi-pl022 pm enable at probe"
This reverts commit 6887237cd7da904184dab2750504040c68f3a080.
Commit "spi/pl022: enable runtime PM" introduced runtime PM issues. Due to that commit, "spi/pl022: fix spi-pl022 pm enable at probe" was merged to fix part of those issues.
Instead of adding another fix, let's clean up and revert everything back to when it was already fine.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
Revision tags: v3.6 |
|
#
ada7aec7 |
| 26-Sep-2012 |
Linus Walleij <linus.walleij@stericsson.com> |
spi/pl022: get/put resources on suspend/resume
This factors out the resource handling in runtime suspend/resume and also calls it from the ordinary suspend and resume hooks.
The semantics require t
spi/pl022: get/put resources on suspend/resume
This factors out the resource handling in runtime suspend/resume and also calls it from the ordinary suspend and resume hooks.
The semantics require that ordinary PM op suspend is called with runtime PM in resumed mode, so that ordinary suspend can assume that it will e.g. decrease the clock reference counter to 0, runtime resume having previously increased it to 1.
Cc: Vipul Kumar Samar <vipulkumar.samar@st.com> Cc: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
#
aeef9915 |
| 26-Sep-2012 |
Linus Walleij <linus.walleij@stericsson.com> |
spi/pl022: use more managed resources
This switches the PL022 SPI driver to use devm_* managed resources for IRQ, clocks, ioremap and GPIO. Prior to this, the GPIOs would even leak.
Signed-off-by:
spi/pl022: use more managed resources
This switches the PL022 SPI driver to use devm_* managed resources for IRQ, clocks, ioremap and GPIO. Prior to this, the GPIOs would even leak.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
Revision tags: v3.6-rc7 |
|
#
39a6ac11 |
| 18-Sep-2012 |
Roland Stigge <stigge@antcom.de> |
spi/pl022: Devicetree support w/o platform data
Even with devicetree support, we needed platform data to provide some data, leading to mixed device tree and platform data. This patch makes it possib
spi/pl022: Devicetree support w/o platform data
Even with devicetree support, we needed platform data to provide some data, leading to mixed device tree and platform data. This patch makes it possible to provide all that information via device tree. Now, the data must be provided via platform data _or_ device tree completely.
Only in case of DMA where a callback specification is necessary (dma_filter()), platform data is the only option.
Signed-off-by: Roland Stigge <stigge@antcom.de> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
#
4f5e1b37 |
| 19-Sep-2012 |
Patrice Chotard <patrice.chotard@stericsson.com> |
spi/pl022: adopt pinctrl support
Amend the PL022 pin controller to optionally take a pin control handle and set the state of the pins to "default" on boot and runtime resume, and to "sleep" at runti
spi/pl022: adopt pinctrl support
Amend the PL022 pin controller to optionally take a pin control handle and set the state of the pins to "default" on boot and runtime resume, and to "sleep" at runtime suspend. This way we will dynamically save power on the SPI busses, for example some electronic designs may be able to ground the pins when unused instead of pull-up. Some pin controllers may want to set the pins as wake-up sources when sleeping.
Effect on platforms using the PL022 driver:
- If the platform does not use pin control - no semantic effect, the pinctrl stubs will kick in and resolve the situation.
- Platforms using this driver and have pin control but no function defined for the PL022 need to either supply a "default" function in their map or enable pinctrl dummies so the driver is satisfied.
- Platforms using this driver with hogs for setting up the PL022 pin control - stop using hogs to take the pl022 pin control handle, let the driver handle this.
I'be looked at some platforms that may be affected:
- SPEAr: appears to define the proper functions in their device trees and not hogging them, so things should be smooth, the driver will simply start to take its pins.
- Ux500: the proper function is defined and will be taken properly by the driver. New sleep states introduced by a separate patch to ux500 but no regression, since the default state is sufficient.
- U300: old hog deleted as part of this patch.
- LPC32xx: does not appear to be using pinctrl.
- ARM Integrator IMPD1, RealView & Versatile: does not use pinctrl.
Tested-by: Roland Stigge <stigge@antcom.de> Signed-off-by: Patrice Chotard <patrice.chotard@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
Revision tags: v3.6-rc6, v3.6-rc5 |
|
#
b4b84826 |
| 03-Sep-2012 |
Roland Stigge <stigge@antcom.de> |
spi/pl022: Fix chipselects pointer computation
The new chip select handling via GPIO introduced a pointer computation bug:
(int *) pl022 + sizeof(struct pl022)
doesn't point to the data immediate
spi/pl022: Fix chipselects pointer computation
The new chip select handling via GPIO introduced a pointer computation bug:
(int *) pl022 + sizeof(struct pl022)
doesn't point to the data immediately after the actual struct pl022 (as was intended) but to a multiple of bytes after it because of the (int *) type.
Replacing the kludgy pointer arithmetic with managed memory allocation for the chip selects.
Reported-by: Shiraz Hashim <shiraz.linux.kernel@gmail.com> Signed-off-by: Roland Stigge <stigge@antcom.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
Revision tags: v3.6-rc4, v3.6-rc3 |
|
#
6d3952a7 |
| 22-Aug-2012 |
Roland Stigge <stigge@antcom.de> |
spi/pl022: Add devicetree support
This patch adds device tree support to the spi-pl022 driver.
Based on the initial patch by Alexandre Pereira da Silva <aletes.xgr@gmail.com>
Signed-off-by: Roland
spi/pl022: Add devicetree support
This patch adds device tree support to the spi-pl022 driver.
Based on the initial patch by Alexandre Pereira da Silva <aletes.xgr@gmail.com>
Signed-off-by: Roland Stigge <stigge@antcom.de> Acked-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
#
f6f46de1 |
| 22-Aug-2012 |
Roland Stigge <stigge@antcom.de> |
spi/pl022: Add chip select handling via GPIO
This patch adds the ability for the driver to control the chip select directly. This enables independence from cs_control callbacks. Configurable via pl
spi/pl022: Add chip select handling via GPIO
This patch adds the ability for the driver to control the chip select directly. This enables independence from cs_control callbacks. Configurable via platform_data, to be extended as DT in the following patch.
Based on the initial patch by Alexandre Pereira da Silva <aletes.xgr@gmail.com>
Signed-off-by: Roland Stigge <stigge@antcom.de> Acked-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
#
495e3ff3 |
| 19-Aug-2012 |
Guenter Roeck <linux@roeck-us.net> |
spi/pl022: Fix device remove function
The call sequence spi_alloc_master/spi_register_master/spi_unregister_master is complete; it reduces the device reference count to zero, which results in device
spi/pl022: Fix device remove function
The call sequence spi_alloc_master/spi_register_master/spi_unregister_master is complete; it reduces the device reference count to zero, which results in device memory being freed. An extra call to spi_master_put is unnecessary and results in an access to free memory. Drop it.
Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
#
6887237c |
| 17-Aug-2012 |
Michel JAOUEN <michel.jaouen@stericsson.com> |
spi/pl022: fix spi-pl022 pm enable at probe
amba drivers does not need to enable pm runtime at probe. amba_probe already enables pm runtime.
This rids this warning in the ux500 boot log: ssp-pl022
spi/pl022: fix spi-pl022 pm enable at probe
amba drivers does not need to enable pm runtime at probe. amba_probe already enables pm runtime.
This rids this warning in the ux500 boot log: ssp-pl022 ssp0: Unbalanced pm_runtime_enable!
Signed-off-by: Michel JAOUEN <michel.jaouen@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
show more ...
|
Revision tags: v3.6-rc2, v3.6-rc1, v3.5, v3.5-rc7, v3.5-rc6, v3.5-rc5, v3.5-rc4, v3.5-rc3 |
|
#
2fb30d11 |
| 12-Jun-2012 |
Linus Walleij <linus.walleij@linaro.org> |
spi/pl022: enable runtime PM
If we're gonna use runtime PM it's a pretty good idea to actually enable it in probe() and disable it in remove() too, so it gets used for real. Up until now we only foo
spi/pl022: enable runtime PM
If we're gonna use runtime PM it's a pretty good idea to actually enable it in probe() and disable it in remove() too, so it gets used for real. Up until now we only fooled around with the reference count.
Cc: Vinit Shenoy <vinit.shenoy@st.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
show more ...
|
#
42f978c3 |
| 12-Jun-2012 |
Linus Walleij <linus.walleij@linaro.org> |
spi/pl022: delete DB5500 support
This ASIC variant has been deleted from the ARM tree, no need to keep support around.
Cc: Vinit Shenoy <vinit.shenoy@st.com> Signed-off-by: Linus Walleij <linus.wal
spi/pl022: delete DB5500 support
This ASIC variant has been deleted from the ARM tree, no need to keep support around.
Cc: Vinit Shenoy <vinit.shenoy@st.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
show more ...
|
#
fd316941 |
| 12-Jun-2012 |
Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> |
spi/pl022: disable port when unused
Commit ffbbdd21329f3e15eeca6df2d4bc11c04d9d91c0 "spi: create a message queueing infrastructure" Accidentally deleted the logic to disable the port when unused lea
spi/pl022: disable port when unused
Commit ffbbdd21329f3e15eeca6df2d4bc11c04d9d91c0 "spi: create a message queueing infrastructure" Accidentally deleted the logic to disable the port when unused leading to higher power consumption. Fix this up.
Cc: stable@kernel.org Cc: Vinit Shenoy <vinit.shenoy@st.com> Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
show more ...
|
Revision tags: v3.5-rc2, v3.5-rc1, v3.4, v3.4-rc7, v3.4-rc6, v3.4-rc5, v3.4-rc4 |
|
#
ea505bc9 |
| 19-Apr-2012 |
Viresh Kumar <viresh.kumar@st.com> |
spi/pl022: Allow request for higher frequency than maximum possible
Currently, if we request for frequency greater than maximum possible, spi driver returns error.
For example, if the spi block src
spi/pl022: Allow request for higher frequency than maximum possible
Currently, if we request for frequency greater than maximum possible, spi driver returns error.
For example, if the spi block src frequency is 333/4 MHz, i.e. 83.33.. MHz, maximum frequency programmable would be src/2. Which would come around 41.6...
It is difficult to pass frequency in these figures. We normally try to program in round figures, like 42 MHz and it should get programmed to <= requested_frequency, i.e. 41.6...
For this to happen, we must not return error even if requested freq is higher than max possible. But should program it to max possible.
Reported-by: Vinit Kamalaksha Shenoy <vinit.shenoy@st.com> Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
show more ...
|
#
5eb806a3 |
| 19-Apr-2012 |
Viresh Kumar <viresh.kumar@st.com> |
spi/pl022: Fix calculate_effective_freq()
calculate_effective_freq() was still not optimized and there were cases when it returned without error and with values of cpsr and scr as zero.
Also, the v
spi/pl022: Fix calculate_effective_freq()
calculate_effective_freq() was still not optimized and there were cases when it returned without error and with values of cpsr and scr as zero.
Also, the variable named found is not used well.
This patch targets to optimize and correct this routine. Tested for SPEAr.
Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Tested-by: Vinit Kamalaksha Shenoy <vinit.shenoy@st.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
show more ...
|
#
eb798c64 |
| 17-Apr-2012 |
Vinit Shenoy <vinit.shenoy@st.com> |
spi/pl022: Fix range checking for bits per word
pl022 ssp controller supports word lengths from 4 to 16 (or 32) bits. Currently implemented checks were incorrect. It has following check
if (pl022->
spi/pl022: Fix range checking for bits per word
pl022 ssp controller supports word lengths from 4 to 16 (or 32) bits. Currently implemented checks were incorrect. It has following check
if (pl022->vendor->max_bpw >= 32)
which must be checking for <=.
Also error print message is incorrect, that prints "range is from 1 to 16".
Fix both these issues.
Signed-off-by: Vinit Shenoy <vinit.shenoy@st.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
show more ...
|