Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7797c6da authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

OMAPDSS: hide manager's enable/disable()



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: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 58f25548
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -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)
@@ -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);
}
+2 −2
Original line number Diff line number Diff line
@@ -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;

@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -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;
}
@@ -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);

+2 −0
Original line number Diff line number Diff line
@@ -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);
+3 −3
Original line number Diff line number Diff line
@@ -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;

@@ -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:
@@ -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);
Loading