On Tue, Apr 08, 2014 at 12:49:49PM +0100, Catalin Marinas wrote: > On Tue, Apr 08, 2014 at 01:35:47AM +0100, Michael Bohan wrote: > > How should we handle Device Memory with copy_from_user / copy_to_user? > > Should we follow the same scheme and create > > copy_from_user_io / copy_to_user_io, or rather enforce that the stock > > routines handle alignment? > > We have generic copy_from_user_toio() and copy_to_user_fromio(). Are > these what you need? As with the memcpy_(to|from)io, they can be further > optimised. It seems these existing routines are in sound. Were you thinking the right approach would be to move them out of sound and make them per-arch defined? What about the other two use cases: copy_from_user_fromio and copy_to_user_toio? Are those reasonable to add? These two APIs would cover the use case I had in mind. Then what about the strange but possible use case where both the source and destination pointers are iomem? This same question applies for memcpy_fromio / memcpy_toio as well. The implementations of copy_from_user_toio and copy_to_user_fromio are currently doing a second copy, so that seems bad for performance. We'd probably want to improve these as well if others are in agreement. Thanks, Mike -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html