amdgpu_dm_pl...7_tile_split(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’… amdgpu_dm_plane_calc_gfx7_tile_split(9)

okay so bestie, you found it โ€” this is the kernel API manual page for amdgpu_dm_plane_calc_gfx7_tile_split(9), straight out of section 9 of the Kernel API Manual. it's giving very niche, very AMD display driver, and honestly? kind of iconic. let's get into it ๐ŸŽ€


โœจ NAME โœจ

amdgpu_dm_plane_calc_gfx7_tile_split โ€” Calculate tile split on GFX7-8 ๐Ÿงฎ


๐ŸŒธ SYNOPSIS ๐ŸŒธ

u32 amdgpu_dm_plane_calc_gfx7_tile_split (const struct amdgpu_device
*adev , const u32 bpp , const u32 gb_tile_mode );

literally that's the whole signature, no cap. it returns a u32, so you already know a number is coming back at you. ๐Ÿ’ซ


๐Ÿฆ‹ ARGUMENTS ๐Ÿฆ‹

  • adev โ€” amdgpu_device pointer. the main character of the whole amdgpu universe, fr.
  • bpp โ€” bits per pixel in the image ๐Ÿ–ผ๏ธ
  • gb_tile_mode โ€” the GB_TILE_MODEn register value for the current tiling mode. yes, the actual register value, not a vibe. ๐Ÿ‘‘

๐Ÿ’œ DESCRIPTION ๐Ÿ’œ

So what does it actually do? it calculates the real, actual tile split value on GFX7-8 โ€” and it does that assuming 2D_TILED_THIN1 array mode with a non-depth micro tile mode. very specific, very demure. โœจ

On GFX7-8, SAMPLE_SPLIT holds a factor, and you calculate the actual tile split bytes from that factor. meanwhile the TILE_SPLIT field is only used for the depth micro tile mode โ€” so don't go using it for anything else, bestie, that's not what it's for. ๐Ÿ™ˆ

if you want the receipts, check CiLib::HwlComputeMacroModeIndex in addrlib. that's where the logic lives, iykyk. ๐Ÿ“š

๐Ÿ”ฅ SEE ALSO ๐Ÿ”ฅ


and that's the page!! ๐Ÿซถ source is ./drivers/gpu/drm/amd/display/..., dated October 2026, and it's amdgpu_dm_pl...7_tile_split(9) all the way down. slay, go calc some tile splits ๐Ÿ’…๐Ÿ’–

๐Ÿ“ฆ where this page comes from