aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-01-30dma40: cyclic xfer supportRabin Vincent3-49/+167
Support cyclic transfers, which are useful for ALSA drivers. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: stop ongoing transfers in DMA_TERMINATE_ALLRabin Vincent1-13/+21
The current implementation of DMA_TERMINATE_ALL leaves ongoing transfers running. Fix it. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: fix DMA_SG capability and channelsRabin Vincent1-37/+34
The DMA_SG cap is enabled on the wrong channel, and the pointers are repeatedly set incorrectly. Fix it and combine the ops settings to a common function. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: handle failure to allocate first LCLARabin Vincent1-0/+5
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: extract lcla code into separate functionRabin Vincent1-42/+50
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: use flags to reduce parameter countRabin Vincent2-37/+52
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: make d40_log_buf_to_lli staticRabin Vincent2-8/+1
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: unify src/dst addr checkRabin Vincent1-13/+16
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: pass the info pointer all the way to reduce argument countRabin Vincent3-33/+22
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: unify d40_log_sg_to_lli funcs for mem and slaveRabin Vincent3-85/+29
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: combine duplicated code in log_sg_to_devRabin Vincent1-29/+23
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: move lli_load to main source fileRabin Vincent3-35/+18
These register writes are better placed in the main source file rather than ll.c. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: combine mem and slave prep_sg functionsRabin Vincent1-94/+62
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: remove export of stedma40_memcpy_sgRabin Vincent2-20/+1
The dmaengine framework has the API for this now. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: combine mem and slave sg-to-lli functionsRabin Vincent1-110/+84
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: remove duplicated dev addr codeRabin Vincent1-36/+30
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: combine duplicated d40_pool_lli_alloc() callsRabin Vincent1-24/+14
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: combine desc init functionsRabin Vincent1-44/+32
The desc init code can be shared between the mem and slave prep routines. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: implement prep_memcpy as a wrapper around memcpy_sgRabin Vincent3-110/+10
To simplify the code. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: remove unnecessary castsRabin Vincent1-4/+2
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: fix DMA API usage for LLIsRabin Vincent1-17/+41
Map and unmap the LLIs and use dma_sync_single_for_device() appropriately instead of mapping and never unmapping them. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: fix DMA API usage for LCLARabin Vincent1-8/+25
Map the buffer once and use dma_sync*() appropriately instead of mapping the buffer over and over without unmapping it. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: use sg_dma_address() instead of sg_phys()Rabin Vincent1-4/+4
The address to use for DMA should be taken from sg_dma_address() and not sg_phys(). Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: remove unnecessary ALIGN()sRabin Vincent1-5/+3
ALIGN(x * y, y) == x * y ALIGN(aligned + x * y, y) == aligned + x * y Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: allow realtime and priority for event linesRabin Vincent3-0/+53
DB8500v2's DMA40 (revision 3) allows setting event lines as high priority and real time. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: fix comment to refer to SOCs rather than boardsRabin Vincent1-2/+3
And add DB8500v2 information. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: use helpers for error functionsRabin Vincent1-127/+74
Almost every use of dev_err in this driver prints the function name. Abstract out wrappers to help with this and reduce code duplication. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: use helpers for channel type checkRabin Vincent1-22/+32
The somewhat confusing check d40c->log_num == D40_PHY_CHAN and its variants are used in several places to check if a channel is logical or physical. Use appropriately named helpers to do this to make the code more readable. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: use helper for channel registers baseRabin Vincent1-44/+30
The register offset computation for accessing channel registers is copy/pasted in several places. Create a helper function to do it. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: remove "hardware link with previous jobs" codeRabin Vincent1-107/+6
This link in hardware with previous jobs code is: - unused, no clients using or requiring this feature - incomplete, being implemented only for physical channels - broken, only working to perform one link Remove it. This also allows us to get rid of the channel pause in the submit_tx() routine. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: ensure event lines get enabledRabin Vincent1-17/+46
The controller sometimes fails to register the enable of the event line when both src and dst event lines are used on the same logical channel. Implement the recommended software workaround, which is to retry the write until it works. Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30dma40: make init function staticRabin Vincent1-1/+1
Acked-by: Per Forlin <[email protected]> Acked-by: Jonas Aaberg <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30DMA: PL08x: fix channel pausing to timeout rather than lockupRussell King - ARM Linux1-6/+15
If a transfer is initiated from memory to a peripheral, then data is fetched and the channel is marked busy. This busy status persists until the HALT bit is set and the queued data has been transfered to the peripheral. Waiting indefinitely after setting the HALT bit results in system lockups. Timeout this operation, and print an error when this happens. Signed-off-by: Russell King <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-30DMA: PL08x: fix infinite wait when terminating transfersRussell King - ARM Linux1-14/+18
If we try to pause a channel when terminating a transfer, we could end up spinning for it to become inactive indefinitely, and can result in an uninterruptible wait requiring a reset to recover from. Terminating a transfer is supposed to take effect immediately, but may result in data loss. To make this clear, rename the function to pl08x_terminate_phy_chan(). Also, make sure it is always consistently called - with the spinlock held and IRQs disabled, and ensure that the TC and ERR interrupt status is always cleared. Signed-off-by: Russell King <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-29avr32: at32ap700x: specify DMA src and dst mastersJamie Iles1-0/+6
Now that the dw_dmac DMA driver supports configurable source and destination masters we need to specify which ones to use. This was previously hardcoded to 0 and 1 respectively in the driver. Acked-by: Hans-Christian Egtvedt <[email protected]> Signed-off-by: Jamie Iles <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-29dmaengine/dw_dmac: provide a mechanism to indicate private devicesJamie Iles2-0/+5
Some platforms (e.g. Picochip PC3XX) have multiple DMA controllers where some may be used for slave transfers and others for general purpose memcpy type transfers. Add a .is_private boolean to the platform data structure so that controllers can be marked as private so that the DMA_PRIVATE capability will be set for that controller. Signed-off-by: Jamie Iles <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-29dmaengine/dw_dmac: allow src/dst masters to be configured at runtimeJamie Iles2-14/+19
Some platforms have flexible mastering capabilities and this needs to be selected at runtime. If the platform has specified private data in the form of the dw_dma_slave then fetch the source and destination masters from here. If this isn't present, default to the previous of 0 and 1. v2: cleanup whitespace Acked-by: Hans-Christian Egtvedt <[email protected]> Signed-off-by: Jamie Iles <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-29dmaengine/dw_dmac: don't scan descriptors if no xfers in progressJamie Iles1-0/+3
Some hardware (picoChip picoXCell in particular) sometimes has the block transfer complete bit being set for a channel after the whole transfer has completed. If we don't have any transfers in the active list then don't bother to scan the descriptors. This often happens in normal operation and doesn't require the channel to be reset. v2: cleanup whitespace Signed-off-by: Jamie Iles <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-29dmaengine: imx-sdma: fix inconsistent naming in sdma_assign_cookie()Shawn Guo1-4/+4
Variable name sdma and sdmac are consistently used as the pointer to sdma_engine and sdma_channel respectively throughout the file. The patch fixes the inconsistency seen in function sdma_assign_cookie(). Signed-off-by: Shawn Guo <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-29dmaengine: imx-sdma: propagate error in sdma_probe() instead of returning 0Shawn Guo1-1/+1
Signed-off-by: Shawn Guo <[email protected]> Acked-by: Uwe Kleine-König <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-29dmaengine i.MX SDMA: Fix firmware loadingSascha Hauer1-1/+1
When loading the microcode to the SDMA engine we have to use the ram_code_start_addr found in the firmware image. The copy in the sdma engine is not initialized correctly. This is broken since: 5b28aa3 dmaengine i.MX SDMA: Allow to run without firmware Signed-off-by: Sascha Hauer <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2011-01-21Linux 2.6.38-rc2Linus Torvalds1-1/+1
2011-01-21Merge branch 'media_fixes' of ↵Linus Torvalds133-2661/+2442
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'media_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (101 commits) [media] staging/lirc: fix mem leaks and ptr err usage [media] hdpvr: reduce latency of i2c read/write w/recycled buffer [media] hdpvr: enable IR part [media] rc/mceusb: timeout should be in ns, not us [media] v4l2-device: fix 'use-after-freed' oops [media] v4l2-dev: don't memset video_device.dev [media] zoran: use video_device_alloc instead of kmalloc [media] w9966: zero device state after a detach [media] v4l: Fix a use-before-set in the control framework [media] v4l: Include linux/videodev2.h in media/v4l2-ctrls.h [media] DocBook/v4l: update V4L2 revision and update copyright years [media] DocBook/v4l: fix validation error in dev-rds.xml [media] v4l2-ctrls: queryctrl shouldn't attempt to replace V4L2_CID_PRIVATE_BASE IDs [media] v4l2-ctrls: fix missing 'read-only' check [media] pvrusb2: Provide more information about IR units to lirc_zilog and ir-kbd-i2c [media] ir-kbd-i2c: Add back defaults setting for Zilog Z8's at addr 0x71 [media] lirc_zilog: Update TODO.lirc_zilog [media] lirc_zilog: Add Andy Walls to copyright notice and authors list [media] lirc_zilog: Remove useless struct i2c_driver.command function [media] lirc_zilog: Remove unneeded tests for existence of the IR Tx function ...
2011-01-21KEYS: Fix up comments in key management codeDavid Howells11-366/+777
Fix up comments in the key management code. No functional changes. Signed-off-by: David Howells <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-01-21KEYS: Do some style cleanup in the key management code.David Howells10-248/+80
Do a bit of a style clean up in the key management code. No functional changes. Done using: perl -p -i -e 's!^/[*]*/\n!!' security/keys/*.c perl -p -i -e 's!} /[*] end [a-z0-9_]*[(][)] [*]/\n!}\n!' security/keys/*.c sed -i -s -e ": next" -e N -e 's/^\n[}]$/}/' -e t -e P -e 's/^.*\n//' -e "b next" security/keys/*.c To remove /*****/ lines, remove comments on the closing brace of a function to name the function and remove blank lines before the closing brace of a function. Signed-off-by: David Howells <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-01-21Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6Linus Torvalds14-240/+405
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: fix up CIFSSMBEcho for unaligned access cifs: fix unaligned accesses in cifsConvertToUCS cifs: clean up unaligned accesses in cifs_unicode.c cifs: fix unaligned access in check2ndT2 and coalesce_t2 cifs: clean up unaligned accesses in validate_t2 cifs: use get/put_unaligned functions to access ByteCount cifs: move time field in cifsInodeInfo cifs: TCP_Server_Info diet CIFS: Implement cifs_strict_readv (try #4) CIFS: Implement cifs_file_strict_mmap (try #2) CIFS: Implement cifs_strict_fsync CIFS: Make cifsFileInfo_put work with strict cache mode
2011-01-21Merge branch 'fixes-2.6.38' of ↵Linus Torvalds1-4/+4
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: x86,percpu: Move out of place 64 bit ops into X86_64 section
2011-01-21Merge branch 'fixes-2.6.38' of ↵Linus Torvalds2-3/+20
git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq * 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn't a noop workqueue: relax lockdep annotation on flush_work()
2011-01-21Merge branch 'irq-cleanup-for-linus' of ↵Linus Torvalds35-1048/+428
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits) um: Use generic irq Kconfig tile: Use generic irq Kconfig sparc: Use generic irq Kconfig score: Use generic irq Kconfig powerpc: Use generic irq Kconfig parisc: Use generic irq Kconfig mn10300: Use generic irq Kconfig microblaze: Use generic irq Kconfig m68knommu: Use generic irq Kconfig ia64: Use generic irq Kconfig frv: Use generic irq Kconfig blackfin: Use generic irq Kconfig alpha: Use generic irq Kconfig genirq: Remove __do_IRQ m32r: Convert to generic irq Kconfig m32r: Convert usrv platform irq handling m32r: Convert opsput_lcdpld irq chip m32r: Convert opsput lanpld irq chip m32r: Convert opsput pld irq chip m32r: Convert opsput irq chip ...
2011-01-21Merge branch 'stable/bug-fixes-rc1' of ↵Linus Torvalds2-2/+20
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/bug-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen: p2m: correctly initialize partial p2m leaf xen: fix non-ANSI function warning in irq.c