Lines Matching refs:intel_dsi
111 static const u8 *mipi_exec_send_packet(struct intel_dsi *intel_dsi, in mipi_exec_send_packet() argument
134 if (intel_dsi->ports == (1 << PORT_C)) in mipi_exec_send_packet()
139 dsi_device = intel_dsi->dsi_hosts[port]->device; in mipi_exec_send_packet()
184 vlv_dsi_wait_for_fifo_empty(intel_dsi, port); in mipi_exec_send_packet()
192 static const u8 *mipi_exec_delay(struct intel_dsi *intel_dsi, const u8 *data) in mipi_exec_delay() argument
325 static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data) in mipi_exec_gpio() argument
327 struct drm_device *dev = intel_dsi->base.base.dev; in mipi_exec_gpio()
358 static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) in mipi_exec_i2c() argument
365 static const u8 *mipi_exec_spi(struct intel_dsi *intel_dsi, const u8 *data) in mipi_exec_spi() argument
372 static const u8 *mipi_exec_pmic(struct intel_dsi *intel_dsi, const u8 *data) in mipi_exec_pmic() argument
379 typedef const u8 * (*fn_mipi_elem_exec)(struct intel_dsi *intel_dsi,
418 void intel_dsi_vbt_exec_sequence(struct intel_dsi *intel_dsi, in intel_dsi_vbt_exec_sequence() argument
421 struct drm_i915_private *dev_priv = to_i915(intel_dsi->base.base.dev); in intel_dsi_vbt_exec_sequence()
463 data = mipi_elem_exec(intel_dsi, data); in intel_dsi_vbt_exec_sequence()
484 int intel_dsi_vbt_get_modes(struct intel_dsi *intel_dsi) in intel_dsi_vbt_get_modes() argument
486 struct intel_connector *connector = intel_dsi->attached_connector; in intel_dsi_vbt_get_modes()
487 struct drm_device *dev = intel_dsi->base.base.dev; in intel_dsi_vbt_get_modes()
502 bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) in intel_dsi_vbt_init() argument
504 struct drm_device *dev = intel_dsi->base.base.dev; in intel_dsi_vbt_init()
523 intel_dsi->eotp_pkt = mipi_config->eot_pkt_disabled ? 0 : 1; in intel_dsi_vbt_init()
524 intel_dsi->clock_stop = mipi_config->enable_clk_stop ? 1 : 0; in intel_dsi_vbt_init()
525 intel_dsi->lane_count = mipi_config->lane_cnt + 1; in intel_dsi_vbt_init()
526 intel_dsi->pixel_format = in intel_dsi_vbt_init()
529 bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format); in intel_dsi_vbt_init()
531 intel_dsi->dual_link = mipi_config->dual_link; in intel_dsi_vbt_init()
532 intel_dsi->pixel_overlap = mipi_config->pixel_overlap; in intel_dsi_vbt_init()
533 intel_dsi->operation_mode = mipi_config->is_cmd_mode; in intel_dsi_vbt_init()
534 intel_dsi->video_mode_format = mipi_config->video_transfer_mode; in intel_dsi_vbt_init()
535 intel_dsi->escape_clk_div = mipi_config->byte_clk_sel; in intel_dsi_vbt_init()
536 intel_dsi->lp_rx_timeout = mipi_config->lp_rx_timeout; in intel_dsi_vbt_init()
537 intel_dsi->turn_arnd_val = mipi_config->turn_around_timeout; in intel_dsi_vbt_init()
538 intel_dsi->rst_timer_val = mipi_config->device_reset_timer; in intel_dsi_vbt_init()
539 intel_dsi->init_count = mipi_config->master_init_timer; in intel_dsi_vbt_init()
540 intel_dsi->bw_timer = mipi_config->dbi_bw_timer; in intel_dsi_vbt_init()
541 intel_dsi->video_frmt_cfg_bits = in intel_dsi_vbt_init()
547 if (intel_dsi->dual_link) { in intel_dsi_vbt_init()
553 if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) { in intel_dsi_vbt_init()
555 intel_dsi->pixel_overlap * in intel_dsi_vbt_init()
564 if (intel_dsi->video_mode_format == VIDEO_MODE_BURST) { in intel_dsi_vbt_init()
566 computed_ddr = (pclk * bpp) / intel_dsi->lane_count; in intel_dsi_vbt_init()
586 intel_dsi->burst_mode_ratio = burst_mode_ratio; in intel_dsi_vbt_init()
587 intel_dsi->pclk = pclk; in intel_dsi_vbt_init()
589 bitrate = (pclk * bpp) / intel_dsi->lane_count; in intel_dsi_vbt_init()
591 switch (intel_dsi->escape_clk_div) { in intel_dsi_vbt_init()
607 switch (intel_dsi->lane_count) { in intel_dsi_vbt_init()
632 intel_dsi->lp_byte_clk = DIV_ROUND_UP(tlpx_ns * ui_den, 8 * ui_num); in intel_dsi_vbt_init()
695 intel_dsi->dphy_reg = exit_zero_cnt << 24 | trail_cnt << 16 | in intel_dsi_vbt_init()
718 intel_dsi->hs_to_lp_count = max(lp_to_hs_switch, hs_to_lp_switch); in intel_dsi_vbt_init()
719 intel_dsi->hs_to_lp_count += extra_byte_count; in intel_dsi_vbt_init()
730 intel_dsi->clk_lp_to_hs_count = in intel_dsi_vbt_init()
736 intel_dsi->clk_lp_to_hs_count += extra_byte_count; in intel_dsi_vbt_init()
745 intel_dsi->clk_hs_to_lp_count = in intel_dsi_vbt_init()
748 intel_dsi->clk_hs_to_lp_count += extra_byte_count; in intel_dsi_vbt_init()
750 DRM_DEBUG_KMS("Pclk %d\n", intel_dsi->pclk); in intel_dsi_vbt_init()
751 DRM_DEBUG_KMS("Pixel overlap %d\n", intel_dsi->pixel_overlap); in intel_dsi_vbt_init()
752 DRM_DEBUG_KMS("Lane count %d\n", intel_dsi->lane_count); in intel_dsi_vbt_init()
753 DRM_DEBUG_KMS("DPHY param reg 0x%x\n", intel_dsi->dphy_reg); in intel_dsi_vbt_init()
755 intel_dsi->video_mode_format == VIDEO_MODE_NON_BURST_WITH_SYNC_PULSE ? in intel_dsi_vbt_init()
757 intel_dsi->video_mode_format == VIDEO_MODE_NON_BURST_WITH_SYNC_EVENTS ? in intel_dsi_vbt_init()
759 intel_dsi->video_mode_format == VIDEO_MODE_BURST ? in intel_dsi_vbt_init()
761 DRM_DEBUG_KMS("Burst mode ratio %d\n", intel_dsi->burst_mode_ratio); in intel_dsi_vbt_init()
762 DRM_DEBUG_KMS("Reset timer %d\n", intel_dsi->rst_timer_val); in intel_dsi_vbt_init()
763 DRM_DEBUG_KMS("Eot %s\n", enableddisabled(intel_dsi->eotp_pkt)); in intel_dsi_vbt_init()
764 DRM_DEBUG_KMS("Clockstop %s\n", enableddisabled(!intel_dsi->clock_stop)); in intel_dsi_vbt_init()
765 DRM_DEBUG_KMS("Mode %s\n", intel_dsi->operation_mode ? "command" : "video"); in intel_dsi_vbt_init()
766 if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) in intel_dsi_vbt_init()
768 else if (intel_dsi->dual_link == DSI_DUAL_LINK_PIXEL_ALT) in intel_dsi_vbt_init()
772 DRM_DEBUG_KMS("Pixel Format %d\n", intel_dsi->pixel_format); in intel_dsi_vbt_init()
773 DRM_DEBUG_KMS("TLPX %d\n", intel_dsi->escape_clk_div); in intel_dsi_vbt_init()
774 DRM_DEBUG_KMS("LP RX Timeout 0x%x\n", intel_dsi->lp_rx_timeout); in intel_dsi_vbt_init()
775 DRM_DEBUG_KMS("Turnaround Timeout 0x%x\n", intel_dsi->turn_arnd_val); in intel_dsi_vbt_init()
776 DRM_DEBUG_KMS("Init Count 0x%x\n", intel_dsi->init_count); in intel_dsi_vbt_init()
777 DRM_DEBUG_KMS("HS to LP Count 0x%x\n", intel_dsi->hs_to_lp_count); in intel_dsi_vbt_init()
778 DRM_DEBUG_KMS("LP Byte Clock %d\n", intel_dsi->lp_byte_clk); in intel_dsi_vbt_init()
779 DRM_DEBUG_KMS("DBI BW Timer 0x%x\n", intel_dsi->bw_timer); in intel_dsi_vbt_init()
780 DRM_DEBUG_KMS("LP to HS Clock Count 0x%x\n", intel_dsi->clk_lp_to_hs_count); in intel_dsi_vbt_init()
781 DRM_DEBUG_KMS("HS to LP Clock Count 0x%x\n", intel_dsi->clk_hs_to_lp_count); in intel_dsi_vbt_init()
783 enableddisabled(!(intel_dsi->video_frmt_cfg_bits & DISABLE_VIDEO_BTA))); in intel_dsi_vbt_init()
788 intel_dsi->backlight_off_delay = pps->bl_disable_delay / 10; in intel_dsi_vbt_init()
789 intel_dsi->backlight_on_delay = pps->bl_enable_delay / 10; in intel_dsi_vbt_init()
790 intel_dsi->panel_on_delay = pps->panel_on_delay / 10; in intel_dsi_vbt_init()
791 intel_dsi->panel_off_delay = pps->panel_off_delay / 10; in intel_dsi_vbt_init()
792 intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10; in intel_dsi_vbt_init()
795 for_each_dsi_port(port, intel_dsi->ports) { in intel_dsi_vbt_init()
796 mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); in intel_dsi_vbt_init()