summaryrefslogtreecommitdiff
authorCao Jian <jian.cao@amlogic.com>2020-04-30 09:04:42 (GMT)
committer Shen Liu <shen.liu@amlogic.com>2020-05-26 08:05:53 (GMT)
commit15fb89454bd0ad46d05d46cd22725e1bb165b6d7 (patch)
treebdbd2cfd63d7111b31d341e98615bcc65f25ca68
parentc25154b93b00f8185c1041a23d57a0b69e0c15ca (diff)
downloadcommon-15fb89454bd0ad46d05d46cd22725e1bb165b6d7.zip
common-15fb89454bd0ad46d05d46cd22725e1bb165b6d7.tar.gz
common-15fb89454bd0ad46d05d46cd22725e1bb165b6d7.tar.bz2
osd: correct osd blend scope setting [1/1]
PD#SWPL-24548 Problem: CVBS display abnormally in recovery Solution: correct osd blend scope setting Verify: sm1 Change-Id: I53b65c7ecbcd629a26c90c77afa68b1efdfd11e3 Signed-off-by: Cao Jian <jian.cao@amlogic.com>
Diffstat
-rw-r--r--drivers/amlogic/media/osd/osd_hw.c34
1 files changed, 24 insertions, 10 deletions
diff --git a/drivers/amlogic/media/osd/osd_hw.c b/drivers/amlogic/media/osd/osd_hw.c
index 7f145c2..7d4bfd7 100644
--- a/drivers/amlogic/media/osd/osd_hw.c
+++ b/drivers/amlogic/media/osd/osd_hw.c
@@ -5781,16 +5781,30 @@ static int osd_setting_blending_scope(u32 index)
osd_log_err("error osd index=%d\n", index);
return -1;
}
- bld_osd_h_start =
- osd_hw.dst_data[index].x;
- bld_osd_h_end =
- osd_hw.dst_data[index].x +
- osd_hw.dst_data[index].w - 1;
- bld_osd_v_start =
- osd_hw.dst_data[index].y;
- bld_osd_v_end =
- osd_hw.dst_data[index].y +
- osd_hw.dst_data[index].h - 1;
+
+ if (index == OSD1) {
+ bld_osd_h_start =
+ osd_hw.src_data[index].x;
+ bld_osd_h_end =
+ osd_hw.src_data[index].x +
+ osd_hw.src_data[index].w - 1;
+ bld_osd_v_start =
+ osd_hw.src_data[index].y;
+ bld_osd_v_end =
+ osd_hw.src_data[index].y +
+ osd_hw.src_data[index].h - 1;
+ } else {
+ bld_osd_h_start =
+ osd_hw.dst_data[index].x;
+ bld_osd_h_end =
+ osd_hw.dst_data[index].x +
+ osd_hw.dst_data[index].w - 1;
+ bld_osd_v_start =
+ osd_hw.dst_data[index].y;
+ bld_osd_v_end =
+ osd_hw.dst_data[index].y +
+ osd_hw.dst_data[index].h - 1;
+ }
osd_log_dbg(MODULE_BLEND, "osd%d_hw.dst_data:%d,%d,%d,%d\n",
index,