STRUCT DRM_PAGEMAP_ADDR(9)
π struct drm_pagemap_addr(9) π
okay so bestie, welcome to the Kernel API Manual β this is the page for struct drm_pagemap_addr, and honestly it's giving "small struct, big responsibilities" energy β¨
πΈ NAME πΈ
struct drm_pagemap_addr β Address representation. That's it. That's the whole vibe. It's a struct that represents an address. Simple queen behavior π
β¨ SYNOPSIS β¨
struct drm_pagemap_addr {
dma_addr_t addr;
u64 proto : 54;
u64 order : 8;
u64 dir : 2;
};
look at those bitfields. 54 + 8 + 2 π₯ do the math, it's literally 64. the packing is real.
π Members π
addrβ this is the dma address, or a driver-defined address for driver private interconnects. so yeah, it's either the standard thing or your driver's own little custom situation. iykyk πprotoβ the interconnect protocol. which protocol? that one. the interconnect one π¦orderβ the page order of the device mapping, and before you ask, the size isPAGE_SIZE << order. yes, shift left byorder. no cap, that's the formula πdirβ the DMA direction. that's it. it's the direction. of DMA. π§
π Note π
There is room for improvement here. We should be able to pack into 64 bits.
ngl, the manpage itself is out here being self-aware π it's literally saying "we could do better, we should be able to pack into 64 bits." icon energy: being honest about your own flaws. we love growth π«Ά
π¦ SEE ALSO π¦
Kernel file ./include/drm/drm_pagemap.h enum
drm_interconnect_protocol(9)drm_pagemap_addr_encode(9)struct drm_pagemap_ops(9)struct drm_pagemap(9)struct drm_pagemap_devmem_ops(9)drm_pagemap_get(9)drm_pagemap_get_unless_zero(9)struct drm_pagemap_devmem(9)struct drm_pagemap_migrate_details(9)drm_pagemap_page_zone_device_data(9)
like, go read all of these. the whole pagemap cinematic universe is right there π
aaaand that's the page, bestie π sourced from ./include/drm, dated October 2026 β mwah, slay, periodt ππΈ
π¦ 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