summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c24xx/dma.c
Commit message (Collapse)AuthorAgeFilesLines
* ARM: S3C24XX: Fix s3c2410_dma_enqueue parametersHeiko Stuebner2012-08-081-1/+1
| | | | | | | | | | | | | Commit d670ac019f60 (ARM: SAMSUNG: DMA Cleanup as per sparse) changed the prototype of the s3c2410_dma_* functions to use the enum dma_ch instead of an generic unsigned int. In the s3c24xx dma.c s3c2410_dma_enqueue seems to have been forgotten, the other functions there were changed correctly. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Cc: Stable <stable@vger.kernel.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
* Disintegrate asm/system.h for ARMDavid Howells2012-03-281-1/+0
| | | | | | | | Disintegrate asm/system.h for ARM. Signed-off-by: David Howells <dhowells@redhat.com> cc: Russell King <linux@arm.linux.org.uk> cc: linux-arm-kernel@lists.infradead.org
* ARM: S3C24XX: DMA resume regression fixGusakov Andrey2012-03-031-1/+1
| | | | | | | | | | | s3c2410_dma_suspend suspends channels from 0 to dma_channels. s3c2410_dma_resume resumes channels in reverse order. So pointer should be decremented instead of being incremented. Signed-off-by: Gusakov Andrey <dron0gus@gmail.com> Reviewed-by: Heiko Stuebner <heiko@sntech.de> Cc: stable <stable@vger.kernel.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
* ARM: SAMSUNG: Use kmemdup rather than duplicating its implementationThomas Meyer2011-12-081-2/+1
| | | | | | | | The semantic patch that makes this change is available in scripts/coccinelle/api/memdup.cocci. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
* ARM: SAMSUNG: Remove Samsung specific enum type for dma directionBoojin Kim2011-09-141-5/+5
| | | | | | | | | | | This patch removes the samsung specific enum type 's3c2410_dmasrc' and uses 'dma_data_direction' instead. Signed-off-by: Boojin Kim <boojin.kim@samsung.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
* ARM: SAMSUNG: DMA Cleanup as per sparseSangwook Lee2011-07-161-6/+6
| | | | | | | | | | | | | | | Function declaration differs between file: dma.c and file:dma.h and SPARSE (Documentation/sparse.txt) gives error messages All dma channels are members of 'enum dma_ch' and not 'unsigned int' Please have a look at channel definitions in: arch/arm/mach-s3c64xx/include/mach/dma.h arch/arm/plat-samsung/include/plat/s3c-dma-pl330.h arch/arm/mach-s3c2410/include/mach/dma.h So all arguments should be of type 'enum dma_ch' Signed-off-by: Sangwook Lee <sangwook.lee@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
* ARM: S3C24XX: drop return codes in void function of dma.cWolfram Sang2011-07-081-3/+1
| | | | | | | | | | | | | | Commit bb072c3c (ARM / Samsung: Use struct syscore_ops for "core" power management) turned s3c2410_dma_resume_chan() from int to void. So, drop the actual return values, too. Fixes: arch/arm/plat-s3c24xx/dma.c: In function 's3c2410_dma_resume_chan': arch/arm/plat-s3c24xx/dma.c:1238:3: warning: 'return' with a value, in function returning void arch/arm/plat-s3c24xx/dma.c:1250:2: warning: 'return' with a value, in function returning void Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
* ARM: S3C24XX: don't use uninitialized variable in dma.cWolfram Sang2011-07-081-6/+2
| | | | | | | | | | | | | | Commit 8970ef47 (S3C24XX: Remove hardware specific registers from DMA calls) removed the parameter dcon in s3c2410_dma_config() and calculates it on its own. So the debug-output for the old parameter can go, too. Fixes: arch/arm/plat-s3c24xx/dma.c: In function 's3c2410_dma_config': arch/arm/plat-s3c24xx/dma.c:1030:2: warning: 'dcon' is used uninitialized in this function Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
* ARM: S3C24xx: Fix missing struct for s3c2410_dma_chanHeiko Stuebner2011-06-031-1/+1
| | | | | | | s3c2410_dma_chan is not a type itself, so struct is required. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
* ARM / Samsung: Use struct syscore_ops for "core" power managementRafael J. Wysocki2011-04-241-42/+26
| | | | | | | | | | | | | | Replace sysdev classes and struct sys_device objects used for "core" power management by Samsung platforms with struct syscore_ops objects that are simpler. This generally reduces the code size and the kernel memory footprint. It also is necessary for removing sysdevs entirely from the kernel in the future. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Acked-by: Kukjin Kim <kgene.kim@samsung.com>
* Fix common misspellingsLucas De Marchi2011-03-311-1/+1
| | | | | | Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
* S3C: DMA: Change argument of s3c2410_dma_devconfigJassi Brar2010-05-171-1/+1
| | | | | | | | | All other functions have the channel argument of type 'unsigned int' the s3c2410_dma_devconfig also accept the same value as argument but treat it as type 'int'. Remove this anomaly by make it 'unsigned int'. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* ARM: SAMSUNG: Remove dma-plat.h to allow plat-s3c64xx to be removedBen Dooks2010-02-211-1/+1
| | | | | | | | | | | | dma-plat.h is the last file left in plat-s3c64xx, but to remove it we must also change the use of dma-plat.h by the core code and the s3c24xx implementation. Rename the s3c24xx dma-plat.h in the common plat-samsung directory as it may be used for other ports. Move the specific dma bits into the mach-s3c64xx directory and update the build as needed. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* ARM: S3C24XX: DMA: Use valid index when accessing arrayRamax Lo2009-12-081-2/+4
| | | | | | | | The DMA_CH_VALID bit used in the channel index should be masked out before using it to access the channel array. Signed-off-by: Ramax Lo <ramaxlo@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* ARM: S3C: Update Simtec copyright statements from , to -Ben Dooks2009-12-011-2/+2
| | | | | | | | | | | | | There are a number of statements of the form A, B or A, B, C where the numbers A,B,C are consecutive. Tidy these up to be A-B or A-C as appropriate and to comply better with copyright standards [1] [1] http://www.copyrightservice.co.uk/copyright/p03_copyright_notices section 4iii 'Year of publication' Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* ARM: S3C: Fix Simtec copyright statements in Documentation/S3C24XXBen Dooks2009-12-011-2/+2
| | | | | | | | | | | | | The (c) alone is not a sufficient copyright statement, nor is it a good replacement for the proper encircled &copy; symbol [1]. Add the word copyright to the apropriate places and remove the (c) symbol. [1] http://www.copyrightservice.co.uk/copyright/p03_copyright_notices section 4 'What does a notice consist of?' Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* ARM: S3C24XX: arch/arm/plat-s3c24xx: Move dereference after NULL testJulia Lawall2009-10-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | If the NULL test on buf is needed, then the dereference should be after the NULL test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // <smpl> @match exists@ expression x, E; identifier fld; @@ * x->fld ... when != \(x = E\|&x\) * x == NULL // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* Merge branch for-rmk-devel of git://aeryn.fluff.org.uk/bjdooks/linux into develRussell King2009-06-101-95/+56
|\
| * [ARM] S3C: Move DMA channel management code to plat-s3cBen Dooks2009-05-011-79/+8
| | | | | | | | | | | | | | Change the name of S3C2410_DMA_CHANNELS to S3C_DMA_CHANNELS in the process. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C24XX: DMA: Split hardware regs out of <mach/dma.h>Ben Dooks2009-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | The <mach/dma.h> is for the driver API for the DMA system and should not have anything relying on the CPU specific registers. Remove the registers to <plat/dma-regs.h> for the code that really needs to know about them. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C24XX: Remove hardware specific registers from DMABen Dooks2009-05-011-14/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | calls The S3C24XX DMA API channel configuration registers are being passed values comprised of register values which makes it hard to move the API to cover both the S3C24XX and S3C64XX. These values can be calculated from knowing which device the channel is connected to, so remove them from the two calls s3c2410_dma_config and s3c2410_dma_devconfig. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C24XX: Move plat/dma.hBen Dooks2009-05-011-1/+1
| | | | | | | | | | | | | | | | Move the platform dma.h to dma-plat.h to ensure it doen't get confused with plat/dma.h Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C24XX: Fix unused code warning in arch/arm/plat-s3c24xx/dma.cBen Dooks2009-05-151-1/+1
|/ | | | | | | | | | | Fix unused code warning in arch/arm/plat-s3c24xx/dma.c if there is no PM support enabled. The function to_dma_chan() should be marked inline so that the compiler will eliminate it without warning if it isn't used. arch/arm/plat-s3c24xx/dma.c:1239: warning: 'to_dma_chan' defined but not used Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Remove unnecessary <linux/delay.h> includesBen Dooks2008-12-181-1/+0
| | | | | | | | As per Russell King's last review comment, find and remove all unnecessary includes of <linux/delay.h> in the files that do not need them. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] Hide ISA DMA API when ISA_DMA_API is unsetRussell King2008-11-291-9/+8
| | | | | | | | | | | | | When ISA_DMA_API is unset, we're not implementing the ISA DMA API, so there's no point in publishing the prototypes via asm/dma.h, nor including the machine dependent parts of that API. This allows us to remove a lot of mach/dma.h files which don't contain any useful code. Unfortunately though, some platforms put their own private non-ISA definitions into mach/dma.h, so we leave these behind and fix the appropriate #include statments. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branch 's3c-move' into develRussell King2008-10-141-1/+1
|\ | | | | | | | | | | Conflicts: arch/arm/mach-versatile/core.c
| * [ARM] S3C24XX: Additional include movesBen Dooks2008-10-071-1/+1
| | | | | | | | | | | | Continue moving the include files into arch/arm Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] Convert asm/io.h to linux/io.hRussell King2008-09-061-1/+1
|/ | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/machRussell King2008-08-071-2/+2
| | | | | | This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Remove asm/hardware.h, use asm/arch/hardware.h insteadRussell King2008-08-071-1/+1
| | | | | | | | | Remove includes of asm/hardware.h in addition to asm/arch/hardware.h. Then, since asm/hardware.h only exists to include asm/arch/hardware.h, update everything to directly include asm/arch/hardware.h and remove asm/hardware.h. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* SL*B: drop kmem cache argument from constructorAlexey Dobriyan2008-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Kmem cache passed to constructor is only needed for constructors that are themselves multiplexeres. Nobody uses this "feature", nor does anybody uses passed kmem cache in non-trivial way, so pass only pointer to object. Non-trivial places are: arch/powerpc/mm/init_64.c arch/powerpc/mm/hugetlbpage.c This is flag day, yes. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> Acked-by: Christoph Lameter <cl@linux-foundation.org> Cc: Jon Tollefson <kniht@linux.vnet.ibm.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Cc: Matt Mackall <mpm@selenic.com> [akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c] [akpm@linux-foundation.org: fix mm/slab.c] [akpm@linux-foundation.org: fix ubifs] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [ARM] replace remaining __FUNCTION__ occurrencesHarvey Harrison2008-03-061-32/+32
| | | | | | | | __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if ↵Ben Dooks2008-01-281-1/+2
| | | | | | | | | | | | S3C2410_DMAF_AUTOSTART used. Fix the channel parameter to s3c2410_dma_ctrl() in s3c2410_dma_enqueue() if the S3C2410_DMAF_AUTOSTART is set on the channel. Spotted by Steven Ryu at Samsung. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated ↵Ben Dooks2008-01-281-1/+1
| | | | | | | | | | channel number The s3c2410_dma_request() function should return the channel allocated instead of zero for success. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4781/1: S3C24XX: DMA suspend and resume supportBen Dooks2008-01-281-1/+25
| | | | | | | | | | | | If an DMA channel was active at suspend, then ensure that it is correctly reconfigured when the system resumes. Note, the previous policy was for each driver to handle their own reconfiguration on resume. The policy has been changed to make the individual driver's job easier. Signed-off-by: Ben Dooks <ben-linux@flfuf.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RXBen Dooks2008-01-281-4/+12
| | | | | | | | | | | | The current S3C24XX DMA code does not allow for an peripheral that has one channel for RX and another for TX. This patch adds a per-cpu dma operation to select the transmit or receive channel, and adds support to the S3C2412 for the seperate DMA channels for TX and RX. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Driver core: change sysdev classes to use dynamic kobject namesKay Sievers2008-01-241-1/+1
| | | | | | | | | | All kobjects require a dynamically allocated name now. We no longer need to keep track if the name is statically assigned, we can just unconditionally free() all kobject names on cleanup. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Slab API: remove useless ctor parameter and reorder parametersChristoph Lameter2007-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | | Slab constructors currently have a flags parameter that is never used. And the order of the arguments is opposite to other slab functions. The object pointer is placed before the kmem_cache pointer. Convert ctor(void *object, struct kmem_cache *s, unsigned long flags) to ctor(struct kmem_cache *s, void *object) throughout the kernel [akpm@linux-foundation.org: coupla fixes] Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [ARM] 4566/1: s3c24xx: fix dma functions section mismatchKrzysztof Helt2007-10-121-1/+1
| | | | | | | | This patch removes section mismatches related to DMA functions. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Acked-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* mm: Remove slab destructors from kmem_cache_create().Paul Mundt2007-07-201-1/+1
| | | | | | | | | | | | | | Slab destructors were no longer supported after Christoph's c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been BUGs for both slab and slub, and slob never supported them either. This rips out support for the dtor pointer from kmem_cache_create() completely and fixes up every single callsite in the kernel (there were about 224, not including the slab allocator definitions themselves, or the documentation references). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* [ARM] spelling fixesSimon Arlott2007-05-201-1/+1
| | | | | | | Spelling fixes in arch/arm/. Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4326/1: S3C24XX: fix sparse errors in DMA codeBen Dooks2007-04-211-7/+6
| | | | | | | | | | | | | | | | Fix the following sparse errors in arch/arm/plat-s3c24xx/dma.c: dma.c:47:30: warning: symbol 'dma_sel' was not declared. Should it be static? dma.c:883:6: warning: symbol 's3c2410_dma_waitforstop' was not declared. Should it be static? dma.c:961:1: warning: symbol 's3c2410_dma_started' was not declared. Should it be static? dma.c:1283:12: warning: symbol 's3c24xx_dma_sysclass_init' was not declared. Should it be static? dma.c:1295:12: warning: symbol 's3c24xx_dma_sysdev_register' was not declared. Should it be static? dma.c:1399:25: warning: symbol 's3c2410_dma_map_channel' was not declared. Should it be static? The patch makes all the relevant functions static. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4220/1: S3C24XX: DMA system initialised from sysdevBen Dooks2007-02-171-24/+53
| | | | | | | | | | | | | | | This patch gets the DMA system for the S3C24XX ready for the S3C2443, which requires 6 dma channels at a different stride, and different base IRQ. The DMA system is now initialised from the same drivers which apply the DMA mappings, as well as removing the DMA sysdev intialisation out of the main init code (which is now being called from a sysdev probe, so cannot add a new sysdev) Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4217/1: S3C24XX: remove the dma channel show at startupBen Dooks2007-02-171-14/+0
| | | | | | | | | | Remove the DMA code's channel printing at startup as this is firstly a waste of console output on initialsaion, and secondly is going to be obsolete once the S3C2443 DMA code has been merged Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4177/1: S3C24XX: Add DMA channel allocation orderBen Dooks2007-02-141-3/+46
| | | | | | | | | | | | | Allow the CPU code, and any board specific initialisation code to change the allocation order of the DMA channels, or stop a peripheral allocating any DMA at-all. This is due to the scarce mapping of DMA channels on some earlier S3C24XX cpus, where the selection changes depending on the channel in use. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4157/2: S3C24XX: move arch/arch/mach-s3c2410 into cpu componentsBen Dooks2007-02-111-0/+1441
The following patch and script moves the arch/arm/mach-s3c2410 directory into arch/arm/plat-s3c24xx for the generic core code and inti arch/arm/mach-s3c{cpu} for the cpu/machine support files Include directory include/asm-arm/plat-s3c24xx is added for the core include files. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
OpenPOWER on IntegriCloud