hardware/msm7k: Initial changes to libgralloc-qsd8k

Change-Id: I59b23aac04b32c5a5ab09b920bdf93fdbbfcd7ce
This commit is contained in:
Ajay Dudani 2010-12-18 15:49:40 -08:00 committed by Naomi Luis
parent c4374041ac
commit 39a41afa0b
2 changed files with 12 additions and 4 deletions

View File

@ -51,6 +51,10 @@ enum {
HAL_PIXEL_FORMAT_YCrCb_420_SP_ADRENO = 0x10A,
HAL_PIXEL_FORMAT_YCrCb_422_SP = 0x10B,
HAL_PIXEL_FORMAT_YCrCb_420_SP_INTERLACE = 0x10C,
HAL_PIXEL_FORMAT_R_8 = 0x10D,
HAL_PIXEL_FORMAT_RG_88 = 0x10E,
HAL_PIXEL_FORMAT_INTERLACE = 0x180,
};
/*****************************************************************************/
@ -96,6 +100,7 @@ struct private_handle_t {
PRIV_FLAGS_USES_PMEM = 0x00000002,
PRIV_FLAGS_USES_PMEM_ADSP = 0x00000004,
PRIV_FLAGS_NEEDS_FLUSH = 0x00000008,
PRIV_FLAGS_USES_ASHMEM = 0x00000010,
};
enum {

View File

@ -279,12 +279,15 @@ int gralloc_unlock(gralloc_module_t const* module,
int32_t current_value, new_value;
if (hnd->flags & private_handle_t::PRIV_FLAGS_NEEDS_FLUSH) {
struct pmem_region region;
int err;
if (hnd->flags & private_handle_t::PRIV_FLAGS_USES_PMEM) {
struct pmem_addr pmem_addr;
pmem_addr.vaddr = hnd->base;
pmem_addr.offset = hnd->offset;
pmem_addr.length = hnd->size;
err = ioctl( hnd->fd, PMEM_CLEAN_CACHES, &pmem_addr);
}
region.offset = hnd->offset;
region.len = hnd->size;
err = ioctl(hnd->fd, PMEM_CACHE_FLUSH, &region);
LOGE_IF(err < 0, "cannot flush handle %p (offs=%x len=%x)\n",
hnd, hnd->offset, hnd->size);
hnd->flags &= ~private_handle_t::PRIV_FLAGS_NEEDS_FLUSH;