dma_port_flash_update_auth(9)
π dma_port_flash_update_auth β the Kernel API Manual, but make it make sense
okay so bestie, you found the Thunderbolt DMA port flash-auth function in the Kernel API Manual and you're like "what does this even do" β don't worry, I got you. Sit down, hydrate, and let's get into it. π«Ά
β¨ NAME β¨
dma_port_flash_update_auth β literally just starts the flash authenticate cycle. that's the whole vibe. π«
πΈ SYNOPSIS πΈ
int dma_port_flash_update_auth(struct tb_dma_port *dma);
π ARGUMENTS π
dmaβ the DMA control port. that's your main character right there, she's the one holding the struct.
π¦ DESCRIPTION π¦
Okay so here's the tea: this function starts the flash update authentication cycle. π₯
If the image sitting in the non-active area was valid, the switch kicks off the upgrade process, and at the end of that whole journey the active and non-active areas get swapped. like a glow-up but for firmware, no cap. π
Now listen, because this is the important bit: the caller should call dma_port_flash_update_auth_status to get the status of this command. Why? Because if the switch in question is the root switch, the Thunderbolt host controller gets reset as well. π so yeah, you're gonna want that status check, fr fr. it's not optional energy, it's "please check your status" energy.
π RETURN π
0 on success, negative errno otherwise. bestie, if it's negative, it's not slaying, it's giving error. π
π SEE ALSO π
- Kernel file
./drivers/thunderbolt/dma_port.c struct tb_dma_port(9)dma_port_alloc(9)dma_port_free(9)dma_port_flash_read(9)dma_port_flash_write(9)dma_port_flash_update_auth_status(9)dma_port_power_cycle(9)
the whole squad is in ./drivers/thunderbolt and honestly? iconic lineup. π§β¨
so yeah, that's the page. source is ./drivers/thunderbolt, dated October 2026, and you've officially been educated by the Kernel API Manual π go forth and authenticate responsibly, mwah ππ
π¦ 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