Lines Matching full:aux
47 int drm_dp_read_clock_recovery_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE],
49 int drm_dp_read_channel_eq_delay(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE],
52 void drm_dp_link_train_clock_recovery_delay(const struct drm_dp_aux *aux,
55 void drm_dp_link_train_channel_eq_delay(const struct drm_dp_aux *aux,
57 void drm_dp_lttpr_link_train_channel_eq_delay(const struct drm_dp_aux *aux,
60 int drm_dp_128b132b_read_aux_rd_interval(struct drm_dp_aux *aux);
134 bool drm_dp_vsc_sdp_supported(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE]);
135 bool drm_dp_as_sdp_supported(struct drm_dp_aux *aux, const u8 dpcd[DP_RECEIVER_CAP_SIZE]);
308 * DisplayPort AUX channel
312 * struct drm_dp_aux_msg - DisplayPort AUX channel transaction
332 * struct drm_dp_aux_cec - DisplayPort CEC-Tunneling-over-AUX
334 * @adap: the CEC adapter for CEC-Tunneling-over-AUX support.
346 * struct drm_dp_aux - DisplayPort AUX channel
348 * An AUX channel can also be used to transport I2C messages to a sink. A
360 * @name: user-visible name of this AUX channel and the
361 * I2C-over-AUX adapter.
369 * @ddc: I2C adapter that can be used for I2C-over-AUX
376 * AUX channel.
381 * @drm_dev: pointer to the &drm_device that owns this AUX channel.
385 * It should be set to the &drm_device that will be using this AUX
395 * AUX channel
419 * @transfer: transfers a message representing a single AUX
443 * - If the @dev providing the AUX bus is currently unpowered then
451 * drm_panel driver is initiating a DP AUX transfer it may power
456 ssize_t (*transfer)(struct drm_dp_aux *aux,
463 * panel to finish powering on. It is optional for DP AUX controllers
464 * to implement this function. It is required for DP AUX endpoints
466 * doing AUX transfers unless the DP AUX endpoint driver knows that
467 * we're not using the AUX controller's HPD. One example of the panel
471 * If a DP AUX controller does not implement this function then it
472 * may still support eDP panels that use the AUX controller's built-in
482 * DP controller is ready to send AUX transactions.
493 * that's associated with the DP AUX channel. This is different from
498 int (*wait_hpd_asserted)(struct drm_dp_aux *aux, unsigned long wait_us);
509 * @cec: struct containing fields used for CEC-Tunneling-over-AUX.
513 * @is_remote: Is this AUX CH actually using sideband messaging.
523 int drm_dp_dpcd_probe(struct drm_dp_aux *aux, unsigned int offset);
524 void drm_dp_dpcd_set_powered(struct drm_dp_aux *aux, bool powered);
525 ssize_t drm_dp_dpcd_read(struct drm_dp_aux *aux, unsigned int offset,
527 ssize_t drm_dp_dpcd_write(struct drm_dp_aux *aux, unsigned int offset,
532 * @aux: DisplayPort AUX channel
539 static inline ssize_t drm_dp_dpcd_readb(struct drm_dp_aux *aux, in drm_dp_dpcd_readb() argument
542 return drm_dp_dpcd_read(aux, offset, valuep, 1); in drm_dp_dpcd_readb()
547 * @aux: DisplayPort AUX channel
554 static inline ssize_t drm_dp_dpcd_writeb(struct drm_dp_aux *aux, in drm_dp_dpcd_writeb() argument
557 return drm_dp_dpcd_write(aux, offset, &value, 1); in drm_dp_dpcd_writeb()
560 int drm_dp_read_dpcd_caps(struct drm_dp_aux *aux,
563 int drm_dp_dpcd_read_link_status(struct drm_dp_aux *aux,
566 int drm_dp_dpcd_read_phy_link_status(struct drm_dp_aux *aux,
570 bool drm_dp_send_real_edid_checksum(struct drm_dp_aux *aux,
573 int drm_dp_read_downstream_info(struct drm_dp_aux *aux,
599 int drm_dp_downstream_id(struct drm_dp_aux *aux, char id[6]);
604 struct drm_dp_aux *aux);
617 int drm_dp_read_sink_count(struct drm_dp_aux *aux);
619 int drm_dp_read_lttpr_common_caps(struct drm_dp_aux *aux,
622 int drm_dp_read_lttpr_phy_caps(struct drm_dp_aux *aux,
632 void drm_dp_remote_aux_init(struct drm_dp_aux *aux);
633 void drm_dp_aux_init(struct drm_dp_aux *aux);
634 int drm_dp_aux_register(struct drm_dp_aux *aux);
635 void drm_dp_aux_unregister(struct drm_dp_aux *aux);
637 int drm_dp_start_crc(struct drm_dp_aux *aux, struct drm_crtc *crtc);
638 int drm_dp_stop_crc(struct drm_dp_aux *aux);
658 int drm_dp_read_desc(struct drm_dp_aux *aux, struct drm_dp_desc *desc,
661 int drm_dp_dump_lttpr_desc(struct drm_dp_aux *aux, enum drm_dp_phy dp_phy);
697 * The DSC caps can be read from the physical aux instead.
735 * @aux_enable: Does the panel support the AUX enable cap?
736 * @aux_set: Does the panel support setting the brightness through AUX?
752 drm_edp_backlight_init(struct drm_dp_aux *aux, struct drm_edp_backlight_info *bl,
755 int drm_edp_backlight_set_level(struct drm_dp_aux *aux, const struct drm_edp_backlight_info *bl,
757 int drm_edp_backlight_enable(struct drm_dp_aux *aux, const struct drm_edp_backlight_info *bl,
759 int drm_edp_backlight_disable(struct drm_dp_aux *aux, const struct drm_edp_backlight_info *bl);
764 int drm_panel_dp_aux_backlight(struct drm_panel *panel, struct drm_dp_aux *aux);
769 struct drm_dp_aux *aux) in drm_panel_dp_aux_backlight() argument
777 void drm_dp_cec_irq(struct drm_dp_aux *aux);
778 void drm_dp_cec_register_connector(struct drm_dp_aux *aux,
780 void drm_dp_cec_unregister_connector(struct drm_dp_aux *aux);
781 void drm_dp_cec_attach(struct drm_dp_aux *aux, u16 source_physical_address);
782 void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid);
783 void drm_dp_cec_unset_edid(struct drm_dp_aux *aux);
785 static inline void drm_dp_cec_irq(struct drm_dp_aux *aux) in drm_dp_cec_irq() argument
790 drm_dp_cec_register_connector(struct drm_dp_aux *aux, in drm_dp_cec_register_connector() argument
795 static inline void drm_dp_cec_unregister_connector(struct drm_dp_aux *aux) in drm_dp_cec_unregister_connector() argument
799 static inline void drm_dp_cec_attach(struct drm_dp_aux *aux, in drm_dp_cec_attach() argument
804 static inline void drm_dp_cec_set_edid(struct drm_dp_aux *aux, in drm_dp_cec_set_edid() argument
809 static inline void drm_dp_cec_unset_edid(struct drm_dp_aux *aux) in drm_dp_cec_unset_edid() argument
833 int drm_dp_get_phy_test_pattern(struct drm_dp_aux *aux,
835 int drm_dp_set_phy_test_pattern(struct drm_dp_aux *aux,
839 int drm_dp_pcon_frl_prepare(struct drm_dp_aux *aux, bool enable_frl_ready_hpd);
840 bool drm_dp_pcon_is_frl_ready(struct drm_dp_aux *aux);
841 int drm_dp_pcon_frl_configure_1(struct drm_dp_aux *aux, int max_frl_gbps,
843 int drm_dp_pcon_frl_configure_2(struct drm_dp_aux *aux, int max_frl_mask,
845 int drm_dp_pcon_reset_frl_config(struct drm_dp_aux *aux);
846 int drm_dp_pcon_frl_enable(struct drm_dp_aux *aux);
848 bool drm_dp_pcon_hdmi_link_active(struct drm_dp_aux *aux);
849 int drm_dp_pcon_hdmi_link_mode(struct drm_dp_aux *aux, u8 *frl_trained_mask);
850 void drm_dp_pcon_hdmi_frl_link_error_count(struct drm_dp_aux *aux,
856 int drm_dp_pcon_pps_default(struct drm_dp_aux *aux);
857 int drm_dp_pcon_pps_override_buf(struct drm_dp_aux *aux, u8 pps_buf[128]);
858 int drm_dp_pcon_pps_override_param(struct drm_dp_aux *aux, u8 pps_param[6]);
861 int drm_dp_pcon_convert_rgb_to_ycbcr(struct drm_dp_aux *aux, u8 color_spc);