18 Mar, 2016
1 commit
-
Pull dmaengine updates from Vinod Koul:
"This is smallish update with minor changes to core and new driver and
usual updates. Nothing super exciting here..- We have made slave address as physical to enable driver to do the
mapping.- We now expose the maxburst for slave dma as new capability so
clients can know this and program accordingly- addition of device synchronize callbacks on omap and edma.
- pl330 updates to support DMAFLUSHP for Rockchip platforms.
- Updates and improved sg handling in Xilinx VDMA driver.
- New hidma qualcomm dma driver, though some bits are still in
progress"* tag 'dmaengine-4.6-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (40 commits)
dmaengine: IOATDMA: revise channel reset workaround on CB3.3 platforms
dmaengine: add Qualcomm Technologies HIDMA channel driver
dmaengine: add Qualcomm Technologies HIDMA management driver
dmaengine: hidma: Add Device Tree binding
dmaengine: qcom_bam_dma: move to qcom directory
dmaengine: tegra: Move of_device_id table near to its user
dmaengine: xilinx_vdma: Remove unnecessary variable initializations
dmaengine: sirf: use __maybe_unused to hide pm functions
dmaengine: rcar-dmac: clear pertinence number of channels
dmaengine: sh: shdmac: don't open code of_device_get_match_data()
dmaengine: tegra: don't open code of_device_get_match_data()
dmaengine: qcom_bam_dma: Make driver work for BE
dmaengine: sun4i: support module autoloading
dma/mic_x100_dma: IS_ERR() vs PTR_ERR() typo
dmaengine: xilinx_vdma: Use readl_poll_timeout instead of do while loop's
dmaengine: xilinx_vdma: Simplify spin lock handling
dmaengine: xilinx_vdma: Fix issues with non-parking mode
dmaengine: xilinx_vdma: Improve SG engine handling
dmaengine: pl330: fix to support the burst mode
dmaengine: make slave address physical
...
11 Mar, 2016
1 commit
-
…/sh', 'spi/topic/ti-qspi' and 'spi/topic/xilinx' into spi-next
10 Mar, 2016
2 commits
-
rsd_nsecs is defined as u8 memeber of struct rockchip_spi,
but using of_property_read_u32. That means we take risk of
truncation by type conversion if we pass on big value from
dt.Signed-off-by: Shawn Lin
Signed-off-by: Mark Brown -
Remove some of unused header files and reoder
it into alphabetical order.Signed-off-by: Shawn Lin
Signed-off-by: Mark Brown
09 Mar, 2016
3 commits
-
Let's defer probing the driver if the return value of
dma_request_slave_channel is ERR_PTR(-EPROBE_DEFER) instead
of disabling dma capability directly.Signed-off-by: Shawn Lin
Signed-off-by: Mark Brown -
dmaengine_terminate_all is deprecated, let's use
dmaengine_terminate_async for interrupt handling.Signed-off-by: Shawn Lin
Signed-off-by: Mark Brown -
We should check return value of dmaengine_prep_slave_sg, otherwise
we take risk of null pointer.Signed-off-by: Shawn Lin
Signed-off-by: Mark Brown
06 Mar, 2016
1 commit
-
16-bit transfers must be in big endian mode on wire.
Signed-off-by: Alexander Kochetkov
Signed-off-by: Mark Brown
05 Mar, 2016
1 commit
-
Rockchip_spi_set_cs could be called by spi_setup, but
spi_setup may be called by device driver after runtime suspend.
Then the spi clock is closed, rockchip_spi_set_cs may access the
spi registers, which causes cpu block in some socs.Fixes: 64e36824b32 ("spi/rockchip: add driver for Rockchip RK3xxx")
Signed-off-by: Huibin Hong
Signed-off-by: Mark Brown
18 Feb, 2016
1 commit
-
Add devicetree bindings for Rockchip rk3399 spi which found on
Rockchip rk3399 SoCs.Signed-off-by: Jianqun Xu
Signed-off-by: Heiko Stuebner
Signed-off-by: Mark Brown
16 Feb, 2016
1 commit
-
xfer_completion isn't been used anywhere, so it can be
removed.Signed-off-by: Shawn Lin
Signed-off-by: Mark Brown
15 Feb, 2016
2 commits
-
Add missing spi_master_put for rockchip_spi_remove since
it calls spi_master_get already.Signed-off-by: Shawn Lin
Signed-off-by: Mark Brown -
Before registering master, driver enables runtime pm.
This patch pm_runtime_disable in err case while probing
driver to balance pm reference count.Signed-off-by: Shawn Lin
Signed-off-by: Mark Brown
09 Feb, 2016
1 commit
-
Generic dma controller on Rockchips' platform cannot support
DMAFLUSHP instruction which make dma to flush the req of non-aligned
or non-multiple of what we need. That will cause an unrecoverable
dma bus error. The saftest way is to set dma max burst to 1.Signed-off-by: Addy ke
Fixes: 64e36824b32b06 ("spi/rockchip: add driver for Rockchip...")
Signed-off-by: Shawn Lin
cc: Heiko Stuebner
cc: Olof Johansson
cc: Doug Anderson
cc: Sonny RaoAcked-by: Mark Brown
Signed-off-by: Caesar Wang
Signed-off-by: Vinod Koul
07 Jul, 2015
1 commit
-
Memory for struct rockchip_spi is allocated by spi_alloc_master()
using kzalloc() so it doesn't need to be set to 0 one more time.Signed-off-by: Alexey Klimov
Signed-off-by: Mark Brown
12 Apr, 2015
1 commit
-
…/rspi', 'spi/topic/s3c64xx' and 'spi/topic/sc18is602' into spi-next
27 Mar, 2015
2 commits
-
We have found that we can sometimes see read failures on boards with
high-capacitance SPI lines. It seems that the controller samples the Rx
data line too early, and its register interface has an "Rx Sample Delay"
setting to fine-tune against this issue.This patch adds a new optional device tree entry that can configure this
delay in terms of nanoseconds. The kernel will calculate the
best-fitting amount of parent clock ticks to program the controller with
based on that.Signed-off-by: Julius Werner
Signed-off-by: Mark Brown -
The Rockchip SPI driver currently calculates its clock rate divisor by
integer dividing the parent rate by the target rate, and then rounding
the result up to the next even number (since the divisor must be
even).Clock rate divisors should always be rounded up, so that the resulting
frequency is lower or equal to the target. This is correctly done in the
second step here but not in the first, so we still have a risk of
exceeding the desired target frequency (e.g. setting spi-max-frequency
to 40000000 with a parent clock of 99000000 could lead to a divisor of
99000000 / 40000000 == 2 (which is even) that then results in an
effective frequency of 99000000 / 2 == 49500000 (potentially exceeding
the flash chip's specifications).This patch changes the division to round up to fix this problem.
Signed-off-by: Julius Werner
Signed-off-by: Mark Brown
07 Mar, 2015
1 commit
-
There was handle_err() callback introduced that is dedicated for error
handling. The patch moves error handling to this callback.Cc: Heiko Stuebner
Cc: linux-rockchip@lists.infradead.org
Signed-off-by: Andy Shevchenko
Signed-off-by: Mark Brown
29 Jan, 2015
1 commit
-
We currently get a warning about potentially uninitialized variables
in the rockchip spi driver, at least in certain toolchain versions:spi/spi-rockchip.c: In function 'rockchip_spi_prepare_dma':
include/linux/dmaengine.h:796:2: warning: 'txdesc' may be used uninitialized in this function
include/linux/dmaengine.h:796:2: warning: 'rxdesc' may be used uninitialized in this functionThe reason seems to be that gcc cannot know whether the value
of the rs->rx and rs->tx variables change between the two points
these are accessed.The code is actually correct, but to make this clearer to the
compiler, this changes the conditionals to test for the local
rxdesc/txdesc variables instead, which it knows won't change.Signed-off-by: Arnd Bergmann
Signed-off-by: Mark Brown
19 Dec, 2014
1 commit
-
Pull more ACPI and power management updates from Rafael Wysocki:
"These are regression fixes (leds-gpio, ACPI backlight driver,
operating performance points library, ACPI device enumeration
messages, cpupower tool), other bug fixes (ACPI EC driver, ACPI device
PM), some cleanups in the operating performance points (OPP)
framework, continuation of CONFIG_PM_RUNTIME elimination, a couple of
minor intel_pstate driver changes, a new MAINTAINERS entry for it and
an ACPI fan driver change needed for better support of thermal
management in user space.Specifics:
- Fix a regression in leds-gpio introduced by a recent commit that
inadvertently changed the name of one of the properties used by the
driver (Fabio Estevam).- Fix a regression in the ACPI backlight driver introduced by a
recent fix that missed one special case that had to be taken into
account (Aaron Lu).- Drop the level of some new kernel messages from the ACPI core
introduced by a recent commit to KERN_DEBUG which they should have
used from the start and drop some other unuseful KERN_ERR messages
printed by ACPI (Rafael J Wysocki).- Revert an incorrect commit modifying the cpupower tool (Prarit
Bhargava).- Fix two regressions introduced by recent commits in the OPP library
and clean up some existing minor issues in that code (Viresh
Kumar).- Continue to replace CONFIG_PM_RUNTIME with CONFIG_PM throughout the
tree (or drop it where that can be done) in order to make it
possible to eliminate CONFIG_PM_RUNTIME (Rafael J Wysocki, Ulf
Hansson, Ludovic Desroches).There will be one more "CONFIG_PM_RUNTIME removal" batch after this
one, because some new uses of it have been introduced during the
current merge window, but that should be sufficient to finally get
rid of it.- Make the ACPI EC driver more robust against race conditions related
to GPE handler installation failures (Lv Zheng).- Prevent the ACPI device PM core code from attempting to disable
GPEs that it has not enabled which confuses ACPICA and makes it
report errors unnecessarily (Rafael J Wysocki).- Add a "force" command line switch to the intel_pstate driver to
make it possible to override the blacklisting of some systems in
that driver if needed (Ethan Zhao).- Improve intel_pstate code documentation and add a MAINTAINERS entry
for it (Kristen Carlson Accardi).- Make the ACPI fan driver create cooling device interfaces witn
names that reflect the IDs of the ACPI device objects they are
associated with, except for "generic" ACPI fans (PNP ID "PNP0C0B").That's necessary for user space thermal management tools to be able
to connect the fans with the parts of the system they are supposed
to be cooling properly. From Srinivas Pandruvada"* tag 'pm+acpi-3.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
MAINTAINERS: add entry for intel_pstate
ACPI / video: update the skip case for acpi_video_device_in_dod()
power / PM: Eliminate CONFIG_PM_RUNTIME
NFC / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
SCSI / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
ACPI / EC: Fix unexpected ec_remove_handlers() invocations
Revert "tools: cpupower: fix return checks for sysfs_get_idlestate_count()"
tracing / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
x86 / PM: Replace CONFIG_PM_RUNTIME in io_apic.c
PM: Remove the SET_PM_RUNTIME_PM_OPS() macro
mmc: atmel-mci: use SET_RUNTIME_PM_OPS() macro
PM / Kconfig: Replace PM_RUNTIME with PM in dependencies
ARM / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
sound / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
phy / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
video / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
tty / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
spi: Replace CONFIG_PM_RUNTIME with CONFIG_PM
ACPI / PM: Do not disable wakeup GPEs that have not been enabled
ACPI / utils: Drop error messages from acpi_evaluate_reference()
...
15 Dec, 2014
1 commit
-
Pull driver core update from Greg KH:
"Here's the set of driver core patches for 3.19-rc1.They are dominated by the removal of the .owner field in platform
drivers. They touch a lot of files, but they are "simple" changes,
just removing a line in a structure.Other than that, a few minor driver core and debugfs changes. There
are some ath9k patches coming in through this tree that have been
acked by the wireless maintainers as they relied on the debugfs
changes.Everything has been in linux-next for a while"
* tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
fs: debugfs: add forward declaration for struct device type
firmware class: Deletion of an unnecessary check before the function call "vunmap"
firmware loader: fix hung task warning dump
devcoredump: provide a one-way disable function
device: Add dev__once variants
ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
ath: use seq_file api for ath9k debugfs files
debugfs: add helper function to create device related seq_file
drivers/base: cacheinfo: remove noisy error boot message
Revert "core: platform: add warning if driver has no owner"
drivers: base: support cpu cache information interface to userspace via sysfs
drivers: base: add cpu_device_create to support per-cpu devices
topology: replace custom attribute macros with standard DEVICE_ATTR*
cpumask: factor out show_cpumap into separate helper function
driver core: Fix unbalanced device reference in drivers_probe
driver core: fix race with userland in device_add()
sysfs/kernfs: make read requests on pre-alloc files use the buffer.
sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
fs: sysfs: return EGBIG on write if offset is larger than file size
...
13 Dec, 2014
1 commit
-
After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
depending on CONFIG_PM_RUNTIME may now be changed to depend on
CONFIG_PM.Replace CONFIG_PM_RUNTIME with CONFIG_PM everywhere under
drivers/spi/.Signed-off-by: Rafael J. Wysocki
Acked-by: Mark Brown
08 Dec, 2014
1 commit
-
…chip', 'spi/topic/samsung' and 'spi/topic/sirf' into spi-next
12 Nov, 2014
1 commit
-
The call to spi_master_put() in rockchip_spi_remove() is redundant since
the master is registered using devm_. This patch removes it.Signed-off-by: Laurentiu Palcu
Signed-off-by: Mark Brown
04 Nov, 2014
1 commit
-
…l/git/wsa/linux into driver-core-next
Remove all .owner fields from platform drivers
20 Oct, 2014
1 commit
-
A platform_driver does not need to set an owner, it will be populated by the
driver core.Signed-off-by: Wolfram Sang
17 Oct, 2014
1 commit
-
Signed-off-by: Addy Ke
Signed-off-by: Mark Brown
15 Oct, 2014
2 commits
-
In rx mode, dma must be prepared before spi is enabled.
But in tx and tr mode, spi must be enabled first.Signed-off-by: Addy Ke
Signed-off-by: Mark Brown -
Because the minimum divisor in rk3x's spi controller is 2,
if spi_clk is less than 2 * sclk_out, we can't get the right divisor.
So we must set spi_clk again to match slave request.Signed-off-by: Addy Ke
Signed-off-by: Mark Brown
03 Oct, 2014
1 commit
25 Sep, 2014
1 commit
-
In my test on RK3288-pinky board, if spi is enabled, it will begin to
read data from slave regardless of whether the DMA is ready. So we
need prepare DMA before spi is enable.Signed-off-by: Addy Ke
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
17 Sep, 2014
1 commit
-
…spi/fix/pl022', 'spi/fix/rockchip' and 'spi/fix/sirf' into spi-linus
05 Sep, 2014
2 commits
-
The reference manual from Rockchip claims this about the BSF (SPI Busy
Flag):
* 0 - SPI is idle or disabled
* 1 - SPI is actively transferring dataThe above doesn't quite appear to be true. Specifically I found the
busy bit set when SPI was disabled. Let's change the WARN_ON() so we
only check the busy bit if the controller was enabled.Signed-off-by: Doug Anderson
Signed-off-by: Mark Brown -
The wait_for_idle() could get unlucky and timeout too quickly.
Specifically, the old calculation was effectively:
timeout = jiffies + 1;
if (jiffies >= timeout) print warning;From the above it should be obvious that if jiffies ticks in just the
wrong place then we'll have an effective timeout of 0.Fix this by effectively changing the above ">=" to a ">". That gives
us an extra jiffy to finish.Signed-off-by: Doug Anderson
Signed-off-by: Mark Brown
29 Aug, 2014
1 commit
-
If our client is requesting a clock that is above the maximum clock
then the following division will result in 0:
rs->max_freq / rs->speedWe'll then program 0 into the SPI_BAUDR register. The Rockchip TRM
says: "If the value is 0, the serial output clock (sclk_out) is
disabled."It's much better to end up with the fastest possible clock rather than
a clock that is off, so enforce a minimum value.Signed-off-by: Doug Anderson
Signed-off-by: Mark Brown
20 Aug, 2014
1 commit
-
Signed-off-by: Addy Ke
Signed-off-by: Mark Brown
26 Jul, 2014
3 commits
-
Fix to return -EINVAL from the error handling case instead of 0 when
failed to get fifo length.Signed-off-by: Wei Yongjun
Signed-off-by: Mark Brown -
There is a error message within devm_ioremap_resource
already, so remove the dev_err call to avoid redundant
error message.Signed-off-by: Wei Yongjun
Signed-off-by: Mark Brown -
Remove duplicated include.
Signed-off-by: Wei Yongjun
Signed-off-by: Mark Brown