| 218 | } |
| 219 | |
| 220 | static int |
| 221 | test_rawdev_queue_setup(void) |
| 222 | { |
| 223 | int ret; |
| 224 | struct rte_rawdev_info rdev_info = {0}; |
| 225 | struct skeleton_rawdev_conf rdev_conf_get = {0}; |
| 226 | struct skeleton_rawdev_queue qset = {0}; |
| 227 | struct skeleton_rawdev_queue qget = {0}; |
| 228 | |
| 229 | /* Get the current configuration */ |
| 230 | rdev_info.dev_private = &rdev_conf_get; |
| 231 | ret = rte_rawdev_info_get(test_dev_id, |
| 232 | (rte_rawdev_obj_t)&rdev_info, |
| 233 | sizeof(rdev_conf_get)); |
| 234 | RTE_TEST_ASSERT_SUCCESS(ret, |
| 235 | "Failed to obtain rawdev configuration (%d)", |
| 236 | ret); |
| 237 | |
| 238 | /* call to test_rawdev_configure would have set the num_queues = 1 */ |
| 239 | RTE_TEST_ASSERT_SUCCESS(!(rdev_conf_get.num_queues > 0), |
| 240 | "Invalid number of queues (%d). Expected 1", |
| 241 | rdev_conf_get.num_queues); |
| 242 | |
| 243 | /* Modify the queue depth for Queue 0 and attach it */ |
| 244 | qset.depth = 15; |
| 245 | qset.state = SKELETON_QUEUE_ATTACH; |
| 246 | ret = rte_rawdev_queue_setup(test_dev_id, 0, &qset, sizeof(qset)); |
| 247 | RTE_TEST_ASSERT_SUCCESS(ret, "Failed to setup queue (%d)", ret); |
| 248 | |
| 249 | /* Now, fetching the queue 0 should show depth as 15 */ |
| 250 | ret = rte_rawdev_queue_conf_get(test_dev_id, 0, &qget, sizeof(qget)); |
| 251 | RTE_TEST_ASSERT_SUCCESS(ret, "Failed to get queue config (%d)", ret); |
| 252 | |
| 253 | RTE_TEST_ASSERT_EQUAL(qset.depth, qget.depth, |
| 254 | "Failed to set queue depth: Need(%d), has(%d)", |
| 255 | qset.depth, qget.depth); |
| 256 | |
| 257 | return TEST_SUCCESS; |
| 258 | } |
| 259 | |
| 260 | /* After executing test_rawdev_queue_setup, queue_id=0 would have depth as 15. |
| 261 | * Releasing should set it back to default. state would set to DETACH |
nothing calls this directly
no test coverage detected