dc_stream_configure_crc(9)
π dc_stream_configure_crc(9) β the kernel API manual, bestie edition π
okay so this is a page from the Kernel API Manual, and it's all about dc_stream_configure_crc β aka "please set up CRC capture on this stream for me." Grab a snack, we're getting into it π
β¨ NAME β¨
dc_stream_configure_crc β configure CRC capture for the given stream. that's it, that's the vibe π
π¦ SYNOPSIS π¦
bool dc_stream_configure_crc (struct dc *dc , struct dc_stream_state
*stream , struct crc_params *crc_window , bool enable , bool continuous
, uint8_t idx , bool reset , enum crc_poly_mode crc_poly_mode );
like, look at that signature. she's long. she's got range. returns a bool, takes a whole friend group of arguments π₯
π ARGUMENTS π
dcβ the DC Object. the main character of this whole story πstreamβ the stream we're configuring CRC on. the one getting the glow-up β¨crc_windowβ CRC window info, as in the x/y start/end situation πenableβ turn CRC on withtrue, off withfalse. simple as πcontinuousβ iftrue, capture CRC on every single frame. if not, you get exactly one capture, one and done πidxβ which CRC engine instance we're capturing on. pick your fighter π₯resetβ reset the CRC engine before the configuration. clean slate energy π§crc_poly_modeβ the CRC polynomial mode. it's giving math, it's givingenum crc_poly_modeπ
π DESCRIPTION π
lowkey the key thing here: by default, the entire frame is used to calculate the CRC. whole frame, no crumbs, no cap π«Ά
β RETURN β
falseβ if the stream isn't found, or CRC capture just isn't supported. sad but honest πtrueβ if the stream has been configured. slay, it worked π
πΈ SEE ALSO πΈ
the whole extended friend group, fr fr β go say hi to all of them:
- Kernel file
./drivers/gpu/drm/amd/display/dc/core/dc.cOverview(9) dc_stream_get_last_used_drr_vtotal(9)dc_stream_get_crc(9)dc_stream_adjust_vmin_vmax(9)dc_commit_state_no_check(9)dc_commit_streams(9)dc_check_state_update(9)dc_check_update_surfaces_for_stream(9)update_seamless_boot_flags(9)update_planes_and_stream_state(9)dc_check_address_only_update(9)build_dmub_cmd_list(9)could_mpcc_tree_change_for_active_pipes(9)commit_minimal_transition_state_in_dc_update(9)commit_minimal_transition_state(9)dc_update_state(9)dc_update_planes_and_stream(9)dc_enable_dcmode_clk_limit(9)dc_is_dmub_outbox_supported(9)dc_enable_dmub_notifications(9)dc_enable_dmub_outbox(9)dc_process_dmub_aux_transfer_async(9)dc_process_dmub_set_config_async(9)dc_process_dmub_set_mst_slots(9)dc_process_dmub_dpia_set_tps_notification(9)dc_process_dmub_dpia_hpd_int_enable(9)dc_print_dmub_diagnostic_data(9)dc_disable_accelerated_mode(9)dc_notify_vsync_int_state(9)dc_set_edp_power(9)dc_get_power_profile_for_dc_state(9)dc_get_det_buffer_size_from_state(9)dc_get_host_router_index(9)should_commit_intermediate_context(9)dc_update_probes_prepare(9)dc_update_probes_execute(9)
ngl this page lives at ./drivers/gpu/drm/amd/display/... and it's stamped October 2026 β so yeah, that's the source/version and the date, consider them mentioned π
and that's the whole page bestie, you ate that π«Άβ¨ mwah π
π¦ 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