STRUCT ATMEL_LCDC_DC_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so this is the Kernel API Manual page for struct atmel_lcdc_dc_ops, and it's literally the struct that describes the atmel_lcdc ops group β€” the whole point is to differentiate HLCDC and XLCDC IP code support. it's giving "which display IP are we in?" main character energy, and we love that for us πŸ’…βœ¨

✨ SYNOPSIS ✨

bestie, here's the full struct β€” every function pointer, no skips, no crumbs:

struct atmel_lcdc_dc_ops {
    void (*plane_setup_scaler)(struct atmel_hlcdc_plane *plane, struct atmel_hlcdc_plane_state *state);
    void (*lcdc_update_buffers)(struct atmel_hlcdc_plane *plane, struct atmel_hlcdc_plane_state *state, u32 sr, int i);
    void (*lcdc_atomic_disable)(struct atmel_hlcdc_plane *plane, struct atmel_hlcdc_dc *dc);
    void (*lcdc_update_general_settings)(struct atmel_hlcdc_plane *plane, struct atmel_hlcdc_plane_state *state);
    void (*lcdc_atomic_update)(struct atmel_hlcdc_plane *plane, struct atmel_hlcdc_dc *dc);
    void (*lcdc_csc_init)(struct atmel_hlcdc_plane *plane, const struct atmel_hlcdc_layer_desc *desc);
    void (*lcdc_irq_dbg)(struct atmel_hlcdc_plane *plane, const struct atmel_hlcdc_layer_desc *desc);
};

πŸ› οΈ Members πŸ› οΈ

each one is a lil job in the ops group, and here's the exact rundown:

  • plane_setup_scaler β€” updates the vertical and horizontal scaling factors ✨
  • lcdc_atomic_disable β€” disables LCDC interrupts and layers πŸ’…
  • lcdc_update_general_settings β€” updates each LCDC layer's general configuration register πŸŽ€
  • lcdc_atomic_update β€” enables the LCDC layers and interrupts πŸ”₯
  • lcdc_csc_init β€” updates the color space conversion co-efficient of the High-end overlay register 🌈
  • lcdc_irq_dbg β€” raises an alert in case of interrupt overrun in any LCDC layer 🚨
ngl, lcdc_update_buffers is right there in the struct above, but the original Members list doesn't give it a blurb β€” so no invented lore from me, bestie πŸ™ˆ

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h
  • struct atmel_hlcdc_dc(9)

go peek at the source, iykyk πŸŒ±πŸ¦‹


that's the whole page, bestie 🫢 the source path is ./drivers/gpu/drm/atmel-hlcdc, and this cutie is dated October 2026 β€” struct atmel_lcdc_dc_ops(9) signing off πŸ’–βœ¨

πŸ“¦ where this page comes from