snd_hdac_i915_set_bclk(9)
π snd_hdac_i915_set_bclk β kernel API manual, bestie edition β¨
okay so this is snd_hdac_i915_set_bclk, and the whole entire job of it is reprogramming BCLK for HSW/BDW. that's it. that's the vibe. π
β¨ SYNOPSIS β¨
void snd_hdac_i915_set_bclk (struct hdac_bus *bus );
like, you hand it a bus and it returns nothing. void. no notes. π
π«Ά ARGUMENTS π«Ά
busβ the HDA core bus. that's the whole argument. she takes one (1) bus and she's booked and busy.
πΈ DESCRIPTION πΈ
okay so picture this: the Intel HSW/BDW display HDA controller lives inside the GPU. not next to it. in it. main character energy fr fr. and because of that, both its power and its link BCLK depend on the GPU. it's giving codependent, but make it hardware. π
so there's these two Extended Mode registers doing the clock math for us:
- EM4 β the M value
- EM5 β the N Value
and together they convert CDClk (that's Core Display Clock, iykyk) into a 24MHz BCLK, like this:
BCLK = CDCLK * M / N
math ate, honestly. π₯
π¨ but here's the part where you gotta pay attention: those values get lost when the display power well is disabled. gone. deleted. and you need to restore them, otherwise you get abnormal playback speed. so likeβ¦ don't skip that step bestie. π
call this function at:
- initializing π
- changing the power well β‘
- the ELD notifier for the hotplug π
three moments. all three. no cap.
π¦ SEE ALSO π¦
- Kernel file
./sound/hda/core/i915.c snd_hdac_i915_init(9)
and that's the page!! go forth and restore those BCLK values, queen π
β¨ this cutie was served fresh from ./sound/hda/core, October 2026 edition β mwah, ilysm, now go read the source π«Άπ
π¦ 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