drm_of_lvds..._pixel_order(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 drm_of_lvds..._pixel_order(9) 🌸

okay bestie, welcome to the Kernel API Manual πŸ’– this one's about drm_of_lvds_get_dual_link_pixel_order and honestly? it's giving "matchmaker for pixels" energy and i'm obsessed.


✨ NAME ✨

drm_of_lvds_get_dual_link_pixel_order β€” get the LVDS dual-link source pixel order, no cap πŸŽ€


✨ SYNOPSIS ✨

int drm_of_lvds_get_dual_link_pixel_order (const struct device_node
*port1 , const struct device_node *port2 );

✨ ARGUMENTS ✨

  • port1 β€” the first DT port node of the Dual-link LVDS source, bestie 🫢
  • port2 β€” the second DT port node of the Dual-link LVDS source, its literal partner in crime πŸ’…

✨ DESCRIPTION ✨

so. an LVDS dual-link connection is made of two links, right? and the way it works is: even pixels transit on one link, and odd pixels transit on the other link. that's just the vibe 🌈

this function returns, for two ports of an LVDS dual-link source, which port shall transmit the even and odd pixels, based on the requirements of the connected sink. it's literally doing a vibe check on behalf of the sink πŸ‘‘

the pixel order is determined from the dual-lvds-even-pixels and dual-lvds-odd-pixels properties in the sink's DT port nodes. if those properties are not present, or if their usage is not valid, this function returns -EINVAL 😭

if either port is not connected, this function returns -EPIPE. not me crying in pipe error πŸ’€

port1 and port2 are typically DT sibling nodes, but may have different parents when, for instance, two separate LVDS encoders carry the even and odd pixels. found family fr fr 🧚


✨ RETURN ✨

  • DRM_LVDS_DUAL_LINK_EVEN_ODD_PIXELS β€” port1 carries even pixels and port2 carries odd pixels ✨
  • DRM_LVDS_DUAL_LINK_ODD_EVEN_PIXELS β€” port1 carries odd pixels and port2 carries even pixels πŸ”₯
  • -EINVAL β€” port1 and port2 are not connected to a dual-link LVDS sink, or the sink configuration is invalid πŸ™ˆ
  • -EPIPE β€” when port1 or port2 are not connected πŸ’€

✨ SEE ALSO ✨

go check out the Kernel file ./drivers/gpu/drm/drm_of.c overview(9) for the whole lore, plus these iconic siblings πŸ’œ


πŸŽ€ tiny heads-up bestie: if you're getting -EINVAL or -EPIPE back, that's the function telling you the sink config or the connection isn't it. read the return values again, don't come for me πŸ’…

and that's the whole page, periodt 🌟 this icon lives in ./drivers/gpu/drm, and the date on this masterpiece is October 2026 β€” screenshot it, frame it, it's iconic πŸ‘‘πŸ’–

πŸ“¦ where this page comes from