drm_dp_aux_init(9)
β¨ drm_dp_aux_init(9) β¨
okay so this is from the Kernel API Manual, and it's literally the glow-up guide for your DisplayPort AUX channel. bestie, if you've ever been like "how do I even talk to my aux before it's famous?" β this is the page for you. π
πΈ NAME πΈ
drm_dp_aux_init β minimally initialise an aux channel
π¦ SYNOPSIS π¦
void drm_dp_aux_init (struct drm_dp_aux *aux );
π ARGUMENTS π
auxβ the DisplayPort AUX channel. that's your girl. π
π DESCRIPTION π
so here's the vibe: if you need to use the drm_dp_aux's i2c adapter before you register it with the outside world, you gotta call drm_dp_aux_init first. like, it's the pre-game. no cap. β¨
now, for drivers that are grandparents to their AUX adapters (think: the AUX adapter is parented by a drm_connector), you still have to call drm_dp_aux_register once the connector has been registered β that's what lets userspace actually access the auxiliary DP channel. don't skip that step, bestie, it's giving "almost finished but forgot the last thing." π
likewise, for those same drivers, you should also assign drm_dp_aux.drm_dev as early as possible. why? so that the drm_device that corresponds to the AUX adapter can be mentioned in debugging output from the DRM DP helpers. it's just good manners, honestly. π«Ά
and for devices that use a separate platform device for their AUX adapters? you can call this as early as the driver requires. literally whenever. it's flexible like that. π
β SEE ALSO β
okay this list is long but we're gonna get through it together. every single one, periodt. π₯
- Kernel file
./drivers/gpu/drm/display/drm_dp_helper.cdp helpers(9) drm_dp_phy_name(9)drm_dp_lttpr_wake_timeout_setup(9)dp helpers(9)(yes, again β it's iconic like that)drm_dp_dpcd_probe(9)drm_dp_dpcd_set_powered(9)drm_dp_dpcd_set_probe(9)drm_dp_dpcd_read(9)drm_dp_dpcd_write(9)drm_dp_dpcd_read_link_status(9)drm_dp_dpcd_read_phy_link_status(9)drm_dp_link_power_up(9)drm_dp_link_power_down(9)drm_dp_dpcd_write_payload(9)drm_dp_dpcd_clear_payload(9)drm_dp_dpcd_poll_act_handled(9)drm_dp_downstream_is_type(9)drm_dp_downstream_is_tmds(9)drm_dp_send_real_edid_checksum(9)drm_dp_read_dpcd_caps(9)drm_dp_read_downstream_info(9)drm_dp_downstream_max_dotclock(9)drm_dp_downstream_max_tmds_clock(9)drm_dp_downstream_min_tmds_clock(9)drm_dp_downstream_max_bpc(9)drm_dp_downstream_420_passthrough(9)drm_dp_downstream_444_to_420_conversion(9)drm_dp_downstream_rgb_to_ycbcr_conversion(9)drm_dp_downstream_mode(9)drm_dp_downstream_id(9)drm_dp_downstream_debug(9)drm_dp_subconnector_type(9)drm_dp_set_subconnector_property(9)drm_dp_read_sink_count_cap(9)drm_dp_read_sink_count(9)drm_dp_remote_aux_init(9)drm_dp_aux_register(9)drm_dp_aux_unregister(9)drm_dp_psr_setup_time(9)drm_dp_start_crc(9)drm_dp_stop_crc(9)drm_dp_read_desc(9)drm_dp_dump_lttpr_desc(9)drm_dp_dsc_sink_bpp_incr(9)drm_dp_dsc_slice_count_to_mask(9)drm_dp_dsc_sink_slice_count_mask(9)drm_dp_dsc_sink_max_slice_count(9)drm_dp_dsc_sink_line_buf_depth(9)drm_dp_dsc_sink_supported_input_bpcs(9)drm_dp_dsc_sink_max_slice_throughput(9)drm_dp_dsc_branch_max_overall_throughput(9)drm_dp_dsc_branch_max_line_width(9)drm_dp_read_lttpr_common_caps(9)drm_dp_read_lttpr_phy_caps(9)drm_dp_lttpr_count(9)drm_dp_lttpr_max_link_rate(9)drm_dp_lttpr_set_transparent_mode(9)drm_dp_lttpr_init(9)drm_dp_lttpr_max_lane_count(9)drm_dp_lttpr_voltage_swing_level_3_supported(9)drm_dp_lttpr_pre_emphasis_level_3_supported(9)drm_dp_get_phy_test_pattern(9)drm_dp_set_phy_test_pattern(9)drm_dp_as_sdp_supported(9)drm_dp_vsc_sdp_supported(9)drm_dp_vsc_sdp_pack(9)drm_dp_get_pcon_max_frl_bw(9)drm_dp_pcon_frl_prepare(9)drm_dp_pcon_is_frl_ready(9)drm_dp_pcon_frl_configure_1(9)drm_dp_pcon_frl_configure_2(9)drm_dp_pcon_reset_frl_config(9)drm_dp_pcon_frl_enable(9)drm_dp_pcon_hdmi_link_active(9)drm_dp_pcon_hdmi_link_mode(9)drm_dp_pcon_hdmi_frl_link_error_count(9)drm_dp_pcon_pps_default(9)drm_dp_pcon_pps_override_buf(9)drm_edp_backlight_set_level(9)drm_edp_backlight_enable(9)drm_edp_backlight_disable(9)drm_edp_backlight_init(9)drm_panel_dp_aux_backlight(9)drm_dp_link_symbol_cycles(9)drm_dp_bw_overhead(9)drm_dp_bw_channel_coding_efficiency(9)drm_dp_max_dprx_data_rate(9)
π lowkey this list is a whole mood but every single one is important, iykyk.
okay that's the whole page! this lil guy lives in ./drivers/gpu/drm/display and it's dated October 2026 β so like, future vibes but make it kernel. stay slay, bestie. π§ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms