OMAPDSS: fix use of dssdev->caps
Recent commit dca2b1522c
(OMAPDSS: DSI:
Maintain copy of operation mode in driver data) broke DSI for video mode
displays. The commit changed the way dssdev->caps are initialized, and
the result was that every DSI display is initialized with manual-update
and tear-elim caps.
The code that sets dssdev->caps is not very good, even when fixed.
omapdss driver shouldn't be writing dssdev->caps at all.
This patch fixes the problem with video mode displays by moving the
initialization of dssdev->caps to the panel driver. The same change is
done for RFBI.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
4dc3eed450
commit
ab585254ba
|
@ -489,6 +489,7 @@ static int n8x0_panel_probe(struct omap_dss_device *dssdev)
|
||||||
dssdev->panel.timings.y_res = 480;
|
dssdev->panel.timings.y_res = 480;
|
||||||
dssdev->ctrl.pixel_size = 16;
|
dssdev->ctrl.pixel_size = 16;
|
||||||
dssdev->ctrl.rfbi_timings = n8x0_panel_timings;
|
dssdev->ctrl.rfbi_timings = n8x0_panel_timings;
|
||||||
|
dssdev->caps = OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
|
||||||
|
|
||||||
memset(&props, 0, sizeof(props));
|
memset(&props, 0, sizeof(props));
|
||||||
props.max_brightness = 127;
|
props.max_brightness = 127;
|
||||||
|
|
|
@ -884,6 +884,8 @@ static int taal_probe(struct omap_dss_device *dssdev)
|
||||||
|
|
||||||
dssdev->panel.timings = panel_config->timings;
|
dssdev->panel.timings = panel_config->timings;
|
||||||
dssdev->panel.dsi_pix_fmt = OMAP_DSS_DSI_FMT_RGB888;
|
dssdev->panel.dsi_pix_fmt = OMAP_DSS_DSI_FMT_RGB888;
|
||||||
|
dssdev->caps = OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE |
|
||||||
|
OMAP_DSS_DISPLAY_CAP_TEAR_ELIM;
|
||||||
|
|
||||||
td = kzalloc(sizeof(*td), GFP_KERNEL);
|
td = kzalloc(sizeof(*td), GFP_KERNEL);
|
||||||
if (!td) {
|
if (!td) {
|
||||||
|
|
|
@ -4866,11 +4866,6 @@ static int __init dsi_init_display(struct omap_dss_device *dssdev)
|
||||||
|
|
||||||
DSSDBG("DSI init\n");
|
DSSDBG("DSI init\n");
|
||||||
|
|
||||||
if (dsi->mode == OMAP_DSS_DSI_CMD_MODE) {
|
|
||||||
dssdev->caps = OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE |
|
|
||||||
OMAP_DSS_DISPLAY_CAP_TEAR_ELIM;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dsi->vdds_dsi_reg == NULL) {
|
if (dsi->vdds_dsi_reg == NULL) {
|
||||||
struct regulator *vdds_dsi;
|
struct regulator *vdds_dsi;
|
||||||
|
|
||||||
|
|
|
@ -939,7 +939,6 @@ EXPORT_SYMBOL(omapdss_rfbi_display_disable);
|
||||||
static int __init rfbi_init_display(struct omap_dss_device *dssdev)
|
static int __init rfbi_init_display(struct omap_dss_device *dssdev)
|
||||||
{
|
{
|
||||||
rfbi.dssdev[dssdev->phy.rfbi.channel] = dssdev;
|
rfbi.dssdev[dssdev->phy.rfbi.channel] = dssdev;
|
||||||
dssdev->caps = OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue