mirror of https://gitee.com/openkylin/linux.git
OMAPDSS: use omapdss_version in dss_features.c
Pass the omapdss_version to dss_features.c and use it to select the proper dss features. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
acd18af93a
commit
649514c65c
|
@ -237,7 +237,7 @@ static int __init omap_dss_probe(struct platform_device *pdev)
|
|||
|
||||
core.pdev = pdev;
|
||||
|
||||
dss_features_init();
|
||||
dss_features_init(pdata->version);
|
||||
|
||||
dss_apply_init();
|
||||
|
||||
|
|
|
@ -929,29 +929,44 @@ bool dss_feat_rotation_type_supported(enum omap_dss_rotation_type rot_type)
|
|||
return omap_current_dss_features->supported_rotation_types & rot_type;
|
||||
}
|
||||
|
||||
void dss_features_init(void)
|
||||
void dss_features_init(enum omapdss_version version)
|
||||
{
|
||||
if (cpu_is_omap24xx())
|
||||
switch (version) {
|
||||
case OMAPDSS_VER_OMAP24xx:
|
||||
omap_current_dss_features = &omap2_dss_features;
|
||||
else if (cpu_is_omap3630())
|
||||
break;
|
||||
|
||||
case OMAPDSS_VER_OMAP34xx_ES1:
|
||||
case OMAPDSS_VER_OMAP34xx_ES3:
|
||||
omap_current_dss_features = &omap3430_dss_features;
|
||||
break;
|
||||
|
||||
case OMAPDSS_VER_OMAP3630:
|
||||
omap_current_dss_features = &omap3630_dss_features;
|
||||
else if (cpu_is_omap34xx()) {
|
||||
if (soc_is_am35xx()) {
|
||||
omap_current_dss_features = &am35xx_dss_features;
|
||||
} else {
|
||||
omap_current_dss_features = &omap3430_dss_features;
|
||||
}
|
||||
}
|
||||
else if (omap_rev() == OMAP4430_REV_ES1_0)
|
||||
break;
|
||||
|
||||
case OMAPDSS_VER_OMAP4430_ES1:
|
||||
omap_current_dss_features = &omap4430_es1_0_dss_features;
|
||||
else if (omap_rev() == OMAP4430_REV_ES2_0 ||
|
||||
omap_rev() == OMAP4430_REV_ES2_1 ||
|
||||
omap_rev() == OMAP4430_REV_ES2_2)
|
||||
break;
|
||||
|
||||
case OMAPDSS_VER_OMAP4430_ES2:
|
||||
omap_current_dss_features = &omap4430_es2_0_1_2_dss_features;
|
||||
else if (cpu_is_omap44xx())
|
||||
break;
|
||||
|
||||
case OMAPDSS_VER_OMAP4:
|
||||
omap_current_dss_features = &omap4_dss_features;
|
||||
else if (soc_is_omap54xx())
|
||||
break;
|
||||
|
||||
case OMAPDSS_VER_OMAP5:
|
||||
omap_current_dss_features = &omap5_dss_features;
|
||||
else
|
||||
break;
|
||||
|
||||
case OMAPDSS_VER_AM35xx:
|
||||
omap_current_dss_features = &am35xx_dss_features;
|
||||
break;
|
||||
|
||||
default:
|
||||
DSSWARN("Unsupported OMAP version");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -123,7 +123,7 @@ bool dss_feat_rotation_type_supported(enum omap_dss_rotation_type rot_type);
|
|||
|
||||
bool dss_has_feature(enum dss_feat_id id);
|
||||
void dss_feat_get_reg_field(enum dss_feat_reg_field id, u8 *start, u8 *end);
|
||||
void dss_features_init(void);
|
||||
void dss_features_init(enum omapdss_version version);
|
||||
#if defined(CONFIG_OMAP4_DSS_HDMI)
|
||||
void dss_init_hdmi_ip_ops(struct hdmi_ip_data *ip_data);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue