summaryrefslogtreecommitdiff
path: root/libgralloc1/gr_ion_alloc.h
diff options
context:
space:
mode:
authorNaseer Ahmed <naseer@codeaurora.org>2016-11-22 20:05:16 -0500
committerGerrit - the friendly Code Review server <code-review@localhost>2017-02-17 09:19:23 -0800
commite69031e9c7fa750b5540e45ebd02f2cc5a1333f6 (patch)
tree213e3f5bfe71f200837cf2cf3d2bf259df82484f /libgralloc1/gr_ion_alloc.h
parent441526d42faf4b493fcd0c4ff3e2cce3c1f8e2d9 (diff)
downloaddisplay-e69031e9c7fa750b5540e45ebd02f2cc5a1333f6.tar.gz
gralloc1: Add remaining functionality
* Use private_0 flag * Add some legacy flags to be used during transition * Fix gralloc module version * Adjust makefiles for gralloc1 * Add support for dump, num flex planes and lock flex. * Use a unique ID for buffer descriptors * Do not delete buffer handle, fix after verifying framework fix. * Current gralloc1 clients do not conform to the lock() requirement in the gralloc1 header. Tracked in b/33588773 * Add perform APIs to get the buffer size and allocate a buffer for use by SDM * Fix reference counting * Add a unique buffer ID * Some cleanup in private_handle * Create a wrapper class of private_handle to do refcounting * Resolve implementation defined formats At allocation time, update buffer descriptors to replace implementation defined formats with the ones we mean to allocate * Defer ion handle release * Remove unused drm code. * Add legacy constructor for private_handle_t used by some clients CRs-Fixed: 2007391 Change-Id: Ia9e816cec35ba45483a5b75d99f256325a010138
Diffstat (limited to 'libgralloc1/gr_ion_alloc.h')
-rw-r--r--libgralloc1/gr_ion_alloc.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/libgralloc1/gr_ion_alloc.h b/libgralloc1/gr_ion_alloc.h
index baef8aa8..68f453cc 100644
--- a/libgralloc1/gr_ion_alloc.h
+++ b/libgralloc1/gr_ion_alloc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2017, The Linux Foundation. All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -45,6 +45,7 @@ enum {
struct AllocData {
void *base = NULL;
int fd = -1;
+ int ion_handle = -1;
unsigned int offset = 0;
unsigned int size = 0;
unsigned int align = 1;
@@ -63,7 +64,7 @@ class IonAlloc {
bool Init();
int AllocBuffer(AllocData *data);
- int FreeBuffer(void *base, unsigned int size, unsigned int offset, int fd);
+ int FreeBuffer(void *base, unsigned int size, unsigned int offset, int fd, int ion_handle);
int MapBuffer(void **base, unsigned int size, unsigned int offset, int fd);
int UnmapBuffer(void *base, unsigned int size, unsigned int offset);
int CleanBuffer(void *base, unsigned int size, unsigned int offset, int fd, int op);