raw/ioat: add configure, start and stop functions
[dpdk.git] / drivers / raw / ioat / ioat_rawdev_test.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2019 Intel Corporation
3  */
4
5 #include "rte_rawdev.h"
6 #include "rte_ioat_rawdev.h"
7
8 int ioat_rawdev_test(uint16_t dev_id); /* pre-define to keep compiler happy */
9
10 int
11 ioat_rawdev_test(uint16_t dev_id)
12 {
13 #define IOAT_TEST_RINGSIZE 512
14         struct rte_ioat_rawdev_config p = { .ring_size = -1 };
15         struct rte_rawdev_info info = { .dev_private = &p };
16
17         rte_rawdev_info_get(dev_id, &info);
18         if (p.ring_size != 0) {
19                 printf("Error, initial ring size is non-zero (%d)\n",
20                                 (int)p.ring_size);
21                 return -1;
22         }
23
24         p.ring_size = IOAT_TEST_RINGSIZE;
25         if (rte_rawdev_configure(dev_id, &info) != 0) {
26                 printf("Error with rte_rawdev_configure()\n");
27                 return -1;
28         }
29         rte_rawdev_info_get(dev_id, &info);
30         if (p.ring_size != IOAT_TEST_RINGSIZE) {
31                 printf("Error, ring size is not %d (%d)\n",
32                                 IOAT_TEST_RINGSIZE, (int)p.ring_size);
33                 return -1;
34         }
35
36         if (rte_rawdev_start(dev_id) != 0) {
37                 printf("Error with rte_rawdev_start()\n");
38                 return -1;
39         }
40         return 0;
41 }