Setup vf2pf doorbell register for ACC101 Signed-off-by: Hernan Vargas <hernan.var...@intel.com> --- drivers/baseband/acc100/acc100_vf_enum.h | 6 ++++++ drivers/baseband/acc100/rte_acc100_pmd.c | 8 ++++++++ 2 files changed, 14 insertions(+)
diff --git a/drivers/baseband/acc100/acc100_vf_enum.h b/drivers/baseband/acc100/acc100_vf_enum.h index b512af33fc..5807a9d0fd 100644 --- a/drivers/baseband/acc100/acc100_vf_enum.h +++ b/drivers/baseband/acc100/acc100_vf_enum.h @@ -70,4 +70,10 @@ enum { ACC100_VF_INT_QMGR_AQ_OVERTHRESHOLD = 9, }; +/* TIP PF2VF Comms */ +enum { + ACC100_VF2PF_STATUS_REQUEST = 0, + ACC100_VF2PF_USING_VF = 1, +}; + #endif /* ACC100_VF_ENUM_H */ diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c index e0df07bc20..548f228f23 100644 --- a/drivers/baseband/acc100/rte_acc100_pmd.c +++ b/drivers/baseband/acc100/rte_acc100_pmd.c @@ -292,6 +292,13 @@ fetch_acc100_config(struct rte_bbdev *dev) acc100_conf->q_dl_5g.aq_depth_log2); } +static inline void +acc100_vf2pf(struct acc100_device *d, unsigned int payload) +{ + if (d->device_variant == ACC101_VARIANT) + acc100_reg_write(d, HWVfHiVfToPfDbellVf, payload); +} + static void free_base_addresses(void **base_addrs, int size) { @@ -712,6 +719,7 @@ acc100_setup_queues(struct rte_bbdev *dev, uint16_t num_queues, int socket_id) /* Mark as configured properly */ d->configured = true; + acc100_vf2pf(d, ACC100_VF2PF_USING_VF); rte_bbdev_log_debug( "ACC100 (%s) configured sw_rings = %p, sw_rings_iova = %#" -- 2.37.1