hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
....@@ -58,15 +58,17 @@
5858 uint32_t IS_HBR3_CAPABLE:1;
5959 uint32_t IS_TPS3_CAPABLE:1;
6060 uint32_t IS_TPS4_CAPABLE:1;
61
- uint32_t IS_YCBCR_CAPABLE:1;
6261 uint32_t HDMI_6GB_EN:1;
62
+ uint32_t DP_IS_USB_C:1;
6363 } bits;
6464 uint32_t raw;
6565 } flags;
6666
6767 enum dc_color_depth max_hdmi_deep_color;
6868 unsigned int max_hdmi_pixel_clock;
69
- bool ycbcr420_supported;
69
+ bool hdmi_ycbcr420_supported;
70
+ bool dp_ycbcr420_supported;
71
+ bool fec_supported;
7072 };
7173
7274 union dpcd_psr_configuration {
....@@ -112,9 +114,21 @@
112114 struct encoder_feature_support features;
113115 enum transmitter transmitter;
114116 enum hpd_source_id hpd_source;
117
+ bool usbc_combo_phy;
118
+};
119
+
120
+struct link_enc_state {
121
+
122
+ uint32_t dphy_fec_en;
123
+ uint32_t dphy_fec_ready_shadow;
124
+ uint32_t dphy_fec_active_status;
125
+ uint32_t dp_link_training_complete;
126
+
115127 };
116128
117129 struct link_encoder_funcs {
130
+ void (*read_state)(
131
+ struct link_encoder *enc, struct link_enc_state *s);
118132 bool (*validate_output_with_stream)(
119133 struct link_encoder *enc, const struct dc_stream_state *stream);
120134 void (*hw_init)(struct link_encoder *enc);
....@@ -131,6 +145,9 @@
131145 void (*enable_dp_mst_output)(struct link_encoder *enc,
132146 const struct dc_link_settings *link_settings,
133147 enum clock_source_id clock_source);
148
+ void (*enable_lvds_output)(struct link_encoder *enc,
149
+ enum clock_source_id clock_source,
150
+ uint32_t pixel_clock);
134151 void (*disable_output)(struct link_encoder *link_enc,
135152 enum signal_type signal);
136153 void (*dp_set_lane_settings)(struct link_encoder *enc,
....@@ -150,7 +167,23 @@
150167 void (*enable_hpd)(struct link_encoder *enc);
151168 void (*disable_hpd)(struct link_encoder *enc);
152169 bool (*is_dig_enabled)(struct link_encoder *enc);
170
+ unsigned int (*get_dig_frontend)(struct link_encoder *enc);
153171 void (*destroy)(struct link_encoder **enc);
172
+
173
+ void (*fec_set_enable)(struct link_encoder *enc,
174
+ bool enable);
175
+
176
+ void (*fec_set_ready)(struct link_encoder *enc,
177
+ bool ready);
178
+
179
+ bool (*fec_is_active)(struct link_encoder *enc);
180
+ bool (*is_in_alt_mode) (struct link_encoder *enc);
181
+
182
+ void (*get_max_link_cap)(struct link_encoder *enc,
183
+ struct dc_link_settings *link_settings);
184
+
185
+ enum signal_type (*get_dig_mode)(
186
+ struct link_encoder *enc);
154187 };
155188
156189 #endif /* LINK_ENCODER_H_ */