komeda_comp...and_set_user(9)
π komeda_component_get_state_and_set_user β NAME β¨
okay so this is <pink>komeda_component_get_state_and_set_user</pink> from the Kernel API Manual, and bestie it does exactly what it says on the tin β it grabs a component state and sets a user on it. iconic behavior honestly.
πΈ SYNOPSIS πΈ
struct komeda_component_state * komeda_component_get_state_and_set_user
(struct komeda_component *c , struct drm_atomic_commit *state , void
*user , struct drm_crtc *crtc );
π ARGUMENTS π
cβ the component we're getting the state for and setting the user on. the main character of this whole operation, fr fr.stateβ the global atomic state. big picture vibes.userβ the direct user, a.k.a. the binding user. your everyday bestie.crtcβ the CRTC user. the big boss :) π
π¦ DESCRIPTION π¦
so this function accepts two users, and you gotta know both of them:
- The direct user π β can be
plane/crtc/wb_connectordepending on the component. it's giving "it depends" energy. - The big boss (CRTC) π β the CRTC is the big boss (the final user), because literally all component resources eventually get assigned to the CRTC. like, the layer will be binding to
kms_plane, but the kms plane will be binding to a CRTC eventually. it always comes back to the CRTC. periodt.
the big boss (CRTC) is also there for pipeline assignment, since komeda_component isn't independent β it can't just be assigned to a CRTC freely. nope. it belongs to a specific pipeline. only the pipeline itself can be shared between CRTCs, and the pipeline as a whole (including all the internal components) gets assigned to a specific CRTC. no cap.
so when you set a user to komeda_component, you need to first check the status of component->pipeline to see if the pipeline is even available on this specific CRTC. π
β οΈ okay this is the important part, bestie: if the pipeline is busy (assigned to another CRTC), then even if the required component is totally free, the component still cannot be assigned to the direct user. like, it's just not happening. the vibe check failed. π
β SEE ALSO β
Kernel file ./drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c β go read it, iykyk π§
and that's the whole page, bestie!! π«Ά this lil drop came from ./drivers/gpu/drm/arm/display/..., dated October 2026, and it's filed under komeda_comp...and_set_user(9). slay, go forth and set those users π
β¨
π¦ 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