This is just popping out of nowhere on lkml, but yes ARM LPAE uses a 64-bit dma_addr_t, as a 64-bit phys_addr_t implies that. Same for x86-32 PAE and similar cases on MIPS and probably a few other architectures.
But what is the actual problem with a 32-bit virtual and 64-bit pysical/dma address? That is a pretty common setup and absolutely needs to be deal with in drivers and inrastructure.