vdin: dolby meta data crc error [1/1]

PD#SWPL-134400

Problem:
vdin get meta data from low bits of Y component,which length
was set a little bit small,when meta data is about 512 bytes
vdin can not get all meta data,cause crc error

Solution:
set reg_meta_wr_sum to 0x280,the same as t5m

Verify:
t3x

Change-Id: Ice35572dab89a4f7607414d0db5ba2dffc2191a1
Signed-off-by: haitao.liu <haitao.liu@amlogic.com>
This commit is contained in:
haitao.liu
2023-09-26 14:11:19 +08:00
committed by Luan Yuan
parent 36e0bef9b9
commit dc84dccf6f
+10 -8
View File
@@ -3431,10 +3431,11 @@ void vdin_dolby_addr_update_t3x(struct vdin_dev_s *devp, unsigned int index)
value |= (0 << 31);/* reg_meta_rd_en */
value |= (1 << 30);/* reg_meta_rd_mode */
value |= (0x0c0d5 << 0); /* reg_meta_tunnel_sel */
if (devp->h_active_org >= 3840)
value |= (280 << 20);/* reg_meta_wr_sum */
else
value |= ((devp->h_active_org * 3 / 40) << 20);
value |= (0x280 << 20);/* reg_meta_wr_sum */
// if (devp->h_active_org >= 3840)
// value |= (280 << 20);/* reg_meta_wr_sum */
// else
// value |= ((devp->h_active_org * 3 / 40) << 20);
wr(offset, VDIN0_META_DSC_CTRL2, value);
wr(offset, VDIN0_META_DSC_CTRL3, 0x0);
}
@@ -3479,10 +3480,11 @@ void vdin_dolby_config_t3x(struct vdin_dev_s *devp)
value |= (0 << 31);/* reg_meta_rd_en */
value |= (1 << 30);/* reg_meta_rd_mode */
value |= (0x0c0d5 << 0); /* reg_meta_tunnel_sel */
if (devp->h_active_org >= 3840)
value |= (280 << 20);/* reg_meta_wr_sum */
else
value |= ((devp->h_active_org * 3 / 40) << 20);
value |= (0x280 << 20);/* reg_meta_wr_sum */
// if (devp->h_active_org >= 3840)
// value |= (0x280 << 20);/* reg_meta_wr_sum */
// else
// value |= ((devp->h_active_org * 3 / 40) << 20);
wr(offset, VDIN0_META_DSC_CTRL2, value);
wr(offset, VDIN0_META_DSC_CTRL3, 0x0);
}