mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
osd: fixed uboot logo 720p src display error
PD#167682: osd: fixed uboot logo 720p src display error Change-Id: I3680210dc5afe91c9c5cf89f442ff21401844f4d Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
This commit is contained in:
committed by
Yixun Lan
parent
2c3038de4a
commit
3908abb317
@@ -61,11 +61,15 @@ struct logo_info_s {
|
||||
u32 vmode;
|
||||
u32 debug;
|
||||
u32 loaded;
|
||||
u32 fb_width;
|
||||
u32 fb_height;
|
||||
} logo_info = {
|
||||
.index = -1,
|
||||
.vmode = VMODE_MAX,
|
||||
.debug = 0,
|
||||
.loaded = 0,
|
||||
.fb_width = 1920,
|
||||
.fb_height = 1080,
|
||||
};
|
||||
|
||||
static int get_value_by_name(char *name, struct para_pair_s *pair, u32 cnt)
|
||||
@@ -158,6 +162,23 @@ static int __init logo_setup(char *str)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __init get_logo_width(char *str)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = kstrtoint(str, 0, &logo_info.fb_width);
|
||||
pr_info("logo_info.fb_width=%d\n", logo_info.fb_width);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __init get_logo_height(char *str)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = kstrtoint(str, 0, &logo_info.fb_height);
|
||||
pr_info("logo_info.fb_height=%d\n", logo_info.fb_height);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int set_osd_logo_freescaler(void)
|
||||
{
|
||||
@@ -176,8 +197,10 @@ int set_osd_logo_freescaler(void)
|
||||
osd_set_free_scale_mode_hw(index, 1);
|
||||
osd_set_free_scale_enable_hw(index, 0);
|
||||
|
||||
osd_set_free_scale_axis_hw(index, 0, 0, 1919, 1079);
|
||||
osd_update_disp_axis_hw(index, 0, 1919, 0, 1079, 0, 0, 0);
|
||||
osd_set_free_scale_axis_hw(index, 0, 0,
|
||||
logo_info.fb_width - 1, logo_info.fb_height - 1);
|
||||
osd_update_disp_axis_hw(index, 0, logo_info.fb_width - 1,
|
||||
0, logo_info.fb_height - 1, 0, 0, 0);
|
||||
vinfo = get_current_vinfo();
|
||||
if (vinfo) {
|
||||
pr_info("outputmode changed to %s, reset osd%d scaler\n",
|
||||
@@ -200,6 +223,9 @@ void set_logo_loaded(void)
|
||||
|
||||
__setup("logo=", logo_setup);
|
||||
|
||||
__setup("fb_width=", get_logo_width);
|
||||
|
||||
__setup("fb_height=", get_logo_height);
|
||||
|
||||
int logo_work_init(void)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user