mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 13:44:15 +08:00
Merge branch '3.18/omapdss-fixes' into 3.18/fbdev-fixes
This commit is contained in:
commit
a942535d6e
@ -301,6 +301,8 @@ static const struct of_device_id tvc_of_match[] = {
|
||||
{},
|
||||
};
|
||||
|
||||
MODULE_DEVICE_TABLE(of, tvc_of_match);
|
||||
|
||||
static struct platform_driver tvc_connector_driver = {
|
||||
.probe = tvc_probe,
|
||||
.remove = __exit_p(tvc_remove),
|
||||
@ -308,6 +310,7 @@ static struct platform_driver tvc_connector_driver = {
|
||||
.name = "connector-analog-tv",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = tvc_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -391,6 +391,7 @@ static struct platform_driver dvi_connector_driver = {
|
||||
.name = "connector-dvi",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = dvic_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -437,6 +437,7 @@ static struct platform_driver hdmi_connector_driver = {
|
||||
.name = "connector-hdmi",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = hdmic_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -298,6 +298,7 @@ static struct platform_driver tfp410_driver = {
|
||||
.name = "tfp410",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = tfp410_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -461,6 +461,7 @@ static struct platform_driver tpd_driver = {
|
||||
.name = "tpd12s015",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = tpd_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -327,6 +327,7 @@ static struct platform_driver panel_dpi_driver = {
|
||||
.name = "panel-dpi",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = panel_dpi_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -1378,6 +1378,7 @@ static struct platform_driver dsicm_driver = {
|
||||
.name = "panel-dsi-cm",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = dsicm_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -394,6 +394,7 @@ static struct spi_driver lb035q02_spi_driver = {
|
||||
.name = "panel_lgphilips_lb035q02",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = lb035q02_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -424,6 +424,7 @@ static struct spi_driver nec_8048_driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.pm = NEC_8048_PM_OPS,
|
||||
.of_match_table = nec_8048_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
.probe = nec_8048_probe,
|
||||
.remove = nec_8048_remove,
|
||||
|
@ -410,6 +410,7 @@ static struct platform_driver sharp_ls_driver = {
|
||||
.name = "panel-sharp-ls037v7dw01",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = sharp_ls_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -904,6 +904,7 @@ static struct spi_driver acx565akm_driver = {
|
||||
.name = "acx565akm",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = acx565akm_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
.probe = acx565akm_probe,
|
||||
.remove = acx565akm_remove,
|
||||
|
@ -500,6 +500,7 @@ static struct spi_driver td028ttec1_spi_driver = {
|
||||
.name = "panel-tpo-td028ttec1",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = td028ttec1_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -673,6 +673,7 @@ static struct spi_driver tpo_td043_spi_driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.pm = &tpo_td043_spi_pm,
|
||||
.of_match_table = tpo_td043_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
.probe = tpo_td043_probe,
|
||||
.remove = tpo_td043_remove,
|
||||
|
@ -1132,6 +1132,8 @@ static void dss_mgr_disable_compat(struct omap_overlay_manager *mgr)
|
||||
if (!mp->enabled)
|
||||
goto out;
|
||||
|
||||
wait_pending_extra_info_updates();
|
||||
|
||||
if (!mgr_manual_update(mgr))
|
||||
dispc_mgr_disable_sync(mgr->id);
|
||||
|
||||
|
@ -3290,8 +3290,11 @@ static void dispc_dump_regs(struct seq_file *s)
|
||||
DUMPREG(i, DISPC_OVL_FIFO_SIZE_STATUS);
|
||||
DUMPREG(i, DISPC_OVL_ROW_INC);
|
||||
DUMPREG(i, DISPC_OVL_PIXEL_INC);
|
||||
|
||||
if (dss_has_feature(FEAT_PRELOAD))
|
||||
DUMPREG(i, DISPC_OVL_PRELOAD);
|
||||
if (dss_has_feature(FEAT_MFLAG))
|
||||
DUMPREG(i, DISPC_OVL_MFLAG_THRESHOLD);
|
||||
|
||||
if (i == OMAP_DSS_GFX) {
|
||||
DUMPREG(i, DISPC_OVL_WINDOW_SKIP);
|
||||
@ -3312,10 +3315,6 @@ static void dispc_dump_regs(struct seq_file *s)
|
||||
}
|
||||
if (dss_has_feature(FEAT_ATTR2))
|
||||
DUMPREG(i, DISPC_OVL_ATTRIBUTES2);
|
||||
if (dss_has_feature(FEAT_PRELOAD))
|
||||
DUMPREG(i, DISPC_OVL_PRELOAD);
|
||||
if (dss_has_feature(FEAT_MFLAG))
|
||||
DUMPREG(i, DISPC_OVL_MFLAG_THRESHOLD);
|
||||
}
|
||||
|
||||
#undef DISPC_REG
|
||||
@ -3843,6 +3842,7 @@ static struct platform_driver omap_dispchw_driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.pm = &dispc_pm_ops,
|
||||
.of_match_table = dispc_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -101,8 +101,7 @@
|
||||
DISPC_FIR_COEF_V2_OFFSET(n, i))
|
||||
#define DISPC_OVL_PRELOAD(n) (DISPC_OVL_BASE(n) + \
|
||||
DISPC_PRELOAD_OFFSET(n))
|
||||
#define DISPC_OVL_MFLAG_THRESHOLD(n) (DISPC_OVL_BASE(n) + \
|
||||
DISPC_MFLAG_THRESHOLD_OFFSET(n))
|
||||
#define DISPC_OVL_MFLAG_THRESHOLD(n) DISPC_MFLAG_THRESHOLD_OFFSET(n)
|
||||
|
||||
/* DISPC up/downsampling FIR filter coefficient structure */
|
||||
struct dispc_coef {
|
||||
|
@ -720,6 +720,7 @@ static struct platform_driver omap_dpi_driver = {
|
||||
.driver = {
|
||||
.name = "omapdss_dpi",
|
||||
.owner = THIS_MODULE,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -1603,7 +1603,7 @@ int dsi_pll_set_clock_div(struct platform_device *dsidev,
|
||||
} else if (dss_has_feature(FEAT_DSI_PLL_SELFREQDCO)) {
|
||||
f = cinfo->clkin4ddr < 1000000000 ? 0x2 : 0x4;
|
||||
|
||||
l = FLD_MOD(l, f, 4, 1); /* PLL_SELFREQDCO */
|
||||
l = FLD_MOD(l, f, 3, 1); /* PLL_SELFREQDCO */
|
||||
}
|
||||
|
||||
l = FLD_MOD(l, 1, 13, 13); /* DSI_PLL_REFEN */
|
||||
@ -5754,6 +5754,7 @@ static struct platform_driver omap_dsihw_driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.pm = &dsi_pm_ops,
|
||||
.of_match_table = dsi_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -966,6 +966,7 @@ static struct platform_driver omap_dsshw_driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.pm = &dss_pm_ops,
|
||||
.of_match_table = dss_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -781,6 +781,7 @@ static struct platform_driver omapdss_hdmihw_driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.pm = &hdmi_pm_ops,
|
||||
.of_match_table = hdmi_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -806,6 +806,7 @@ static struct platform_driver omapdss_hdmihw_driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.pm = &hdmi_pm_ops,
|
||||
.of_match_table = hdmi_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -124,16 +124,15 @@ static int hdmi_pll_config(struct hdmi_pll_data *pll)
|
||||
r = FLD_MOD(r, 0x0, 14, 14); /* PHY_CLKINEN de-assert during locking */
|
||||
r = FLD_MOD(r, fmt->refsel, 22, 21); /* REFSEL */
|
||||
|
||||
if (fmt->dcofreq) {
|
||||
/* divider programming for frequency beyond 1000Mhz */
|
||||
REG_FLD_MOD(pll->base, PLLCTRL_CFG3, fmt->regsd, 17, 10);
|
||||
if (fmt->dcofreq)
|
||||
r = FLD_MOD(r, 0x4, 3, 1); /* 1000MHz and 2000MHz */
|
||||
} else {
|
||||
else
|
||||
r = FLD_MOD(r, 0x2, 3, 1); /* 500MHz and 1000MHz */
|
||||
}
|
||||
|
||||
hdmi_write_reg(pll->base, PLLCTRL_CFG2, r);
|
||||
|
||||
REG_FLD_MOD(pll->base, PLLCTRL_CFG3, fmt->regsd, 17, 10);
|
||||
|
||||
r = hdmi_read_reg(pll->base, PLLCTRL_CFG4);
|
||||
r = FLD_MOD(r, fmt->regm2, 24, 18);
|
||||
r = FLD_MOD(r, fmt->regmf, 17, 0);
|
||||
@ -144,8 +143,8 @@ static int hdmi_pll_config(struct hdmi_pll_data *pll)
|
||||
|
||||
/* wait for bit change */
|
||||
if (hdmi_wait_for_bit_change(pll->base, PLLCTRL_PLL_GO,
|
||||
0, 0, 1) != 1) {
|
||||
DSSERR("PLL GO bit not set\n");
|
||||
0, 0, 0) != 0) {
|
||||
DSSERR("PLL GO bit not clearing\n");
|
||||
return -ETIMEDOUT;
|
||||
}
|
||||
|
||||
|
@ -1044,6 +1044,7 @@ static struct platform_driver omap_rfbihw_driver = {
|
||||
.name = "omapdss_rfbi",
|
||||
.owner = THIS_MODULE,
|
||||
.pm = &rfbi_pm_ops,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -377,6 +377,7 @@ static struct platform_driver omap_sdi_driver = {
|
||||
.driver = {
|
||||
.name = "omapdss_sdi",
|
||||
.owner = THIS_MODULE,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -966,6 +966,7 @@ static struct platform_driver omap_venchw_driver = {
|
||||
.owner = THIS_MODULE,
|
||||
.pm = &venc_pm_ops,
|
||||
.of_match_table = venc_of_match,
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -1833,14 +1833,13 @@ static void omapfb_free_resources(struct omapfb2_device *fbdev)
|
||||
if (fbdev == NULL)
|
||||
return;
|
||||
|
||||
for (i = 0; i < fbdev->num_fbs; i++) {
|
||||
struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
|
||||
int j;
|
||||
for (i = 0; i < fbdev->num_overlays; i++) {
|
||||
struct omap_overlay *ovl = fbdev->overlays[i];
|
||||
|
||||
for (j = 0; j < ofbi->num_overlays; j++) {
|
||||
struct omap_overlay *ovl = ofbi->overlays[j];
|
||||
ovl->disable(ovl);
|
||||
}
|
||||
ovl->disable(ovl);
|
||||
|
||||
if (ovl->manager)
|
||||
ovl->unset_manager(ovl);
|
||||
}
|
||||
|
||||
for (i = 0; i < fbdev->num_fbs; i++)
|
||||
@ -2619,7 +2618,7 @@ err0:
|
||||
return r;
|
||||
}
|
||||
|
||||
static int __exit omapfb_remove(struct platform_device *pdev)
|
||||
static int omapfb_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
|
||||
|
||||
@ -2636,7 +2635,7 @@ static int __exit omapfb_remove(struct platform_device *pdev)
|
||||
|
||||
static struct platform_driver omapfb_driver = {
|
||||
.probe = omapfb_probe,
|
||||
.remove = __exit_p(omapfb_remove),
|
||||
.remove = omapfb_remove,
|
||||
.driver = {
|
||||
.name = "omapfb",
|
||||
.owner = THIS_MODULE,
|
||||
@ -2651,6 +2650,7 @@ module_param_named(mirror, def_mirror, bool, 0);
|
||||
|
||||
module_platform_driver(omapfb_driver);
|
||||
|
||||
MODULE_ALIAS("platform:omapfb");
|
||||
MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
|
||||
MODULE_DESCRIPTION("OMAP2/3 Framebuffer");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
Loading…
Reference in New Issue
Block a user