diff --git a/drivers/video/rockchip/rga3/include/rga2_reg_info.h b/drivers/video/rockchip/rga3/include/rga2_reg_info.h index 4afac19b0a16..5571c6e40a28 100644 --- a/drivers/video/rockchip/rga3/include/rga2_reg_info.h +++ b/drivers/video/rockchip/rga3/include/rga2_reg_info.h @@ -132,6 +132,14 @@ #define m_RGA2_STATUS1_SW_RGA_STA (0x1 << 0) /*RGA_INT*/ +#define m_RGA2_INT_FBCIN_DEC_ERROR_CLEAR (1 << 24) +#define m_RGA2_INT_FBCIN_DEC_ERROR_EN (1 << 23) +#define m_RGA2_INT_FBCIN_DEC_ERROR (1 << 22) +#define m_RGA2_INT_PREFETCH_TH_INTR (1 << 21) +#define m_RGA2_INT_PRE_TH_CLEAR (1 << 20) +#define m_RGA2_INT_SCL_ERROR_CLEAR (1 << 19) +#define m_RGA2_INT_SCL_ERROR_EN (1 << 18) +#define m_RGA2_INT_SCL_ERROR_INTR (1 << 17) #define m_RGA2_INT_LINE_WR_CLEAR (1 << 16) #define m_RGA2_INT_LINE_RD_CLEAR (1 << 15) #define m_RGA2_INT_LINE_WR_EN (1 << 14) @@ -153,17 +161,23 @@ #define m_RGA2_INT_ERROR_FLAG_MASK \ ( \ m_RGA2_INT_MMU_INT_FLAG | \ - m_RGA2_INT_ERROR_INT_FLAG \ + m_RGA2_INT_ERROR_INT_FLAG | \ + m_RGA2_INT_SCL_ERROR_INTR | \ + m_RGA2_INT_FBCIN_DEC_ERROR \ ) #define m_RGA2_INT_ERROR_CLEAR_MASK \ ( \ - m_RGA2_INT_MMU_INT_CLEAR | \ - m_RGA2_INT_ERROR_INT_CLEAR \ + m_RGA2_INT_MMU_INT_CLEAR | \ + m_RGA2_INT_ERROR_INT_CLEAR | \ + m_RGA2_INT_SCL_ERROR_CLEAR | \ + m_RGA2_INT_FBCIN_DEC_ERROR_CLEAR \ ) #define m_RGA2_INT_ERROR_ENABLE_MASK \ ( \ m_RGA2_INT_MMU_INT_EN | \ - m_RGA2_INT_ERROR_INT_EN \ + m_RGA2_INT_ERROR_INT_EN | \ + m_RGA2_INT_SCL_ERROR_EN | \ + m_RGA2_INT_FBCIN_DEC_ERROR_EN \ ) #define s_RGA2_INT_LINE_WR_CLEAR(x) ((x & 0x1) << 16) diff --git a/drivers/video/rockchip/rga3/include/rga_drv.h b/drivers/video/rockchip/rga3/include/rga_drv.h index e0c34bb4aa7e..334955e73b81 100644 --- a/drivers/video/rockchip/rga3/include/rga_drv.h +++ b/drivers/video/rockchip/rga3/include/rga_drv.h @@ -88,7 +88,7 @@ #define DRIVER_MAJOR_VERISON 1 #define DRIVER_MINOR_VERSION 3 -#define DRIVER_REVISION_VERSION 7 +#define DRIVER_REVISION_VERSION 8 #define DRIVER_PATCH_VERSION #define DRIVER_VERSION (STR(DRIVER_MAJOR_VERISON) "." STR(DRIVER_MINOR_VERSION) \ diff --git a/drivers/video/rockchip/rga3/rga2_reg_info.c b/drivers/video/rockchip/rga3/rga2_reg_info.c index d0595babc50b..e0bddaaba2af 100644 --- a/drivers/video/rockchip/rga3/rga2_reg_info.c +++ b/drivers/video/rockchip/rga3/rga2_reg_info.c @@ -3268,6 +3268,12 @@ static int rga2_isr_thread(struct rga_job *job, struct rga_scheduler_t *schedule } else if (job->intr_status & m_RGA2_INT_MMU_INT_FLAG) { rga_job_err(job, "mmu failed, please check size of the buffer or whether the buffer has been freed.\n"); job->ret = -EACCES; + } else if (job->intr_status & m_RGA2_INT_SCL_ERROR_INTR) { + rga_job_err(job, "scale failed, check scale config or formula.\n"); + job->ret = -EACCES; + } else if (job->intr_status & m_RGA2_INT_FBCIN_DEC_ERROR) { + rga_job_err(job, "FBC decode failed, please check if the source data is FBC data.\n"); + job->ret = -EACCES; } if (job->ret == 0) {