Enabled data caching for TVM models with MRVL only layers.

Signed-off-by: Srikanth Yalavarthi <syalavar...@marvell.com>
---
 drivers/ml/cnxk/cn10k_ml_ops.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/ml/cnxk/cn10k_ml_ops.c b/drivers/ml/cnxk/cn10k_ml_ops.c
index 53700387335..834e55e88e9 100644
--- a/drivers/ml/cnxk/cn10k_ml_ops.c
+++ b/drivers/ml/cnxk/cn10k_ml_ops.c
@@ -996,8 +996,13 @@ cn10k_ml_layer_start(void *device, uint16_t model_id, 
const char *layer_name)
        if (ret < 0) {
                cn10k_ml_layer_stop(device, model_id, layer_name);
        } else {
-               if (cn10k_mldev->cache_model_data && model->type == 
ML_CNXK_MODEL_TYPE_GLOW)
-                       ret = cn10k_ml_cache_model_data(cnxk_mldev, layer);
+               if (cn10k_mldev->cache_model_data) {
+                       if ((model->type == ML_CNXK_MODEL_TYPE_GLOW &&
+                            model->subtype == ML_CNXK_MODEL_SUBTYPE_GLOW_MRVL) 
||
+                           (model->type == ML_CNXK_MODEL_TYPE_TVM &&
+                            model->subtype == ML_CNXK_MODEL_SUBTYPE_TVM_MRVL))
+                               ret = cn10k_ml_cache_model_data(cnxk_mldev, 
layer);
+               }
        }
 
        return ret;
-- 
2.42.0

Reply via email to