drivers/gpu/drm/amd/display/include/signal_types.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/include/signal_types.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/include/signal_types.h- Extension
.h- Size
- 5049 bytes
- Lines
- 179
- 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.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
enum signal_typefunction dc_is_hdmi_tmds_signalfunction dc_is_hdmi_frl_signalfunction dc_is_hdmi_signalfunction dc_is_dp_sst_signalfunction dc_is_dp_signalfunction dc_is_embedded_signalfunction dc_is_lvds_signalfunction dc_is_dvi_signalfunction dc_is_rgb_signalfunction dc_is_tmds_signalfunction dc_is_dvi_single_link_signalfunction dc_is_dual_link_signalfunction dc_is_audio_capable_signalfunction dc_is_virtual_signal
Annotated Snippet
#ifndef __DC_SIGNAL_TYPES_H__
#define __DC_SIGNAL_TYPES_H__
/* Minimum pixel clock, in KHz. For TMDS signal is 25.00 MHz */
#define TMDS_MIN_PIXEL_CLOCK 25000
/* Maximum pixel clock, in KHz. For TMDS signal is 165.00 MHz */
#define TMDS_MAX_PIXEL_CLOCK 165000
/* Maximum pixel clock, in KHz. For HDMI2 TMDS signal is 600 MHz */
#define HDMI2_TMDS_MAX_PIXEL_CLOCK 600000
enum signal_type {
SIGNAL_TYPE_NONE = 0L, /* no signal */
SIGNAL_TYPE_DVI_SINGLE_LINK = (1 << 0),
SIGNAL_TYPE_DVI_DUAL_LINK = (1 << 1),
SIGNAL_TYPE_HDMI_TYPE_A = (1 << 2),
SIGNAL_TYPE_LVDS = (1 << 3),
SIGNAL_TYPE_RGB = (1 << 4),
SIGNAL_TYPE_DISPLAY_PORT = (1 << 5),
SIGNAL_TYPE_DISPLAY_PORT_MST = (1 << 6),
SIGNAL_TYPE_EDP = (1 << 7),
SIGNAL_TYPE_HDMI_FRL = (1 << 8),
SIGNAL_TYPE_VIRTUAL = (1 << 9), /* Virtual Display */
};
static inline const char *signal_type_to_string(const int type)
{
switch (type) {
case SIGNAL_TYPE_NONE:
return "No signal";
case SIGNAL_TYPE_DVI_SINGLE_LINK:
return "DVI: Single Link";
case SIGNAL_TYPE_DVI_DUAL_LINK:
return "DVI: Dual Link";
case SIGNAL_TYPE_HDMI_TYPE_A:
return "HDMI: TYPE A";
case SIGNAL_TYPE_LVDS:
return "LVDS";
case SIGNAL_TYPE_RGB:
return "RGB";
case SIGNAL_TYPE_DISPLAY_PORT:
return "Display Port";
case SIGNAL_TYPE_DISPLAY_PORT_MST:
return "Display Port: MST";
case SIGNAL_TYPE_EDP:
return "Embedded Display Port";
case SIGNAL_TYPE_HDMI_FRL:
return "HDMI: FRL";
case SIGNAL_TYPE_VIRTUAL:
return "Virtual";
default:
return "Unknown";
}
}
/* help functions for signal types manipulation */
static inline bool dc_is_hdmi_tmds_signal(enum signal_type signal)
{
return (signal == SIGNAL_TYPE_HDMI_TYPE_A);
}
static inline bool dc_is_hdmi_frl_signal(enum signal_type signal)
{
return ((signal == SIGNAL_TYPE_HDMI_FRL));
}
static inline bool dc_is_hdmi_signal(enum signal_type signal)
{
return (dc_is_hdmi_tmds_signal(signal) || dc_is_hdmi_frl_signal(signal));
}
static inline bool dc_is_dp_sst_signal(enum signal_type signal)
{
return (signal == SIGNAL_TYPE_DISPLAY_PORT ||
signal == SIGNAL_TYPE_EDP);
}
static inline bool dc_is_dp_signal(enum signal_type signal)
{
return (signal == SIGNAL_TYPE_DISPLAY_PORT ||
signal == SIGNAL_TYPE_EDP ||
signal == SIGNAL_TYPE_DISPLAY_PORT_MST);
}
static inline bool dc_is_embedded_signal(enum signal_type signal)
{
return (signal == SIGNAL_TYPE_EDP || signal == SIGNAL_TYPE_LVDS);
}
static inline bool dc_is_lvds_signal(enum signal_type signal)
{
Annotation
- Detected declarations: `enum signal_type`, `function dc_is_hdmi_tmds_signal`, `function dc_is_hdmi_frl_signal`, `function dc_is_hdmi_signal`, `function dc_is_dp_sst_signal`, `function dc_is_dp_signal`, `function dc_is_embedded_signal`, `function dc_is_lvds_signal`, `function dc_is_dvi_signal`, `function dc_is_rgb_signal`.
- 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.