Age | Commit message (Collapse) | Author | Files | Lines |
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
Signed-off-by: Shawn Guo <[email protected]>
Acked-by: Uwe Kleine-König <[email protected]>
Signed-off-by: Dan Williams <[email protected]>
|
|
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]>
|
|
|
|
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
...
|
|
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]>
|
|
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]>
|
|
* 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
|
|
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
|
|
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()
|
|
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
...
|
|
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
|