From: Archit Taneja Date: Mon, 9 Apr 2012 09:36:41 +0000 (+0530) Subject: OMAPDSS: DISPC: Remove omap_dss_device pointer usage from dispc_mgr_pclk_rate() X-Git-Tag: v3.5-rc1~7^2~5^2~17^2~1 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3fa03ba8542c40b90c95facfecd9b2789f71c0b6;p=karo-tx-linux.git 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 --- diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c index 6eec08400094..cd0a3979c5d1 100644 --- a/drivers/video/omap2/dss/dispc.c +++ b/drivers/video/omap2/dss/dispc.c @@ -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();