video: rockchip: mpp: iep2: Add work mode setting

check work mode when irq

Change-Id: I46c772e5c8608d8c7aa7e3bec0331da1af4832d3
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
This commit is contained in:
Ding Wei
2022-09-20 15:54:29 +08:00
committed by Tao Huang
parent 0aa485861b
commit 767709ab16
2 changed files with 8 additions and 0 deletions

View File

@@ -368,6 +368,8 @@ static void iep2_config(struct mpp_dev *mpp, struct iep_task *task)
| IEP2_REG_DEBUG_DATA_EN;
mpp_write_relaxed(mpp, IEP2_REG_IEP_CONFIG0, reg);
mpp_write_relaxed(mpp, IEP2_REG_WORK_MODE, IEP2_REG_IEP2_MODE);
reg = IEP2_REG_SRC_PIC_WIDTH(width - 1)
| IEP2_REG_SRC_PIC_HEIGHT(height - 1);
mpp_write_relaxed(mpp, IEP2_REG_SRC_IMG_SIZE, reg);
@@ -615,6 +617,10 @@ static int iep2_run(struct mpp_dev *mpp,
static int iep2_irq(struct mpp_dev *mpp)
{
u32 work_mode = mpp_read(mpp, IEP2_REG_WORK_MODE);
if (!(work_mode & IEP2_REG_IEP2_MODE))
return IRQ_NONE;
mpp->irq_status = mpp_read(mpp, IEP2_REG_INT_STS);
mpp_write(mpp, IEP2_REG_INT_CLR, 0xffffffff);

View File

@@ -21,6 +21,8 @@
#define IEP2_REG_DST_FMT(x) (((x) & 3) << 8)
#define IEP2_REG_SRC_YUV_SWAP(x) (((x) & 3) << 4)
#define IEP2_REG_SRC_FMT(x) ((x) & 3)
#define IEP2_REG_WORK_MODE 0x0008
#define IEP2_REG_IEP2_MODE BIT(0)
#define IEP2_REG_GATING_CTRL 0x0010
#define IEP2_REG_REG_CLK_ON BIT(11)
#define IEP2_REG_DMA_CLK_ON BIT(10)