fix a layering violation in videobuf2 and improve dma_map_resource v2

From: Christoph Hellwig
Date: Fri Jan 18 2019 - 06:37:53 EST

Hi all,

this series fixes a rather gross layering violation in videobuf2, which
pokes into arm DMA mapping internals to get a DMA address for memory that
does not have a page structure, and to do so fixes up the dma_map_resource
implementation to not provide a somewhat dangerous default and improve
the error handling.

Changes since v1:
- don't apply bus offsets in dma_direct_map_resource