STRUCT DRM_WRITEBACK_CONNECTOR(9)
β¨ struct drm_writeback_connector(9) β¨
okay so bestie, welcome to the Kernel API Manual π this one's all about struct drm_writeback_connector β the DRM writeback connector, and honestly? iconic behavior. we're gonna get through it together, no cap π«Ά
πΈ NAME πΈ
struct drm_writeback_connector β the DRM writeback connector. that's her. that's the whole vibe π
π SYNOPSIS π
struct drm_writeback_connector {
struct drm_connector base;
struct drm_encoder encoder;
struct drm_property_blob *pixel_formats_blob_ptr;
spinlock_t job_lock;
struct list_head job_queue;
unsigned int fence_context;
spinlock_t fence_lock;
unsigned long fence_seqno;
char timeline_name[32];
};
look at her. ten fields. main character energy fr fr π₯
π¦ Members π¦
baseβ the basedrm_connectorobject, i.e. the connector she's built on top of. the foundation, the roots, the whole reason she exists πencoderβ an internal encoder that the connector uses to satisfy the DRM framework's requirements. the users ofdrm_writeback_connectorcontrol how this encoder behaves by passing theenc_funcsparameter to thedrm_writeback_connector_initfunction. important caveat though: for users ofdrm_writeback_connector_init_with_encoder, this field is not valid, because the encoder is managed inside their own drivers πpixel_formats_blob_ptrβ DRM blob property data for the pixel formats list on writeback connectors. see alsodrm_writeback_connector_initβ¨job_lockβ protectsjob_queue. that's it. that's her job (pun intended π).job_queueβ holds a list of a connector's writeback jobs, and the last item is the most recent one. the first item may be either waiting for the hardware to begin writing, or currently being written. lowkey the most interesting field ngl πfence_contextβ the timeline context used for fence operations βfence_lockβ spinlock to protect the fences in thefence_contextπfence_seqnoβ the seqno variable used as a monotonic counter for the fences created on the connector's timeline πtimeline_nameβ the name of the connector's fence timeline π·οΈ
π little cross-reference moment: See also:drm_writeback_queue_jobanddrm_writeback_signal_completionβ go read those too, bestie, they're the ones actually doing the queueing and the signalling π§
π SEE ALSO π
- Kernel file
./include/drm/drm_writeback.h struct drm_writeback_job(9)
and that's the page, bestie π hope writeback connectors make sense now. this lil beauty lives in ./include/drm and the version on the tin is October 2026 β so go forth, queue those jobs, and slay πβ¨ππ¦
π¦ 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