__intel_link_bw_reduce_bpp(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

  • 0 in case of success πŸŽ‰ slay
  • -ENOSPC if 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 🌈

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