media: staging: rkisp1: set more precise size errors in debugfs
When a size error is signaled, it is possible to read a register to see where the error comes from. So, in debugfs the general error 'pic_size_err' can be replaced with 3 more precise errors. Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com> Acked-by: Helen Koike <helen.koike@collabora.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
d000e9b5e4
commit
875c0d7595
|
@ -229,7 +229,9 @@ struct rkisp1_resizer {
|
||||||
struct rkisp1_debug {
|
struct rkisp1_debug {
|
||||||
struct dentry *debugfs_dir;
|
struct dentry *debugfs_dir;
|
||||||
unsigned long data_loss;
|
unsigned long data_loss;
|
||||||
unsigned long pic_size_error;
|
unsigned long outform_size_error;
|
||||||
|
unsigned long img_stabilization_size_error;
|
||||||
|
unsigned long inform_size_error;
|
||||||
unsigned long mipi_error;
|
unsigned long mipi_error;
|
||||||
unsigned long stats_error;
|
unsigned long stats_error;
|
||||||
unsigned long stop_timeout[2];
|
unsigned long stop_timeout[2];
|
||||||
|
|
|
@ -438,8 +438,13 @@ static void rkisp1_debug_init(struct rkisp1_device *rkisp1)
|
||||||
}
|
}
|
||||||
debugfs_create_ulong("data_loss", 0444, debug->debugfs_dir,
|
debugfs_create_ulong("data_loss", 0444, debug->debugfs_dir,
|
||||||
&debug->data_loss);
|
&debug->data_loss);
|
||||||
debugfs_create_ulong("pic_size_error", 0444, debug->debugfs_dir,
|
debugfs_create_ulong("outform_size_err", 0444, debug->debugfs_dir,
|
||||||
&debug->pic_size_error);
|
&debug->outform_size_error);
|
||||||
|
debugfs_create_ulong("img_stabilization_size_error", 0444,
|
||||||
|
debug->debugfs_dir,
|
||||||
|
&debug->img_stabilization_size_error);
|
||||||
|
debugfs_create_ulong("inform_size_error", 0444, debug->debugfs_dir,
|
||||||
|
&debug->inform_size_error);
|
||||||
debugfs_create_ulong("mipi_error", 0444, debug->debugfs_dir,
|
debugfs_create_ulong("mipi_error", 0444, debug->debugfs_dir,
|
||||||
&debug->mipi_error);
|
&debug->mipi_error);
|
||||||
debugfs_create_ulong("stats_error", 0444, debug->debugfs_dir,
|
debugfs_create_ulong("stats_error", 0444, debug->debugfs_dir,
|
||||||
|
|
|
@ -1122,8 +1122,13 @@ void rkisp1_isp_isr(struct rkisp1_device *rkisp1)
|
||||||
if (status & RKISP1_CIF_ISP_PIC_SIZE_ERROR) {
|
if (status & RKISP1_CIF_ISP_PIC_SIZE_ERROR) {
|
||||||
/* Clear pic_size_error */
|
/* Clear pic_size_error */
|
||||||
isp_err = rkisp1_read(rkisp1, RKISP1_CIF_ISP_ERR);
|
isp_err = rkisp1_read(rkisp1, RKISP1_CIF_ISP_ERR);
|
||||||
|
if (isp_err & RKISP1_CIF_ISP_ERR_INFORM_SIZE)
|
||||||
|
rkisp1->debug.inform_size_error++;
|
||||||
|
if (isp_err & RKISP1_CIF_ISP_ERR_IS_SIZE)
|
||||||
|
rkisp1->debug.img_stabilization_size_error++;
|
||||||
|
if (isp_err & RKISP1_CIF_ISP_ERR_OUTFORM_SIZE)
|
||||||
|
rkisp1->debug.outform_size_error++;
|
||||||
rkisp1_write(rkisp1, isp_err, RKISP1_CIF_ISP_ERR_CLR);
|
rkisp1_write(rkisp1, isp_err, RKISP1_CIF_ISP_ERR_CLR);
|
||||||
rkisp1->debug.pic_size_error++;
|
|
||||||
} else if (status & RKISP1_CIF_ISP_DATA_LOSS) {
|
} else if (status & RKISP1_CIF_ISP_DATA_LOSS) {
|
||||||
/* keep track of data_loss in debugfs */
|
/* keep track of data_loss in debugfs */
|
||||||
rkisp1->debug.data_loss++;
|
rkisp1->debug.data_loss++;
|
||||||
|
|
Loading…
Reference in a new issue