Using I2C and DMA on STM32L412

I want to use an external four-channel I2C DAC for some volume control duties in a project. I want this to run continuously, starting a fresh transfer as soon as the old one is finished. Im trying to follow the implementation of the HAL command HAL_I2C_Master_Transmit_DMA - this works in my code but only produces a single conversion.

How can i set I2C / DMA to work continuously? Do i have to use a timer to schedule conversions?

I don’t think it’s strictly necessary for me to use the HAL at all, as the program is very simple its much faster for me to write to registers directly, im just using it to try and reverse engineer the code to see what registers I have to set but anything that gets this working continuously is fine