STRUCT KOMEDA_PIPELINE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 of drm_atomic_commit. she's got ties to the atomic commit world fr fr πŸ¦‹
  • mdev β€” the parent komeda_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. the standalone_disabled_comps are 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 on layers πŸ“
  • layers β€” the pipeline layers ⭐
  • n_scalers β€” the number of scaler on scalers πŸŽ€
  • 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 β€” true if of_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