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 int drm_dp_dpcd_write_payload(struct drm_dp_aux *aux,
572 int drm_dp_dpcd_clear_payload(struct drm_dp_aux *aux);
573 int drm_dp_dpcd_poll_act_handled(struct drm_dp_aux *aux, int timeout_ms);
575 bool drm_dp_send_real_edid_checksum(struct drm_dp_aux *aux,
578 int drm_dp_read_downstream_info(struct drm_dp_aux *aux,
604 int drm_dp_downstream_id(struct drm_dp_aux *aux, char id[6]);
609 struct drm_dp_aux *aux);
622 int drm_dp_read_sink_count(struct drm_dp_aux *aux);
624 int drm_dp_read_lttpr_common_caps(struct drm_dp_aux *aux,
627 int drm_dp_read_lttpr_phy_caps(struct drm_dp_aux *aux,
633 int drm_dp_lttpr_set_transparent_mode(struct drm_dp_aux *aux, bool enable);
634 int drm_dp_lttpr_init(struct drm_dp_aux *aux, int lttpr_count);
638 void drm_dp_lttpr_wake_timeout_setup(struct drm_dp_aux *aux, bool transparent_mode);
640 void drm_dp_remote_aux_init(struct drm_dp_aux *aux);
641 void drm_dp_aux_init(struct drm_dp_aux *aux);
642 int drm_dp_aux_register(struct drm_dp_aux *aux);
643 void drm_dp_aux_unregister(struct drm_dp_aux *aux);
645 int drm_dp_start_crc(struct drm_dp_aux *aux, struct drm_crtc *crtc);
646 int drm_dp_stop_crc(struct drm_dp_aux *aux);
666 int drm_dp_read_desc(struct drm_dp_aux *aux, struct drm_dp_desc *desc,
669 int drm_dp_dump_lttpr_desc(struct drm_dp_aux *aux, enum drm_dp_phy dp_phy);
705 * The DSC caps can be read from the physical aux instead.
743 * @aux_enable: Does the panel support the AUX enable cap?
744 * @aux_set: Does the panel support setting the brightness through AUX?
760 drm_edp_backlight_init(struct drm_dp_aux *aux, struct drm_edp_backlight_info *bl,
763 int drm_edp_backlight_set_level(struct drm_dp_aux *aux, const struct drm_edp_backlight_info *bl,
765 int drm_edp_backlight_enable(struct drm_dp_aux *aux, const struct drm_edp_backlight_info *bl,
767 int drm_edp_backlight_disable(struct drm_dp_aux *aux, const struct drm_edp_backlight_info *bl);
772 int drm_panel_dp_aux_backlight(struct drm_panel *panel, struct drm_dp_aux *aux);
777 struct drm_dp_aux *aux) in drm_panel_dp_aux_backlight() argument
785 void drm_dp_cec_irq(struct drm_dp_aux *aux);
786 void drm_dp_cec_register_connector(struct drm_dp_aux *aux,
788 void drm_dp_cec_unregister_connector(struct drm_dp_aux *aux);
789 void drm_dp_cec_attach(struct drm_dp_aux *aux, u16 source_physical_address);
790 void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid);
791 void drm_dp_cec_unset_edid(struct drm_dp_aux *aux);
793 static inline void drm_dp_cec_irq(struct drm_dp_aux *aux) in drm_dp_cec_irq() argument
798 drm_dp_cec_register_connector(struct drm_dp_aux *aux, in drm_dp_cec_register_connector() argument
803 static inline void drm_dp_cec_unregister_connector(struct drm_dp_aux *aux) in drm_dp_cec_unregister_connector() argument
807 static inline void drm_dp_cec_attach(struct drm_dp_aux *aux, in drm_dp_cec_attach() argument
812 static inline void drm_dp_cec_set_edid(struct drm_dp_aux *aux, in drm_dp_cec_set_edid() argument
817 static inline void drm_dp_cec_unset_edid(struct drm_dp_aux *aux) in drm_dp_cec_unset_edid() argument
841 int drm_dp_get_phy_test_pattern(struct drm_dp_aux *aux,
843 int drm_dp_set_phy_test_pattern(struct drm_dp_aux *aux,
847 int drm_dp_pcon_frl_prepare(struct drm_dp_aux *aux, bool enable_frl_ready_hpd);
848 bool drm_dp_pcon_is_frl_ready(struct drm_dp_aux *aux);
849 int drm_dp_pcon_frl_configure_1(struct drm_dp_aux *aux, int max_frl_gbps,
851 int drm_dp_pcon_frl_configure_2(struct drm_dp_aux *aux, int max_frl_mask,
853 int drm_dp_pcon_reset_frl_config(struct drm_dp_aux *aux);
854 int drm_dp_pcon_frl_enable(struct drm_dp_aux *aux);
856 bool drm_dp_pcon_hdmi_link_active(struct drm_dp_aux *aux);
857 int drm_dp_pcon_hdmi_link_mode(struct drm_dp_aux *aux, u8 *frl_trained_mask);
858 void drm_dp_pcon_hdmi_frl_link_error_count(struct drm_dp_aux *aux,
864 int drm_dp_pcon_pps_default(struct drm_dp_aux *aux);
865 int drm_dp_pcon_pps_override_buf(struct drm_dp_aux *aux, u8 pps_buf[128]);
866 int drm_dp_pcon_pps_override_param(struct drm_dp_aux *aux, u8 pps_param[6]);
869 int drm_dp_pcon_convert_rgb_to_ycbcr(struct drm_dp_aux *aux, u8 color_spc);