From 2f838e35129c3eb85d01782c63001758061d2fe3 Mon Sep 17 00:00:00 2001 From: Robert Jordens Date: Mon, 21 Nov 2016 12:15:26 +0100 Subject: [PATCH] rtio: fix i_data/o_data csr endianess --- artiq/runtime/rtio.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/artiq/runtime/rtio.c b/artiq/runtime/rtio.c index 9dd47212e..a259ab0c8 100644 --- a/artiq/runtime/rtio.c +++ b/artiq/runtime/rtio.c @@ -58,7 +58,7 @@ void rtio_output(long long int timestamp, int channel, unsigned int addr, #ifdef CSR_RTIO_O_ADDRESS_ADDR rtio_o_address_write(addr); #endif - MMPTR(CSR_RTIO_O_DATA_ADDR) = data; + MMPTR(CSR_RTIO_O_DATA_ADDR + CSR_RTIO_O_DATA_SIZE - 1) = data; rtio_o_we_write(1); status = rtio_o_status_read(); if(status) @@ -70,7 +70,8 @@ void rtio_output_list(long long int timestamp, int channel, unsigned int addr, struct artiq_list data) { int status, i; - volatile unsigned int *p = &MMPTR(CSR_RTIO_O_DATA_ADDR); + volatile unsigned int *p = &MMPTR( + CSR_RTIO_O_DATA_ADDR + CSR_RTIO_O_DATA_SIZE - 1); rtio_chan_sel_write(channel); rtio_o_timestamp_write(timestamp); @@ -78,7 +79,7 @@ void rtio_output_list(long long int timestamp, int channel, rtio_o_address_write(addr); #endif for(i=0;i