};
                struct k3_ring_cfg fdqring_cfg = {
                        .elm_size = K3_RINGACC_RING_ELSIZE_8,
-                       .mode = K3_RINGACC_RING_MODE_MESSAGE,
                        .flags = K3_RINGACC_RING_SHARED,
                };
                struct k3_udma_glue_rx_flow_cfg rx_flow_cfg = {
                rx_flow_cfg.ring_rxfdq0_id = fdqring_id;
                rx_flow_cfg.rx_cfg.size = max_desc_num;
                rx_flow_cfg.rxfdq_cfg.size = max_desc_num;
+               rx_flow_cfg.rxfdq_cfg.mode = common->pdata.fdqring_mode;
 
                ret = k3_udma_glue_rx_flow_init(rx_chn->rx_chn,
                                                i, &rx_flow_cfg);
 static const struct am65_cpsw_pdata am65x_sr1_0 = {
        .quirks = AM65_CPSW_QUIRK_I2027_NO_TX_CSUM,
        .ale_dev_id = "am65x-cpsw2g",
+       .fdqring_mode = K3_RINGACC_RING_MODE_MESSAGE,
 };
 
 static const struct am65_cpsw_pdata j721e_pdata = {
        .quirks = 0,
        .ale_dev_id = "am65x-cpsw2g",
+       .fdqring_mode = K3_RINGACC_RING_MODE_MESSAGE,
 };
 
 static const struct of_device_id am65_cpsw_nuss_of_mtable[] = {
 
 #include <linux/netdevice.h>
 #include <linux/phy.h>
 #include <linux/platform_device.h>
+#include <linux/soc/ti/k3-ringacc.h>
 #include "am65-cpsw-qos.h"
 
 struct am65_cpts;
 
 struct am65_cpsw_pdata {
        u32     quirks;
+       enum k3_ring_mode fdqring_mode;
        const char      *ale_dev_id;
 };