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

Commit 41721163 authored by Archit Taneja's avatar Archit Taneja Committed by Tomi Valkeinen
Browse files

OMAPDSS: Apply manager timings instead of direct DISPC writes



Replace the function dispc_mgr_set_timings() with dss_mgr_set_timings() in the
interface drivers. The latter function ensures that the timing related DISPC
registers are configured according to the shadow register programming model.

Remove the call to dispc_mgr_go() in dpi_set_timings() as the manager's go bit
is set by dss_mgr_set_timings().

Signed-off-by: default avatarArchit Taneja <archit@ti.com>
parent 45324a26
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -156,7 +156,7 @@ static int dpi_set_mode(struct omap_dss_device *dssdev)
		t->pixel_clock = pck;
		t->pixel_clock = pck;
	}
	}


	dispc_mgr_set_timings(dssdev->manager->id, t);
	dss_mgr_set_timings(dssdev->manager, t);


	return 0;
	return 0;
}
}
@@ -294,7 +294,6 @@ void dpi_set_timings(struct omap_dss_device *dssdev,
		}
		}


		dpi_set_mode(dssdev);
		dpi_set_mode(dssdev);
		dispc_mgr_go(dssdev->manager->id);


		dispc_runtime_put();
		dispc_runtime_put();
		dss_runtime_put();
		dss_runtime_put();
+2 −3
Original line number Original line Diff line number Diff line
@@ -4215,13 +4215,12 @@ static int dsi_display_init_dispc(struct omap_dss_device *dssdev)
		dispc_mgr_enable_stallmode(dssdev->manager->id, true);
		dispc_mgr_enable_stallmode(dssdev->manager->id, true);
		dispc_mgr_enable_fifohandcheck(dssdev->manager->id, 1);
		dispc_mgr_enable_fifohandcheck(dssdev->manager->id, 1);


		dispc_mgr_set_timings(dssdev->manager->id, &timings);
		dss_mgr_set_timings(dssdev->manager, &timings);
	} else {
	} else {
		dispc_mgr_enable_stallmode(dssdev->manager->id, false);
		dispc_mgr_enable_stallmode(dssdev->manager->id, false);
		dispc_mgr_enable_fifohandcheck(dssdev->manager->id, 0);
		dispc_mgr_enable_fifohandcheck(dssdev->manager->id, 0);


		dispc_mgr_set_timings(dssdev->manager->id,
		dss_mgr_set_timings(dssdev->manager, &dssdev->panel.timings);
			&dssdev->panel.timings);
	}
	}


		dispc_mgr_set_lcd_display_type(dssdev->manager->id,
		dispc_mgr_set_lcd_display_type(dssdev->manager->id,
+1 −1
Original line number Original line Diff line number Diff line
@@ -376,7 +376,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
	dispc_enable_gamma_table(0);
	dispc_enable_gamma_table(0);


	/* tv size */
	/* tv size */
	dispc_mgr_set_timings(dssdev->manager->id, &dssdev->panel.timings);
	dss_mgr_set_timings(dssdev->manager, &dssdev->panel.timings);


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


+2 −2
Original line number Original line Diff line number Diff line
@@ -320,7 +320,7 @@ static void rfbi_transfer_area(struct omap_dss_device *dssdev, u16 width,


	DSSDBG("rfbi_transfer_area %dx%d\n", width, height);
	DSSDBG("rfbi_transfer_area %dx%d\n", width, height);


	dispc_mgr_set_timings(dssdev->manager->id, &timings);
	dss_mgr_set_timings(dssdev->manager, &timings);


	dispc_mgr_enable(dssdev->manager->id, true);
	dispc_mgr_enable(dssdev->manager->id, true);


@@ -804,7 +804,7 @@ int omap_rfbi_prepare_update(struct omap_dss_device *dssdev,
	if (*w == 0 || *h == 0)
	if (*w == 0 || *h == 0)
		return -EINVAL;
		return -EINVAL;


	dispc_mgr_set_timings(dssdev->manager->id, &timings);
	dss_mgr_set_timings(dssdev->manager, &timings);


	return 0;
	return 0;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -107,7 +107,7 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
	}
	}




	dispc_mgr_set_timings(dssdev->manager->id, t);
	dss_mgr_set_timings(dssdev->manager, t);


	r = dss_set_clock_div(&dss_cinfo);
	r = dss_set_clock_div(&dss_cinfo);
	if (r)
	if (r)
Loading