summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChih-Wei Huang <cwhuang@linux.org.tw>2014-12-01 01:46:20 +0800
committerChih-Wei Huang <cwhuang@linux.org.tw>2015-01-20 11:37:10 +0800
commit68a74eb31f139ad285a49451cf2ca8271c54f9bb (patch)
tree20b8afc9bd585d8e3f0b1bca9a5207a10501d2b7
parent9ce9cebffc405c64a9247d90ab4f2e8dfe07bf92 (diff)
downloadexternal_drm_gralloc-68a74eb31f139ad285a49451cf2ca8271c54f9bb.zip
external_drm_gralloc-68a74eb31f139ad285a49451cf2ca8271c54f9bb.tar.gz
external_drm_gralloc-68a74eb31f139ad285a49451cf2ca8271c54f9bb.tar.bz2
fix building issues of 64-bit targets
Just change the 'data' field of gralloc_drm_handle_t to be a pointer to struct gralloc_drm_bo_t. Fix some warnings as well.
-rw-r--r--gralloc_drm.c8
-rw-r--r--gralloc_drm_handle.h4
-rw-r--r--gralloc_drm_kms.c7
3 files changed, 10 insertions, 9 deletions
diff --git a/gralloc_drm.c b/gralloc_drm.c
index bd38d57..31ac988 100644
--- a/gralloc_drm.c
+++ b/gralloc_drm.c
@@ -211,10 +211,10 @@ static struct gralloc_drm_bo_t *validate_handle(buffer_handle_t _handle,
}
handle->data_owner = gralloc_drm_get_pid();
- handle->data = (int) bo;
+ handle->data = bo;
}
- return (struct gralloc_drm_bo_t *) handle->data;
+ return handle->data;
}
/*
@@ -296,7 +296,7 @@ struct gralloc_drm_bo_t *gralloc_drm_bo_create(struct gralloc_drm_t *drm,
bo->refcount = 1;
handle->data_owner = gralloc_drm_get_pid();
- handle->data = (int) bo;
+ handle->data = bo;
return bo;
}
@@ -365,7 +365,7 @@ void gralloc_drm_resolve_format(buffer_handle_t _handle,
uint32_t *pitches, uint32_t *offsets, uint32_t *handles)
{
struct gralloc_drm_handle_t *handle = gralloc_drm_handle(_handle);
- struct gralloc_drm_bo_t *bo = (struct gralloc_drm_bo_t *) handle->data;
+ struct gralloc_drm_bo_t *bo = handle->data;
struct gralloc_drm_t *drm = bo->drm;
/* if handle exists and driver implements resolve_format */
diff --git a/gralloc_drm_handle.h b/gralloc_drm_handle.h
index f7b03b2..7fc4746 100644
--- a/gralloc_drm_handle.h
+++ b/gralloc_drm_handle.h
@@ -31,6 +31,8 @@
extern "C" {
#endif
+struct gralloc_drm_bo_t;
+
struct gralloc_drm_handle_t {
native_handle_t base;
@@ -50,7 +52,7 @@ struct gralloc_drm_handle_t {
int stride; /* the stride in bytes */
int data_owner; /* owner of data (for validation) */
- int data; /* pointer to struct gralloc_drm_bo_t */
+ struct gralloc_drm_bo_t *data; /* pointer to struct gralloc_drm_bo_t */
};
static inline struct gralloc_drm_handle_t *gralloc_drm_handle(buffer_handle_t _handle)
diff --git a/gralloc_drm_kms.c b/gralloc_drm_kms.c
index 0909361..cb02a13 100644
--- a/gralloc_drm_kms.c
+++ b/gralloc_drm_kms.c
@@ -299,7 +299,7 @@ int gralloc_drm_reserve_plane(struct gralloc_drm_t *drm,
uint32_t src_w,
uint32_t src_h)
{
- unsigned int i, j;
+ int j;
struct gralloc_drm_handle_t *drm_handle =
gralloc_drm_handle(handle);
int plane_count = drm->plane_resources->count_planes;
@@ -1092,15 +1092,14 @@ int gralloc_drm_init_kms(struct gralloc_drm_t *drm)
if (!drm->plane_resources) {
ALOGD("no planes found from drm resources");
} else {
+ unsigned int i, j;
+
ALOGD("supported drm planes and formats");
/* fill a helper structure for hwcomposer */
drm->planes = calloc(drm->plane_resources->count_planes,
sizeof(struct gralloc_drm_plane_t));
for (i = 0; i < drm->plane_resources->count_planes; i++) {
-
- unsigned int j;
-
drm->planes[i].drm_plane = drmModeGetPlane(drm->fd,
drm->plane_resources->planes[i]);