mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
drm/rockchip: ebc_dev: release version v2.27
ebc: improve handwrite rate pvi: add version 0x48 Signed-off-by: Zorro Liu <lyx@rock-chips.com> Change-Id: I3b4646e5a4b2932309fa71d9fd4438bc96155907
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -210,6 +210,7 @@ static int tcon_enable(struct ebc_tcon *tcon, struct ebc_panel *panel)
|
||||
tcon_write(tcon, EBC_DSP_START, DSP_SDCE_WIDTH(panel->ldl) | SW_BURST_CTRL);
|
||||
tcon_write(tcon, EBC_DSP_CTRL,
|
||||
DSP_SWAP_MODE(panel->panel_16bit ? 2 : 3) | DSP_VCOM_MODE(1) | DSP_SDCLK_DIV(0));
|
||||
tcon_write(tcon, EBC_VNUM, (panel->fsl + panel->fbl + panel->fdl + panel->fel) * 2 / 3);
|
||||
tcon_cfg_done(tcon);
|
||||
|
||||
enable_irq(tcon->irq);
|
||||
@@ -277,7 +278,7 @@ static int tcon_lut_data_set(struct ebc_tcon *tcon, unsigned int *lut_data, int
|
||||
|
||||
static void tcon_frame_start(struct ebc_tcon *tcon, int frame_total)
|
||||
{
|
||||
tcon_write(tcon, EBC_INT_STATUS, LINE_FLAG_INT_MASK | DSP_FRM_INT_MASK | FRM_END_INT_MASK);
|
||||
tcon_write(tcon, EBC_INT_STATUS, DSP_FRM_INT_MASK | FRM_END_INT_MASK);
|
||||
/* always set frm start bit 0 before real frame start */
|
||||
tcon_update_bits(tcon, EBC_DSP_START, DSP_FRM_TOTAL_MASK | DSP_FRM_START_MASK, DSP_FRM_TOTAL(frame_total - 1));
|
||||
tcon_cfg_done(tcon);
|
||||
@@ -291,10 +292,13 @@ static irqreturn_t tcon_irq_hanlder(int irq, void *dev_id)
|
||||
u32 intr_status;
|
||||
|
||||
intr_status = tcon_read(tcon, EBC_INT_STATUS);
|
||||
tcon_update_bits(tcon, EBC_INT_STATUS, DSP_END_INT_CLR | LINE_FLAG_INT_CLR, DSP_END_INT_CLR | LINE_FLAG_INT_CLR);
|
||||
if (intr_status & LINE_FLAG_INT) {
|
||||
if (tcon->line_flag_callback)
|
||||
tcon->line_flag_callback();
|
||||
}
|
||||
|
||||
if (intr_status & DSP_END_INT) {
|
||||
tcon_update_bits(tcon, EBC_INT_STATUS, DSP_END_INT_CLR, DSP_END_INT_CLR);
|
||||
|
||||
if (tcon->dsp_end_callback)
|
||||
tcon->dsp_end_callback();
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ struct ebc_tcon {
|
||||
void (*frame_addr_set)(struct ebc_tcon *tcon, u32 frame_addr);
|
||||
int (*lut_data_set)(struct ebc_tcon *tcon, unsigned int *lut_data, int frame_count, int lut_32);
|
||||
void (*frame_start)(struct ebc_tcon *tcon, int frame_total);
|
||||
|
||||
void (*line_flag_callback)(void);
|
||||
void (*dsp_end_callback)(void);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user