__intel_link_bw_reduce_bpp(9)
π
__intel_link_bw_reduce_bpp β the Kernel API Manual, but make it make sense
okay so bestie, welcome to the <hotpink>Kernel API Manual</hotpink> entry for __intel_link_bw_reduce_bpp β yes that's a mouthful, no I will not be shortening it, it's giving "i have a very specific job" energy and honestly? respect. π«Ά
β¨ NAME β¨
__intel_link_bw_reduce_bpp β reduce the maximum link bpp for a selected pipe. that's it, that's the whole vibe. π
πΈ SYNOPSIS πΈ
int __intel_link_bw_reduce_bpp (struct intel_atomic_state *state ,
struct intel_link_bw_limits *limits , u8 pipe_mask , const char *reason
, bool reduce_forced_bpp );
like literally just copy that into your notes, it's the whole signature, don't @ me π
π¦ ARGUMENTS π¦
stateβ the atomic state. main character energy, obviously.limitsβ link BW limits. this is where the numbers live, and where we're gonna be shrinking one of them πpipe_maskβ a mask of pipes to select from. think of it as the group chat you're picking a victim from (lovingly) πreasonβ explanation of why bpp reduction is needed. yes bestie, you have to say why β it's for the logs, be honest β¨reduce_forced_bppβ allow reducing bpps below their forced link bpp. this one is the "break glass in case of emergency" flag, ngl π
π DESCRIPTION π
okay so here's the tea. this function selects the pipe from pipe_mask that has the biggest link bpp value, and sets the maximum of link bpp in limits below that value. then it modesets the selected pipe, so that its state will get recomputed. lowkey a whole glow-up for that pipe. π₯
you can call this function to resolve a link's BW overallocation β by reducing the link bpp of one pipe on the link, and hence reducing the total link BW. it's giving "we can't make the pipe wider, so we make it lighter" and honestly that's iconic problem-solving. π
β Returns
0in case of success π slay-ENOSPCif no pipe can further reduce its link bpp π like, they're all at their limit, nothing left to give- other negative error, if modesetting the selected pipe failed π that's a whole situation
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/i915/display/intel_link_bw.c intel_link_bw_init_limits(9)intel_link_bw_compute_pipe_bpp(9)intel_link_bw_set_bpp_limit_for_pipe(9)intel_link_bw_atomic_check(9)
the whole friend group, fr fr β go read them too, iykyk π§
heads up bestie: the -ENOSPC case isn't an error you caused, it's just the function telling you every pipe has already given all it can. no need to panic, justβ¦ find another way π
that's the page! it lives in ./drivers/gpu/drm/i915/display, dated October 2026, from the Kernel API Manual β __intel_link_bw_reduce_bpp(9), periodt. π
β¨πΈ
π¦ 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