sti_hqvdp_check_hw_scaling(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

sti_hqvdp_check_hw_scaling β€” okay so the official NAME line is literally empty bestie, like the manpage said "name? never heard of her" and just left a little dash πŸ’€ so we're going with the function signature itself, iykyk


🌸 SYNOPSIS 🌸

bool sti_hqvdp_check_hw_scaling (struct sti_hqvdp *hqvdp , struct
       drm_display_mode *mode , int src_w , int src_h , int dst_w , int dst_h
       );

She returns a bool, she takes six arguments, and she's out here doing a whole vibe check on your scaling request πŸ”₯


πŸŽ€ ARGUMENTS πŸŽ€

  • hqvdp β€” the hqvdp pointer, your main character struct fr fr
  • mode β€” the display mode, and yes it comes with timing constraints attached, she's got baggage (respectfully) πŸ’…
  • src_w β€” source width
  • src_h β€” source height
  • dst_w β€” destination width
  • dst_h β€” destination height

πŸ¦‹ DESCRIPTION πŸ¦‹

So what she actually does: she checks if the hardware is able to perform the scaling request πŸ‘‘ That's it, that's the whole job.

The firmware scaling limitation is literally this, no cap:

CEIL(1/Zy) <= FLOOR(LFW)

where:

  • Zy = OutputHeight / InputHeight
  • LFW = (Tx * IPClock) / (MaxNbCycles * Cp)
  • Tx : Total video mode horizontal resolution
  • IPClock : HQVDP IP clock (Mhz)
  • MaxNbCycles : max(InputWidth, OutputWidth)
  • Cp : Video mode pixel clock (Mhz)

It's giving math class but make it hardware ✨ like the firmware said "these are my boundaries" and she's just out here respecting them 🫢


πŸ’– RETURN πŸ’–

True if the HW can scale. That's the whole return story bestie, either she can or she can't πŸ’œ


🌈 SEE ALSO 🌈

Kernel file ./drivers/gpu/drm/sti/sti_hqvdp.c β€” go read her, she's iconic ⭐

And the whole friend group:


Okay that's the whole page bestie, mwah πŸ’‹ This lil slice of kernel wisdom lives in ./drivers/gpu/drm/sti, dated October 2026, and it's the Kernel API Manual section, sti_hqvdp_check_hw_scaling(9) β€” go scale something gorgeous πŸ§šβ€β™€οΈπŸ’…

πŸ“¦ where this page comes from