panfrost/nondrm: Flag CPU-invisible regions
Potentially, the kernel could optimize these allocations, or perhaps we can save on mapping costs. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
@@ -2727,10 +2727,10 @@ panfrost_setup_hardware(struct panfrost_context *ctx)
|
||||
}
|
||||
|
||||
screen->driver->allocate_slab(screen, &ctx->scratchpad, 64, false, 0, 0, 0);
|
||||
screen->driver->allocate_slab(screen, &ctx->varying_mem, 16384, false, 0, 0, 0);
|
||||
screen->driver->allocate_slab(screen, &ctx->varying_mem, 16384, false, PAN_ALLOCATE_INVISIBLE, 0, 0);
|
||||
screen->driver->allocate_slab(screen, &ctx->shaders, 4096, true, PAN_ALLOCATE_EXECUTE, 0, 0);
|
||||
screen->driver->allocate_slab(screen, &ctx->tiler_heap, 32768, false, PAN_ALLOCATE_GROWABLE, 1, 128);
|
||||
screen->driver->allocate_slab(screen, &ctx->misc_0, 128*128, false, PAN_ALLOCATE_GROWABLE, 1, 128);
|
||||
screen->driver->allocate_slab(screen, &ctx->tiler_heap, 32768, false, PAN_ALLOCATE_INVISIBLE | PAN_ALLOCATE_GROWABLE, 1, 128);
|
||||
screen->driver->allocate_slab(screen, &ctx->misc_0, 128*128, false, PAN_ALLOCATE_INVISIBLE | PAN_ALLOCATE_GROWABLE, 1, 128);
|
||||
|
||||
}
|
||||
|
||||
|
@@ -46,6 +46,7 @@ struct panfrost_screen;
|
||||
/* Flags for allocated memory */
|
||||
#define PAN_ALLOCATE_EXECUTE (1 << 0)
|
||||
#define PAN_ALLOCATE_GROWABLE (1 << 1)
|
||||
#define PAN_ALLOCATE_INVISIBLE (1 << 2)
|
||||
|
||||
struct panfrost_driver {
|
||||
struct panfrost_bo * (*import_bo) (struct panfrost_screen *screen, struct winsys_handle *whandle);
|
||||
|
Reference in New Issue
Block a user