| 2066 | } |
| 2067 | |
| 2068 | static int ice_parse_devargs(struct rte_eth_dev *dev) |
| 2069 | { |
| 2070 | struct ice_adapter *ad = |
| 2071 | ICE_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); |
| 2072 | struct rte_devargs *devargs = dev->device->devargs; |
| 2073 | struct rte_kvargs *kvlist; |
| 2074 | int ret; |
| 2075 | |
| 2076 | if (devargs == NULL) |
| 2077 | return 0; |
| 2078 | |
| 2079 | kvlist = rte_kvargs_parse(devargs->args, ice_valid_args); |
| 2080 | if (kvlist == NULL) { |
| 2081 | PMD_INIT_LOG(ERR, "Invalid kvargs key"); |
| 2082 | return -EINVAL; |
| 2083 | } |
| 2084 | |
| 2085 | ad->devargs.proto_xtr_dflt = PROTO_XTR_NONE; |
| 2086 | memset(ad->devargs.proto_xtr, PROTO_XTR_NONE, |
| 2087 | sizeof(ad->devargs.proto_xtr)); |
| 2088 | |
| 2089 | ret = rte_kvargs_process(kvlist, ICE_PROTO_XTR_ARG, |
| 2090 | &handle_proto_xtr_arg, &ad->devargs); |
| 2091 | if (ret) |
| 2092 | goto bail; |
| 2093 | |
| 2094 | ret = rte_kvargs_process(kvlist, ICE_FIELD_OFFS_ARG, |
| 2095 | &handle_field_offs_arg, &ad->devargs.xtr_field_offs); |
| 2096 | if (ret) |
| 2097 | goto bail; |
| 2098 | |
| 2099 | ret = rte_kvargs_process(kvlist, ICE_FIELD_NAME_ARG, |
| 2100 | &handle_field_name_arg, &ad->devargs.xtr_field_name); |
| 2101 | if (ret) |
| 2102 | goto bail; |
| 2103 | |
| 2104 | ret = rte_kvargs_process(kvlist, ICE_SAFE_MODE_SUPPORT_ARG, |
| 2105 | &parse_bool, &ad->devargs.safe_mode_support); |
| 2106 | if (ret) |
| 2107 | goto bail; |
| 2108 | |
| 2109 | ret = rte_kvargs_process(kvlist, ICE_DEFAULT_MAC_DISABLE, |
| 2110 | &parse_bool, &ad->devargs.default_mac_disable); |
| 2111 | if (ret) |
| 2112 | goto bail; |
| 2113 | |
| 2114 | ret = rte_kvargs_process(kvlist, ICE_HW_DEBUG_MASK_ARG, |
| 2115 | &parse_u64, &ad->hw.debug_mask); |
| 2116 | if (ret) |
| 2117 | goto bail; |
| 2118 | |
| 2119 | ret = rte_kvargs_process(kvlist, ICE_ONE_PPS_OUT_ARG, |
| 2120 | &handle_pps_out_arg, &ad->devargs); |
| 2121 | if (ret) |
| 2122 | goto bail; |
| 2123 | |
| 2124 | ret = rte_kvargs_process(kvlist, ICE_RX_LOW_LATENCY_ARG, |
| 2125 | &parse_bool, &ad->devargs.rx_low_latency); |
no test coverage detected