drivers/gpu/drm/amd/display/dc/dio/virtual/virtual_stream_encoder.c
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/dio/virtual/virtual_stream_encoder.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/dc/dio/virtual/virtual_stream_encoder.c- Extension
.c- Size
- 5900 bytes
- Lines
- 221
- 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.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
dm_services.hvirtual_stream_encoder.h
Detected Declarations
function filesfunction virtual_stream_encoder_hdmi_set_stream_attributefunction virtual_stream_encoder_dvi_set_stream_attributefunction virtual_stream_encoder_set_throttled_vcp_sizefunction virtual_stream_encoder_update_hdmi_info_packetsfunction virtual_stream_encoder_stop_hdmi_info_packetsfunction virtual_stream_encoder_set_avmutefunction virtual_stream_encoder_update_dp_info_packetsfunction virtual_stream_encoder_stop_dp_info_packetsfunction virtual_stream_encoder_dp_blankfunction virtual_stream_encoder_dp_unblankfunction virtual_audio_mute_controlfunction virtual_stream_encoder_reset_hdmi_stream_attributefunction virtual_enc_dp_set_odm_combinefunction virtual_dig_connect_to_otgfunction virtual_setup_stereo_syncfunction virtual_stream_encoder_set_dsc_pps_info_packetfunction virtual_stream_encoder_construct
Annotated Snippet
#include "dm_services.h"
#include "virtual_stream_encoder.h"
static void virtual_stream_encoder_dp_set_stream_attribute(
struct stream_encoder *enc,
struct dc_crtc_timing *crtc_timing,
enum dc_color_space output_color_space,
bool use_vsc_sdp_for_colorimetry,
uint32_t enable_sdp_splitting) {
(void)enc;
(void)crtc_timing;
(void)output_color_space;
(void)use_vsc_sdp_for_colorimetry;
(void)enable_sdp_splitting;
}
static void virtual_stream_encoder_hdmi_set_stream_attribute(
struct stream_encoder *enc,
struct dc_crtc_timing *crtc_timing,
int actual_pix_clk_khz,
bool enable_audio) {
(void)enc;
(void)crtc_timing;
(void)actual_pix_clk_khz;
(void)enable_audio;
}
static void virtual_stream_encoder_dvi_set_stream_attribute(
struct stream_encoder *enc,
struct dc_crtc_timing *crtc_timing,
bool is_dual_link) {
(void)enc;
(void)crtc_timing;
(void)is_dual_link;
}
static void virtual_stream_encoder_set_throttled_vcp_size(
struct stream_encoder *enc,
struct fixed31_32 avg_time_slots_per_mtp) {
(void)enc;
(void)avg_time_slots_per_mtp;
}
static void virtual_stream_encoder_update_hdmi_info_packets(
struct stream_encoder *enc,
const struct encoder_info_frame *info_frame) {
(void)enc;
(void)info_frame;
}
static void virtual_stream_encoder_stop_hdmi_info_packets(
struct stream_encoder *enc) {
(void)enc;
}
static void virtual_stream_encoder_set_avmute(
struct stream_encoder *enc, bool enable) {
(void)enc;
(void)enable;
}
static void virtual_stream_encoder_update_dp_info_packets(
struct stream_encoder *enc,
const struct encoder_info_frame *info_frame) {
(void)enc;
(void)info_frame;
}
static void virtual_stream_encoder_stop_dp_info_packets(
struct stream_encoder *enc) {
(void)enc;
}
static void virtual_stream_encoder_dp_blank(
struct dc_link *link,
struct stream_encoder *enc) {
(void)link;
(void)enc;
}
static void virtual_stream_encoder_dp_unblank(
struct dc_link *link,
struct stream_encoder *enc,
const struct encoder_unblank_param *param) {
(void)enc;
(void)link;
(void)param;
}
static void virtual_audio_mute_control(
struct stream_encoder *enc, bool mute) {
Annotation
- Immediate include surface: `dm_services.h`, `virtual_stream_encoder.h`.
- Detected declarations: `function files`, `function virtual_stream_encoder_hdmi_set_stream_attribute`, `function virtual_stream_encoder_dvi_set_stream_attribute`, `function virtual_stream_encoder_set_throttled_vcp_size`, `function virtual_stream_encoder_update_hdmi_info_packets`, `function virtual_stream_encoder_stop_hdmi_info_packets`, `function virtual_stream_encoder_set_avmute`, `function virtual_stream_encoder_update_dp_info_packets`, `function virtual_stream_encoder_stop_dp_info_packets`, `function virtual_stream_encoder_dp_blank`.
- 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.