提交 84b47623 编写于 作者: T Tomi Valkeinen

OMAPDSS: DISPC: use omapdss_version

Use omapdss_version in dispc.c to select the proper dispc features.
Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
上级 649514c6
...@@ -4042,29 +4042,44 @@ static const struct dispc_features omap44xx_dispc_feats __initconst = { ...@@ -4042,29 +4042,44 @@ static const struct dispc_features omap44xx_dispc_feats __initconst = {
.gfx_fifo_workaround = true, .gfx_fifo_workaround = true,
}; };
static int __init dispc_init_features(struct device *dev) static int __init dispc_init_features(struct platform_device *pdev)
{ {
struct omap_dss_board_info *pdata = pdev->dev.platform_data;
const struct dispc_features *src; const struct dispc_features *src;
struct dispc_features *dst; struct dispc_features *dst;
dst = devm_kzalloc(dev, sizeof(*dst), GFP_KERNEL); dst = devm_kzalloc(&pdev->dev, sizeof(*dst), GFP_KERNEL);
if (!dst) { if (!dst) {
dev_err(dev, "Failed to allocate DISPC Features\n"); dev_err(&pdev->dev, "Failed to allocate DISPC Features\n");
return -ENOMEM; return -ENOMEM;
} }
if (cpu_is_omap24xx()) { switch (pdata->version) {
case OMAPDSS_VER_OMAP24xx:
src = &omap24xx_dispc_feats; src = &omap24xx_dispc_feats;
} else if (cpu_is_omap34xx()) { break;
if (omap_rev() < OMAP3430_REV_ES3_0)
src = &omap34xx_rev1_0_dispc_feats; case OMAPDSS_VER_OMAP34xx_ES1:
else src = &omap34xx_rev1_0_dispc_feats;
src = &omap34xx_rev3_0_dispc_feats; break;
} else if (cpu_is_omap44xx()) {
case OMAPDSS_VER_OMAP34xx_ES3:
case OMAPDSS_VER_OMAP3630:
case OMAPDSS_VER_AM35xx:
src = &omap34xx_rev3_0_dispc_feats;
break;
case OMAPDSS_VER_OMAP4430_ES1:
case OMAPDSS_VER_OMAP4430_ES2:
case OMAPDSS_VER_OMAP4:
src = &omap44xx_dispc_feats; src = &omap44xx_dispc_feats;
} else if (soc_is_omap54xx()) { break;
case OMAPDSS_VER_OMAP5:
src = &omap44xx_dispc_feats; src = &omap44xx_dispc_feats;
} else { break;
default:
return -ENODEV; return -ENODEV;
} }
...@@ -4084,7 +4099,7 @@ static int __init omap_dispchw_probe(struct platform_device *pdev) ...@@ -4084,7 +4099,7 @@ static int __init omap_dispchw_probe(struct platform_device *pdev)
dispc.pdev = pdev; dispc.pdev = pdev;
r = dispc_init_features(&dispc.pdev->dev); r = dispc_init_features(dispc.pdev);
if (r) if (r)
return r; return r;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册