03 Oct, 2016
1 commit
05 Sep, 2016
1 commit
-
A workaround for a warning introduced a use of the NO_IRQ
macro that should have been gone for a long time.It is clear from the code that the value cannot actually
be used, but apparently there was a configuration at
some point that caused a warning, so instead of just
reverting that patch, this rearranges the code in a way that
the warning cannot reappear.Signed-off-by: Arnd Bergmann
Fixes: 6ef41cf6f721 ("dmaengine :ipu: change ipu_irq_handler() to remove compile warning")
Signed-off-by: Vinod Koul
08 Aug, 2016
1 commit
-
This is in preperation of moving to a callback that provides results to the
callback for the transaction. The conversion will maintain current behavior
and the driver must convert to new callback mechanism at a later time in
order to receive results.Signed-off-by: Dave Jiang
Reviewed-by: Lars-Peter Clausen
Signed-off-by: Vinod Koul
16 Sep, 2015
1 commit
-
Most interrupt flow handlers do not use the irq argument. Those few
which use it can retrieve the irq number from the irq descriptor.Remove the argument.
Search and replace was done with coccinelle and some extra helper
scripts around it. Thanks to Julia for her help!Signed-off-by: Thomas Gleixner
Cc: Julia Lawall
Cc: Jiang Liu
28 Aug, 2015
1 commit
-
Change ipu_irq_handler() to avoid gcc warning:
drivers/dma/ipu/ipu_irq.c:305:4: warning: 'irq' may be used
uninitialized in this function [-Wmaybe-uninitialized]
generic_handle_irq(irq);Signed-off-by: yalin wang
Signed-off-by: Vinod Koul
20 Aug, 2015
1 commit
-
set_irq_flags is ARM specific with custom flags which have genirq
equivalents. Convert drivers to use the genirq interfaces directly, so we
can kill off set_irq_flags. The translation of flags is as follows:IRQF_VALID -> !IRQ_NOREQUEST
IRQF_PROBE -> !IRQ_NOPROBE
IRQF_NOAUTOEN -> IRQ_NOAUTOENFor IRQs managed by an irqdomain, the irqdomain core code handles clearing
and setting IRQ_NOREQUEST already, so there is no need to do this in
.map() functions and we can simply remove the set_irq_flags calls. Some
users also modify IRQ_NOPROBE and this has been maintained although it
is not clear that is really needed. There appears to be a great deal of
blind copy and paste of this code.Signed-off-by: Rob Herring
Cc: Dan Williams
Cc: Vinod Koul
Cc: dmaengine@vger.kernel.org
Signed-off-by: Vinod Koul
06 Aug, 2015
2 commits
-
The functions irq_irq_err and ipu_irq_fn are identical plus/minus the
comments. Remove one.Signed-off-by: Thomas Gleixner
Cc: Vinod Koul
Cc: Dan Williams
Cc: dmaengine@vger.kernel.org
Signed-off-by: Vinod Koul -
The irq argument of most interrupt flow handlers is unused or merily
used instead of a local variable. The handlers which need the irq
argument can retrieve the irq number from the irq descriptor.Search and update was done with coccinelle and the invaluable help of
Julia Lawall.Signed-off-by: Thomas Gleixner
Cc: Julia Lawall
Cc: Vinod Koul
Cc: Dan Williams
Cc: dmaengine@vger.kernel.org
Signed-off-by: Vinod Koul
16 Jul, 2015
2 commits
-
Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
already have a pointer to corresponding irq_desc.This is also a preparation for the removal of the 'irq' argument from
interrupt flow handlers.Signed-off-by: Jiang Liu
Cc: Dan Williams
Cc: Vinod Koul
Cc: dmaengine@vger.kernel.org
Signed-off-by: Thomas Gleixner
Signed-off-by: Vinod Koul -
Chained irq handlers usually set up handler data as well. We now have
a function to set both under irq_desc->lock. Replace the two calls
with one.Search and conversion was done with coccinelle.
Reported-by: Russell King
Signed-off-by: Thomas Gleixner
Cc: Julia Lawall
Cc: Dan Williams
Cc: Vinod Koul
Cc: dmaengine@vger.kernel.org
Signed-off-by: Vinod Koul
22 Dec, 2014
1 commit
-
Split the device_control callback of the IPU IDMAC driver to make use
of the newly introduced callbacks, that will eventually be used to retrieve
slave capabilities.Signed-off-by: Maxime Ripard
Signed-off-by: Vinod Koul
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
25 Jul, 2014
1 commit
-
Commit - 653e67f7e5: "dmaengine: inherit debug settings from the subsystem
for subdirectories" introduced debug option for subdirectories too
This exposed issue with ipu driver not using return valueFor now just warn users about it
Reported-by: kbuild test robot
Signed-off-by: Vinod Koul
13 Nov, 2013
1 commit
-
This resolves a number of warnings such as the below when building with
64-bit dma_addr_t on arm:drivers/dma/ipu/ipu_idmac.c:1235:2: warning: format '%x' expects argument
of type 'unsigned int', but argument 5 has type 'dma_addr_t' [-Wformat=]..by upcasting to u64 and using %llx.
Signed-off-by: Olof Johansson
Signed-off-by: Vinod Koul
25 Aug, 2013
1 commit
-
The driver core clears the driver data to NULL after device_release
or on probe failure. Thus, it is not needed to manually clear the
device driver data to NULL.Signed-off-by: Jingoo Han
Acked-by: Shawn Guo
Signed-off-by: Vinod Koul
05 Aug, 2013
1 commit
-
It's better to use generic dma_cookie_status() that allows user to get standard
possible return codes independently of the DMAC driver in charge.Signed-off-by: Andy Shevchenko
Acked-by: Shawn Guo
Signed-off-by: Vinod Koul
15 Apr, 2013
2 commits
-
Since commit 84c1e63c12 (dma: Remove erroneous __exit and __exit_p() references)
the following section mismatch happens:WARNING: drivers/built-in.o(.text+0x20f94): Section mismatch in reference from the function ipu_remove() to the function .exit.text:ipu_idmac_exit()
The function ipu_remove() references a function in an exit section.
Often the function ipu_idmac_exit() has valid usage outside the exit section
and the fix is to remove the __exit annotation of ipu_idmac_exit.Remove the '__exit' annotation from ipu_idmac_exit in order to fix it.
Signed-off-by: Fabio Estevam
Acked-by: Maxin B. John
Signed-off-by: Vinod Koul -
Removing the annotation with __exit and referencing with __exit_p()
present in dma driver module remove hooks.Part of the __devexit and __devexit_p() purge.
Signed-off-by: Maxin B. John
Acked-by: Linus Walleij
Signed-off-by: Vinod Koul
12 Jan, 2013
1 commit
-
The is_slave_direction helps to check if the transfer type is slave.
Signed-off-by: Andy Shevchenko
Reviewed-by: Viresh Kumar
Cc: Guennadi Liakhovetski
Signed-off-by: Vinod Koul
08 Jan, 2013
1 commit
-
I was checking why this spinlock was never initialized, but it turns
out it's not used anywhere, so we can drop it.Signed-off-by: Jean Delvare
Cc: Vinod Koul
Signed-off-by: Dan Williams
15 Oct, 2012
1 commit
-
The header ipu.h really belongs to dma subsystem rather than imx
platform. Rename it to ipu-dma.h and put it into include/linux/dma/.Signed-off-by: Shawn Guo
Acked-by: Guennadi Liakhovetski
Acked-by: Sascha Hauer
Acked-by: Arnd Bergmann
Cc: Vinod Koul
Cc: Florian Tobias Schandinat
Cc: linux-media@vger.kernel.org
Cc: linux-fbdev@vger.kernel.org
01 Jul, 2012
1 commit
-
The struct ipu_platform_data is used by platform code to pass
MXC_IPU_IRQ_START to ipu-core driver. We can save it by having
ipu-core driver call irq_alloc_descs to get the irq_base.Signed-off-by: Shawn Guo
Acked-by: Vinod Koul
Acked-by: Sascha Hauer
Acked-by: Dong Aisheng
25 Apr, 2012
1 commit
-
Signed-off-by: Sascha Hauer
21 Mar, 2012
1 commit
-
Add context parameter to device_prep_slave_sg() and device_prep_dma_cyclic()
interfaces to allow passing client/target specific information associated
with the data transfer.
Modify all affected DMA engine drivers.Signed-off-by: Alexandre Bounine
Acked-by: Linus Walleij
Acked-by: Felipe Balbi
Signed-off-by: Vinod Koul
13 Mar, 2012
5 commits
-
Provide a common function to initialize a channels cookie values.
Signed-off-by: Russell King
Tested-by: Linus Walleij
Reviewed-by: Linus Walleij
Acked-by: Jassi Brar
[imx-sdma.c & mxs-dma.c]
Tested-by: Shawn Guo
Signed-off-by: Vinod Koul -
Provide a common function to do the cookie mechanics for completing
a DMA descriptor.Signed-off-by: Russell King
Tested-by: Linus Walleij
Reviewed-by: Linus Walleij
Acked-by: Jassi Brar
[imx-sdma.c & mxs-dma.c]
Tested-by: Shawn Guo
Signed-off-by: Vinod Koul -
Everyone deals with assigning DMA cookies in the same way (it's part of
the API so they should be), so lets consolidate the common code into a
helper function to avoid this duplication.Signed-off-by: Russell King
Tested-by: Linus Walleij
Reviewed-by: Linus Walleij
Acked-by: Jassi Brar
[imx-sdma.c & mxs-dma.c]
Tested-by: Shawn Guo
Signed-off-by: Vinod Koul -
Add a local private header file to contain definitions and declarations
which should only be used by DMA engine drivers.We also fix linux/dmaengine.h to use LINUX_DMAENGINE_H to guard against
multiple inclusion.Signed-off-by: Russell King
Tested-by: Linus Walleij
Reviewed-by: Linus Walleij
Acked-by: Jassi Brar
[imx-sdma.c & mxs-dma.c]
Tested-by: Shawn Guo
Signed-off-by: Vinod Koul -
Every DMA engine implementation declares a last completed dma cookie
in their private dma channel structures. This is pointless, and
forces driver specific code. Move this out into the common dma_chan
structure.Signed-off-by: Russell King
Tested-by: Linus Walleij
Reviewed-by: Linus Walleij
Acked-by: Jassi Brar
[imx-sdma.c & mxs-dma.c]
Tested-by: Shawn Guo
Signed-off-by: Vinod Koul
08 Dec, 2011
1 commit
-
The burstsize (npb in struct chan_param_mem) is set in
ipu_ch_param_set_size() once. The number of allowed
pixels in a burst depend on the pixel format and the
rotation mode. For 16bit formats 16 pixels are allowed
whereas for 32bit formats only 8 pixels are allowed.
Set these values correctly in ipu_ch_param_set_size()
and do not overwrite them afterwards.
We do not support rotation right now, so ignore this
case.
This patch fixes the wrong burstsize setting of 16 pixels
for 32bpp.Signed-off-by: Sascha Hauer
Signed-off-by: Vinod Koul
17 Nov, 2011
1 commit
-
resolved conflicts:
drivers/media/video/mx3_camera.c
07 Nov, 2011
1 commit
-
* 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
Revert "tracing: Include module.h in define_trace.h"
irq: don't put module.h into irq.h for tracking irqgen modules.
bluetooth: macroize two small inlines to avoid module.h
ip_vs.h: fix implicit use of module_get/module_put from module.h
nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
include: replace linux/module.h with "struct module" wherever possible
include: convert various register fcns to macros to avoid include chaining
crypto.h: remove unused crypto_tfm_alg_modname() inline
uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
pm_runtime.h: explicitly requires notifier.h
linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
miscdevice.h: fix up implicit use of lists and types
stop_machine.h: fix implicit use of smp.h for smp_processor_id
of: fix implicit use of errno.h in include/linux/of.h
of_platform.h: delete needless include
acpi: remove module.h include from platform/aclinux.h
miscdevice.h: delete unnecessary inclusion of module.h
device_cgroup.h: delete needless include
net: sch_generic remove redundant use of
net: inet_timewait_sock doesnt need
...Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
- drivers/media/dvb/frontends/dibx000_common.c
- drivers/media/video/{mt9m111.c,ov6650.c}
- drivers/mfd/ab3550-core.c
- include/linux/dmaengine.h
04 Nov, 2011
1 commit
-
To support multi-size buffers in the mx3_camera V4L2 driver we have to be
able to stop DMA on a channel without releasing descriptors and completely
halting the hardware. Use the DMA_PAUSE control to implement this mode.Signed-off-by: Guennadi Liakhovetski
Acked-by: Vinod Koul
Signed-off-by: Mauro Carvalho Chehab
01 Nov, 2011
1 commit
-
Fix files that were implicitly using module.h but not
calling it out for inclusion directly. We'll break those
once we remove the implicit presence otherwise[With input from Uwe Kleine-König ]
Signed-off-by: Paul Gortmaker
27 Oct, 2011
1 commit
-
fixup usage of dma direction by introducing dma_transfer_direction,
this patch moves dma/drivers/* to use new enumCc: Jassi Brar
Cc: Russell King
Cc: Viresh Kumar
Cc: Linus Walleij
Cc: Nicolas Ferre
Cc: Mika Westerberg
Cc: H Hartley Sweeten
Cc: Li Yang
Cc: Zhang Wei
Cc: Sascha Hauer
Cc: Guennadi Liakhovetski
Cc: Shawn Guo
Cc: Yong Wang
Cc: Tomoya MORINAGA
Cc: Boojin Kim
Cc: Barry Song
Acked-by: Mika Westerberg
Acked-by: Linus Walleij
Acked-by: Viresh Kumar
Acked-by: Nicolas Ferre
Signed-off-by: Vinod Koul
13 Sep, 2011
1 commit
-
The bank_lock can be taken in atomic context (irq handling)
and therefore cannot be preempted on -rt - annotate it.In mainline this change documents the low level nature of
the lock - otherwise there's no functional difference. Lockdep
and Sparse checking will work as usual.Signed-off-by: Uwe Kleine-König
Cc: kernel@pengutronix.de
Cc: Guennadi Liakhovetski
Cc: Dan Williams
Link: http://lkml.kernel.org/r/1311949627-13260-1-git-send-email-u.kleine-koenig@pengutronix.de
Signed-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar
02 Aug, 2011
1 commit
-
* 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (37 commits)
Improve slave/cyclic DMA engine documentation
dmaengine: pl08x: handle the rest of enums in pl08x_width
DMA: PL08x: cleanup selection of burst size
DMA: PL08x: avoid recalculating cctl at each prepare
DMA: PL08x: cleanup selection of buswidth
DMA: PL08x: constify plchan->cd and plat->slave_channels
DMA: PL08x: separately store source/destination cctl
DMA: PL08x: separately store source/destination slave address
DMA: PL08x: clean up LLI debugging
DMA: PL08x: select LLI bus only once per LLI setup
DMA: PL08x: remove unused constants
ARM: mxs-dma: reset after disable channel
dma: intel_mid_dma: remove redundant pci_set_drvdata calls
dma: mxs-dma: fix unterminated platform_device_id table
dmaengine: pl330: make platform data optional
dmaengine: imx-sdma: return proper error if kzalloc fails
pch_dma: Fix CTL register access issue
dmaengine: mxs-dma: skip request_irq for NO_IRQ
dmaengine/coh901318: fix slave submission semantics
dmaengine/ste_dma40: allow memory buswidth/burst to be configured
...Fix trivial whitespace conflict in drivers/dma/mv_xor.c
22 Jun, 2011
1 commit
-
Remove linux/mm.h inclusion from netdevice.h -- it's unused (I've checked manually).
To prevent mm.h inclusion via other channels also extract "enum dma_data_direction"
definition into separate header. This tiny piece is what gluing netdevice.h with mm.h
via "netdevice.h => dmaengine.h => dma-mapping.h => scatterlist.h => mm.h".
Removal of mm.h from scatterlist.h was tried and was found not feasible
on most archs, so the link was cutoff earlier.Hope people are OK with tiny include file.
Note, that mm_types.h is still dragged in, but it is a separate story.
Signed-off-by: Alexey Dobriyan
Signed-off-by: David S. Miller
06 Jun, 2011
1 commit
-
Signed-off-by: H Hartley Sweeten
Cc: Dan Williams
Cc: Vinod Koul
Cc: Guennadi Liakhovetski
Cc: Anatolij Gustschin
Signed-off-by: Vinod Koul
26 Mar, 2011
1 commit
-
Convert to the new irq chip functions and cleanup the name space.
[ Guennadi reported: irq_data_get_chip_data is undefined. Yes, I screwed up.
it needs to be irq_data_get_irq_chip_data ]Signed-off-by: Thomas Gleixner
Tested-by: Guennadi Liakhovetski
Cc: Dan Williams
LKML-Reference: