The MMIO itself is probably so slow because it's not implemented at some level and the level before it is timing out.