Rev 5060 | Rev 6084 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5060 | Rev 5354 | ||
---|---|---|---|
Line 132... | Line 132... | ||
132 | } |
132 | } |
Line 133... | Line 133... | ||
133 | 133 | ||
Line 134... | Line 134... | ||
134 | #else |
134 | #else |
135 | 135 | ||
136 | /* Get DSI clock from pixel clock */ |
- | |
137 | static u32 dsi_clk_from_pclk(const struct drm_display_mode *mode, |
136 | /* Get DSI clock from pixel clock */ |
138 | int pixel_format, int lane_count) |
137 | static u32 dsi_clk_from_pclk(u32 pclk, int pixel_format, int lane_count) |
139 | { |
138 | { |
Line 140... | Line 139... | ||
140 | u32 dsi_clk_khz; |
139 | u32 dsi_clk_khz; |
Line 154... | Line 153... | ||
154 | break; |
153 | break; |
155 | } |
154 | } |
Line 156... | Line 155... | ||
156 | 155 | ||
157 | /* DSI data rate = pixel clock * bits per pixel / lane count |
156 | /* DSI data rate = pixel clock * bits per pixel / lane count |
158 | pixel clock is converted from KHz to Hz */ |
157 | pixel clock is converted from KHz to Hz */ |
Line 159... | Line 158... | ||
159 | dsi_clk_khz = DIV_ROUND_CLOSEST(mode->clock * bpp, lane_count); |
158 | dsi_clk_khz = DIV_ROUND_CLOSEST(pclk * bpp, lane_count); |
160 | 159 | ||
Line 161... | Line 160... | ||
161 | return dsi_clk_khz; |
160 | return dsi_clk_khz; |
Line 226... | Line 225... | ||
226 | * sharing PLLs with two DSI outputs. |
225 | * sharing PLLs with two DSI outputs. |
227 | */ |
226 | */ |
228 | static void vlv_configure_dsi_pll(struct intel_encoder *encoder) |
227 | static void vlv_configure_dsi_pll(struct intel_encoder *encoder) |
229 | { |
228 | { |
230 | struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; |
229 | struct drm_i915_private *dev_priv = encoder->base.dev->dev_private; |
231 | struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); |
- | |
232 | const struct drm_display_mode *mode = &intel_crtc->config.adjusted_mode; |
- | |
233 | struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); |
230 | struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); |
234 | int ret; |
231 | int ret; |
235 | struct dsi_mnp dsi_mnp; |
232 | struct dsi_mnp dsi_mnp; |
236 | u32 dsi_clk; |
233 | u32 dsi_clk; |
Line 237... | Line 234... | ||
237 | 234 | ||
238 | dsi_clk = dsi_clk_from_pclk(mode, intel_dsi->pixel_format, |
235 | dsi_clk = dsi_clk_from_pclk(intel_dsi->pclk, intel_dsi->pixel_format, |
Line 239... | Line 236... | ||
239 | intel_dsi->lane_count); |
236 | intel_dsi->lane_count); |
240 | 237 | ||
241 | ret = dsi_calc_mnp(dsi_clk, &dsi_mnp); |
238 | ret = dsi_calc_mnp(dsi_clk, &dsi_mnp); |