Lines Matching refs:intel_dsi

100 	struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);  in wait_for_cmds_dispatched_to_panel()  local
107 for_each_dsi_port(port, intel_dsi->ports) { in wait_for_cmds_dispatched_to_panel()
114 for_each_dsi_port(port, intel_dsi->ports) { in wait_for_cmds_dispatched_to_panel()
115 dsi = intel_dsi->dsi_hosts[port]->device; in wait_for_cmds_dispatched_to_panel()
125 for_each_dsi_port(port, intel_dsi->ports) { in wait_for_cmds_dispatched_to_panel()
131 for_each_dsi_port(port, intel_dsi->ports) { in wait_for_cmds_dispatched_to_panel()
142 struct intel_dsi *intel_dsi = host->intel_dsi; in dsi_send_pkt_payld() local
143 struct drm_i915_private *i915 = to_i915(intel_dsi->base.base.dev); in dsi_send_pkt_payld()
174 struct intel_dsi *intel_dsi = host->intel_dsi; in dsi_send_pkt_hdr() local
175 struct drm_i915_private *dev_priv = to_i915(intel_dsi->base.base.dev); in dsi_send_pkt_hdr()
235 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in dsi_program_swing_and_deemphasis() local
240 for_each_dsi_phy(phy, intel_dsi->phys) { in dsi_program_swing_and_deemphasis()
302 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in configure_dual_link_mode() local
308 dss_ctl1 |= OVERLAP_PIXELS(intel_dsi->pixel_overlap); in configure_dual_link_mode()
310 if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) { in configure_dual_link_mode()
318 dl_buffer_depth = hactive / 2 + intel_dsi->pixel_overlap; in configure_dual_link_mode()
342 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in afe_clk() local
348 bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format); in afe_clk()
350 return DIV_ROUND_CLOSEST(intel_dsi->pclk * bpp, intel_dsi->lane_count); in afe_clk()
357 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_program_esc_clk_div() local
374 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_program_esc_clk_div()
380 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_program_esc_clk_div()
387 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_program_esc_clk_div()
396 struct intel_dsi *intel_dsi) in get_dsi_io_power_domains() argument
400 for_each_dsi_port(port, intel_dsi->ports) { in get_dsi_io_power_domains()
401 drm_WARN_ON(&dev_priv->drm, intel_dsi->io_wakeref[port]); in get_dsi_io_power_domains()
402 intel_dsi->io_wakeref[port] = in get_dsi_io_power_domains()
413 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_enable_io_power() local
417 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_enable_io_power()
423 get_dsi_io_power_domains(dev_priv, intel_dsi); in gen11_dsi_enable_io_power()
429 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_power_up_lanes() local
432 for_each_dsi_phy(phy, intel_dsi->phys) in gen11_dsi_power_up_lanes()
434 intel_dsi->lane_count, false); in gen11_dsi_power_up_lanes()
440 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_config_phy_lanes_sequence() local
446 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_config_phy_lanes_sequence()
462 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_config_phy_lanes_sequence()
495 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_voltage_swing_program_seq() local
500 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_voltage_swing_program_seq()
514 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_voltage_swing_program_seq()
521 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_voltage_swing_program_seq()
534 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_voltage_swing_program_seq()
547 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_enable_ddi_buffer() local
551 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_enable_ddi_buffer()
569 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_setup_dphy_timings() local
575 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_setup_dphy_timings()
578 tmp |= intel_dsi->init_count; in gen11_dsi_setup_dphy_timings()
583 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_setup_dphy_timings()
585 intel_dsi->dphy_reg); in gen11_dsi_setup_dphy_timings()
589 intel_dsi->dphy_reg); in gen11_dsi_setup_dphy_timings()
593 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_setup_dphy_timings()
595 intel_dsi->dphy_data_lane_reg); in gen11_dsi_setup_dphy_timings()
599 intel_dsi->dphy_data_lane_reg); in gen11_dsi_setup_dphy_timings()
610 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_setup_dphy_timings()
631 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_setup_dphy_timings()
642 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_gate_clocks() local
648 for_each_dsi_phy(phy, intel_dsi->phys) in gen11_dsi_gate_clocks()
658 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_ungate_clocks() local
664 for_each_dsi_phy(phy, intel_dsi->phys) in gen11_dsi_ungate_clocks()
674 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_is_clock_enabled() local
681 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_is_clock_enabled()
693 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_map_pll() local
701 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_map_pll()
707 for_each_dsi_phy(phy, intel_dsi->phys) { in gen11_dsi_map_pll()
722 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_configure_transcoder() local
729 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_configure_transcoder()
733 if (intel_dsi->eotp_pkt) in gen11_dsi_configure_transcoder()
746 if (intel_dsi->clock_stop) in gen11_dsi_configure_transcoder()
760 if (intel_dsi->bgr_enabled) in gen11_dsi_configure_transcoder()
768 switch (intel_dsi->pixel_format) { in gen11_dsi_configure_transcoder()
770 MISSING_CASE(intel_dsi->pixel_format); in gen11_dsi_configure_transcoder()
788 if (is_vid_mode(intel_dsi)) in gen11_dsi_configure_transcoder()
793 if (is_vid_mode(intel_dsi)) { in gen11_dsi_configure_transcoder()
795 switch (intel_dsi->video_mode) { in gen11_dsi_configure_transcoder()
797 MISSING_CASE(intel_dsi->video_mode); in gen11_dsi_configure_transcoder()
824 if (intel_dsi->dual_link) { in gen11_dsi_configure_transcoder()
825 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_configure_transcoder()
838 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_configure_transcoder()
844 tmp |= DDI_PORT_WIDTH(intel_dsi->lane_count); in gen11_dsi_configure_transcoder()
872 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_configure_transcoder()
885 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_set_transcoder_timings() local
907 div = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format); in gen11_dsi_set_transcoder_timings()
912 if (is_vid_mode(intel_dsi)) in gen11_dsi_set_transcoder_timings()
924 if (is_vid_mode(intel_dsi)) { in gen11_dsi_set_transcoder_timings()
932 bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format); in gen11_dsi_set_transcoder_timings()
935 line_time_us = (htotal * (bpp / 8) * byte_clk_period_ns) / (1000 * intel_dsi->lane_count); in gen11_dsi_set_transcoder_timings()
942 if (intel_dsi->dual_link) { in gen11_dsi_set_transcoder_timings()
944 if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) in gen11_dsi_set_transcoder_timings()
945 hactive += intel_dsi->pixel_overlap; in gen11_dsi_set_transcoder_timings()
954 if (intel_dsi->pixel_format == MIPI_DSI_FMT_RGB666 && hactive % 4 != 0) in gen11_dsi_set_transcoder_timings()
959 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
966 if (is_vid_mode(intel_dsi)) { in gen11_dsi_set_transcoder_timings()
967 if (intel_dsi->video_mode == NON_BURST_SYNC_PULSE) { in gen11_dsi_set_transcoder_timings()
977 if (intel_dsi->dual_link) { in gen11_dsi_set_transcoder_timings()
982 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
990 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
1009 if (is_vid_mode(intel_dsi)) { in gen11_dsi_set_transcoder_timings()
1010 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
1023 if (is_vid_mode(intel_dsi)) { in gen11_dsi_set_transcoder_timings()
1024 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
1033 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_set_transcoder_timings()
1044 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_enable_transcoder() local
1049 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_enable_transcoder()
1067 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_setup_timeouts() local
1079 divisor = intel_dsi_tlpx_ns(intel_dsi) * afe_clk(encoder, crtc_state) * 1000; in gen11_dsi_setup_timeouts()
1081 hs_tx_timeout = DIV_ROUND_UP(intel_dsi->hs_tx_timeout * mul, in gen11_dsi_setup_timeouts()
1083 lp_rx_timeout = DIV_ROUND_UP(intel_dsi->lp_rx_timeout * mul, divisor); in gen11_dsi_setup_timeouts()
1084 ta_timeout = DIV_ROUND_UP(intel_dsi->turn_arnd_val * mul, divisor); in gen11_dsi_setup_timeouts()
1086 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_setup_timeouts()
1117 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_config_util_pin() local
1125 if (is_vid_mode(intel_dsi) || (intel_dsi->ports & BIT(PORT_B))) in gen11_dsi_config_util_pin()
1174 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_powerup_panel() local
1182 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_powerup_panel()
1193 dsi = intel_dsi->dsi_hosts[port]->device; in gen11_dsi_powerup_panel()
1201 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_ON); in gen11_dsi_powerup_panel()
1202 intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); in gen11_dsi_powerup_panel()
1203 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); in gen11_dsi_powerup_panel()
1204 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_INIT_OTP); in gen11_dsi_powerup_panel()
1205 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_ON); in gen11_dsi_powerup_panel()
1270 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in adlp_set_lp_hs_wakeup_gb() local
1274 for_each_dsi_port(port, intel_dsi->ports) in adlp_set_lp_hs_wakeup_gb()
1286 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_enable() local
1302 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_BACKLIGHT_ON); in gen11_dsi_enable()
1310 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_disable_transcoder() local
1315 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_disable_transcoder()
1333 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_powerdown_panel() local
1335 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_OFF); in gen11_dsi_powerdown_panel()
1336 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_ASSERT_RESET); in gen11_dsi_powerdown_panel()
1337 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_OFF); in gen11_dsi_powerdown_panel()
1346 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_deconfigure_trancoder() local
1352 if (is_cmd_mode(intel_dsi)) { in gen11_dsi_deconfigure_trancoder()
1353 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_deconfigure_trancoder()
1361 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_deconfigure_trancoder()
1375 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_deconfigure_trancoder()
1383 if (intel_dsi->dual_link) { in gen11_dsi_deconfigure_trancoder()
1384 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_deconfigure_trancoder()
1398 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_disable_port() local
1403 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_disable_port()
1421 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_disable_io_power() local
1425 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_disable_io_power()
1428 wakeref = fetch_and_zero(&intel_dsi->io_wakeref[port]); in gen11_dsi_disable_io_power()
1437 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_disable_io_power()
1449 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_disable() local
1453 intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_BACKLIGHT_OFF); in gen11_dsi_disable()
1499 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_get_timings() local
1505 int mul = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format); in gen11_dsi_get_timings()
1515 if (intel_dsi->dual_link) { in gen11_dsi_get_timings()
1517 if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) in gen11_dsi_get_timings()
1519 intel_dsi->pixel_overlap; in gen11_dsi_get_timings()
1525 if (intel_dsi->operation_mode == INTEL_DSI_VIDEO_MODE) { in gen11_dsi_get_timings()
1526 if (intel_dsi->dual_link) { in gen11_dsi_get_timings()
1535 static bool gen11_dsi_is_periodic_cmd_mode(struct intel_dsi *intel_dsi) in gen11_dsi_is_periodic_cmd_mode() argument
1537 struct drm_device *dev = intel_dsi->base.base.dev; in gen11_dsi_is_periodic_cmd_mode()
1542 if (intel_dsi->ports == BIT(PORT_B)) in gen11_dsi_is_periodic_cmd_mode()
1551 static void gen11_dsi_get_cmd_mode_config(struct intel_dsi *intel_dsi, in gen11_dsi_get_cmd_mode_config() argument
1554 if (intel_dsi->ports == (BIT(PORT_B) | BIT(PORT_A))) in gen11_dsi_get_cmd_mode_config()
1557 else if (intel_dsi->ports == BIT(PORT_B)) in gen11_dsi_get_cmd_mode_config()
1567 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_get_config() local
1571 pipe_config->hw.adjusted_mode.crtc_clock = intel_dsi->pclk; in gen11_dsi_get_config()
1572 if (intel_dsi->dual_link) in gen11_dsi_get_config()
1580 if (is_cmd_mode(intel_dsi)) in gen11_dsi_get_config()
1581 gen11_dsi_get_cmd_mode_config(intel_dsi, pipe_config); in gen11_dsi_get_config()
1583 if (gen11_dsi_is_periodic_cmd_mode(intel_dsi)) in gen11_dsi_get_config()
1663 struct intel_dsi *intel_dsi = container_of(encoder, struct intel_dsi, in gen11_dsi_compute_config() local
1665 struct intel_connector *intel_connector = intel_dsi->attached_connector; in gen11_dsi_compute_config()
1683 if (intel_dsi->ports == BIT(PORT_B)) in gen11_dsi_compute_config()
1688 if (intel_dsi->pixel_format == MIPI_DSI_FMT_RGB888) in gen11_dsi_compute_config()
1705 if (is_cmd_mode(intel_dsi)) in gen11_dsi_compute_config()
1706 gen11_dsi_get_cmd_mode_config(intel_dsi, pipe_config); in gen11_dsi_compute_config()
1724 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in gen11_dsi_get_hw_state() local
1736 for_each_dsi_port(port, intel_dsi->ports) { in gen11_dsi_get_hw_state()
1865 static void icl_dphy_param_init(struct intel_dsi *intel_dsi) in icl_dphy_param_init() argument
1867 struct drm_device *dev = intel_dsi->base.base.dev; in icl_dphy_param_init()
1869 struct intel_connector *connector = intel_dsi->attached_connector; in icl_dphy_param_init()
1877 tlpx_ns = intel_dsi_tlpx_ns(intel_dsi); in icl_dphy_param_init()
1950 intel_dsi->dphy_reg = (CLK_PREPARE_OVERRIDE | in icl_dphy_param_init()
1962 intel_dsi->dphy_data_lane_reg = (HS_PREPARE_OVERRIDE | in icl_dphy_param_init()
1971 intel_dsi_log_params(intel_dsi); in icl_dphy_param_init()
1989 struct intel_dsi *intel_dsi; in icl_dsi_init() local
1998 intel_dsi = kzalloc(sizeof(*intel_dsi), GFP_KERNEL); in icl_dsi_init()
1999 if (!intel_dsi) in icl_dsi_init()
2004 kfree(intel_dsi); in icl_dsi_init()
2008 encoder = &intel_dsi->base; in icl_dsi_init()
2009 intel_dsi->attached_connector = intel_connector; in icl_dsi_init()
2063 intel_dsi->ports = BIT(PORT_A) | BIT(PORT_B); in icl_dsi_init()
2065 intel_dsi->ports = BIT(port); in icl_dsi_init()
2067 if (drm_WARN_ON(&dev_priv->drm, intel_connector->panel.vbt.dsi.bl_ports & ~intel_dsi->ports)) in icl_dsi_init()
2068 intel_connector->panel.vbt.dsi.bl_ports &= intel_dsi->ports; in icl_dsi_init()
2070 if (drm_WARN_ON(&dev_priv->drm, intel_connector->panel.vbt.dsi.cabc_ports & ~intel_dsi->ports)) in icl_dsi_init()
2071 intel_connector->panel.vbt.dsi.cabc_ports &= intel_dsi->ports; in icl_dsi_init()
2073 for_each_dsi_port(port, intel_dsi->ports) { in icl_dsi_init()
2076 host = intel_dsi_host_init(intel_dsi, &gen11_dsi_host_ops, port); in icl_dsi_init()
2080 intel_dsi->dsi_hosts[port] = host; in icl_dsi_init()
2083 if (!intel_dsi_vbt_init(intel_dsi, MIPI_DSI_GENERIC_PANEL_ID)) { in icl_dsi_init()
2088 icl_dphy_param_init(intel_dsi); in icl_dsi_init()
2096 kfree(intel_dsi); in icl_dsi_init()