Hi,
I believe the reason for these api is because some arch changed to can
not do DMA on stack recently. Maybe we should have dma_mapping to bounce
It is not only arch dependent. You can enable virtual stacks in Kconfig,
too.
buffer like it bounce un-dma-able address for those arch? or we should
have a common driver API for this, not just for i2c?
I gave a talk about this problem recently and everyone in the room
agreed the best thing would be to have annotated buffers which can be
used kernel-wide. Someone mentioned DMABUF could be a candidate, but I
haven't looked further into that.
So, yes, a bigger solution is needed but I don't see that coming soon,
so I implemented the I2C part for better safety now. I'd be happy to
remove all that again once we have the annotated buffers. But it is an
effort...
Regards,
Wolfram