mirror of https://gitee.com/openkylin/linux.git
OMAPDSS: DISPC: use omapdss_version
Use omapdss_version in dispc.c to select the proper dispc features. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
649514c65c
commit
84b4762302
|
@ -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)
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue