diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dsi.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dsi.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h index ad7c1cb32983..ee93137f4433 100644 --- a/drivers/gpu/drm/i915/intel_dsi.h +++ b/drivers/gpu/drm/i915/intel_dsi.h | |||
@@ -81,14 +81,21 @@ struct intel_dsi { | |||
81 | u16 dcs_backlight_ports; | 81 | u16 dcs_backlight_ports; |
82 | u16 dcs_cabc_ports; | 82 | u16 dcs_cabc_ports; |
83 | 83 | ||
84 | /* RGB or BGR */ | ||
85 | bool bgr_enabled; | ||
86 | |||
84 | u8 pixel_overlap; | 87 | u8 pixel_overlap; |
85 | u32 port_bits; | 88 | u32 port_bits; |
86 | u32 bw_timer; | 89 | u32 bw_timer; |
87 | u32 dphy_reg; | 90 | u32 dphy_reg; |
91 | |||
92 | /* data lanes dphy timing */ | ||
93 | u32 dphy_data_lane_reg; | ||
88 | u32 video_frmt_cfg_bits; | 94 | u32 video_frmt_cfg_bits; |
89 | u16 lp_byte_clk; | 95 | u16 lp_byte_clk; |
90 | 96 | ||
91 | /* timeouts in byte clocks */ | 97 | /* timeouts in byte clocks */ |
98 | u16 hs_tx_timeout; | ||
92 | u16 lp_rx_timeout; | 99 | u16 lp_rx_timeout; |
93 | u16 turn_arnd_val; | 100 | u16 turn_arnd_val; |
94 | u16 rst_timer_val; | 101 | u16 rst_timer_val; |
@@ -129,9 +136,31 @@ static inline struct intel_dsi *enc_to_intel_dsi(struct drm_encoder *encoder) | |||
129 | return container_of(encoder, struct intel_dsi, base.base); | 136 | return container_of(encoder, struct intel_dsi, base.base); |
130 | } | 137 | } |
131 | 138 | ||
139 | static inline bool is_vid_mode(struct intel_dsi *intel_dsi) | ||
140 | { | ||
141 | return intel_dsi->operation_mode == INTEL_DSI_VIDEO_MODE; | ||
142 | } | ||
143 | |||
144 | static inline bool is_cmd_mode(struct intel_dsi *intel_dsi) | ||
145 | { | ||
146 | return intel_dsi->operation_mode == INTEL_DSI_COMMAND_MODE; | ||
147 | } | ||
148 | |||
149 | /* intel_dsi.c */ | ||
150 | int intel_dsi_bitrate(const struct intel_dsi *intel_dsi); | ||
151 | int intel_dsi_tlpx_ns(const struct intel_dsi *intel_dsi); | ||
152 | enum drm_panel_orientation | ||
153 | intel_dsi_get_panel_orientation(struct intel_connector *connector); | ||
154 | |||
132 | /* vlv_dsi.c */ | 155 | /* vlv_dsi.c */ |
133 | void vlv_dsi_wait_for_fifo_empty(struct intel_dsi *intel_dsi, enum port port); | 156 | void vlv_dsi_wait_for_fifo_empty(struct intel_dsi *intel_dsi, enum port port); |
134 | enum mipi_dsi_pixel_format pixel_format_from_register_bits(u32 fmt); | 157 | enum mipi_dsi_pixel_format pixel_format_from_register_bits(u32 fmt); |
158 | int intel_dsi_get_modes(struct drm_connector *connector); | ||
159 | enum drm_mode_status intel_dsi_mode_valid(struct drm_connector *connector, | ||
160 | struct drm_display_mode *mode); | ||
161 | struct intel_dsi_host *intel_dsi_host_init(struct intel_dsi *intel_dsi, | ||
162 | const struct mipi_dsi_host_ops *funcs, | ||
163 | enum port port); | ||
135 | 164 | ||
136 | /* vlv_dsi_pll.c */ | 165 | /* vlv_dsi_pll.c */ |
137 | int vlv_dsi_pll_compute(struct intel_encoder *encoder, | 166 | int vlv_dsi_pll_compute(struct intel_encoder *encoder, |
@@ -158,5 +187,6 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id); | |||
158 | int intel_dsi_vbt_get_modes(struct intel_dsi *intel_dsi); | 187 | int intel_dsi_vbt_get_modes(struct intel_dsi *intel_dsi); |
159 | void intel_dsi_vbt_exec_sequence(struct intel_dsi *intel_dsi, | 188 | void intel_dsi_vbt_exec_sequence(struct intel_dsi *intel_dsi, |
160 | enum mipi_seq seq_id); | 189 | enum mipi_seq seq_id); |
190 | void intel_dsi_msleep(struct intel_dsi *intel_dsi, int msec); | ||
161 | 191 | ||
162 | #endif /* _INTEL_DSI_H */ | 192 | #endif /* _INTEL_DSI_H */ |