STRUCT KOMEDA_DEV_FUNCS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct komeda_dev_funcs(9) β€” the Kernel API Manual glow-up

okay bestie so this is a page out of the Kernel API Manual, and no cap, it's all about struct komeda_dev_funcs β€” the little bundle of function pointers that a chip hands over to the core so the two of them can talk. iykyk. πŸŽ€


✨ NAME ✨

struct komeda_dev_funcs β€” (yes, the original NAME line is literally just the struct and a dash, so that's the whole vibe, we love a mysterious queen πŸ’…)


🌸 SYNOPSIS 🌸

struct komeda_dev_funcs {
    void (*init_format_table)(struct komeda_dev *mdev);
    int (*enum_resources)(struct komeda_dev *mdev);
    void (*cleanup)(struct komeda_dev *mdev);
    int (*connect_iommu)(struct komeda_dev *mdev);
    int (*disconnect_iommu)(struct komeda_dev *mdev);
    irqreturn_t (*irq_handler)(struct komeda_dev *mdev, struct
komeda_events *events);
    int (*enable_irq)(struct komeda_dev *mdev);
    int (*disable_irq)(struct komeda_dev *mdev);
    void (*on_off_vblank)(struct komeda_dev *mdev, int master_pipe, bool
on);
    void (*dump_register)(struct komeda_dev *mdev, struct seq_file
*seq);
    int (*change_opmode)(struct komeda_dev *mdev, int new_mode);
    void (*flush)(struct komeda_dev *mdev, int master_pipe, u32
active_pipes);
 };

like, look at all those function pointers bestie β€” twelve of them, each one a whole personality. πŸ¦‹


πŸ‘‘ Members πŸ‘‘

  • init_format_table β€” this one sets up komeda_dev->format_table, and listen: it has to be called before enum_resource. not optional. order matters, periodt. ⭐
  • enum_resources β€” this is the CHIP's moment to report or add its pipeline and component resources to CORE. main character energy fr.
  • cleanup β€” you call this so the chip can clean up komeda_dev->chip data. tidying up, we stan. 🧹
  • connect_iommu β€” Optional! it connects to an external iommu. πŸ™ˆ
  • disconnect_iommu β€” Optional! it disconnects from the external iommu. the breakup arc. πŸ’”
  • irq_handler β€” this is how CORE gets the HW event from the CHIP when an interrupt happened. the group chat notification, basically. πŸ”₯
  • enable_irq β€” enables the irq. slay.
  • disable_irq β€” disables the irq. also slay, but quieter.
  • on_off_vblank β€” notifies the HW to on or off the vblank. it's giving toggle. πŸŽ€
  • dump_register β€” Optional! dumps registers to a seq_file. little data scrapbook. πŸ’–
  • change_opmode β€” Notify the HW to switch to a new display operation mode. glow-up time ✨
  • flush β€” Notify the HW to flush or kickoff the update. go go go πŸ’¨

🌈 Description 🌈

so the whole thing is supplied at the chip level, and it gets returned by the chip entry function xxx_identify. that's the pipeline, bestie β€” chip makes the funcs, core receives the funcs. 🫢


πŸ’œ SEE ALSO πŸ’œ

  • Kernel file ./drivers/gpu/drm/arm/display/komeda/komeda_dev.h and struct komeda_dev(9) β€” go read the sibling page, for real. πŸ“š

reminder bestie: connect_iommu, disconnect_iommu, and dump_register are the Optional ones β€” the rest are not playing games. also do NOT forget init_format_table before enum_resource, that's the whole rule. 😭

okay that's the page!! mwah πŸ’‹ β€” this gem came from ./drivers/gpu/drm/arm/display/..., dated October 2026, and honestly? iconic. πŸ“πŸ§šπŸ’œ

πŸ“¦ where this page comes from