I believe you're misunderstanding the way memory-mapped I/O works.
When a device uses memory-mapped I/O, it is assigned a physical address range. The northbridge and/or southbridge as appropriate is configured so that when the CPU performs memory operations within that address range, the operations are directed to the device rather than to RAM. There is no copy of the same address space in RAM, and DMA is not involved.
So that the device driver can access the memory-mapped I/O, the operating system will map a virtual address range to the relevant physical address range. Typically, for performance reasons, this will be a global mapping (i.e., the same mapping in every process) with access restricted to kernel mode. Since this virtual address space is always mapped, no page faults occur.
If the device uses DMA rather than memory-mapped I/O, things are a bit different. The device driver will typically have reserved a block of non-pageable memory for the operation, so again, no page faults are involved. This memory does not even have to be mapped into the virtual address space in order to perform a DMA operation, because the DMA controller works with physical rather than virtual addresses. (Of course there will have to be a virtual address space mapping at some stage so that the memory block can be read/written by the device driver.)