I want to make a cirular rx uart buffer with DMA, receive 4 Bytes continuous without interation of software(After receiving 4 bytes DMA should start a rx_message address)

Here is my code, after receiving 4 bytes, no reload of dst address, what is wrong here ?

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >
static const XMC_DMA_CH_CONFIG_t dma_rx_ch_config = {

.src_addr = (uint32_t)&XMC_UART0_CH1->RBUF,
.dst_addr = (uint32_t)rx_message,
.src_transfer_width = XMC_DMA_CH_TRANSFER_WIDTH_8,
.dst_transfer_width = XMC_DMA_CH_TRANSFER_WIDTH_8,
.src_address_count_mode = XMC_DMA_CH_ADDRESS_COUNT_MODE_NO_CHANGE,
.dst_address_count_mode = XMC_DMA_CH_ADDRESS_COUNT_MODE_INCREMENT,
.src_burst_length = XMC_DMA_CH_BURST_LENGTH_1,
.dst_burst_length = XMC_DMA_CH_BURST_LENGTH_1,
.transfer_flow = XMC_DMA_CH_TRANSFER_FLOW_P2M_DMA,
.transfer_type = XMC_DMA_CH_TRANSFER_TYPE_MULTI_BLOCK_SRCADR_CONTIG UOUS_DSTADR_RELOAD,
.src_handshaking = XMC_DMA_CH_SRC_HANDSHAKING_HARDWARE,
.src_peripheral_request = DMA0_PERIPHERAL_REQUEST_USIC0_SR1_2,
.enable_interrupt = 0,
.block_size = UART_BUFFER_LENGTH,
};

oid UARTInit(void) {


XMC_DMA_Init(XMC_DMA0);
XMC_DMA_CH_Init(XMC_DMA0, 3, &dma_rx_ch_config);

XMC_UART_CH_Init(XMC_UART0_CH1, &uart_config);

XMC_GPIO_SetMode(UART_RX, XMC_GPIO_MODE_INPUT_TRISTATE);
XMC_UART_CH_SetInputSource(XMC_UART0_CH1, XMC_UART_CH_INPUT_RXD ,USIC0_C1_DX0_P2_2);

XMC_GPIO_SetMode(UART_TX, XMC_GPIO_MODE_OUTPUT_PUSH_PULL_ALT2);

XMC_UART_CH_SelectInterruptNodePointer(XMC_UART0_C H1, XMC_UART_CH_INTERRUPT_NODE_POINTER_RECEIVE , 1);
XMC_UART_CH_EnableEvent(XMC_UART0_CH1, XMC_UART_CH_EVENT_STANDARD_RECEIVE);


XMC_UART_CH_Start(XMC_UART0_CH1);

XMC_UART_CH_TriggerServiceRequest(XMC_UART0_CH1, 2); // Receive
XMC_DMA_CH_Enable(XMC_DMA0, 3);
}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >