drm_of_lvds_...l_order_sink(9)
π drm_of_lvds_get_dual_link_pixel_order_sink(9) π
okay so bestie, welcome to the Kernel API Manual entry for drm_of_lvds_...l_order_sink(9) β yes that's the truncated header name, the full function is the whole mouthful below, don't @ me. this one's all about dual-link LVDS sinks and which port gets the even pixels vs the odd ones. it's giving "pixel bouncer at the club door" energy fr fr π
β¨ NAME β¨
drm_of_lvds_get_dual_link_pixel_order_sink β get LVDS dual-link sink pixel order π
like, the whole point: you hand it two port nodes of a dual-link LVDS sink and it tells you which one is on even-pixel duty and which one is on odd-pixel duty. iconic behavior honestly.
πΈ SYNOPSIS πΈ
int drm_of_lvds_get_dual_link_pixel_order_sink (struct device_node
*port1 , struct device_node *port2 );
she takes two struct device_node * args and gives you back an int. no cap.
π¦ ARGUMENTS π¦
port1β First DT port node of the Dual-link LVDS sink. this is your first contestant β¨port2β Second DT port node of the Dual-link LVDS sink. and this is contestant number two π«
π DESCRIPTION π
okay so picture this: an LVDS dual-link connection is made of two links, right? even pixels transit on one link, and odd pixels transit on the other. that's just how she's built. this function returns, for two ports of an LVDS dual-link sink, which port shall transmit the even and odd pixels, based on the requirements of the sink. the sink is the main character here, we're just listening to what it wants π
the pixel order is determined from the dual-lvds-even-pixels and dual-lvds-odd-pixels properties in the sink's DT port nodes. those two properties are literally the whole vibe check π
β οΈ if those properties are not present, or if their usage is not valid, this function returns -EINVAL. so like, no properties = no answer, bestie.
β οΈ and if either port is not connected, this function returns -EPIPE. can't route pixels down a link that isn't there, sorry π
port1 and port2 are typically DT sibling nodes, but lowkey they may have different parents when, for instance, two separate LVDS decoders receive the even and odd pixels. so don't assume they're always twinsies π«Ά
π₯ RETURN π₯
DRM_LVDS_DUAL_LINK_EVEN_ODD_PIXELSβport1receives even pixels andport2receives odd pixels βDRM_LVDS_DUAL_LINK_ODD_EVEN_PIXELSβport1receives odd pixels andport2receives even pixels π-EINVALβport1orport2areNULLπ-EPIPEβ whenport1orport2are not connected π
π SEE ALSO π
go read the Kernel file ./drivers/gpu/drm/drm_of.c overview(9) first, then these lovely neighbors:
drm_of_crtc_port_mask(9)drm_of_find_possible_crtcs(9)drm_of_component_match_add(9)drm_of_component_probe(9)drm_of_get_panel_orientation(9)drm_of_find_panel_or_bridge(9)drm_of_lvds_get_dual_link_pixel_order(9)drm_of_lvds_get_data_mapping(9)drm_of_get_data_lanes_count(9)drm_of_get_data_lanes_count_ep(9)drm_of_get_data_lanes_count_remote(9)drm_of_get_dsi_bus(9)
the whole drm_of.c friend group ate, ngl π
and that's the page!! π this cutie lives in ./drivers/gpu/drm, dated October 2026, and the manual it's chillin' in is the Kernel API Manual. periodt. go route some pixels bestie π§β¨
π¦ 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