Cyclone V: Address Mapping Between FPGA2SDRAM and Cortex A9/MPU

Hello,
I have a Platform Designer Qsys that appears as follows.

I am playing around in the u-boot console. I am trying to write to SDRAM via the FPGA path then read it back via the Cortex’s direct path to the SDRAM. This involves programming an offset into the address extender in the FPGA then writing to some address within the window. Then after, that ideally you would read the corresponding SDRAM address with the Cortex A9. This does not appear to working. Addressing from the point of view is different from the perspective of the FPGA2SDRAM interface and the Cortex A9 address space. I am trying to understand the difference in address mapping between the two.

=> mw FF220000 00000000
=> mw FF220004 20000000
=> mw FF210000 deadbeef
 => md FF210000 1
   ff210000: deadbeef                               ....
=> md 20000000 1
   20000000: ee6fa4f9                               ..o.

I tried writing a driver that uses dma_alloc_coherent and the call seems to fail to allocate cache coherent memory.

typedef struct tx_dma_buf {
    volatile phys_addr_t phys_addr;
    volatile unsigned int *virt_addr;
    volatile unsigned int *dma_regs;
    dma_addr_t *dma_handle;
    struct device *dev;
} buf_t;

buf_t *buf;

static int dmabuffer_probe(struct platform_device *pdev)
{

	printk(KERN_INFO "dmabuffer module initialized\n");

        buf = (buf_t*)kmalloc(sizeof(buf_t*), GFP_KERNEL);
        buf->dev = &pdev->dev;
        buf->virt_addr = dma_alloc_coherent(buf->dev, BUFFER_SIZE, buf->dma_handle, GFP_KERNEL);

	return 0;
}

root@cyclone5:~# insmod dmabuffer.ko
[ 43.653021] dmabuffer: loading out-of-tree module taints kernel.
[ 43.659901] dmabuffer module initialized
[ 43.663966] 8<— cut here —
[ 43.667019] Unable to handle kernel paging request at virtual address 53114092
[ 43.674224] pgd = d4135ddc
[ 43.676920] [53114092] *pgd=00000000
[ 43.680490] Internal error: Oops: 805 [#1] SMP ARM
[ 43.685262] Modules linked in: dmabuffer(O+)
[ 43.689526] CPU: 1 PID: 340 Comm: insmod Tainted: G O 5.4.44-05622-gcda983e75c17 #3
[ 43.698442] Hardware name: Altera SOCFPGA

Also have the question up on StackOverflow