STRUCT ZYNQMP_DP(9)
π
struct zynqmp_dp(9) π
okay bestie, welcome to the Kernel API Manual entry for struct zynqmp_dp β the Xilinx DisplayPort core. itβs giving βone struct holding all the DP lore,β and we are going through every single member. no skips. no cap. β¨
π NAME π
struct zynqmp_dp β Xilinx DisplayPort core π
β¨ SYNOPSIS β¨
the struct definition is literally right here, bestie:
struct zynqmp_dp {
struct drm_dp_aux aux;
struct drm_bridge bridge;
struct work_struct hpd_work;
struct work_struct hpd_irq_work;
struct completion aux_done;
struct mutex lock;
struct device *dev;
struct zynqmp_dpsub *dpsub;
void __iomem *iomem;
struct reset_control *reset;
struct phy *phy[ZYNQMP_DP_MAX_LANES];
enum drm_connector_status status;
int irq;
bool enabled;
bool ignore_aux_errors;
bool ignore_hpd;
struct zynqmp_dp_train_set_priv
debugfs_train_set[ZYNQMP_DP_MAX_LANES];
struct zynqmp_dp_mode mode;
struct zynqmp_dp_link_config link_config;
struct zynqmp_dp_test test;
struct zynqmp_dp_config config;
u8 dpcd[DP_RECEIVER_CAP_SIZE];
u8 train_set[ZYNQMP_DP_MAX_LANES];
u8 num_lanes;
};
πΈ Members πΈ
hereβs the member-by-member vibe check, every field accounted for π«Ά
auxβ aux channel.bridgeβ DRM bridge for the DP encoder.hpd_workβ hot plug detection worker.hpd_irq_workβ hot plug detection IRQ worker.aux_doneβ Completed when we get an AUX reply or timeout.lockβ Mutex protecting this struct and register access (but not AUX).devβ device structure.dpsubβ Display subsystem.iomemβ device I/O memory for register access.resetβ reset controller.phyβ PHY handles for DP lanes.statusβ connection status.irqβ irq.enabledβ flag to indicate if the device is enabled.ignore_aux_errorsβ If set, AUX errors are suppressed.ignore_hpdβ If set, HPD events and IRQs are ignored.debugfs_train_setβ Debugfs private data for train_set.modeβ current mode between IP core and sink device.link_configβ common link configuration between IP core and sink device.testβ Configuration for test mode.configβ IP core configuration from DTS.dpcdβ DP configuration data from currently connected sink device.train_setβ set of training data.num_lanesβ number of enabled phy lanes.
π Description π
okay so the tea on lock: it covers the link configuration in this struct and the deviceβs registers. it does not cover aux or ignore_aux_errors. and it is not strictly required for any of the members which are only modified at probe/remove time (e.g. dev). thatβs the whole note, bestie β important, but keep it cute π
π SEE ALSO π
Kernel file ./drivers/gpu/drm/xlnx/zynqmp_dp.c, plus the whole friend group of references: struct zynqmp_dp_link_config(9), struct zynqmp_dp_mode(9), struct zynqmp_dp_config(9), enum test_pattern(9), struct zynqmp_dp_test(9), struct zynqmp_dp_train_set_priv(9), zynqmp_dp_phy_init(9), zynqmp_dp_phy_exit(9), zynqmp_dp_phy_probe(9), zynqmp_dp_phy_ready(9), zynqmp_dp_max_rate(9), zynqmp_dp_mode_configure(9), zynqmp_dp_adjust_train(9), zynqmp_dp_update_vs_emph(9), zynqmp_dp_link_train_cr(9), zynqmp_dp_link_train_ce(9), zynqmp_dp_setup(9), zynqmp_dp_train(9), zynqmp_dp_train_loop(9), zynqmp_dp_aux_cmd_submit(9), zynqmp_dp_aux_init(9), zynqmp_dp_aux_cleanup(9), zynqmp_dp_update_misc(9), zynqmp_dp_set_format(9), zynqmp_dp_encoder_mode_set_transfer_unit(9), zynqmp_dp_encoder_mode_set_stream(9), zynqmp_dp_disp_connected_live_layer(9), zynqmp_dp_set_test_pattern(9), zynqmp_dp_enable_vblank(9), zynqmp_dp_disable_vblank(9).
thatβs the whole page, bestie π«Ά source/version energy: ./drivers/gpu/drm/xlnx; date: October 2026. slay, and happy DisplayPort-ing β¨π
π¦ 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