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

Commit acacfdf4 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: kgsl: Do not memset pages to zero while adding to pool"

parents 734e0fe2 40b830cd
Loading
Loading
Loading
Loading
+6 −16
Original line number Diff line number Diff line
@@ -65,26 +65,19 @@ _kgsl_get_pool_from_order(unsigned int order)

/* Map the page into kernel and zero it out */
static void
_kgsl_pool_zero_page(struct page *p, unsigned int pool_order)
_kgsl_pool_zero_page(struct page *p)
{
	int i;

	for (i = 0; i < (1 << pool_order); i++) {
		struct page *page = nth_page(p, i);
		void *addr = kmap_atomic(page);
	void *addr = kmap_atomic(p);

	memset(addr, 0, PAGE_SIZE);
	dmac_flush_range(addr, addr + PAGE_SIZE);
	kunmap_atomic(addr);
}
}

/* Add a page to specified pool */
static void
_kgsl_pool_add_page(struct kgsl_page_pool *pool, struct page *p)
{
	_kgsl_pool_zero_page(p, pool->pool_order);

	spin_lock(&pool->list_lock);
	list_add_tail(&p->lru, &pool->page_list);
	pool->page_count++;
@@ -329,7 +322,6 @@ int kgsl_pool_alloc_page(int *page_size, struct page **pages,
			} else
				return -ENOMEM;
		}
		_kgsl_pool_zero_page(page, order);
		goto done;
	}

@@ -349,7 +341,6 @@ int kgsl_pool_alloc_page(int *page_size, struct page **pages,
			page = alloc_pages(gfp_mask, order);
			if (page == NULL)
				return -ENOMEM;
			_kgsl_pool_zero_page(page, order);
			goto done;
		}
	}
@@ -379,13 +370,12 @@ int kgsl_pool_alloc_page(int *page_size, struct page **pages,
			} else
				return -ENOMEM;
		}

		_kgsl_pool_zero_page(page, order);
	}

done:
	for (j = 0; j < (*page_size >> PAGE_SHIFT); j++) {
		p = nth_page(page, j);
		_kgsl_pool_zero_page(p);
		pages[pcount] = p;
		pcount++;
	}