Video hardware has the following requirements for
ION heaps:
1. MM heap must be at a higher address than FW heap.
2. MFC heap must at a higher address than FW
3. MM heap must be adjacent to FW heap.
(There cannot be another heap between FW and MM heap)
4. MM and MFC heap cannot be more than 256MB away
from the base address of the FW heap.
MM heap is configured as a reusable heap (FMEM heap) and FMEM
is carved out at a much higher address than the other heaps breaking
the above requirements. To support the above requirements the
MFC heap together with the FW heap must be carved out at the same
location as MM heap.
Change-Id: Ie0acb4b267d4307190ea3cd9ff23c710ffa1a538
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Due to a limitation in how the video hardware is able
to access memory, fmem needs to be able to allocate a
physically contiguous block of memory that can be split into
two pieces. One piece will be managed by fmem
while the other piece (reserved) will not be handled by fmem.
The hardware limitation requires the reserved part to be at
a lower address than the other piece managed by fmem.
Add a new parameter to fmem that allows platform
data to specify the size of the piece that should not
be managed by fmem.
Change-Id: I910680ca72233de9cef91ac3262a078a36f1b1fd
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Add callbacks for request/release region to be used with fmem.
These files can be referenced in any board file for use with
any pmem device.
Change-Id: I1a1791bbf8fc00d3e324600aedb5361aa899bc4f
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Instead of just keeping the entire heap mapped all the
time, reserve the virtual area and map as needed.
Change-Id: Id9a253541f1462379f3f81611aec92cd760e71c8
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Add function stubs for when qcache is not enabled
Change-Id: I7eade250bee42316074fc790204154cd8f0af840
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>