mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
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:
@@ -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);
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user