STRUCT S3C_FB_VARIANT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct s3c_fb_variant(9) 🌸

okay bestie, so this is a page from the Kernel API Manual, and we're talking about struct s3c_fb_variant β€” literally the vibe sheet for an fb variant. it's giving "here's everything you need to know about this particular screen controller situation" πŸ’…


✨ NAME ✨

struct s3c_fb_variant β€” fb variant information πŸŽ€


✨ SYNOPSIS ✨

struct s3c_fb_variant {
    unsigned int    is_2443:1;
    unsigned short  nr_windows;
    unsigned int    vidtcon;
    unsigned short  wincon;
    unsigned short  winmap;
    unsigned short  keycon;
    unsigned short  buf_start;
    unsigned short  buf_end;
    unsigned short  buf_size;
    unsigned short  osd;
    unsigned short  osd_stride;
    unsigned short  palette[S3C_FB_MAX_WIN];
    unsigned int    has_prtcon:1;
    unsigned int    has_shadowcon:1;
    unsigned int    has_blendcon:1;
    unsigned int    has_clksel:1;
    unsigned int    has_fixvclk:1;
};

no cap, that's the whole shape of it 🫢


✨ Members ✨

okay so each of these is a member, and honestly they're all little personality traits of the variant:

  • is_2443 β€” set if this is S3C2443/S3C2416 style hardware πŸ¦‹
  • nr_windows β€” the number of windows, bestie. how many we got.
  • vidtcon β€” the base for the VIDTCONx registers
  • wincon β€” the base for the WINxCON registers.
  • winmap β€” the base for the WINxMAP registers.
  • keycon β€” the abse for the WxKEYCON registers. (yes, "abse" β€” that's the original's typo era, we're keeping the info: it's the base πŸ’€)
  • buf_start β€” offset of buffer start registers.
  • buf_end β€” offset of buffer end registers.
  • buf_size β€” offset of buffer size registers.
  • osd β€” the base for the OSD registers.
  • osd_stride β€” stride of osd
  • palette β€” address of palette memory, or 0 if none. 🎨 (iconic β€” zero means nope, no palette)
  • has_prtcon β€” set if has PRTCON register.
  • has_shadowcon β€” set if has SHADOWCON register.
  • has_blendcon β€” set if has BLENDCON register.
  • has_clksel β€” set if VIDCON0 register has CLKSEL bit.
  • has_fixvclk β€” set if VIDCON1 register has FIXVCLK bits.

✨ SEE ALSO ✨

Kernel file ./drivers/video/fbdev/s3c-fb.c 🌈 β€” and literally the whole friend group:


bestie reminder: palette being 0 means there's genuinely no palette memory, it's not a "we forgot to fill it in" situation. 🫢

that's the whole page, mwah πŸ’– this came from ./drivers/video/fbdev, dated October 2026, and it's still out here living as struct s3c_fb_variant(9) βœ¨πŸ‘‘

πŸ“¦ where this page comes from