drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h- Extension
.h- Size
- 1783 bytes
- Lines
- 85
- Domain
- Driver Families
- Bucket
- drivers/gpu
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.h
Detected Declarations
struct intel_encoderstruct intel_crtc_statestruct hsw_ddi_buf_transstruct bxt_ddi_buf_transstruct icl_ddi_buf_transstruct icl_mg_phy_ddi_buf_transstruct tgl_dkl_phy_ddi_buf_transstruct dg2_snps_phy_buf_transstruct xe3plpd_lt_phy_buf_transstruct intel_ddi_buf_trans
Annotated Snippet
struct hsw_ddi_buf_trans {
u32 trans1; /* balance leg enable, de-emph level */
u32 trans2; /* vref sel, vswing */
u8 i_boost; /* SKL: I_boost; valid: 0x0, 0x1, 0x3, 0x7 */
};
struct bxt_ddi_buf_trans {
u8 margin; /* swing value */
u8 scale; /* scale value */
u8 enable; /* scale enable */
u8 deemphasis;
};
struct icl_ddi_buf_trans {
u8 dw2_swing_sel;
u8 dw7_n_scalar;
u8 dw4_cursor_coeff;
u8 dw4_post_cursor_2;
u8 dw4_post_cursor_1;
};
struct icl_mg_phy_ddi_buf_trans {
u8 cri_txdeemph_override_11_6;
u8 cri_txdeemph_override_5_0;
u8 cri_txdeemph_override_17_12;
};
struct tgl_dkl_phy_ddi_buf_trans {
u8 vswing;
u8 preshoot;
u8 de_emphasis;
};
struct dg2_snps_phy_buf_trans {
u8 vswing;
u8 pre_cursor;
u8 post_cursor;
};
struct xe3plpd_lt_phy_buf_trans {
u8 txswing;
u8 txswing_level;
u8 pre_cursor;
u8 main_cursor;
u8 post_cursor;
};
union intel_ddi_buf_trans_entry {
struct hsw_ddi_buf_trans hsw;
struct bxt_ddi_buf_trans bxt;
struct icl_ddi_buf_trans icl;
struct icl_mg_phy_ddi_buf_trans mg;
struct tgl_dkl_phy_ddi_buf_trans dkl;
struct dg2_snps_phy_buf_trans snps;
struct xe3plpd_lt_phy_buf_trans lt;
};
struct intel_ddi_buf_trans {
const union intel_ddi_buf_trans_entry *entries;
u8 num_entries;
u8 hdmi_default_entry;
};
bool is_hobl_buf_trans(const struct intel_ddi_buf_trans *table);
void intel_ddi_buf_trans_init(struct intel_encoder *encoder);
const struct intel_ddi_buf_trans *
intel_ddi_buf_trans_get(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state, int *n_entries);
#endif
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct intel_encoder`, `struct intel_crtc_state`, `struct hsw_ddi_buf_trans`, `struct bxt_ddi_buf_trans`, `struct icl_ddi_buf_trans`, `struct icl_mg_phy_ddi_buf_trans`, `struct tgl_dkl_phy_ddi_buf_trans`, `struct dg2_snps_phy_buf_trans`, `struct xe3plpd_lt_phy_buf_trans`, `struct intel_ddi_buf_trans`.
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.