STRUCT ATMEL_HLCDC_PLANE_STATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct atmel_hlcdc_plane_state(9) β€” Kernel API Manual, but make it cute πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ we're talking about the one and only struct atmel_hlcdc_plane_state β€” literally the Atmel HLCDC Plane state structure, no cap πŸŽ€


🌸 NAME 🌸

struct atmel_hlcdc_plane_state β€” the Atmel HLCDC Plane state structure. that's it, that's the vibe πŸ’–


✨ SYNOPSIS ✨

here's the whole glow-up, every field exactly as it lives, don't touch a single character:

struct atmel_hlcdc_plane_state {
    struct drm_plane_state base;
    int crtc_x;
    int crtc_y;
    unsigned int crtc_w;
    unsigned int crtc_h;
    uint32_t src_x;
    uint32_t src_y;
    uint32_t src_w;
    uint32_t src_h;
    int disc_x;
    int disc_y;
    int disc_w;
    int disc_h;
    int ahb_id;
    int bpp[ATMEL_HLCDC_LAYER_MAX_PLANES];
    unsigned int offsets[ATMEL_HLCDC_LAYER_MAX_PLANES];
    int xstride[ATMEL_HLCDC_LAYER_MAX_PLANES];
    int pstride[ATMEL_HLCDC_LAYER_MAX_PLANES];
    int nplanes;
    struct atmel_hlcdc_dma_channel_dscr *dscrs[ATMEL_HLCDC_LAYER_MAX_PLANES];
 };

πŸ¦‹ Members πŸ¦‹

time for the member-by-member vibe check, and yes we're doing all of them, iykyk πŸ’…

  • base β€” the DRM plane state, the main character it's built on top of πŸ‘‘
  • crtc_x β€” x position of the plane relative to the CRTC, lowkey where it sits horizontally
  • crtc_y β€” y position of the plane relative to the CRTC, aka the vertical situation
  • crtc_w β€” visible width of the plane, the width u actually see 🌸
  • crtc_h β€” visible height of the plane, tall queen energy
  • src_x β€” x buffer position, where we're reading from bb
  • src_y β€” y buffer position, same but vertical ✨
  • src_w β€” buffer width, the whole width of the source
  • src_h β€” buffer height, the whole height of the source
  • disc_x β€” x discard position, literally throwing x away πŸ’€
  • disc_y β€” y discard position, bye bye y
  • disc_w β€” discard width, how much width we're discarding
  • disc_h β€” discard height, how much height we're discarding
  • ahb_id β€” AHB identification number, its little ID card πŸŽ€
  • bpp β€” bytes per pixel, deduced from pixel_format (it's giving detective work πŸ”)
  • offsets β€” offsets to apply to the GEM buffers, gotta shift 'em into place
  • xstride β€” value to add to the pixel pointer between each line, horizontal stride bestie
  • pstride β€” value to add to the pixel pointer between each pixel, pixel-to-pixel strut πŸ’…
  • nplanes β€” number of planes, deduced from pixel_format (again with the deduction, obsessed)
  • dscrs β€” DMA descriptors, the whole struct atmel_hlcdc_dma_channel_dscr * situation, slay

🫢 SEE ALSO 🫢

go read the kernel file, it's literally right here:

./drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c


and that's the whole page, bestie 🌈 no notes, ate and left no crumbs πŸ“

fr fr this came out of ./drivers/gpu/drm/atmel-hlcdc in October 2026, and the page itself is struct atmel..._plane_state(9) β€” periodt πŸ’œπŸ§š
πŸ“¦ where this page comes from