@@ -85,9 +85,7 @@ enum mipi_dsi_pixel_format pixel_format_from_register_bits(u32 fmt)
8585
8686void vlv_dsi_wait_for_fifo_empty (struct intel_dsi * intel_dsi , enum port port )
8787{
88- struct drm_encoder * encoder = & intel_dsi -> base .base ;
89- struct drm_device * dev = encoder -> dev ;
90- struct drm_i915_private * dev_priv = to_i915 (dev );
88+ struct drm_i915_private * dev_priv = to_i915 (intel_dsi -> base .base .dev );
9189 u32 mask ;
9290
9391 mask = LP_CTRL_FIFO_EMPTY | HS_CTRL_FIFO_EMPTY |
@@ -132,8 +130,8 @@ static ssize_t intel_dsi_host_transfer(struct mipi_dsi_host *host,
132130 const struct mipi_dsi_msg * msg )
133131{
134132 struct intel_dsi_host * intel_dsi_host = to_intel_dsi_host (host );
135- struct drm_device * dev = intel_dsi_host -> intel_dsi -> base . base . dev ;
136- struct drm_i915_private * dev_priv = to_i915 (dev );
133+ struct intel_dsi * intel_dsi = intel_dsi_host -> intel_dsi ;
134+ struct drm_i915_private * dev_priv = to_i915 (intel_dsi -> base . base . dev );
137135 enum port port = intel_dsi_host -> port ;
138136 struct mipi_dsi_packet packet ;
139137 ssize_t ret ;
@@ -225,9 +223,7 @@ static const struct mipi_dsi_host_ops intel_dsi_host_ops = {
225223static int dpi_send_cmd (struct intel_dsi * intel_dsi , u32 cmd , bool hs ,
226224 enum port port )
227225{
228- struct drm_encoder * encoder = & intel_dsi -> base .base ;
229- struct drm_device * dev = encoder -> dev ;
230- struct drm_i915_private * dev_priv = to_i915 (dev );
226+ struct drm_i915_private * dev_priv = to_i915 (intel_dsi -> base .base .dev );
231227 u32 mask ;
232228
233229 /* XXX: pipe, hs */
@@ -662,8 +658,7 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder,
662658
663659static void intel_dsi_port_disable (struct intel_encoder * encoder )
664660{
665- struct drm_device * dev = encoder -> base .dev ;
666- struct drm_i915_private * dev_priv = to_i915 (dev );
661+ struct drm_i915_private * dev_priv = to_i915 (encoder -> base .dev );
667662 struct intel_dsi * intel_dsi = enc_to_intel_dsi (encoder );
668663 enum port port ;
669664
@@ -675,7 +670,8 @@ static void intel_dsi_port_disable(struct intel_encoder *encoder)
675670 intel_de_posting_read (dev_priv , port_ctrl );
676671 }
677672}
678- static void intel_dsi_prepare (struct intel_encoder * intel_encoder ,
673+
674+ static void intel_dsi_prepare (struct intel_encoder * encoder ,
679675 const struct intel_crtc_state * pipe_config );
680676static void intel_dsi_unprepare (struct intel_encoder * encoder );
681677
@@ -1009,8 +1005,7 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
10091005static void bxt_dsi_get_pipe_config (struct intel_encoder * encoder ,
10101006 struct intel_crtc_state * pipe_config )
10111007{
1012- struct drm_device * dev = encoder -> base .dev ;
1013- struct drm_i915_private * dev_priv = to_i915 (dev );
1008+ struct drm_i915_private * dev_priv = to_i915 (encoder -> base .dev );
10141009 struct drm_display_mode * adjusted_mode =
10151010 & pipe_config -> hw .adjusted_mode ;
10161011 struct drm_display_mode * adjusted_mode_sw ;
@@ -1209,12 +1204,11 @@ static u16 txclkesc(u32 divider, unsigned int us)
12091204 }
12101205}
12111206
1212- static void set_dsi_timings (struct drm_encoder * encoder ,
1207+ static void set_dsi_timings (struct intel_encoder * encoder ,
12131208 const struct drm_display_mode * adjusted_mode )
12141209{
1215- struct drm_device * dev = encoder -> dev ;
1216- struct drm_i915_private * dev_priv = to_i915 (dev );
1217- struct intel_dsi * intel_dsi = enc_to_intel_dsi (to_intel_encoder (encoder ));
1210+ struct drm_i915_private * dev_priv = to_i915 (encoder -> base .dev );
1211+ struct intel_dsi * intel_dsi = enc_to_intel_dsi (encoder );
12181212 enum port port ;
12191213 unsigned int bpp = mipi_dsi_pixel_format_to_bpp (intel_dsi -> pixel_format );
12201214 unsigned int lane_count = intel_dsi -> lane_count ;
@@ -1298,14 +1292,12 @@ static u32 pixel_format_to_reg(enum mipi_dsi_pixel_format fmt)
12981292 }
12991293}
13001294
1301- static void intel_dsi_prepare (struct intel_encoder * intel_encoder ,
1295+ static void intel_dsi_prepare (struct intel_encoder * encoder ,
13021296 const struct intel_crtc_state * pipe_config )
13031297{
1304- struct drm_encoder * encoder = & intel_encoder -> base ;
1305- struct drm_device * dev = encoder -> dev ;
1306- struct drm_i915_private * dev_priv = to_i915 (dev );
1298+ struct drm_i915_private * dev_priv = to_i915 (encoder -> base .dev );
13071299 struct intel_crtc * crtc = to_intel_crtc (pipe_config -> uapi .crtc );
1308- struct intel_dsi * intel_dsi = enc_to_intel_dsi (to_intel_encoder ( encoder ) );
1300+ struct intel_dsi * intel_dsi = enc_to_intel_dsi (encoder );
13091301 const struct drm_display_mode * adjusted_mode = & pipe_config -> hw .adjusted_mode ;
13101302 enum port port ;
13111303 unsigned int bpp = mipi_dsi_pixel_format_to_bpp (intel_dsi -> pixel_format );
@@ -1591,8 +1583,7 @@ static void vlv_dsi_add_properties(struct intel_connector *connector)
15911583
15921584static void vlv_dphy_param_init (struct intel_dsi * intel_dsi )
15931585{
1594- struct drm_device * dev = intel_dsi -> base .base .dev ;
1595- struct drm_i915_private * dev_priv = to_i915 (dev );
1586+ struct drm_i915_private * dev_priv = to_i915 (intel_dsi -> base .base .dev );
15961587 struct intel_connector * connector = intel_dsi -> attached_connector ;
15971588 struct mipi_config * mipi_config = connector -> panel .vbt .dsi .config ;
15981589 u32 tlpx_ns , extra_byte_count , tlpx_ui ;
@@ -1878,10 +1869,8 @@ static const struct dmi_system_id vlv_dsi_dmi_quirk_table[] = {
18781869void vlv_dsi_init (struct drm_i915_private * dev_priv )
18791870{
18801871 struct intel_dsi * intel_dsi ;
1881- struct intel_encoder * intel_encoder ;
1882- struct drm_encoder * encoder ;
1883- struct intel_connector * intel_connector ;
1884- struct drm_connector * connector ;
1872+ struct intel_encoder * encoder ;
1873+ struct intel_connector * connector ;
18851874 struct drm_display_mode * current_mode ;
18861875 const struct dmi_system_id * dmi_id ;
18871876 enum port port ;
@@ -1902,64 +1891,61 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
19021891 if (!intel_dsi )
19031892 return ;
19041893
1905- intel_connector = intel_connector_alloc ();
1906- if (!intel_connector ) {
1894+ connector = intel_connector_alloc ();
1895+ if (!connector ) {
19071896 kfree (intel_dsi );
19081897 return ;
19091898 }
19101899
1911- intel_encoder = & intel_dsi -> base ;
1912- encoder = & intel_encoder -> base ;
1913- intel_dsi -> attached_connector = intel_connector ;
1914-
1915- connector = & intel_connector -> base ;
1900+ encoder = & intel_dsi -> base ;
1901+ intel_dsi -> attached_connector = connector ;
19161902
1917- drm_encoder_init (& dev_priv -> drm , encoder , & intel_dsi_funcs , DRM_MODE_ENCODER_DSI ,
1918- "DSI %c" , port_name (port ));
1903+ drm_encoder_init (& dev_priv -> drm , & encoder -> base , & intel_dsi_funcs ,
1904+ DRM_MODE_ENCODER_DSI , "DSI %c" , port_name (port ));
19191905
1920- intel_encoder -> compute_config = intel_dsi_compute_config ;
1921- intel_encoder -> pre_enable = intel_dsi_pre_enable ;
1906+ encoder -> compute_config = intel_dsi_compute_config ;
1907+ encoder -> pre_enable = intel_dsi_pre_enable ;
19221908 if (IS_GEMINILAKE (dev_priv ) || IS_BROXTON (dev_priv ))
1923- intel_encoder -> enable = bxt_dsi_enable ;
1924- intel_encoder -> disable = intel_dsi_disable ;
1925- intel_encoder -> post_disable = intel_dsi_post_disable ;
1926- intel_encoder -> get_hw_state = intel_dsi_get_hw_state ;
1927- intel_encoder -> get_config = intel_dsi_get_config ;
1928- intel_encoder -> update_pipe = intel_backlight_update ;
1929- intel_encoder -> shutdown = intel_dsi_shutdown ;
1909+ encoder -> enable = bxt_dsi_enable ;
1910+ encoder -> disable = intel_dsi_disable ;
1911+ encoder -> post_disable = intel_dsi_post_disable ;
1912+ encoder -> get_hw_state = intel_dsi_get_hw_state ;
1913+ encoder -> get_config = intel_dsi_get_config ;
1914+ encoder -> update_pipe = intel_backlight_update ;
1915+ encoder -> shutdown = intel_dsi_shutdown ;
19301916
1931- intel_connector -> get_hw_state = intel_connector_get_hw_state ;
1917+ connector -> get_hw_state = intel_connector_get_hw_state ;
19321918
1933- intel_encoder -> port = port ;
1934- intel_encoder -> type = INTEL_OUTPUT_DSI ;
1935- intel_encoder -> power_domain = POWER_DOMAIN_PORT_DSI ;
1936- intel_encoder -> cloneable = 0 ;
1919+ encoder -> port = port ;
1920+ encoder -> type = INTEL_OUTPUT_DSI ;
1921+ encoder -> power_domain = POWER_DOMAIN_PORT_DSI ;
1922+ encoder -> cloneable = 0 ;
19371923
19381924 /*
19391925 * On BYT/CHV, pipe A maps to MIPI DSI port A, pipe B maps to MIPI DSI
19401926 * port C. BXT isn't limited like this.
19411927 */
19421928 if (IS_GEMINILAKE (dev_priv ) || IS_BROXTON (dev_priv ))
1943- intel_encoder -> pipe_mask = ~0 ;
1929+ encoder -> pipe_mask = ~0 ;
19441930 else if (port == PORT_A )
1945- intel_encoder -> pipe_mask = BIT (PIPE_A );
1931+ encoder -> pipe_mask = BIT (PIPE_A );
19461932 else
1947- intel_encoder -> pipe_mask = BIT (PIPE_B );
1933+ encoder -> pipe_mask = BIT (PIPE_B );
19481934
19491935 intel_dsi -> panel_power_off_time = ktime_get_boottime ();
19501936
1951- intel_bios_init_panel_late (dev_priv , & intel_connector -> panel , NULL , NULL );
1937+ intel_bios_init_panel_late (dev_priv , & connector -> panel , NULL , NULL );
19521938
1953- if (intel_connector -> panel .vbt .dsi .config -> dual_link )
1939+ if (connector -> panel .vbt .dsi .config -> dual_link )
19541940 intel_dsi -> ports = BIT (PORT_A ) | BIT (PORT_C );
19551941 else
19561942 intel_dsi -> ports = BIT (port );
19571943
1958- if (drm_WARN_ON (& dev_priv -> drm , intel_connector -> panel .vbt .dsi .bl_ports & ~intel_dsi -> ports ))
1959- intel_connector -> panel .vbt .dsi .bl_ports &= intel_dsi -> ports ;
1944+ if (drm_WARN_ON (& dev_priv -> drm , connector -> panel .vbt .dsi .bl_ports & ~intel_dsi -> ports ))
1945+ connector -> panel .vbt .dsi .bl_ports &= intel_dsi -> ports ;
19601946
1961- if (drm_WARN_ON (& dev_priv -> drm , intel_connector -> panel .vbt .dsi .cabc_ports & ~intel_dsi -> ports ))
1962- intel_connector -> panel .vbt .dsi .cabc_ports &= intel_dsi -> ports ;
1947+ if (drm_WARN_ON (& dev_priv -> drm , connector -> panel .vbt .dsi .cabc_ports & ~intel_dsi -> ports ))
1948+ connector -> panel .vbt .dsi .cabc_ports &= intel_dsi -> ports ;
19631949
19641950 /* Create a DSI host (and a device) for each port. */
19651951 for_each_dsi_port (port , intel_dsi -> ports ) {
@@ -1979,7 +1965,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
19791965 }
19801966
19811967 /* Use clock read-back from current hw-state for fastboot */
1982- current_mode = intel_encoder_current_mode (intel_encoder );
1968+ current_mode = intel_encoder_current_mode (encoder );
19831969 if (current_mode ) {
19841970 drm_dbg_kms (& dev_priv -> drm , "Calculated pclk %d GOP %d\n" ,
19851971 intel_dsi -> pclk , current_mode -> clock );
@@ -1995,22 +1981,22 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
19951981 vlv_dphy_param_init (intel_dsi );
19961982
19971983 intel_dsi_vbt_gpio_init (intel_dsi ,
1998- intel_dsi_get_hw_state (intel_encoder , & pipe ));
1984+ intel_dsi_get_hw_state (encoder , & pipe ));
19991985
2000- drm_connector_init (& dev_priv -> drm , connector , & intel_dsi_connector_funcs ,
1986+ drm_connector_init (& dev_priv -> drm , & connector -> base , & intel_dsi_connector_funcs ,
20011987 DRM_MODE_CONNECTOR_DSI );
20021988
2003- drm_connector_helper_add (connector , & intel_dsi_connector_helper_funcs );
1989+ drm_connector_helper_add (& connector -> base , & intel_dsi_connector_helper_funcs );
20041990
2005- connector -> display_info .subpixel_order = SubPixelHorizontalRGB ; /*XXX*/
1991+ connector -> base . display_info .subpixel_order = SubPixelHorizontalRGB ; /*XXX*/
20061992
2007- intel_connector_attach_encoder (intel_connector , intel_encoder );
1993+ intel_connector_attach_encoder (connector , encoder );
20081994
20091995 mutex_lock (& dev_priv -> drm .mode_config .mutex );
2010- intel_panel_add_vbt_lfp_fixed_mode (intel_connector );
1996+ intel_panel_add_vbt_lfp_fixed_mode (connector );
20111997 mutex_unlock (& dev_priv -> drm .mode_config .mutex );
20121998
2013- if (!intel_panel_preferred_fixed_mode (intel_connector )) {
1999+ if (!intel_panel_preferred_fixed_mode (connector )) {
20142000 drm_dbg_kms (& dev_priv -> drm , "no fixed mode\n" );
20152001 goto err_cleanup_connector ;
20162002 }
@@ -2023,18 +2009,18 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
20232009 quirk_func (intel_dsi );
20242010 }
20252011
2026- intel_panel_init (intel_connector , NULL );
2012+ intel_panel_init (connector , NULL );
20272013
2028- intel_backlight_setup (intel_connector , INVALID_PIPE );
2014+ intel_backlight_setup (connector , INVALID_PIPE );
20292015
2030- vlv_dsi_add_properties (intel_connector );
2016+ vlv_dsi_add_properties (connector );
20312017
20322018 return ;
20332019
20342020err_cleanup_connector :
2035- drm_connector_cleanup (& intel_connector -> base );
2021+ drm_connector_cleanup (& connector -> base );
20362022err :
2037- drm_encoder_cleanup (& intel_encoder -> base );
2023+ drm_encoder_cleanup (& encoder -> base );
20382024 kfree (intel_dsi );
2039- kfree (intel_connector );
2025+ kfree (connector );
20402026}
0 commit comments