aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-04-04dmaengine: omap-dma: move register read/writes into omap-dma.cRussell King4-15/+105
Export the DMA register information from the SoC specific data, such that we can access the registers directly in omap-dma.c, mapping the register region ourselves as well. Rather than calculating the DMA channel register in its entirety for each access, we pre-calculate an offset base address for the allocated DMA channel and then just use the appropriate register offset. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04ARM: omap: dma: get rid of 'p' allocation and clean upRussell King2-43/+27
The omap_system_dma_plat_info structure is only seven words, it's not worth the expense of kmalloc()'ing backing store for this only to release it later. Note that platform_device_add_data() copies the data anyway. Clean up the initialisation of this structure - we don't even need code to initialise most of this structure. Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04ARM: omap: move dma channel allocation into plat-omap codeRussell King4-26/+10
This really needs to be there, because otherwise the plat-omap code can kfree() this data structure, and then re-use the pointer later. Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04ARM: omap: dma: get rid of errata globalRussell King2-5/+4
There's no need for this to be a global variable; move it into the errata configuration function instead. Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04ARM: omap: clean up DMA register accessesRussell King3-114/+115
We can do much better with this by using a structure to describe each register, rather than code. Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04ARM: omap: remove almost-const variablesRussell King2-19/+9
dma_stride and dma_common_ch_start are only ever initialised to one known value at initialisation, and are private to each of these files. There's no point these being variables at all. Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04ARM: omap: remove references to disable_irq_lchRussell King3-12/+0
The disable_irq_lch method is never actually used, so there's not much point it existing; remove it. Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: cleanup errata 3.3 handlingRussell King1-23/+29
Provide a function to read the CSAC/CDAC register, working around the OMAP 3.2/3.3 erratum (which requires two reads of the register if the first returned zero. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: provide register read/write functionsRussell King1-41/+61
Provide a pair of channel register accessors, and a pair of global accessors for non-channel specific registers. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: use cached CCR value when enabling DMARussell King1-4/+2
We don't need to read-modify-write the CCR register; we already know what value it should contain at this point. Use the cached CCR value when setting the enable bit. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: move barrier to omap_dma_start_desc()Russell King1-1/+7
We don't need to issue a barrier for every segment of a DMA transfer; doing this just once per descriptor will do. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: move clnk_ctrl setting to preparation functionsRussell King1-14/+9
Move the clnk_ctrl setup to the preparation functions, saving its value in the omap_desc. This only needs to be set once per descriptor, not for each segment, so set it in omap_dma_start_desc() rather than omap_dma_start(). Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: improve efficiency loading C.SA/C.EI/C.FI registersRussell King1-12/+20
The only thing which changes is which registers are written, so put this in local variables instead. This results in smaller code. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: consolidate clearing channel status registerRussell King1-10/+10
Consolidate clearing of the channel status register, rather than open coding the same functionality in two places. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: move CCR buffering disable errata out of the fast pathRussell King1-2/+5
Since we record the CCR register in the dma transaction, we can move the processing of the iframe buffering errata out of the omap_dma_start(). Move it to the preparation functions. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: provide register definitionsRussell King1-54/+117
Provide our own set of more complete register definitions; this allows us to get rid of the meaningless 1 << n constants scattered throughout this code. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: consolidate setup of CCRRussell King1-86/+61
Consolidate the setup of the channel control register. Prepare the basic value in the preparation of the DMA descriptor, and write it into the register upon descriptor execution. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: consolidate setup of CSDPRussell King1-36/+28
Consolidate the setup of the channel source destination parameters register. This way, we calculate the required CSDP value when we setup a transfer descriptor, and only write it to the device registers once when we start the descriptor. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: move reading of dma position to omap-dma.cRussell King1-2/+64
Read the current DMA position from the hardware directly rather than via arch/arm/plat-omap/dma.c. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: control start/stop directlyRussell King1-10/+141
Program the non-cyclic mode DMA start/stop directly, rather than via arch/arm/plat-omap/dma.c. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: consolidate writes to DMA registersRussell King1-75/+48
There's no need to keep writing registers which don't change value in omap_dma_start_sg(). Move this into omap_dma_start_desc() and merge the register updates together. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: program hardware directlyRussell King2-18/+130
Program the transfer parameters directly into the hardware, rather than using the functions in arch/arm/plat-omap/dma.c. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: provide a hook to get the underlying DMA platform opsRussell King3-0/+15
Provide and use a hook to obtain the underlying DMA platform operations so that omap-dma.c can access the hardware more directly without involving the legacy DMA driver. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-04dmaengine: omap-dma: use devm_kzalloc() to allocate omap_dmadev.Russell King1-2/+1
Use devm_kzalloc() to allocate omap_dmadev() so that we don't need complex error cleanup paths. Acked-by: Tony Lindgren <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Russell King <[email protected]>
2014-04-03Merge branch 'akpm' (incoming from Andrew)Linus Torvalds276-3074/+5246
Merge first patch-bomb from Andrew Morton: - Various misc bits - kmemleak fixes - small befs, codafs, cifs, efs, freexxfs, hfsplus, minixfs, reiserfs things - fanotify - I appear to have become SuperH maintainer - ocfs2 updates - direct-io tweaks - a bit of the MM queue - printk updates - MAINTAINERS maintenance - some backlight things - lib/ updates - checkpatch updates - the rtc queue - nilfs2 updates - Small Documentation/ updates * emailed patches from Andrew Morton <[email protected]>: (237 commits) Documentation/SubmittingPatches: remove references to patch-scripts Documentation/SubmittingPatches: update some dead URLs Documentation/filesystems/ntfs.txt: remove changelog reference Documentation/kmemleak.txt: updates fs/reiserfs/super.c: add __init to init_inodecache fs/reiserfs: move prototype declaration to header file fs/hfsplus/attributes.c: add __init to hfsplus_create_attr_tree_cache() fs/hfsplus/extents.c: fix concurrent acess of alloc_blocks fs/hfsplus/extents.c: remove unused variable in hfsplus_get_block nilfs2: update project's web site in nilfs2.txt nilfs2: update MAINTAINERS file entries fix nilfs2: verify metadata sizes read from disk nilfs2: add FITRIM ioctl support for nilfs2 nilfs2: add nilfs_sufile_trim_fs to trim clean segs nilfs2: implementation of NILFS_IOCTL_SET_SUINFO ioctl nilfs2: add nilfs_sufile_set_suinfo to update segment usage nilfs2: add struct nilfs_suinfo_update and flags nilfs2: update MAINTAINERS file entries fs/coda/inode.c: add __init to init_inodecache() BEFS: logging cleanup ...
2014-04-03Documentation/SubmittingPatches: remove references to patch-scriptsMitchel Humpherys2-9/+0
The link to the tarball for Andrew Morton's patch scripts is dead. These scripts don't seem to be used for kernel development these days anyways so just rip out all references to them. Signed-off-by: Mitchel Humpherys <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03Documentation/SubmittingPatches: update some dead URLsMitchel Humpherys3-6/+6
The links to "The perfect patch" and "NO!!!! No more huge patch bombs..." have gone stale. Update them to some working locations. Signed-off-by: Mitchel Humpherys <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03Documentation/filesystems/ntfs.txt: remove changelog referenceFabian Frederick1-2/+0
File was removed in commit 7c821a179f91 ("Remove fs/ntfs/ChangeLog"). Signed-off-by: Fabian Frederick <[email protected]> Acked-by: Anton Altaparmakov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03Documentation/kmemleak.txt: updatesWang YanQing1-5/+3
Update Documentatin/kmemleak.txt to reflect the following changes: Commit b69ec42b1b19 ("Kconfig: clean up the long arch list for the DEBUG_KMEMLEAK config option") made it so that we can't check supported architectures by read Kconfig.debug. Commit 85d3a316c71 ("kmemleak: use rbtree instead of prio tree") converted kmemleak to use rbtree instead of prio tree. Signed-off-by: Wang YanQing <[email protected]> Cc: Catalin Marinas <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03fs/reiserfs/super.c: add __init to init_inodecacheFabian Frederick1-1/+1
init_inodecache is only called by __init init_reiserfs_fs. Signed-off-by: Fabian Frederick <[email protected]> Acked-by: Jeff Mahoney <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03fs/reiserfs: move prototype declaration to header fileRashika Kheria2-1/+1
Move prototype declaration to header file reiserfs/reiserfs.h from reiserfs/super.c because they are used by more than one file. This eliminates the following warning in reiserfs/bitmap.c: fs/reiserfs/bitmap.c:647:6: warning: no previous prototype for `show_alloc_options' [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <[email protected]> Reviewed-by: Josh Triplett <[email protected]> Acked-by: Jeff Mahoney <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03fs/hfsplus/attributes.c: add __init to hfsplus_create_attr_tree_cache()Fabian Frederick2-2/+2
hfsplus_create_attr_tree_cache is only called by __init init_hfsplus_fs Signed-off-by: Fabian Frederick <[email protected]> Reviewed-by: Vyacheslav Dubeyko <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03fs/hfsplus/extents.c: fix concurrent acess of alloc_blocksSougata Santra1-5/+9
Concurrent access to alloc_blocks in hfsplus_inode_info() is protected by extents_lock mutex. This patch fixes two instances where alloc_blocks modification was not protected with this lock. This fixes possible allocation bitmap corruption in race conditions while extending and truncating files. [[email protected]: take extents_lock before taking a copy of ->alloc_blocks] [[email protected]: remove now-unused label `out'] Signed-off-by: Sougata Santra <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Cc: Vyacheslav Dubeyko <[email protected]> Cc: Alexey Khoroshilov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03fs/hfsplus/extents.c: remove unused variable in hfsplus_get_blockSougata Santra1-2/+0
The variable is defined but not used. Generally it compiles away with -O2 optimization hence it does not show a warning. Signed-off-by: Sougata Santra <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03nilfs2: update project's web site in nilfs2.txtRyusuke Konishi1-3/+2
Project's web site was moved to nilfs.sourceforge.net from www.nilfs.org. This updates the site information in Documentation/filesystems/nilfs2.txt with the new location. Signed-off-by: Ryusuke Konishi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03nilfs2: update MAINTAINERS file entries fixRyusuke Konishi1-1/+1
Also, web-page entry is updated according to relocation of project's web site. Signed-off-by: Ryusuke Konishi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03nilfs2: verify metadata sizes read from diskRyusuke Konishi5-0/+54
Add code to check sizes of on-disk data of metadata files such as inode size, segment usage size, DAT entry size, and checkpoint size. Although these sizes are read from disk, the current implementation doesn't check them. If these sizes are not sane on disk, it can cause out-of-range access to metadata or memory access overrun on metadata block buffers due to overflow in sundry calculations. Both lower limit and upper limit of metadata sizes are verified to prevent these issues. Signed-off-by: Ryusuke Konishi <[email protected]> Cc: Andreas Rohner <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03nilfs2: add FITRIM ioctl support for nilfs2Andreas Rohner1-0/+45
Add support for the FITRIM ioctl, which enables user space tools to issue TRIM/DISCARD requests to the underlying device. Every clean segment within the specified range will be discarded. Signed-off-by: Andreas Rohner <[email protected]> Signed-off-by: Ryusuke Konishi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03nilfs2: add nilfs_sufile_trim_fs to trim clean segsAndreas Rohner2-0/+153
Add nilfs_sufile_trim_fs(), which takes an fstrim_range structure and calls blkdev_issue_discard for every clean segment in the specified range. The range is truncated to file system block boundaries. Signed-off-by: Andreas Rohner <[email protected]> Signed-off-by: Ryusuke Konishi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03nilfs2: implementation of NILFS_IOCTL_SET_SUINFO ioctlAndreas Rohner3-0/+101
With this ioctl the segment usage entries in the SUFILE can be updated from userspace. This is useful, because it allows the userspace GC to modify and update segment usage entries for specific segments, which enables it to avoid unnecessary write operations. If a segment needs to be cleaned, but there is no or very little reclaimable space in it, the cleaning operation basically degrades to a useless moving operation. In the end the only thing that changes is the location of the data and a timestamp in the segment usage information. With this ioctl the GC can skip the cleaning and update the segment usage entries directly instead. This is basically a shortcut to cleaning the segment. It is still necessary to read the segment summary information, but the writing of the live blocks can be skipped if it's not worth it. [[email protected]: add description of NILFS_IOCTL_SET_SUINFO ioctl] Signed-off-by: Andreas Rohner <[email protected]> Signed-off-by: Ryusuke Konishi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03nilfs2: add nilfs_sufile_set_suinfo to update segment usageAndreas Rohner2-0/+132
Introduce nilfs_sufile_set_suinfo(), which expects an array of nilfs_suinfo_update structures and updates the segment usage information accordingly. This is basically a helper function for the newly introduced NILFS_IOCTL_SET_SUINFO ioctl. [[email protected]: use put_bh() instead of brelse() because we know bh != NULL] Signed-off-by: Andreas Rohner <[email protected]> Signed-off-by: Ryusuke Konishi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03nilfs2: add struct nilfs_suinfo_update and flagsAndreas Rohner1-0/+42
Add the nilfs_suinfo_update structure, which contains the information needed to update one segment usage entry. The flags specify, which fields need to be updated. Signed-off-by: Andreas Rohner <[email protected]> Signed-off-by: Ryusuke Konishi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03nilfs2: update MAINTAINERS file entriesRyusuke Konishi1-2/+2
Update git repository entry of nilfs2 file system and maintainer's email description. Signed-off-by: Ryusuke Konishi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03fs/coda/inode.c: add __init to init_inodecache()Fabian Frederick2-2/+2
init_inodecache is only called by __init init_coda Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03BEFS: logging cleanupFabian Frederick8-204/+195
Summary: - all printk(KERN_foo converted to pr_foo() - add pr_fmt and remove redundant prefixes - convert befs_() to va_format (based on patch by Joe Perches) - remove non standard %Lu - use __func__ for all debugging [[email protected]: fix printk warnings, reported by Fengguang] Signed-off-by: Fabian Frederick <[email protected]> Cc: Joe Perches <[email protected]> Cc: Fengguang Wu <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03fs/befs/linuxvfs.c: add __init to befs_init_inodecache()Fabian Frederick1-2/+1
init_inodecache is only called by __init init_befs_fs. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03befs: replace kmalloc/memset 0 by kzallocFabian Frederick1-2/+1
Use kzalloc for clean fs_info allocation like other filesystems. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03fs/minix/inode.c: add __init to init_inodecache()Fabian Frederick1-1/+1
init_inodecache is only called by __init init_minix_fs. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03rtc: treewide: remove excess rtc_device validationAlexander Shiyan4-8/+5
The patch "rtc: verify a critical argument to rtc_update_irq() before using it" introduces validation for rtc_device in the RTC core, so there are no need to check this argument for rtc_update_irq() from the drivers. This patch removes such check for the existing rtc_update_irq() users. Signed-off-by: Alexander Shiyan <[email protected]> Cc: Alessandro Zummo <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-04-03drivers/rtc/rtc-s3c.c: remove NO_IRQ macroPankaj Dubey1-2/+2
NO_IRQ may be defined as '(unsigned int) -1' in some architectures (arm, sh ...), and either may not be defined in some architectures (arm64) which can enable RTC_DRV_S3C. Also since platform_get_irq returns err-code in case of any error, we do not need to intialize s3c_rtc_alarmno and s3c_rtc_tickno. Signed-off-by: Pankaj Dubey <[email protected]> Cc: Alessandro Zummo <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>