OMAPDSS: DISPC: Remove omap_dss_device pointer usage from dispc_mgr_pclk_rate()

The pixel clock rate for the TV manager is calculated by checking the device
type connected to the manager, and then requesting the VENC/HDMI interface for
the pixel clock rate.

Remove the use of omap_dss_device pointer from here by checking which interface
generates the pixel clock by reading the DSS_CTRL.VENC_HDMI_SWITCH bit.

Signed-off-by: Archit Taneja <archit@ti.com>
This commit is contained in:
Archit Taneja 2012-04-09 15:06:41 +05:30 committed by Tomi Valkeinen
parent b3d795abb2
commit 3fa03ba854
1 changed files with 6 additions and 5 deletions

View File

@ -2643,13 +2643,14 @@ unsigned long dispc_mgr_pclk_rate(enum omap_channel channel)
return r / pcd;
} else {
struct omap_dss_device *dssdev =
dispc_mgr_get_device(channel);
enum dss_hdmi_venc_clk_source_select source;
switch (dssdev->type) {
case OMAP_DISPLAY_TYPE_VENC:
source = dss_get_hdmi_venc_clk_source();
switch (source) {
case DSS_VENC_TV_CLK:
return venc_get_pixel_clock();
case OMAP_DISPLAY_TYPE_HDMI:
case DSS_HDMI_M_PCLK:
return hdmi_get_pixel_clock();
default:
BUG();