Skip to content
Snippets Groups Projects
Commit dbb53966 authored by Sergii Romantsov's avatar Sergii Romantsov Committed by Andres Gomez
Browse files

intel/ppgtt: memory address alignment

Kernel (for ppgtt) requires memory address to be
aligned to page size (4096).

-v2: added marking that also fixes initial commit 01058a55.
-v3: numbers replaced by PAGE_SIZE; buffer-object size is aligned
instead of alignment of offsets (Chris Wilson).
-v4: changes related to PAGE_SIZE moved to separate commit
-v5: restored alignment to page-size for 0-size.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106997


Fixes: a363bb2c (i965: Allocate VMA in userspace for full-PPGTT systems.)
Fixes: 01058a55 (i965: Add virtual memory allocator infrastructure to brw_bufmgr.)
Signed-off-by: default avatarSergii Romantsov <sergii.romantsov@globallogic.com>
Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
Reviewed-by: default avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
(cherry picked from commit 24839663)
parent 586ac9c2
No related branches found
No related tags found
No related merge requests found
......@@ -496,7 +496,6 @@ bo_alloc_internal(struct brw_bufmgr *bufmgr,
uint32_t stride)
{
struct brw_bo *bo;
unsigned int page_size = getpagesize();
int ret;
struct bo_cache_bucket *bucket;
bool alloc_from_cache;
......@@ -522,12 +521,12 @@ bo_alloc_internal(struct brw_bufmgr *bufmgr,
* allocation up.
*/
if (bucket == NULL) {
bo_size = size;
if (bo_size < page_size)
bo_size = page_size;
unsigned int page_size = getpagesize();
bo_size = size == 0 ? page_size : ALIGN(size, page_size);
} else {
bo_size = bucket->size;
}
assert(bo_size);
mtx_lock(&bufmgr->lock);
/* Get a buffer out of the cache if available */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment