Lines Matching refs:encoder
76 static void wait_for_cmds_dispatched_to_panel(struct intel_encoder *encoder) in wait_for_cmds_dispatched_to_panel() argument
78 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in wait_for_cmds_dispatched_to_panel()
79 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in wait_for_cmds_dispatched_to_panel()
201 static void dsi_program_swing_and_deemphasis(struct intel_encoder *encoder) in dsi_program_swing_and_deemphasis() argument
203 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in dsi_program_swing_and_deemphasis()
204 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in dsi_program_swing_and_deemphasis()
265 static void configure_dual_link_mode(struct intel_encoder *encoder, in configure_dual_link_mode() argument
268 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in configure_dual_link_mode()
269 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in configure_dual_link_mode()
304 static void gen11_dsi_program_esc_clk_div(struct intel_encoder *encoder) in gen11_dsi_program_esc_clk_div() argument
306 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_program_esc_clk_div()
307 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_program_esc_clk_div()
346 static void gen11_dsi_enable_io_power(struct intel_encoder *encoder) in gen11_dsi_enable_io_power() argument
348 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_enable_io_power()
349 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_enable_io_power()
362 static void gen11_dsi_power_up_lanes(struct intel_encoder *encoder) in gen11_dsi_power_up_lanes() argument
364 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_power_up_lanes()
365 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_power_up_lanes()
373 static void gen11_dsi_config_phy_lanes_sequence(struct intel_encoder *encoder) in gen11_dsi_config_phy_lanes_sequence() argument
375 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_config_phy_lanes_sequence()
376 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_config_phy_lanes_sequence()
422 static void gen11_dsi_voltage_swing_program_seq(struct intel_encoder *encoder) in gen11_dsi_voltage_swing_program_seq() argument
424 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_voltage_swing_program_seq()
425 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_voltage_swing_program_seq()
461 dsi_program_swing_and_deemphasis(encoder); in gen11_dsi_voltage_swing_program_seq()
474 static void gen11_dsi_enable_ddi_buffer(struct intel_encoder *encoder) in gen11_dsi_enable_ddi_buffer() argument
476 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_enable_ddi_buffer()
477 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_enable_ddi_buffer()
493 static void gen11_dsi_setup_dphy_timings(struct intel_encoder *encoder) in gen11_dsi_setup_dphy_timings() argument
495 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_setup_dphy_timings()
496 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_setup_dphy_timings()
559 static void gen11_dsi_gate_clocks(struct intel_encoder *encoder) in gen11_dsi_gate_clocks() argument
561 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_gate_clocks()
562 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_gate_clocks()
575 static void gen11_dsi_ungate_clocks(struct intel_encoder *encoder) in gen11_dsi_ungate_clocks() argument
577 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_ungate_clocks()
578 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_ungate_clocks()
591 static void gen11_dsi_map_pll(struct intel_encoder *encoder, in gen11_dsi_map_pll() argument
594 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_map_pll()
595 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_map_pll()
623 gen11_dsi_configure_transcoder(struct intel_encoder *encoder, in gen11_dsi_configure_transcoder() argument
626 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_configure_transcoder()
627 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_configure_transcoder()
722 configure_dual_link_mode(encoder, pipe_config); in gen11_dsi_configure_transcoder()
765 gen11_dsi_set_transcoder_timings(struct intel_encoder *encoder, in gen11_dsi_set_transcoder_timings() argument
768 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_set_transcoder_timings()
769 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_set_transcoder_timings()
886 static void gen11_dsi_enable_transcoder(struct intel_encoder *encoder) in gen11_dsi_enable_transcoder() argument
888 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_enable_transcoder()
889 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_enable_transcoder()
907 static void gen11_dsi_setup_timeouts(struct intel_encoder *encoder) in gen11_dsi_setup_timeouts() argument
909 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_setup_timeouts()
910 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_setup_timeouts()
957 gen11_dsi_enable_port_and_phy(struct intel_encoder *encoder, in gen11_dsi_enable_port_and_phy() argument
960 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_enable_port_and_phy()
963 gen11_dsi_power_up_lanes(encoder); in gen11_dsi_enable_port_and_phy()
966 gen11_dsi_config_phy_lanes_sequence(encoder); in gen11_dsi_enable_port_and_phy()
969 gen11_dsi_voltage_swing_program_seq(encoder); in gen11_dsi_enable_port_and_phy()
972 gen11_dsi_enable_ddi_buffer(encoder); in gen11_dsi_enable_port_and_phy()
975 gen11_dsi_setup_dphy_timings(encoder); in gen11_dsi_enable_port_and_phy()
978 gen11_dsi_setup_timeouts(encoder); in gen11_dsi_enable_port_and_phy()
981 gen11_dsi_configure_transcoder(encoder, pipe_config); in gen11_dsi_enable_port_and_phy()
985 gen11_dsi_gate_clocks(encoder); in gen11_dsi_enable_port_and_phy()
988 static void gen11_dsi_powerup_panel(struct intel_encoder *encoder) in gen11_dsi_powerup_panel() argument
990 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_powerup_panel()
991 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_powerup_panel()
1024 wait_for_cmds_dispatched_to_panel(encoder); in gen11_dsi_powerup_panel()
1027 static void gen11_dsi_pre_pll_enable(struct intel_encoder *encoder, in gen11_dsi_pre_pll_enable() argument
1032 gen11_dsi_enable_io_power(encoder); in gen11_dsi_pre_pll_enable()
1035 gen11_dsi_program_esc_clk_div(encoder); in gen11_dsi_pre_pll_enable()
1038 static void gen11_dsi_pre_enable(struct intel_encoder *encoder, in gen11_dsi_pre_enable() argument
1042 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_pre_enable()
1045 gen11_dsi_map_pll(encoder, pipe_config); in gen11_dsi_pre_enable()
1048 gen11_dsi_enable_port_and_phy(encoder, pipe_config); in gen11_dsi_pre_enable()
1051 gen11_dsi_powerup_panel(encoder); in gen11_dsi_pre_enable()
1054 gen11_dsi_set_transcoder_timings(encoder, pipe_config); in gen11_dsi_pre_enable()
1057 gen11_dsi_enable_transcoder(encoder); in gen11_dsi_pre_enable()
1064 static void gen11_dsi_disable_transcoder(struct intel_encoder *encoder) in gen11_dsi_disable_transcoder() argument
1066 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_disable_transcoder()
1067 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_disable_transcoder()
1087 static void gen11_dsi_powerdown_panel(struct intel_encoder *encoder) in gen11_dsi_powerdown_panel() argument
1089 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_powerdown_panel()
1096 wait_for_cmds_dispatched_to_panel(encoder); in gen11_dsi_powerdown_panel()
1099 static void gen11_dsi_deconfigure_trancoder(struct intel_encoder *encoder) in gen11_dsi_deconfigure_trancoder() argument
1101 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_deconfigure_trancoder()
1102 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_deconfigure_trancoder()
1140 static void gen11_dsi_disable_port(struct intel_encoder *encoder) in gen11_dsi_disable_port() argument
1142 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_disable_port()
1143 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_disable_port()
1147 gen11_dsi_ungate_clocks(encoder); in gen11_dsi_disable_port()
1159 gen11_dsi_gate_clocks(encoder); in gen11_dsi_disable_port()
1162 static void gen11_dsi_disable_io_power(struct intel_encoder *encoder) in gen11_dsi_disable_io_power() argument
1164 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_disable_io_power()
1165 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_disable_io_power()
1188 static void gen11_dsi_disable(struct intel_encoder *encoder, in gen11_dsi_disable() argument
1192 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_disable()
1199 gen11_dsi_disable_transcoder(encoder); in gen11_dsi_disable()
1202 gen11_dsi_powerdown_panel(encoder); in gen11_dsi_disable()
1205 gen11_dsi_deconfigure_trancoder(encoder); in gen11_dsi_disable()
1208 gen11_dsi_disable_port(encoder); in gen11_dsi_disable()
1211 gen11_dsi_disable_io_power(encoder); in gen11_dsi_disable()
1214 static void gen11_dsi_get_timings(struct intel_encoder *encoder, in gen11_dsi_get_timings() argument
1217 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_get_timings()
1241 static void gen11_dsi_get_config(struct intel_encoder *encoder, in gen11_dsi_get_config() argument
1244 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_get_config()
1246 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_get_config()
1256 gen11_dsi_get_timings(encoder, pipe_config); in gen11_dsi_get_config()
1261 static int gen11_dsi_compute_config(struct intel_encoder *encoder, in gen11_dsi_compute_config() argument
1265 struct intel_dsi *intel_dsi = container_of(encoder, struct intel_dsi, in gen11_dsi_compute_config()
1292 static void gen11_dsi_get_power_domains(struct intel_encoder *encoder, in gen11_dsi_get_power_domains() argument
1295 get_dsi_io_power_domains(to_i915(encoder->base.dev), in gen11_dsi_get_power_domains()
1296 enc_to_intel_dsi(&encoder->base)); in gen11_dsi_get_power_domains()
1299 static bool gen11_dsi_get_hw_state(struct intel_encoder *encoder, in gen11_dsi_get_hw_state() argument
1302 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in gen11_dsi_get_hw_state()
1303 struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); in gen11_dsi_get_hw_state()
1311 encoder->power_domain); in gen11_dsi_get_hw_state()
1337 intel_display_power_put(dev_priv, encoder->power_domain, wakeref); in gen11_dsi_get_hw_state()
1341 static void gen11_dsi_encoder_destroy(struct drm_encoder *encoder) in gen11_dsi_encoder_destroy() argument
1343 intel_encoder_destroy(encoder); in gen11_dsi_encoder_destroy()
1550 struct intel_encoder *encoder; in icl_dsi_init() local
1569 encoder = &intel_dsi->base; in icl_dsi_init()
1574 drm_encoder_init(dev, &encoder->base, &gen11_dsi_encoder_funcs, in icl_dsi_init()
1577 encoder->pre_pll_enable = gen11_dsi_pre_pll_enable; in icl_dsi_init()
1578 encoder->pre_enable = gen11_dsi_pre_enable; in icl_dsi_init()
1579 encoder->disable = gen11_dsi_disable; in icl_dsi_init()
1580 encoder->port = port; in icl_dsi_init()
1581 encoder->get_config = gen11_dsi_get_config; in icl_dsi_init()
1582 encoder->update_pipe = intel_panel_update_backlight; in icl_dsi_init()
1583 encoder->compute_config = gen11_dsi_compute_config; in icl_dsi_init()
1584 encoder->get_hw_state = gen11_dsi_get_hw_state; in icl_dsi_init()
1585 encoder->type = INTEL_OUTPUT_DSI; in icl_dsi_init()
1586 encoder->cloneable = 0; in icl_dsi_init()
1587 encoder->crtc_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C); in icl_dsi_init()
1588 encoder->power_domain = POWER_DOMAIN_PORT_DSI; in icl_dsi_init()
1589 encoder->get_power_domains = gen11_dsi_get_power_domains; in icl_dsi_init()
1601 intel_connector_attach_encoder(intel_connector, encoder); in icl_dsi_init()
1644 drm_encoder_cleanup(&encoder->base); in icl_dsi_init()