Age | Commit message (Collapse) | Author |
|
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Fixed size calculation for the allocated buffer into which the
packing takes place.
Tested using V4L2 unit tests and debug prints as only V4L2 uses this
function.
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Since Kconfig entries have been moved to drivers/media/Kconfig,
we need to enable media support in order for dmm/tiler to build.
Signed-off-by: David Sin <davidsin@ti.com>
|
|
Signed-off-by: David Sin <davidsin@ti.com>
|
|
The reference count of blocks increases on alloc, and by registered
buffers that contain that block.
When all tiler drivers of a process are closed:
- blocks allocated by it are marked "freed"
- buffers registered by it are unregistered
All blocks that are no longer marked "allocated" and are not
referenced by registered buffers are actually freed.
Blocks allocated by the kernel API are tracked separately, and
are not release when tiler drivers are closed. They are only
freed using tiler_free, or when the kernel driver closes.
Fixed a bug with querying buffers by address, which did not
account for the new TCM support for 1D buffers and block management.
Added support for clearing PAT for freed blocks.
Added extended tiler kernel API-s for specifying group ids, pids,
alignment and offset.
tiler_allocx
tiler_reserve
tiler_reservex
tiler_map
tiler_mapx
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Removed unnecessary true/false identical macro values
Changed tcm_area.type field to is2d
Shortened variable names
Renamed functions based on what they do
Simplified some of the logic
Removed most of the debug messages and unused/duplicate variables
Removed duplicate parameter checks and made fuctions that always
succeed void.
Moved tcm_dbg.h macros into tcm_utils.h
Tested using memmgr_1.0 tests.
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Changed the way tiler blocks are maintained. 1D blocks are maintained
similarly as before, but 2D blocks now reside on "reserved areas" that
are maintained in area_info structs.
Note, that even though auto-packing is supported, there is no open API
to specify alignment other than kernel page size. Therefore, there is
no expected allocation efficiency gain.
Reference counts are also introduced although they are not yet used.
Tested using memmgr_1.0 test as well as select allocation/freeing
kernel calls to verify logic of maintaining blocks in the reserved area.
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Also fixed a compiler warning.
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Added instance support for DMM PAT programming (dmm.c)
Created TMM interface for flexible tiler memory management (PAT or not).
Added instance support to DMM PAT memory pages management (dmm_mem.c)
Removed unused get_page/free_page methods.
Fixed TILER_GET_ACC_MODE macro to return correct tiler_fmt values.
Fixed a few sizeof style errors, and simplified dmm_mem.c
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Moved SiTA specific util function into tcm_sita.c
Added copyright headers
Adjusted TCM_INIT definition macro as attribute type can be known.
Prepared for renames in next commit.
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Also removed unnecessary fields in mem_info struct
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
TCM sita allocator bug fix: set area type
Allow flexible tiler-allocation bands vs. hardoded 64-slot bands.
Allow 1D area allocation/mapping at slot granularity.
Use kernel macros for rounding and aligning.
Remove duplicate checks in TCM.
Minor formatting.
Added tcm_sizeof macro.
Fixed tcm_for_each_slice macro.
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Fixe sizeof constructs to use the target variable's type instead of
hardcoded type.
Removed multi-line strings, extra empty lines.
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Fixed spacing and most comments according to kernel coding style.
Fixed multi-line strings.
Made all function signatures static.
Replaced memset initialization with "= {0}".
Replaced AREA_STR macro with cleaner print macro.
Removed unnecessary mutex macros.
Removed unnecessary parentheses.
There is a checkpatch warning for the AREA macro, which is expected.
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
Moved TCM files to their correct location to be able to see future diffs.
Signed-off-by: Lajos Molnar <molnar@ti.com>
|
|
fields in insert_element
|
|
|
|
Signed-off-by: R Ramachandra <r.ramachandra@ti.com>
|
|
<davidsin@ti.com>
|
|
|
|
|
|
|
|
Signed-off-by: Lajos Molnad <molnar@ti.com>
|
|
we introduce two new dmm APIs --dmm_get_pages/dmm_free_pages --
to the tiler driver, which allocate and free a set of dmm pages.
previously, we allocated/freed single pages using
dmm_get_page()/dmm_free_page. we observed that moving
single pages from the used page stack to the free page
stack caused excessive delays because of linear/unsorted
searches.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pull in old dmm_ll_drv code into dmm.c
|
|
add wrapper structure to house buf_info struct to fix copy to/from
issues
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Issue if power_saving option passed from board file and CONFIG_PM not define.
This is because hosts refer to wrong operation table and that try to power save.
Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
|
|
8250 suspend/resume with no_console_suspend enabled is
broken in mainline. Hence disable it for now.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
|
|
In the _setup() hook, check for valid IDLEST fields. If not set, use
the module defaults since they are the same as the module defaults
for most hwmods.
Problem found because _wait_target_ready() will fail if IDLEST
fields are not valid.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
|