ENUM DP_AUX_REQUEST_ACTION(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum dp_aux_request_action(9) β€” kernel API manual energy πŸŽ€

okay so picture this: you're deep in the kernel API manual (that's the manual name bestie, we're not copying the header line, we're living it ✨) and you stumble on this little enum. It's the DP AUX request command listing β€” that's literally its whole personality. Not me being obsessed with an enum, but like… I am. πŸ¦‹


✨ NAME ✨

enum dp_aux_request_action β€” the DP AUX request command listing. That's it, that's the vibe check, and it passed. πŸ’–


🌸 SYNOPSIS 🌸

enum dp_aux_request_action {
    DP_AUX_REQ_ACTION_I2C_WRITE ,
    DP_AUX_REQ_ACTION_I2C_READ ,
    DP_AUX_REQ_ACTION_I2C_STATUS_REQ ,
    DP_AUX_REQ_ACTION_I2C_WRITE_MOT ,
    DP_AUX_REQ_ACTION_I2C_READ_MOT ,
    DP_AUX_REQ_ACTION_I2C_STATUS_REQ_MOT ,
    DP_AUX_REQ_ACTION_DPCD_WRITE ,
    DP_AUX_REQ_ACTION_DPCD_READ

};

look at that. eight constants. all lined up. main character lineup fr fr. πŸ‘‘


🧚 CONSTANTS 🧚

so here's the thing, bestie β€” the source docs literally hand us -- undescribed -- for every single one of these. no cap. so I'm gonna give you every constant exactly as it's written, and I'm not gonna invent lore that isn't there, because making up behavior for a kernel enum is not the move. πŸ™ˆ

  • DP_AUX_REQ_ACTION_I2C_WRITE β€” -- undescribed -- (yes really, the manual said nothing 😭)
  • DP_AUX_REQ_ACTION_I2C_READ β€” -- undescribed -- (also silent, iconic behavior honestly)
  • DP_AUX_REQ_ACTION_I2C_STATUS_REQ β€” -- undescribed -- (still nothing, we stay unbothered πŸ’…)
  • DP_AUX_REQ_ACTION_I2C_WRITE_MOT β€” -- undescribed --
  • DP_AUX_REQ_ACTION_I2C_READ_MOT β€” -- undescribed --
  • DP_AUX_REQ_ACTION_I2C_STATUS_REQ_MOT β€” -- undescribed --
  • DP_AUX_REQ_ACTION_DPCD_WRITE β€” -- undescribed --
  • DP_AUX_REQ_ACTION_DPCD_READ β€” -- undescribed --

like… eight for eight on the mystery. the lore is locked. πŸ”₯


πŸ’œ DESCRIPTION πŸ’œ

here's the one actual fact the page gives us, and it's a baddie:

4 AUX request command bits are shifted to high nibble.

that's it. that's the tea. 4 bits, shifted up into the high nibble. memorized. periodt. ⭐


🌈 SEE ALSO 🌈

okay this is the part where the manpage just goes feral and lists the entire DMUB cinematic universe. the source is the kernel file ./drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h, and then it name-drops all of these bad boys. every single one, no skips, no cap:

  • union dmub_addr(9)
  • struct dmub_cursor_offload_pipe_data_dcn30_v1(9)
  • struct dmub_cursor_offload_pipe_data_dcn401_v1(9)
  • struct dmub_cursor_offload_pipe_data_dcn60_v1(9)
  • struct dmub_cursor_offload_pipe_data_v1(9)
  • struct dmub_cursor_offload_payload_data_v1(9)
  • struct dmub_cursor_offload_stream_v1(9)
  • struct dmub_cursor_offload_v1(9)
  • union dmub_fw_meta_feature_bits(9)
  • struct dmub_fw_meta_info(9)
  • union dmub_fw_meta(9)
  • struct dmcub_trace_buf_entry(9)
  • union dmub_fw_boot_status(9)
  • enum dmub_fw_boot_status_bit(9)
  • enum dmub_cursor_offload_comand_type(9)
  • union dmub_fw_boot_options(9)
  • enum dmub_shared_state_feature_id(9)
  • struct dmub_shared_state_ips_fw(9)
  • struct dmub_shared_state_ips_driver(9)
  • struct dmub_shared_state_cursor_offload_v1(9)
  • struct dmub_shared_state_feature_block(9)
  • union dmub_gpint_data_register(9)
  • enum dmub_out_cmd_type(9)
  • struct dmub_cmd_header(9)
  • struct dmub_rb_cmd_common(9)
  • struct dmub_cmd_PLAT_54186_wa(9)
  • struct dmub_rb_cmd_PLAT_54186_wa(9)
  • enum dmub_cmd_mall_type(9)
  • struct dmub_rb_cmd_mall(9)
  • enum dmub_cmd_cab_type(9)
  • struct dmub_rb_cmd_cab_for_ss(9)
  • enum dmub_fams2_allow_delay_check_mode(9)
  • enum dmub_cmd_idle_opt_type(9)
  • struct dmub_rb_cmd_idle_opt_dcn_restore(9)
  • struct dmub_dcn_notify_idle_cntl_data(9)
  • struct dmub_rb_cmd_idle_opt_dcn_notify_idle(9)
  • enum dmub_idle_opt_dc_power_state(9)
  • struct dmub_idle_opt_set_dc_power_state_data(9)
  • struct dmub_rb_cmd_idle_opt_set_dc_power_state(9)
  • struct dmub_clocks(9)
  • enum dmub_cmd_clk_mgr_type(9)
  • struct dmub_rb_cmd_clk_mgr_notify_clocks(9)
  • struct dmub_cmd_digx_encoder_control_data(9)
  • struct dmub_rb_cmd_digx_encoder_control(9)
  • struct dmub_cmd_set_pixel_clock_data(9)
  • struct dmub_cmd_enable_disp_power_gating_data(9)
  • struct dmub_rb_cmd_enable_disp_power_gating(9)
  • struct dmub_dig_transmitter_control_data_v1_7(9)
  • union dmub_cmd_dig1_transmitter_control_data(9)
  • struct dmub_rb_cmd_dig1_transmitter_control(9)
  • struct dmub_rb_cmd_domain_control_data(9)
  • struct dmub_rb_cmd_domain_control(9)
  • struct dmub_rb_cmd_dpphy_init(9)
  • enum aux_return_code_type(9)
  • enum aux_channel_type(9)
  • struct aux_transaction_parameters(9)
  • struct dmub_rb_cmd_hpd_sense_notify(9)
  • enum dmub_phy_fsm_state(9)
  • enum dmub_abm_ace_curve_type(9)
  • enum dmub_abm_histogram_type(9)
  • enum dmub_cmd_panel_cntl_type(9)
  • struct dmub_cmd_panel_cntl_data(9)
  • struct dmub_rb_cmd_panel_cntl(9)
  • struct dmub_cmd_cable_id_input(9)
  • struct dmub_cmd_cursor_offload_init_data(9)
  • struct dmub_rb_cmd_cursor_offload_init(9)
  • struct dmub_cmd_cursor_offload_stream_data(9)
  • struct dmub_rb_cmd_cursor_offload_stream_cntl(9)
  • union dmub_rb_cmd(9)
  • union dmub_rb_out_cmd(9)
  • struct dmub_rb_init_params(9)
  • struct dmub_rb(9)

like genuinely that's a whole friend group. the way this one enum links to basically everybody πŸ˜­πŸ’€


and that's the page bestie! 🫢 source and version vibe check: this came from ./drivers/gpu/drm/amd/display/..., dated October 2026, and it goes by enum dp_aux_request_action(9). slay, we're done, go read a struct next πŸ’–βœ¨πŸ“

πŸ“¦ where this page comes from