Thanks for the test.
The temperature isn't the only factor for 21 MB/s speed drops, some SD configurations perform better at high temps than others.
See.
What you want is to find a better SD configuration than the one I found. I suggested to try some different GPIO values:
Tweaking GPIO registers in sd_uhs.c might help or might have no effect.
Current sd_uhs.c is using:
MEM(0xC022C634) = 0x599; <-- GPIO1
MEM(0xC022C638) = 0x555; <-- GPIO2
MEM(0xC022C63C) = 0x555;
MEM(0xC022C640) = 0x555;
MEM(0xC022C644) = 0x555;
MEM(0xC022C648) = 0x555;
Some info I wrote about them can be found
here (under "
New GPIO registers") , what you want for 100D:
for my 100D:
0x599 for GPIO1, 0x555 GPIO2 worked, and it seems the best for 240 MHz preset.
0x588 for GPIO1, 0x555 GPIO2 works too on 100D
0x599 for GPIO1, 0x566 GPIO2 works too on 100D
0x577 for GPIO1, 0x544 GPIO2 (700D values) don't work very well.
Without tweaking these registers, 240 MHz never been stable on 100D/EOS M, so they are required and they are a part of SD puzzle.
Try the other suggested combos, or try some new combos based on
these info. if none of them worked, sorry it's hard to know exactly how to make it work. I might provide some tests later.
Okay, here are some tests, try these values (you can change them from SD Overclock submenu, every time after you change them
restart the camera):
1- GPIO1: 0x588, GPIO2: 0x555
2- GPIO1: 0x599, GPIO2: 0x566
3- GPIO1: 0x577, GPIO2: 0x544
4- GPIO1: 0x555, GPIO2: 0x555
5- GPIO1: 0x566, GPIO2: 0x555
This
sd_uhs.mo, does any of above combos work better? try at 192 MHz first, if it give the same results, more likely there is no need to do the tests at 240 MHz.