[RFC PATCH 0/4] i2c: document DMA handling and add helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Wolfram Sang <wsa@xxxxxxxxxxxxx>

So, after revisiting old mail threads and taking part in a similar discussion
on the USB list, here is an RFC on what I cooked together regarding DMA and I2C
in the Linux world.

I documented my reasoning with patch 2 which mentions a helper function which
gets added with patch 1. Patch 3 shows a super simple example with the
i2c-sh_mobile driver. And patch 4 shows a super complicated example with the
i2c-rcar driver. But it is nice to have such a corner case already in the
beginning of development.

Please let me know what you think. What I surely plan to add until next time is
to fix two central places in the I2C core where the data buffer for block
transfers is currently put on the stack.

A branch can be found here:

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/topic/i2c-core-dma

And big kudos to Renesas Electronics for funding this work, thank you very much!

Regards,

   Wolfram


Wolfram Sang (4):
  i2c: add helper to determine if DMA is favoured
  i2c: add docs to clarify DMA handling
  i2c: sh_mobile: use helper to decide if DMA is used
  i2c: rcar: check for DMA-capable buffers

 Documentation/i2c/DMA-considerations | 28 ++++++++++++++++++++++++++++
 drivers/i2c/busses/i2c-rcar.c        | 18 +++++++++++++-----
 drivers/i2c/busses/i2c-sh_mobile.c   |  2 +-
 include/linux/i2c.h                  | 29 +++++++++++++++++++++++++++++
 4 files changed, 71 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/i2c/DMA-considerations

-- 
2.11.0




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux