sdio_retune_crc_disable(9)
β¨ sdio_retune_crc_disable(9) β¨
okay so bestie, welcome to the sdio_retune_crc_disable(9) page β it's a Kernel API Manual moment and honestly it's giving "small function, big responsibilities" π
πΈ NAME πΈ
sdio_retune_crc_disable β temporarily disable retuning on CRC errors π
π¦ SYNOPSIS π¦
void sdio_retune_crc_disable (struct sdio_func *func );
β ARGUMENTS β
funcβ the SDIO function that's attached to the host, literally the whole personality of this call π«Ά
π DESCRIPTION π
so here's the vibe: sometimes your SDIO card is known to be in a state where it might just start producing CRC errors on the bus in response to commands β like, no cap, you know it's transitioning between power states and it's being a little messy about it π. When that's the situation, an SDIO function driver can call this function to temporarily disable the SD/MMC core behavior of triggering an automatic retuning. Temporary. That word is doing a lot of work here, don't forget it.
the way this works is a whole sequence, and it is not optional bestie:
This function should be called while the host is claimed, and the host should remain claimed until sdio_retune_crc_enable is called. Claiming and releasing at the wrong times is a bad time, fr fr.
Specifically, the expected sequence of calls is:
sdio_claim_hostsdio_retune_crc_disable- some number of calls like
sdio_writebandsdio_readb sdio_retune_crc_enablesdio_release_host
look at that choreography π claim, disable, do your little reads and writes, enable, release. Iconic. In order. Every time. π
π SEE ALSO π
Kernel file ./drivers/mmc/core/sdio_io.c β and the whole friend group:
sdio_claim_host(9)sdio_release_host(9)sdio_enable_func(9)sdio_disable_func(9)sdio_set_block_size(9)sdio_align_size(9)sdio_readb(9)sdio_writeb(9)sdio_writeb_readb(9)sdio_memcpy_fromio(9)sdio_memcpy_toio(9)sdio_readsb(9)sdio_writesb(9)sdio_readw(9)sdio_writew(9)sdio_readl(9)sdio_writel(9)sdio_f0_readb(9)sdio_f0_writeb(9)sdio_get_host_pm_caps(9)sdio_set_host_pm_flags(9)sdio_retune_crc_enable(9)sdio_retune_hold_now(9)sdio_retune_release(9)
and that's the page, bestie!! π this little gem lives in ./drivers/mmc/core and it's dated October 2026 β go forth and claim that host 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