DMA.txt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. S3C2410 DMA
  2. ===========
  3. Introduction
  4. ------------
  5. The kernel provides an interface to manage DMA transfers
  6. using the DMA channels in the CPU, so that the central
  7. duty of managing channel mappings, and programming the
  8. channel generators is in one place.
  9. DMA Channel Ordering
  10. --------------------
  11. Many of the range do not have connections for the DMA
  12. channels to all sources, which means that some devices
  13. have a restricted number of channels that can be used.
  14. To allow flexibility for each CPU type and board, the
  15. DMA code can be given a DMA ordering structure which
  16. allows the order of channel search to be specified, as
  17. well as allowing the prohibition of certain claims.
  18. struct s3c24xx_dma_order has a list of channels, and
  19. each channel within has a slot for a list of DMA
  20. channel numbers. The slots are searched in order for
  21. the presence of a DMA channel number with DMA_CH_VALID
  22. or-ed in.
  23. If the order has the flag DMA_CH_NEVER set, then after
  24. checking the channel list, the system will return no
  25. found channel, thus denying the request.
  26. A board support file can call s3c24xx_dma_order_set()
  27. to register a complete ordering set. The routine will
  28. copy the data, so the original can be discarded with
  29. __initdata.
  30. Authour
  31. -------
  32. Ben Dooks,
  33. Copyright (c) 2007 Ben Dooks, Simtec Electronics
  34. Licensed under the GPL v2