optc1_get_crc(9)
π optc1_get_crc β Kernel API Manual, bestie edition β¨
okay so picture this: you're deep in the Kernel API Manual and you stumble on optc1_get_crc, and it's literally the "grab the CRC" girlie. let me put you on. π«Ά
πΈ NAME πΈ
optc1_get_crc β Capture CRC result per component π
β¨ SYNOPSIS β¨
bool optc1_get_crc (struct timing_generator *optc , uint8_t idx ,
uint32_t *r_cr , uint32_t *g_y , uint32_t *b_cb );
like, it returns a bool, takes a struct timing_generator *optc, a uint8_t idx, and three uint32_t * out-params. that's the whole vibe check. no cap. π¦
π ARGUMENTS π
optcβ yourtiming_generatorinstance. the main character, honestly πidxβ index of the crc engine we're pulling the CRC from. which one? that one. iykyk πr_crβ 16-bit primary CRC signature for red data. red era. πg_yβ 16-bit primary CRC signature for green data. green era. πb_cbβ 16-bit primary CRC signature for blue data. blue era. π¦
π₯ DESCRIPTION π₯
so what does it do? bestie, it reads the CRC signature straight out of the OPTC registers. and the way that it does it? there are three registers keeping the CRC result per color component (RGB). three registers. red, green, blue. it's giving trio energy and i'm obsessed. πβ¨
β RETURN β
the rules are simple, fr fr:
- if CRC is disabled β return
falseπ - otherwise β return
true, and the CRC results land in the parameters π
πΈ SEE ALSO πΈ
kernel file right here: ./drivers/gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.c π
and the whole friend group (go read these too, bestie):
apply_front_porch_workaround(9)optc1_program_timing(9)optc1_set_vtg_params(9)optc1_set_timing_double_buffer(9)optc1_unblank_crtc(9)optc1_blank_crtc(9)optc1_enable_crtc(9)optc1_set_drr(9)
ngl this page came from ./drivers/gpu/drm/amd/display/... and it's dated October 2026 β slay, future girlie. signing off, 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