STRUCT DMUB_DIG_TRANSMITTER_CONTROL_DATA_V1_7(9)
π NAME π
struct dmub_dig_transmitter_control_data_v1_7 β literally just transmitter control. That's the whole vibe. β¨
Bestie, you're reading struct dmub_dig_transmitter_control_data_v1_7(9) out of the Kernel API Manual, and she's a real one β a struct living in the Display Core universe, ready to tell the DMUB what's up with the transmitter. π
β¨ SYNOPSIS β¨
Here's the whole shape of her, no edits, no cuts, exactly as she comes:
struct dmub_dig_transmitter_control_data_v1_7 {
uint8_t phyid;
uint8_t action;
union {
uint8_t digmode;
uint8_t dplaneset;
uint8_t txffe;
} mode_laneset;
uint8_t lanenum;
union {
uint32_t symclk_10khz;
uint32_t symclk_Hz;
} symclk_units;
uint8_t hpdsel;
uint8_t digfe_sel;
uint8_t connobj_id;
uint8_t HPO_instance;
uint8_t TxFFELaneSel;
uint8_t skip_phy_ssc_reduction;
uint8_t reserved2[2];
uint32_t reserved3[11];
};
Ok so let's break down what we're looking at, because the field names are giving exactly what they need to give:
phyidβ auint8_t, first one up. πactionβ anotheruint8_t, because something's gotta be done.mode_lanesetβ a union, and she contains threeuint8_ts:digmode,dplaneset, andtxffe. Three names, one little byte of space. Main character energy for real. πlanenumβuint8_t, lane number, we stan a numbering situation.symclk_unitsβ another union! This time it's auint32_twith two aliases:symclk_10khzandsymclk_Hz. Same 32 bits, two whole ways to call her. πhpdselβuint8_t.digfe_selβuint8_t.connobj_idβuint8_t.HPO_instanceβuint8_t, and yes she capitalizes her name.TxFFELaneSelβuint8_t, also capitalized, also iconic.skip_phy_ssc_reductionβuint8_t, and honestly the longest name in the group chat.reserved2βuint8_t reserved2[2];β reserved is reserved, okay? Don't be weird about it. πreserved3βuint32_t reserved3[11];β eleven of them. She saved room for the future, as she should. π
π«Ά Members π«Ά
Okay so, this is the part where you'd expect a whole cute walkthrough of every member... and the section is literally empty. No members listed. Nothing. Crickets. π¦
So like β what you see in the SYNOPSIS is what you get. The struct fields above are the whole story, bestie. No extra lore, no hidden members, that's the whole page. β¨
π SEE ALSO π
Okay so there are a LOT of neighbors in this neighborhood, and I'm not skipping a single one of them. Buckle up, we're going through the whole roster, in order:
./drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.hβ the kernel file herself, the source of truth π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)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 dp_aux_request_action(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)
That's the whole friend group. Go say hi. π«Άπ
Heads up for real though: this is a kernel API page, section 9, so everything here is developer territory β if you're not in the dmub_cmd.h trenches, this is deep lore, not a casual read. π§
Alright bestie, that's the page! πΈ This one came straight out of the kernel source at ./drivers/gpu/drm/amd/display/..., dated October 2026 β and that's the whole manual page struct dmub...ol_data_v1_7(9), start to finish, no notes skipped, no cap. Love that for us. πβ¨π
π¦ 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