STRUCT KOMEDA_PIPELINE(9)
π struct komeda_pipeline(9) β the glow-up β¨
okay so this is a page from the Kernel API Manual, section 9 (kernel internals, bestie, iykyk π§), and we're talking about struct komeda_pipeline β no cap, she's the whole main character of the display pipeline world π
πΈ NAME πΈ
struct komeda_pipeline β literally just the struct name, the manpage doesn't even give it a tagline. it's giving mysterious. π
β¨ SYNOPSIS β¨
here's the whole struct, copy-pasted with love, character for character, don't @ me:
struct komeda_pipeline {
struct drm_private_obj obj;
struct komeda_dev *mdev;
struct clk *pxlclk;
int id;
u32 avail_comps;
u32 standalone_disabled_comps;
int n_layers;
struct komeda_layer *layers[KOMEDA_PIPELINE_MAX_LAYERS];
int n_scalers;
struct komeda_scaler *scalers[KOMEDA_PIPELINE_MAX_SCALERS];
struct komeda_compiz *compiz;
struct komeda_splitter *splitter;
struct komeda_merger *merger;
struct komeda_layer *wb_layer;
struct komeda_improc *improc;
struct komeda_timing_ctrlr *ctrlr;
const struct komeda_pipeline_funcs *funcs;
struct device_node *of_node;
struct device_node *of_output_port;
struct device_node *of_output_links[2];
bool dual_link;
};
π Members π
bestie, let's go through every single one, we are NOT skipping anybody π
objβ links the pipeline as the private obj ofdrm_atomic_commit. she's got ties to the atomic commit world fr fr π¦mdevβ the parentkomeda_dev. the mothership, the OG πpxlclkβ pixel clock β°β¨idβ pipeline id. she has a name and it's a number πavail_compsβ the available components mask of the pipeline πstandalone_disabled_compsβ okay so this one's a whole paragraph: when you disable the pipeline, some components cannot be disabled together with the others β they need a separated and standalone disable. thestandalone_disabled_compsare exactly those components that need to be disabled standalone. and this concept also introduces the concept of two phase π:- phase 1: for disabling the common components.
- phase 2: for disabling the
standalong_disabled_comps(yes, that spelling is in the original, keeping it exactly as-is, no cap π).
n_layersβ the number of layer onlayersπlayersβ the pipeline layers βn_scalersβ the number of scaler onscalersπscalersβ the pipeline scalers β¨compizβ compositor πsplitterβ for split the compiz output to two half data flows β she divides, she conquers πΈmergerβ merger (the splitter's other half, the reuniting arc π«Ά)wb_layerβ writeback layer πimprocβ post image processor πΌοΈctrlrβ timing controller β³funcsβ chip private pipeline functions π§of_nodeβ pipeline dt node π³of_output_portβ pipeline output port πof_output_linksβ output connector device nodes πdual_linkβtrueifof_output_links[0]and[1]are both valid. like, both of them. valid. periodt π
π¦ Description π¦
she represents a complete display pipeline and holds all the functional components. that's it, that's the vibe β one struct to hold the entire crew π
π₯ SEE ALSO π₯
go read these next, bestie, they're all connected:
- Kernel file
./drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h struct komeda_component(9)struct komeda_component_output(9)struct komeda_component_state(9)struct komeda_pipeline_state(9)
ngl this page is short but she ate π now go read the header file, it's giving lore.
okay that's the whole page, and for the cute sign-off: this came from ./drivers/gpu/drm/arm/display/... with the version footer dated October 2026, and the page itself is struct komeda_pipeline(9) β mwah, bye 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