intel_wm_method1(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– intel_wm_method1 πŸ’–

okay so bestie, you're looking at intel_wm_method1 from the Kernel API Manual β€” it's the Method 1 / "small buffer" watermark formula and honestly it's kind of iconic once it clicks. let's get into it 🫢


✨ SYNOPSIS ✨

unsigned int intel_wm_method1 (unsigned int pixel_rate , unsigned int
       cpp , unsigned int latency );

literally the whole vibe right there. three unsigned ints in, one unsigned int out. slay. πŸ’…


🌸 ARGUMENTS 🌸

  • pixel_rate β€” the pipe pixel rate, in kHz. that's your clock speed energy ⏱️
  • cpp β€” plane bytes per pixel. how chunky each pixel is 🧚
  • latency β€” memory wakeup latency, measured in 0.1us units (yes, tenths of a microsecond, don't come for me) πŸ’€

πŸŽ€ DESCRIPTION πŸŽ€

So this function computes the watermark using the method 1 aka the "small buffer" formula. The caller may additionally add extra cachelines on top to account for TLB misses and clock crossings β€” that part's on them, not on this function, iykyk.

The way this method thinks is all about the short term drain rate of the FIFO. Like, short term. It does not account for blanking periods, which would effectively reduce the average drain rate across a longer period. so it's very much a "vibes in the moment" kind of calculation, not a "look at the whole picture" one 🌈

And the name "small"? It refers to the fact that the FIFO is relatively small compared to the amount of data fetched. not small as in unimportant, bestie. small as in literally small. periodt.

The FIFO level vs. time graph might look something like:

|   ||   | __---__---__ (- plane active, _ blanking) -> time

or perhaps like this:

|  |__----__----__ (- plane active, _ blanking) -> time

(quick legend bc I got you: - means plane active, _ means blanking) πŸ¦‹


⭐ RETURN ⭐

The watermark, in bytes. that's it. that's the tea πŸ“


πŸ‘‘ SEE ALSO πŸ‘‘


ngl this page came straight out of ./drivers/gpu/drm/i915/display, dated October 2026, and it's part of the Kernel API Manual. no cap, that's the source and version and date all rolled into one cute sign-off. bye bestie, go compute some watermarks πŸ’œβœ¨πŸ”₯
πŸ“¦ where this page comes from