From 2d36db08211d1e7ccfc716bbc8b070c1003579c2 Mon Sep 17 00:00:00 2001 From: pengcheng chen Date: Thu, 10 May 2018 21:33:52 +0800 Subject: [PATCH] osd: fix dfbshow can't show picture PD#165698: osd: fix dfbshow can't show picture Change-Id: I0f13537391c98f106a5154d498ef46af90aa7690 Signed-off-by: pengcheng chen --- drivers/amlogic/media/osd/osd_hw.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/amlogic/media/osd/osd_hw.c b/drivers/amlogic/media/osd/osd_hw.c index caf1a54f6f0d..e3c6ab236958 100644 --- a/drivers/amlogic/media/osd/osd_hw.c +++ b/drivers/amlogic/media/osd/osd_hw.c @@ -2078,6 +2078,12 @@ void osd_setup_hw(u32 index, sizeof(struct pandata_s)); memcpy(&osd_hw.dispdata_backup[index], &disp_data, sizeof(struct pandata_s)); + osd_hw.src_data[index].x = osd_hw.pandata[index].x_start; + osd_hw.src_data[index].y = osd_hw.pandata[index].y_start; + osd_hw.src_data[index].w = osd_hw.pandata[index].x_end + - osd_hw.pandata[index].x_start + 1; + osd_hw.src_data[index].h = osd_hw.pandata[index].y_end + - osd_hw.pandata[index].y_start + 1; } spin_lock_irqsave(&osd_lock, lock_flags); if (update_color_mode) @@ -3830,6 +3836,12 @@ void osd_pan_display_hw(u32 index, unsigned int xoffset, unsigned int yoffset) osd_hw.pandata[index].x_end += diff_x; osd_hw.pandata[index].y_start += diff_y; osd_hw.pandata[index].y_end += diff_y; + osd_hw.src_data[index].x = osd_hw.pandata[index].x_start; + osd_hw.src_data[index].y = osd_hw.pandata[index].y_start; + osd_hw.src_data[index].w = osd_hw.pandata[index].x_end + - osd_hw.pandata[index].x_start + 1; + osd_hw.src_data[index].h = osd_hw.pandata[index].y_end + - osd_hw.pandata[index].y_start + 1; add_to_update_list(index, DISP_GEOMETRY); if (osd_hw.osd_fps_start) osd_hw.osd_fps++;