Skip to content

Commit

Permalink
OMAPDSS: hide manager's enable/disable()
Browse files Browse the repository at this point in the history
omap_overlay_manager struct contains enable() and disable() functions.
However, these are only meant to be used from inside omapdss, and thus
it's bad to expose the functions.

This patch adds dss_mgr_enable() and dss_mgr_disable() functions to
apply.c, which handle enabling and disabling the output.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
  • Loading branch information
Tomi Valkeinen committed Dec 2, 2011
1 parent 58f2554 commit 7797c6d
Show file tree
Hide file tree
Showing 9 changed files with 24 additions and 30 deletions.
12 changes: 11 additions & 1 deletion drivers/video/omap2/dss/apply.c
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ void dss_mgr_start_update(struct omap_overlay_manager *mgr)
mc->shadow_dirty = false;
}

mgr->enable(mgr);
dispc_mgr_enable(mgr->id, true);
}

static void dss_apply_irq_handler(void *data, u32 mask)
Expand Down Expand Up @@ -654,3 +654,13 @@ int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
return r;
}

void dss_mgr_enable(struct omap_overlay_manager *mgr)
{
dispc_mgr_enable(mgr->id, true);
}

void dss_mgr_disable(struct omap_overlay_manager *mgr)
{
dispc_mgr_enable(mgr->id, false);
}

4 changes: 2 additions & 2 deletions drivers/video/omap2/dss/dpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)

mdelay(2);

dssdev->manager->enable(dssdev->manager);
dss_mgr_enable(dssdev->manager);

return 0;

Expand All @@ -249,7 +249,7 @@ EXPORT_SYMBOL(omapdss_dpi_display_enable);

void omapdss_dpi_display_disable(struct omap_dss_device *dssdev)
{
dssdev->manager->disable(dssdev->manager);
dss_mgr_disable(dssdev->manager);

if (dpi_use_dsi_pll(dssdev)) {
dss_select_dispc_clk_source(OMAP_DSS_CLK_SRC_FCK);
Expand Down
4 changes: 2 additions & 2 deletions drivers/video/omap2/dss/dsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -4010,7 +4010,7 @@ int dsi_video_mode_enable(struct omap_dss_device *dssdev, int channel)
dsi_vc_enable(dsidev, channel, true);
dsi_if_enable(dsidev, true);

dssdev->manager->enable(dssdev->manager);
dss_mgr_enable(dssdev->manager);

return 0;
}
Expand All @@ -4029,7 +4029,7 @@ void dsi_video_mode_disable(struct omap_dss_device *dssdev, int channel)
dsi_vc_enable(dsidev, channel, true);
dsi_if_enable(dsidev, true);

dssdev->manager->disable(dssdev->manager);
dss_mgr_disable(dssdev->manager);
}
EXPORT_SYMBOL(dsi_video_mode_disable);

Expand Down
2 changes: 2 additions & 0 deletions drivers/video/omap2/dss/dss.h
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,8 @@ int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr);
int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl);
void dss_mgr_start_update(struct omap_overlay_manager *mgr);
int omap_dss_mgr_apply(struct omap_overlay_manager *mgr);
void dss_mgr_enable(struct omap_overlay_manager *mgr);
void dss_mgr_disable(struct omap_overlay_manager *mgr);

/* display */
int dss_suspend_all_devices(void);
Expand Down
6 changes: 3 additions & 3 deletions drivers/video/omap2/dss/hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
if (r)
return r;

dispc_mgr_enable(OMAP_DSS_CHANNEL_DIGIT, 0);
dss_mgr_disable(dssdev->manager);

p = &dssdev->panel.timings;

Expand Down Expand Up @@ -387,7 +387,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)

hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 1);

dispc_mgr_enable(OMAP_DSS_CHANNEL_DIGIT, 1);
dss_mgr_enable(dssdev->manager);

return 0;
err:
Expand All @@ -397,7 +397,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)

static void hdmi_power_off(struct omap_dss_device *dssdev)
{
dispc_mgr_enable(OMAP_DSS_CHANNEL_DIGIT, 0);
dss_mgr_disable(dssdev->manager);

hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 0);
hdmi.ip_data.ops->phy_disable(&hdmi.ip_data);
Expand Down
15 changes: 0 additions & 15 deletions drivers/video/omap2/dss/manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -585,18 +585,6 @@ static void omap_dss_mgr_get_info(struct omap_overlay_manager *mgr,
*info = mgr->info;
}

static int dss_mgr_enable(struct omap_overlay_manager *mgr)
{
dispc_mgr_enable(mgr->id, 1);
return 0;
}

static int dss_mgr_disable(struct omap_overlay_manager *mgr)
{
dispc_mgr_enable(mgr->id, 0);
return 0;
}

static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
{
++num_managers;
Expand Down Expand Up @@ -640,9 +628,6 @@ int dss_init_overlay_managers(struct platform_device *pdev)
mgr->wait_for_go = &dss_mgr_wait_for_go;
mgr->wait_for_vsync = &dss_mgr_wait_for_vsync;

mgr->enable = &dss_mgr_enable;
mgr->disable = &dss_mgr_disable;

mgr->caps = 0;
mgr->supported_displays =
dss_feat_get_supported_displays(mgr->id);
Expand Down
4 changes: 2 additions & 2 deletions drivers/video/omap2/dss/sdi.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
goto err_sdi_enable;
mdelay(2);

dssdev->manager->enable(dssdev->manager);
dss_mgr_enable(dssdev->manager);

return 0;

Expand All @@ -145,7 +145,7 @@ EXPORT_SYMBOL(omapdss_sdi_display_enable);

void omapdss_sdi_display_disable(struct omap_dss_device *dssdev)
{
dssdev->manager->disable(dssdev->manager);
dss_mgr_disable(dssdev->manager);

dss_sdi_disable();

Expand Down
4 changes: 2 additions & 2 deletions drivers/video/omap2/dss/venc.c
Original file line number Diff line number Diff line change
Expand Up @@ -447,15 +447,15 @@ static void venc_power_on(struct omap_dss_device *dssdev)
if (dssdev->platform_enable)
dssdev->platform_enable(dssdev);

dssdev->manager->enable(dssdev->manager);
dss_mgr_enable(dssdev->manager);
}

static void venc_power_off(struct omap_dss_device *dssdev)
{
venc_write_reg(VENC_OUTPUT_CONTROL, 0);
dss_set_dac_pwrdn_bgz(0);

dssdev->manager->disable(dssdev->manager);
dss_mgr_disable(dssdev->manager);

if (dssdev->platform_disable)
dssdev->platform_disable(dssdev);
Expand Down
3 changes: 0 additions & 3 deletions include/video/omapdss.h
Original file line number Diff line number Diff line change
Expand Up @@ -448,9 +448,6 @@ struct omap_overlay_manager {
int (*apply)(struct omap_overlay_manager *mgr);
int (*wait_for_go)(struct omap_overlay_manager *mgr);
int (*wait_for_vsync)(struct omap_overlay_manager *mgr);

int (*enable)(struct omap_overlay_manager *mgr);
int (*disable)(struct omap_overlay_manager *mgr);
};

struct omap_dss_device {
Expand Down

0 comments on commit 7797c6d

Please sign in to comment.