int onwaitendframe;
+static u32 vpp_hold_line = 8;
+
struct video_dev_s video_dev[2] = {
{0x1d00 - 0x1d00, 0x1a50 - 0x1a50},
{0x1900 - 0x1d00, 0x1e00 - 0x1a50}
if (type & VIDTYPE_COMPRESS) {
r = (3 << 24) |
- (17 << 16) |
+ (vpp_hold_line << 16) |
((legacy_vpp ? 1 : 2) << 14) | /* burst1 */
(vf->bitdepth & BITDEPTH_MASK);
}
r = (3 << VDIF_URGENT_BIT) |
- (17 << VDIF_HOLD_LINES_BIT) |
+ (vpp_hold_line << VDIF_HOLD_LINES_BIT) |
VDIF_FORMAT_SPLIT |
VDIF_CHRO_RPT_LAST | VDIF_ENABLE;
/* | VDIF_RESET_ON_GO_FIELD;*/
if (get_cpu_type() >= MESON_CPU_MAJOR_ID_GXBB) {
if (type & VIDTYPE_COMPRESS) {
r = (3 << 24) |
- (17 << 16) |
+ (vpp_hold_line << 16) |
((legacy_vpp ? 1 : 2) << 14) | /* burst1 */
(vf->bitdepth & BITDEPTH_MASK);
}
r = (3 << VDIF_URGENT_BIT) |
- (17 << VDIF_HOLD_LINES_BIT) |
+ (vpp_hold_line << VDIF_HOLD_LINES_BIT) |
VDIF_FORMAT_SPLIT |
VDIF_CHRO_RPT_LAST | VDIF_ENABLE;
/* | VDIF_RESET_ON_GO_FIELD;*/
/*(3<<9) | (1<<8) | (0)); // fclk_div7/1 = 364M*/
/*moved to vpu.c, default config by dts */
+ u32 cur_hold_line;
+
#if 0 /* if (0 >= VMODE_MAX) //DEBUG_TMP */
#if 1 /* MESON_CPU_TYPE >= MESON_CPU_TYPE_MESON6 */
if (cpu_after_eq(MESON_CPU_MAJOR_ID_GXTVBB))
WRITE_VCBUS_REG(VPP_SRSHARP0_CTRL, 0);
WRITE_VCBUS_REG(VPP_SRSHARP1_CTRL, 0);
+ cur_hold_line = READ_VCBUS_REG(VPP_HOLD_LINES + cur_dev->vpp_off);
+ cur_hold_line = cur_hold_line & 0xff;
+
+ if (cur_hold_line > 0x1f)
+ vpp_hold_line = 0x1f;
+ else
+ vpp_hold_line = cur_hold_line;
+
/* Temp force set dmc */
if (!legacy_vpp)
WRITE_DMCREG(
MODULE_PARM_DESC(toggle_count, "\n toggle count\n");
module_param(toggle_count, uint, 0664);
+MODULE_PARM_DESC(vpp_hold_line, "\n vpp_hold_line\n");
+module_param(vpp_hold_line, uint, 0664);
+
MODULE_DESCRIPTION("AMLOGIC video output driver");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Tim Yao <timyao@amlogic.com>");