diff options
author | Devaraj Rangasamy <dev@ti.com> | 2012-06-05 18:15:26 +0530 |
---|---|---|
committer | Dmytro Kedrovskyi <x0169235@ti.com> | 2012-06-18 23:32:33 +0300 |
commit | b8753ec2790fa8c9da5cf188b58c80878aef21c0 (patch) | |
tree | e89d85acf27a6380cea8bc40111022191cf00cdb /domx | |
parent | 1bc0c83764154fc5e5d518eb50f56cef617eb62e (diff) | |
download | hardware_ti_omap4-b8753ec2790fa8c9da5cf188b58c80878aef21c0.zip hardware_ti_omap4-b8753ec2790fa8c9da5cf188b58c80878aef21c0.tar.gz hardware_ti_omap4-b8753ec2790fa8c9da5cf188b58c80878aef21c0.tar.bz2 |
DOMX: Use Tiler-1D buffer when ION 1D allocation fails
By default Camera proxy and DOMX components uses ION 1D
heap for buffer allocation. For 512MB system configuration,
ION 1D heap maynot available. So use tiler 1D buffers as
fallback mechanism. Applicable for both 1GB and 512MB
configuration.
Change-Id: Iff9b264f13d03f99975c4ff9dce9d474edeac34c
Signed-off-by: Devaraj Rangasamy <dev@ti.com>
Diffstat (limited to 'domx')
-rw-r--r-- | domx/omx_proxy_common/src/omx_proxy_common.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/domx/omx_proxy_common/src/omx_proxy_common.c b/domx/omx_proxy_common/src/omx_proxy_common.c index 8dc0168..d0abe56 100644 --- a/domx/omx_proxy_common/src/omx_proxy_common.c +++ b/domx/omx_proxy_common/src/omx_proxy_common.c @@ -216,9 +216,20 @@ static OMX_ERRORTYPE PROXY_AllocateBufferIonCarveout(PROXY_COMPONENT_PRIVATE *pC int fd; int ret; struct ion_handle *temp; + size_t stride; ret = ion_alloc(pCompPrv->ion_fd, len, 0x1000, 1 << ION_HEAP_TYPE_CARVEOUT, &temp); - DOMX_DEBUG("ION being USED for allocation!!!!! handle = %x, ret =%x",temp,ret); + + if (ret || ((int)temp == -ENOMEM)) { + ret = ion_alloc_tiler(pCompPrv->ion_fd, len, 1, TILER_PIXEL_FMT_PAGE, + OMAP_ION_HEAP_TILER_MASK, &temp, &stride); + } + + if (ret || ((int)temp == -ENOMEM)) { + DOMX_ERROR("FAILED to allocate buffer of size=%d. ret=0x%x",len, ret); + return OMX_ErrorInsufficientResources; + } + if (ret) return OMX_ErrorInsufficientResources; *handle = temp; |