msm: camera: common: Define debugflag to allocate usecase info

Define debug flag to allocate usecase info for debug purpose.
This flag can be used to get usecase buffer index at issue
time.

CRs-Fixed: 2707314
Change-Id: Iffacdb48f77ec6907b8070d4c19eb1c56be30f14
Signed-off-by: Alok Chauhan <alokc@codeaurora.org>
This commit is contained in:
Alok Chauhan
2020-05-25 19:25:02 +05:30
parent 3da4eff78a
commit 23fc6a670c
3 changed files with 8 additions and 0 deletions

View File

@@ -733,6 +733,9 @@ int cam_mem_mgr_alloc_and_map(struct cam_mem_mgr_alloc_cmd *cmd)
}
}
if (cmd->flags & CAM_MEM_FLAG_KMD_DEBUG_FLAG)
tbl.dbg_buf_idx = idx;
tbl.bufq[idx].kmdvaddr = kvaddr;
tbl.bufq[idx].vaddr = hw_vaddr;
tbl.bufq[idx].dma_buf = dmabuf;
@@ -1023,6 +1026,7 @@ void cam_mem_mgr_deinit(void)
bitmap_zero(tbl.bitmap, tbl.bits);
kfree(tbl.bitmap);
tbl.bitmap = NULL;
tbl.dbg_buf_idx = -1;
mutex_unlock(&tbl.m_lock);
mutex_destroy(&tbl.m_lock);
}

View File

@@ -71,6 +71,7 @@ struct cam_mem_buf_queue {
* @bufq: array of buffers
* @dentry: Debugfs entry
* @alloc_profile_enable: Whether to enable alloc profiling
* @dbg_buf_idx: debug buffer index to get usecases info
*/
struct cam_mem_table {
struct mutex m_lock;
@@ -79,6 +80,7 @@ struct cam_mem_table {
struct cam_mem_buf_queue bufq[CAM_MEM_BUFQ_MAX];
struct dentry *dentry;
bool alloc_profile_enable;
size_t dbg_buf_idx;
};
/**

View File

@@ -284,6 +284,8 @@ struct cam_req_mgr_link_control {
#define CAM_MEM_FLAG_HW_SHARED_ACCESS (1<<11)
#define CAM_MEM_FLAG_CDSP_OUTPUT (1<<12)
#define CAM_MEM_FLAG_DISABLE_DELAYED_UNMAP (1<<13)
#define CAM_MEM_FLAG_KMD_DEBUG_FLAG (1<<14)
#define CAM_MEM_MMU_MAX_HANDLE 16