MCPcopy Create free account
hub / github.com/F-Stack/f-stack / rte_event_queue_attr_get

Function rte_event_queue_attr_get

dpdk/lib/eventdev/rte_eventdev.c:889–946  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

887}
888
889int
890rte_event_queue_attr_get(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id,
891 uint32_t *attr_value)
892{
893 struct rte_event_queue_conf *conf;
894 struct rte_eventdev *dev;
895
896 if (!attr_value)
897 return -EINVAL;
898
899 RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);
900 dev = &rte_eventdevs[dev_id];
901 if (!is_valid_queue(dev, queue_id)) {
902 RTE_EDEV_LOG_ERR("Invalid queue_id=%" PRIu8, queue_id);
903 return -EINVAL;
904 }
905
906 conf = &dev->data->queues_cfg[queue_id];
907
908 switch (attr_id) {
909 case RTE_EVENT_QUEUE_ATTR_PRIORITY:
910 *attr_value = RTE_EVENT_DEV_PRIORITY_NORMAL;
911 if (dev->data->event_dev_cap & RTE_EVENT_DEV_CAP_QUEUE_QOS)
912 *attr_value = conf->priority;
913 break;
914 case RTE_EVENT_QUEUE_ATTR_NB_ATOMIC_FLOWS:
915 *attr_value = conf->nb_atomic_flows;
916 break;
917 case RTE_EVENT_QUEUE_ATTR_NB_ATOMIC_ORDER_SEQUENCES:
918 *attr_value = conf->nb_atomic_order_sequences;
919 break;
920 case RTE_EVENT_QUEUE_ATTR_EVENT_QUEUE_CFG:
921 *attr_value = conf->event_queue_cfg;
922 break;
923 case RTE_EVENT_QUEUE_ATTR_SCHEDULE_TYPE:
924 if (conf->event_queue_cfg & RTE_EVENT_QUEUE_CFG_ALL_TYPES)
925 return -EOVERFLOW;
926
927 *attr_value = conf->schedule_type;
928 break;
929 case RTE_EVENT_QUEUE_ATTR_WEIGHT:
930 *attr_value = RTE_EVENT_QUEUE_WEIGHT_LOWEST;
931 if (dev->data->event_dev_cap & RTE_EVENT_DEV_CAP_QUEUE_QOS)
932 *attr_value = conf->weight;
933 break;
934 case RTE_EVENT_QUEUE_ATTR_AFFINITY:
935 *attr_value = RTE_EVENT_QUEUE_AFFINITY_LOWEST;
936 if (dev->data->event_dev_cap & RTE_EVENT_DEV_CAP_QUEUE_QOS)
937 *attr_value = conf->affinity;
938 break;
939 default:
940 return -EINVAL;
941 };
942
943 rte_eventdev_trace_queue_attr_get(dev_id, dev, queue_id, attr_id, *attr_value);
944
945 return 0;
946}

Calls 1

is_valid_queueFunction · 0.85