mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
media: rockchip: isp: add rkisp_buf_dbg
buf queue to set u64 data and buf done to check it. Change-Id: If8e2e1d2b2f782a84dbbfb08b70c497ad23fec4b Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -1597,13 +1597,19 @@ static void rkisp_buf_done_task(unsigned long arg)
|
||||
spin_unlock_irqrestore(&stream->vbq_lock, lock_flags);
|
||||
|
||||
while (!list_empty(&local_list)) {
|
||||
u64 *data;
|
||||
|
||||
buf = list_first_entry(&local_list,
|
||||
struct rkisp_buffer, queue);
|
||||
list_del(&buf->queue);
|
||||
|
||||
data = buf->vaddr[0];
|
||||
v4l2_dbg(2, rkisp_debug, &stream->ispdev->v4l2_dev,
|
||||
"stream:%d seq:%d buf:0x%x done\n",
|
||||
"stream:%d seq:%d buf done:0x%x\n",
|
||||
stream->id, buf->vb.sequence, buf->buff_addr[0]);
|
||||
if (rkisp_buf_dbg && data && *data == RKISP_DATA_CHECK)
|
||||
v4l2_dbg(0, rkisp_debug, &stream->ispdev->v4l2_dev,
|
||||
"seq:%d data no update:%llx %llx\n",
|
||||
buf->vb.sequence, *data, *(data + 1));
|
||||
vb2_buffer_done(&buf->vb.vb2_buf,
|
||||
stream->streaming ? VB2_BUF_STATE_DONE : VB2_BUF_STATE_ERROR);
|
||||
}
|
||||
|
||||
@@ -1638,7 +1638,12 @@ static void rkisp_buf_queue(struct vb2_buffer *vb)
|
||||
|
||||
memset(ispbuf->buff_addr, 0, sizeof(ispbuf->buff_addr));
|
||||
for (i = 0; i < isp_fmt->mplanes; i++) {
|
||||
vb2_plane_vaddr(vb, i);
|
||||
ispbuf->vaddr[i] = vb2_plane_vaddr(vb, i);
|
||||
if (rkisp_buf_dbg && ispbuf->vaddr[i]) {
|
||||
u64 *data = ispbuf->vaddr[i];
|
||||
|
||||
*data = RKISP_DATA_CHECK;
|
||||
}
|
||||
if (stream->ispdev->hw_dev->is_dma_sg_ops) {
|
||||
sgt = vb2_dma_sg_plane_desc(vb, i);
|
||||
ispbuf->buff_addr[i] = sg_dma_address(sgt->sgl);
|
||||
|
||||
@@ -1574,7 +1574,12 @@ static void rkisp_buf_queue(struct vb2_buffer *vb)
|
||||
|
||||
memset(ispbuf->buff_addr, 0, sizeof(ispbuf->buff_addr));
|
||||
for (i = 0; i < isp_fmt->mplanes; i++) {
|
||||
vb2_plane_vaddr(vb, i);
|
||||
ispbuf->vaddr[i] = vb2_plane_vaddr(vb, i);
|
||||
if (rkisp_buf_dbg && ispbuf->vaddr[i]) {
|
||||
u64 *data = ispbuf->vaddr[i];
|
||||
|
||||
*data = RKISP_DATA_CHECK;
|
||||
}
|
||||
if (stream->ispdev->hw_dev->is_dma_sg_ops) {
|
||||
sgt = vb2_dma_sg_plane_desc(vb, i);
|
||||
ispbuf->buff_addr[i] = sg_dma_address(sgt->sgl);
|
||||
|
||||
@@ -1165,7 +1165,12 @@ static void rkisp_buf_queue(struct vb2_buffer *vb)
|
||||
|
||||
memset(ispbuf->buff_addr, 0, sizeof(ispbuf->buff_addr));
|
||||
for (i = 0; i < isp_fmt->mplanes; i++) {
|
||||
vb2_plane_vaddr(vb, i);
|
||||
ispbuf->vaddr[i] = vb2_plane_vaddr(vb, i);
|
||||
if (rkisp_buf_dbg && ispbuf->vaddr[i]) {
|
||||
u64 *data = ispbuf->vaddr[i];
|
||||
|
||||
*data = RKISP_DATA_CHECK;
|
||||
}
|
||||
if (stream->ispdev->hw_dev->is_dma_sg_ops) {
|
||||
sgt = vb2_dma_sg_plane_desc(vb, i);
|
||||
ispbuf->buff_addr[i] = sg_dma_address(sgt->sgl);
|
||||
|
||||
@@ -1667,7 +1667,11 @@ static void rkisp_buf_queue(struct vb2_buffer *vb)
|
||||
memset(ispbuf->buff_addr, 0, sizeof(ispbuf->buff_addr));
|
||||
for (i = 0; i < isp_fmt->mplanes; i++) {
|
||||
ispbuf->vaddr[i] = vb2_plane_vaddr(vb, i);
|
||||
if (rkisp_buf_dbg && ispbuf->vaddr[i]) {
|
||||
u64 *data = ispbuf->vaddr[i];
|
||||
|
||||
*data = RKISP_DATA_CHECK;
|
||||
}
|
||||
if (stream->ispdev->hw_dev->is_dma_sg_ops) {
|
||||
sgt = vb2_dma_sg_plane_desc(vb, i);
|
||||
ispbuf->buff_addr[i] = sg_dma_address(sgt->sgl);
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
#define RKISP_PLANE_CR 2
|
||||
|
||||
#define RKISP_EMDDATA_FIFO_MAX 4
|
||||
#define RKISP_DMATX_CHECK 0xA5A5A5A5
|
||||
#define RKISP_DATA_CHECK 0xA5A5A5A5
|
||||
|
||||
#define RKISP_MOTION_DECT_TS_SIZE 16
|
||||
|
||||
@@ -139,6 +139,7 @@ struct rkisp_dummy_buffer {
|
||||
extern int rkisp_debug;
|
||||
extern bool rkisp_monitor;
|
||||
extern bool rkisp_irq_dbg;
|
||||
extern bool rkisp_buf_dbg;
|
||||
extern u64 rkisp_debug_reg;
|
||||
extern struct platform_driver rkisp_plat_drv;
|
||||
|
||||
|
||||
@@ -67,6 +67,10 @@ bool rkisp_irq_dbg;
|
||||
module_param_named(irq_dbg, rkisp_irq_dbg, bool, 0644);
|
||||
MODULE_PARM_DESC(irq_dbg, "rkisp interrupt runtime");
|
||||
|
||||
bool rkisp_buf_dbg;
|
||||
module_param_named(buf_dbg, rkisp_buf_dbg, bool, 0644);
|
||||
MODULE_PARM_DESC(buf_dbg, "rkisp check output buf");
|
||||
|
||||
static bool rkisp_rdbk_auto;
|
||||
module_param_named(rdbk_auto, rkisp_rdbk_auto, bool, 0644);
|
||||
MODULE_PARM_DESC(irq_dbg, "rkisp and vicap auto readback mode");
|
||||
|
||||
Reference in New Issue
Block a user