Lines Matching refs:intel_dsi

99 	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);  in wait_for_cmds_dispatched_to_panel()  local
106 for_each_dsi_port(port, intel_dsi->ports) { in wait_for_cmds_dispatched_to_panel()
113 for_each_dsi_port(port, intel_dsi->ports) { in wait_for_cmds_dispatched_to_panel()
114 dsi = intel_dsi->dsi_hosts[port]->device; in wait_for_cmds_dispatched_to_panel()
124 for_each_dsi_port(port, intel_dsi->ports) { in wait_for_cmds_dispatched_to_panel()
130 for_each_dsi_port(port, intel_dsi->ports) { in wait_for_cmds_dispatched_to_panel()
141 struct intel_dsi *intel_dsi = host->intel_dsi; in dsi_send_pkt_payld() local
142 struct drm_i915_private *i915 = to_i915(intel_dsi->base.base.dev); in dsi_send_pkt_payld()
173 struct intel_dsi *intel_dsi = host->intel_dsi; in dsi_send_pkt_hdr() local
174 struct drm_i915_private *dev_priv = to_i915(intel_dsi->base.base.dev); in dsi_send_pkt_hdr()
234 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in dsi_program_swing_and_deemphasis() local
239 for_each_dsi_phy(phy, intel_dsi->phys) { in dsi_program_swing_and_deemphasis()
301 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in configure_dual_link_mode() local
307 dss_ctl1 |= OVERLAP_PIXELS(intel_dsi->pixel_overlap); in configure_dual_link_mode()
309 if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) { in configure_dual_link_mode()
317 dl_buffer_depth = hactive / 2 + intel_dsi->pixel_overlap; in configure_dual_link_mode()
341 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in afe_clk() local
347 bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format); in afe_clk()
349 return DIV_ROUND_CLOSEST(intel_dsi->pclk * bpp, intel_dsi->lane_count); in afe_clk()
356 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_program_esc_clk_div() local
373 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_program_esc_clk_div()
379 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_program_esc_clk_div()
386 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_program_esc_clk_div()
395 struct intel_dsi *intel_dsi) in get_dsi_io_power_domains() argument
399 for_each_dsi_port(port, intel_dsi->ports) { in get_dsi_io_power_domains()
400 drm_WARN_ON(&dev_priv->drm, intel_dsi->io_wakeref[port]); in get_dsi_io_power_domains()
401 intel_dsi->io_wakeref[port] = in get_dsi_io_power_domains()
412 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_enable_io_power() local
416 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_enable_io_power()
422 get_dsi_io_power_domains(dev_priv, intel_dsi); in gen11_dsi_enable_io_power()
428 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_power_up_lanes() local
431 for_each_dsi_phy(phy, intel_dsi->phys) in gen11_dsi_power_up_lanes()
433 intel_dsi->lane_count, false); in gen11_dsi_power_up_lanes()
439 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_config_phy_lanes_sequence() local
445 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_config_phy_lanes_sequence()
461 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_config_phy_lanes_sequence()
494 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_voltage_swing_program_seq() local
499 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_voltage_swing_program_seq()
513 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_voltage_swing_program_seq()
520 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_voltage_swing_program_seq()
533 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_voltage_swing_program_seq()
546 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_enable_ddi_buffer() local
550 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_enable_ddi_buffer()
568 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_setup_dphy_timings() local
574 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_setup_dphy_timings()
577 tmp |= intel_dsi->init_count; in gen11_dsi_setup_dphy_timings()
582 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_setup_dphy_timings()
584 intel_dsi->dphy_reg); in gen11_dsi_setup_dphy_timings()
588 intel_dsi->dphy_reg); in gen11_dsi_setup_dphy_timings()
592 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_setup_dphy_timings()
594 intel_dsi->dphy_data_lane_reg); in gen11_dsi_setup_dphy_timings()
598 intel_dsi->dphy_data_lane_reg); in gen11_dsi_setup_dphy_timings()
609 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_setup_dphy_timings()
630 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_setup_dphy_timings()
641 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_gate_clocks() local
647 for_each_dsi_phy(phy, intel_dsi->phys) in gen11_dsi_gate_clocks()
657 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_ungate_clocks() local
663 for_each_dsi_phy(phy, intel_dsi->phys) in gen11_dsi_ungate_clocks()
673 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_is_clock_enabled() local
680 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_is_clock_enabled()
692 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_map_pll() local
700 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_map_pll()
706 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_map_pll()
721 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_configure_transcoder() local
728 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_configure_transcoder()
732 if (intel_dsi->eotp_pkt) in gen11_dsi_configure_transcoder()
745 if (intel_dsi->clock_stop) in gen11_dsi_configure_transcoder()
759 if (intel_dsi->bgr_enabled) in gen11_dsi_configure_transcoder()
767 switch (intel_dsi->pixel_format) { in gen11_dsi_configure_transcoder()
769 MISSING_CASE(intel_dsi->pixel_format); in gen11_dsi_configure_transcoder()
787 if (is_vid_mode(intel_dsi)) in gen11_dsi_configure_transcoder()
792 if (is_vid_mode(intel_dsi)) { in gen11_dsi_configure_transcoder()
794 switch (intel_dsi->video_mode) { in gen11_dsi_configure_transcoder()
796 MISSING_CASE(intel_dsi->video_mode); in gen11_dsi_configure_transcoder()
823 if (intel_dsi->dual_link) { in gen11_dsi_configure_transcoder()
824 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_configure_transcoder()
837 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_configure_transcoder()
843 tmp |= DDI_PORT_WIDTH(intel_dsi->lane_count); in gen11_dsi_configure_transcoder()
871 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_configure_transcoder()
884 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_set_transcoder_timings() local
906 div = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format); in gen11_dsi_set_transcoder_timings()
911 if (is_vid_mode(intel_dsi)) in gen11_dsi_set_transcoder_timings()
923 if (is_vid_mode(intel_dsi)) { in gen11_dsi_set_transcoder_timings()
931 bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format); in gen11_dsi_set_transcoder_timings()
934 line_time_us = (htotal * (bpp / 8) * byte_clk_period_ns) / (1000 * intel_dsi->lane_count); in gen11_dsi_set_transcoder_timings()
941 if (intel_dsi->dual_link) { in gen11_dsi_set_transcoder_timings()
943 if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) in gen11_dsi_set_transcoder_timings()
944 hactive += intel_dsi->pixel_overlap; in gen11_dsi_set_transcoder_timings()
953 if (intel_dsi->pixel_format == MIPI_DSI_FMT_RGB666 && hactive % 4 != 0) in gen11_dsi_set_transcoder_timings()
958 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
965 if (is_vid_mode(intel_dsi)) { in gen11_dsi_set_transcoder_timings()
966 if (intel_dsi->video_mode == NON_BURST_SYNC_PULSE) { in gen11_dsi_set_transcoder_timings()
976 if (intel_dsi->dual_link) { in gen11_dsi_set_transcoder_timings()
981 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
989 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
1008 if (is_vid_mode(intel_dsi)) { in gen11_dsi_set_transcoder_timings()
1009 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
1022 if (is_vid_mode(intel_dsi)) { in gen11_dsi_set_transcoder_timings()
1023 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
1032 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
1043 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_enable_transcoder() local
1048 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_enable_transcoder()
1066 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_setup_timeouts() local
1078 divisor = intel_dsi_tlpx_ns(intel_dsi) * afe_clk(encoder, crtc_state) * 1000; in gen11_dsi_setup_timeouts()
1080 hs_tx_timeout = DIV_ROUND_UP(intel_dsi->hs_tx_timeout * mul, in gen11_dsi_setup_timeouts()
1082 lp_rx_timeout = DIV_ROUND_UP(intel_dsi->lp_rx_timeout * mul, divisor); in gen11_dsi_setup_timeouts()
1083 ta_timeout = DIV_ROUND_UP(intel_dsi->turn_arnd_val * mul, divisor); in gen11_dsi_setup_timeouts()
1085 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_setup_timeouts()
1116 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_config_util_pin() local
1124 if (is_vid_mode(intel_dsi) || (intel_dsi->ports & BIT(PORT_B))) in gen11_dsi_config_util_pin()
1173 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_powerup_panel() local
1181 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_powerup_panel()
1192 dsi = intel_dsi->dsi_hosts[port]->device; in gen11_dsi_powerup_panel()
1200 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_ON); in gen11_dsi_powerup_panel()
1201 intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); in gen11_dsi_powerup_panel()
1202 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); in gen11_dsi_powerup_panel()
1203 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_INIT_OTP); in gen11_dsi_powerup_panel()
1204 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_ON); in gen11_dsi_powerup_panel()
1269 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in adlp_set_lp_hs_wakeup_gb() local
1273 for_each_dsi_port(port, intel_dsi->ports) in adlp_set_lp_hs_wakeup_gb()
1285 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_enable() local
1301 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_BACKLIGHT_ON); in gen11_dsi_enable()
1309 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_disable_transcoder() local
1314 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_disable_transcoder()
1332 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_powerdown_panel() local
1334 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_OFF); in gen11_dsi_powerdown_panel()
1335 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_ASSERT_RESET); in gen11_dsi_powerdown_panel()
1336 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_OFF); in gen11_dsi_powerdown_panel()
1345 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_deconfigure_trancoder() local
1351 if (is_cmd_mode(intel_dsi)) { in gen11_dsi_deconfigure_trancoder()
1352 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_deconfigure_trancoder()
1360 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_deconfigure_trancoder()
1374 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_deconfigure_trancoder()
1382 if (intel_dsi->dual_link) { in gen11_dsi_deconfigure_trancoder()
1383 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_deconfigure_trancoder()
1397 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_disable_port() local
1402 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_disable_port()
1420 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_disable_io_power() local
1424 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_disable_io_power()
1427 wakeref = fetch_and_zero(&intel_dsi->io_wakeref[port]); in gen11_dsi_disable_io_power()
1436 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_disable_io_power()
1448 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_disable() local
1452 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_BACKLIGHT_OFF); in gen11_dsi_disable()
1498 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_get_timings() local
1504 int mul = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format); in gen11_dsi_get_timings()
1514 if (intel_dsi->dual_link) { in gen11_dsi_get_timings()
1516 if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) in gen11_dsi_get_timings()
1518 intel_dsi->pixel_overlap; in gen11_dsi_get_timings()
1524 if (intel_dsi->operation_mode == INTEL_DSI_VIDEO_MODE) { in gen11_dsi_get_timings()
1525 if (intel_dsi->dual_link) { in gen11_dsi_get_timings()
1534 static bool gen11_dsi_is_periodic_cmd_mode(struct intel_dsi *intel_dsi) in gen11_dsi_is_periodic_cmd_mode() argument
1536 struct drm_device *dev = intel_dsi->base.base.dev; in gen11_dsi_is_periodic_cmd_mode()
1541 if (intel_dsi->ports == BIT(PORT_B)) in gen11_dsi_is_periodic_cmd_mode()
1550 static void gen11_dsi_get_cmd_mode_config(struct intel_dsi *intel_dsi, in gen11_dsi_get_cmd_mode_config() argument
1553 if (intel_dsi->ports == (BIT(PORT_B) | BIT(PORT_A))) in gen11_dsi_get_cmd_mode_config()
1556 else if (intel_dsi->ports == BIT(PORT_B)) in gen11_dsi_get_cmd_mode_config()
1566 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_get_config() local
1570 pipe_config->hw.adjusted_mode.crtc_clock = intel_dsi->pclk; in gen11_dsi_get_config()
1571 if (intel_dsi->dual_link) in gen11_dsi_get_config()
1579 if (is_cmd_mode(intel_dsi)) in gen11_dsi_get_config()
1580 gen11_dsi_get_cmd_mode_config(intel_dsi, pipe_config); in gen11_dsi_get_config()
1582 if (gen11_dsi_is_periodic_cmd_mode(intel_dsi)) in gen11_dsi_get_config()
1662 struct intel_dsi *intel_dsi = container_of(encoder, struct intel_dsi, in gen11_dsi_compute_config() local
1664 struct intel_connector *intel_connector = intel_dsi->attached_connector; in gen11_dsi_compute_config()
1682 if (intel_dsi->ports == BIT(PORT_B)) in gen11_dsi_compute_config()
1687 if (intel_dsi->pixel_format == MIPI_DSI_FMT_RGB888) in gen11_dsi_compute_config()
1704 if (is_cmd_mode(intel_dsi)) in gen11_dsi_compute_config()
1705 gen11_dsi_get_cmd_mode_config(intel_dsi, pipe_config); in gen11_dsi_compute_config()
1723 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_get_hw_state() local
1735 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_get_hw_state()
1864 static void icl_dphy_param_init(struct intel_dsi *intel_dsi) in icl_dphy_param_init() argument
1866 struct drm_device *dev = intel_dsi->base.base.dev; in icl_dphy_param_init()
1868 struct intel_connector *connector = intel_dsi->attached_connector; in icl_dphy_param_init()
1876 tlpx_ns = intel_dsi_tlpx_ns(intel_dsi); in icl_dphy_param_init()
1949 intel_dsi->dphy_reg = (CLK_PREPARE_OVERRIDE | in icl_dphy_param_init()
1961 intel_dsi->dphy_data_lane_reg = (HS_PREPARE_OVERRIDE | in icl_dphy_param_init()
1970 intel_dsi_log_params(intel_dsi); in icl_dphy_param_init()
1997 struct intel_dsi *intel_dsi; in icl_dsi_init() local
2006 intel_dsi = kzalloc(sizeof(*intel_dsi), GFP_KERNEL); in icl_dsi_init()
2007 if (!intel_dsi) in icl_dsi_init()
2012 kfree(intel_dsi); in icl_dsi_init()
2016 encoder = &intel_dsi->base; in icl_dsi_init()
2017 intel_dsi->attached_connector = intel_connector; in icl_dsi_init()
2072 intel_dsi->ports = BIT(PORT_A) | BIT(PORT_B); in icl_dsi_init()
2074 intel_dsi->ports = BIT(port); in icl_dsi_init()
2076 if (drm_WARN_ON(&dev_priv->drm, intel_connector->panel.vbt.dsi.bl_ports & ~intel_dsi->ports)) in icl_dsi_init()
2077 intel_connector->panel.vbt.dsi.bl_ports &= intel_dsi->ports; in icl_dsi_init()
2079 if (drm_WARN_ON(&dev_priv->drm, intel_connector->panel.vbt.dsi.cabc_ports & ~intel_dsi->ports)) in icl_dsi_init()
2080 intel_connector->panel.vbt.dsi.cabc_ports &= intel_dsi->ports; in icl_dsi_init()
2082 for_each_dsi_port(port, intel_dsi->ports) { in icl_dsi_init()
2085 host = intel_dsi_host_init(intel_dsi, &gen11_dsi_host_ops, port); in icl_dsi_init()
2089 intel_dsi->dsi_hosts[port] = host; in icl_dsi_init()
2092 if (!intel_dsi_vbt_init(intel_dsi, MIPI_DSI_GENERIC_PANEL_ID)) { in icl_dsi_init()
2097 icl_dphy_param_init(intel_dsi); in icl_dsi_init()
2105 kfree(intel_dsi); in icl_dsi_init()