STRUCT PANTHOR_GEM_OBJECT(9)
π NAME π
struct panthor_gem_object β the driver-specific GEM object, bestie. Like, this is the Panthor driver's very own GEM object struct, no cap β¨
πΈ SYNOPSIS πΈ
struct panthor_gem_object {
struct drm_gem_object base;
struct panthor_gem_backing backing;
struct panthor_gem_cpu_map cmap;
struct panthor_gem_dev_map dmap;
enum panthor_gem_reclaim_state reclaim_state;
atomic_t reclaimed_count;
struct drm_gem_object *exclusive_vm_root_gem;
u32 flags;
struct {
const char *str;
struct mutex lock;
} label;
#ifdef CONFIG_DEBUG_FS;
struct panthor_gem_debugfs debugfs;
#endif;
};
π MEMBERS π
Ok so let's go field by field, because every single one of these is carrying the whole team on its back π«Ά
baseβ inherits fromdrm_gem_object. It's giving "my parent is iconic and I'm their main character child" πbackingβ the memory backing state. The literal foundation, lowkey.cmapβ CPU mapping state.dmapβ device mapping state.reclaim_stateβ the cached reclaim state.reclaimed_countβ how many times the object has been evicted to swap π The count saturates atINT_MAXand will never wrap around to0. Periodt β it hits the ceiling and stays there, it does not loop back around, fr fr.exclusive_vm_root_gemβ the root GEM of the exclusive VM that this GEM object is attached to.
So listen: if exclusive_vm_root_gem != NULL, then any attempt to bind the GEM to a different VM will fail. That's the vibe check and it does not negotiate π
Also, all FW memory objects have this field set to the root GEM of the MCU VM. Noted, queen.
flagsβ a combination ofdrm_panthor_bo_flagsflags.labelβ the BO tagging fields π The label can be assigned within the driver itself or through a specific IOCTL.label.strβ pointer to NULL-terminated string,
π§ tiny note: the struct also has astruct mutex lock;hanging out insidelabel, and astruct panthor_gem_debugfs debugfs;that only exists#ifdef CONFIG_DEBUG_FSβ both fully in the synopsis above, so nobody's getting left out π
π¦ SEE ALSO π¦
Kernel file ./drivers/gpu/drm/panthor/panthor_gem.h, plus these absolute icons:
struct panthor_gem_debugfs(9)struct panthor_gem_backing(9)struct panthor_gem_cpu_map(9)struct panthor_gem_dev_map(9)enum panthor_gem_reclaim_state(9)struct panthor_kernel_bo(9)
π and that's the whole page, bestie π This little beauty lives over at ./drivers/gpu/drm/panthor, and this version is dated October 2026. Go forth and bind responsibly πβ¨π
π¦ 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