SDMMC on STM32H7

I’m porting my SDIO driver for SD cards to the H7. After some trouble with the initalization, it is working roughly. The D-cache handling is not proper yet and I found that fread() makes things pretty slow. When I read some large testfile in 16 kB chunks, I get a speed of about 2,5 MB/s, but with the File object it is more than 16 MB/s. fread() copies the blocks, that makes it slower and hard to handle with alignment that is neccessary for the DMA with cache. Is it possible to influence the buffering of fread?