On 11/28/19 8:51 AM, hch@xxxxxx wrote: > On Wed, Nov 27, 2019 at 06:22:57PM +0000, Thomas Hellstrom wrote: >>> bool dma_addressing_limited(struct device *dev) >>> { >>> + if (force_dma_unencrypted(dev)) >>> + return true; >>> return min_not_zero(dma_get_mask(dev), dev->bus_dma_limit) < >>> dma_get_required_mask(dev); >>> } >> Any chance to have the case >> >> (swiotlb_force == SWIOTLB_FORCE) >> >> also included? > We have a hard time handling that in generic code. Do we have any > good use case for SWIOTLB_FORCE not that we have force_dma_unencrypted? > I'd love to be able to get rid of it.. > IIRC the justification for it is debugging. Drivers that don't do syncing correctly or have incorrect assumptions of initialization of DMA memory will not work properly when SWIOTLB is forced. We recently found a vmw_pvscsi device flaw that way... /Thomas