mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 21:59:12 -04:00
Merge "msm: camera: icp: Tidy up hfi queue dump" into camera-kernel.lnx.4.0
This commit is contained in:
commit
a7a72f3fae
1 changed files with 58 additions and 29 deletions
|
|
@ -61,47 +61,76 @@ static void __iomem *hfi_iface_addr(struct hfi_info *hfi)
|
|||
return IS_ERR_OR_NULL(ret) ? NULL : ret;
|
||||
}
|
||||
|
||||
static void hfi_queue_dump(uint32_t *dwords, int count)
|
||||
{
|
||||
int i;
|
||||
int rows;
|
||||
int remaining;
|
||||
|
||||
rows = count / 4;
|
||||
remaining = count % 4;
|
||||
|
||||
for (i = 0; i < rows; i++, dwords += 4)
|
||||
CAM_DBG(CAM_HFI,
|
||||
"word[%04d]: 0x%08x 0x%08x 0x%08x 0x%08x",
|
||||
i * 4, dwords[0], dwords[1], dwords[2], dwords[3]);
|
||||
|
||||
if (remaining == 1)
|
||||
CAM_DBG(CAM_HFI, "word[%04d]: 0x%08x", rows * 4, dwords[0]);
|
||||
else if (remaining == 2)
|
||||
CAM_DBG(CAM_HFI, "word[%04d]: 0x%08x 0x%08x",
|
||||
rows * 4, dwords[0], dwords[1]);
|
||||
else if (remaining == 3)
|
||||
CAM_DBG(CAM_HFI, "word[%04d]: 0x%08x 0x%08x 0x%08x",
|
||||
rows * 4, dwords[0], dwords[1], dwords[2]);
|
||||
}
|
||||
|
||||
void cam_hfi_queue_dump(void)
|
||||
{
|
||||
struct hfi_mem_info *hfi_mem = &g_hfi->map;
|
||||
struct hfi_qtbl *qtbl;
|
||||
struct hfi_qtbl_hdr *qtbl_hdr;
|
||||
struct hfi_q_hdr *cmd_q_hdr, *msg_q_hdr;
|
||||
struct hfi_mem_info *hfi_mem = NULL;
|
||||
uint32_t *read_q, *read_ptr;
|
||||
int i;
|
||||
struct hfi_q_hdr *q_hdr;
|
||||
uint32_t *dwords;
|
||||
int num_dwords;
|
||||
|
||||
hfi_mem = &g_hfi->map;
|
||||
if (!hfi_mem) {
|
||||
CAM_ERR(CAM_HFI, "Unable to dump queues hfi memory is NULL");
|
||||
CAM_ERR(CAM_HFI, "hfi mem info NULL... unable to dump queues");
|
||||
return;
|
||||
}
|
||||
|
||||
qtbl = (struct hfi_qtbl *)hfi_mem->qtbl.kva;
|
||||
qtbl_hdr = &qtbl->q_tbl_hdr;
|
||||
CAM_DBG(CAM_HFI,
|
||||
"qtbl: version = %x size = %u num q = %u qhdr_size = %u",
|
||||
qtbl_hdr->qtbl_version, qtbl_hdr->qtbl_size,
|
||||
qtbl_hdr->qtbl_num_q, qtbl_hdr->qtbl_qhdr_size);
|
||||
"qtbl header: version=0x%08x tbl_size=%u numq=%u qhdr_size=%u",
|
||||
qtbl->q_tbl_hdr.qtbl_version,
|
||||
qtbl->q_tbl_hdr.qtbl_size,
|
||||
qtbl->q_tbl_hdr.qtbl_num_q,
|
||||
qtbl->q_tbl_hdr.qtbl_qhdr_size);
|
||||
|
||||
cmd_q_hdr = &qtbl->q_hdr[Q_CMD];
|
||||
CAM_DBG(CAM_HFI, "cmd: size = %u r_idx = %u w_idx = %u addr = %x",
|
||||
cmd_q_hdr->qhdr_q_size, cmd_q_hdr->qhdr_read_idx,
|
||||
cmd_q_hdr->qhdr_write_idx, hfi_mem->cmd_q.iova);
|
||||
read_q = (uint32_t *)g_hfi->map.cmd_q.kva;
|
||||
read_ptr = (uint32_t *)(read_q + 0);
|
||||
CAM_DBG(CAM_HFI, "CMD Q START");
|
||||
for (i = 0; i < ICP_CMD_Q_SIZE_IN_BYTES >> BYTE_WORD_SHIFT; i++)
|
||||
CAM_DBG(CAM_HFI, "Word: %d Data: 0x%08x ", i, read_ptr[i]);
|
||||
q_hdr = &qtbl->q_hdr[Q_CMD];
|
||||
CAM_DBG(CAM_HFI,
|
||||
"cmd_q: addr=0x%08x size=%u read_idx=%u write_idx=%u",
|
||||
hfi_mem->cmd_q.iova,
|
||||
q_hdr->qhdr_q_size,
|
||||
q_hdr->qhdr_read_idx,
|
||||
q_hdr->qhdr_write_idx);
|
||||
|
||||
msg_q_hdr = &qtbl->q_hdr[Q_MSG];
|
||||
CAM_DBG(CAM_HFI, "msg: size = %u r_idx = %u w_idx = %u addr = %x",
|
||||
msg_q_hdr->qhdr_q_size, msg_q_hdr->qhdr_read_idx,
|
||||
msg_q_hdr->qhdr_write_idx, hfi_mem->msg_q.iova);
|
||||
read_q = (uint32_t *)g_hfi->map.msg_q.kva;
|
||||
read_ptr = (uint32_t *)(read_q + 0);
|
||||
CAM_DBG(CAM_HFI, "MSG Q START");
|
||||
for (i = 0; i < ICP_MSG_Q_SIZE_IN_BYTES >> BYTE_WORD_SHIFT; i++)
|
||||
CAM_DBG(CAM_HFI, "Word: %d Data: 0x%08x ", i, read_ptr[i]);
|
||||
dwords = (uint32_t *)hfi_mem->cmd_q.kva;
|
||||
num_dwords = ICP_CMD_Q_SIZE_IN_BYTES >> BYTE_WORD_SHIFT;
|
||||
|
||||
hfi_queue_dump(dwords, num_dwords);
|
||||
|
||||
q_hdr = &qtbl->q_hdr[Q_MSG];
|
||||
CAM_DBG(CAM_HFI,
|
||||
"msg_q: addr=0x%08x size=%u read_idx=%u write_idx=%u",
|
||||
hfi_mem->msg_q.iova,
|
||||
q_hdr->qhdr_q_size,
|
||||
q_hdr->qhdr_read_idx,
|
||||
q_hdr->qhdr_write_idx);
|
||||
|
||||
dwords = (uint32_t *)hfi_mem->msg_q.kva;
|
||||
num_dwords = ICP_MSG_Q_SIZE_IN_BYTES >> BYTE_WORD_SHIFT;
|
||||
|
||||
hfi_queue_dump(dwords, num_dwords);
|
||||
}
|
||||
|
||||
int hfi_write_cmd(void *cmd_ptr)
|
||||
|
|
|
|||
Loading…
Reference in a new issue