@@ -527,6 +527,7 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
527527
528528 event_dev -> dma_enqueue = cn10k_dma_adapter_enqueue ;
529529 event_dev -> profile_switch = cn10k_sso_hws_profile_switch ;
530+ event_dev -> preschedule_modify = cn10k_sso_hws_preschedule_modify ;
530531#else
531532 RTE_SET_USED (event_dev );
532533#endif
@@ -541,6 +542,9 @@ cn10k_sso_info_get(struct rte_eventdev *event_dev,
541542 dev_info -> driver_name = RTE_STR (EVENTDEV_NAME_CN10K_PMD );
542543 cnxk_sso_info_get (dev , dev_info );
543544 dev_info -> max_event_port_enqueue_depth = UINT32_MAX ;
545+ dev_info -> event_dev_cap |= RTE_EVENT_DEV_CAP_EVENT_PRESCHEDULE |
546+ RTE_EVENT_DEV_CAP_EVENT_PRESCHEDULE_ADAPTIVE |
547+ RTE_EVENT_DEV_CAP_PER_PORT_PRESCHEDULE ;
544548}
545549
546550static int
@@ -566,6 +570,19 @@ cn10k_sso_dev_configure(const struct rte_eventdev *event_dev)
566570 if (rc < 0 )
567571 goto cnxk_rsrc_fini ;
568572
573+ switch (event_dev -> data -> dev_conf .preschedule_type ) {
574+ default :
575+ case RTE_EVENT_PRESCHEDULE_NONE :
576+ dev -> gw_mode = CN10K_GW_MODE_NONE ;
577+ break ;
578+ case RTE_EVENT_PRESCHEDULE :
579+ dev -> gw_mode = CN10K_GW_MODE_PREF ;
580+ break ;
581+ case RTE_EVENT_PRESCHEDULE_ADAPTIVE :
582+ dev -> gw_mode = CN10K_GW_MODE_PREF_WFE ;
583+ break ;
584+ }
585+
569586 rc = cnxk_setup_event_ports (event_dev , cn10k_sso_init_hws_mem ,
570587 cn10k_sso_hws_setup );
571588 if (rc < 0 )
@@ -1199,7 +1216,6 @@ cn10k_sso_init(struct rte_eventdev *event_dev)
11991216 return 0 ;
12001217 }
12011218
1202- dev -> gw_mode = CN10K_GW_MODE_PREF_WFE ;
12031219 rc = cnxk_sso_init (event_dev );
12041220 if (rc < 0 )
12051221 return rc ;
@@ -1256,7 +1272,6 @@ RTE_PMD_REGISTER_KMOD_DEP(event_cn10k, "vfio-pci");
12561272RTE_PMD_REGISTER_PARAM_STRING (event_cn10k , CNXK_SSO_XAE_CNT "=<int>"
12571273 CNXK_SSO_GGRP_QOS "=<string>"
12581274 CNXK_SSO_FORCE_BP "=1"
1259- CN10K_SSO_GW_MODE "=<int>"
12601275 CN10K_SSO_STASH "=<string>"
12611276 CNXK_TIM_DISABLE_NPA "=1"
12621277 CNXK_TIM_CHNK_SLOTS "=<int>"
0 commit comments