On Mon, 21 Jan 2019 at 16:07, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > > +#include <linux/dma-noncoherent.h> > > This header is not for usage in device drivers, but purely for > dma-mapping implementations! > Is that documented anywhere? > > +static inline bool drm_device_can_wc_memory(struct drm_device *ddev) > > { > > + if (IS_ENABLED(CONFIG_PPC)) > > + return IS_ENABLED(CONFIG_NOT_COHERENT_CACHE); > > + else if (IS_ENABLED(CONFIG_MIPS)) > > + return !IS_ENABLED(CONFIG_CPU_LOONGSON3); > > + else if (IS_ENABLED(CONFIG_X86)) > > + return true; > > + > > + return !dev_is_dma_coherent(ddev->dev); > > And even if something like this was valid to do, it would have to be > a core function with an arch hook, and not hidden in a random driver. Why would it not be valid to do? Is it wrong for a driver to be aware of whether a device is cache coherent or not? And in case it isn't, do you have an alternative suggestion on how to fix this mess? _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx