Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5ddf697 authored by Imre Deak's avatar Imre Deak Committed by Daniel Vetter
Browse files

drm: handle compact dma scatter lists in drm_clflush_sg()

So far the assumption was that each scatter list entry contains a single
page. This might not hold in the future, when we'll introduce compact
scatter lists, so prepare for this here.

Reference: http://www.spinics.net/lists/dri-devel/msg33917.html


Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Acked-by: default avatarDave Airlie <airlied@gmail.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 0d4a42f6
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -105,12 +105,11 @@ drm_clflush_sg(struct sg_table *st)
{
#if defined(CONFIG_X86)
	if (cpu_has_clflush) {
		struct scatterlist *sg;
		int i;
		struct sg_page_iter sg_iter;

		mb();
		for_each_sg(st->sgl, sg, st->nents, i)
			drm_clflush_page(sg_page(sg));
		for_each_sg_page(st->sgl, &sg_iter, st->nents, 0)
			drm_clflush_page(sg_iter.page);
		mb();

		return;