1*080d72f4SAlexander Lobakin /* SPDX-License-Identifier: GPL-2.0-only */ 2*080d72f4SAlexander Lobakin /* Copyright (C) 2024 Intel Corporation */ 3*080d72f4SAlexander Lobakin 4*080d72f4SAlexander Lobakin #ifndef __LIBETH_TYPES_H 5*080d72f4SAlexander Lobakin #define __LIBETH_TYPES_H 6*080d72f4SAlexander Lobakin 7*080d72f4SAlexander Lobakin #include <linux/types.h> 8*080d72f4SAlexander Lobakin 9*080d72f4SAlexander Lobakin /** 10*080d72f4SAlexander Lobakin * struct libeth_sq_napi_stats - "hot" counters to update in Tx completion loop 11*080d72f4SAlexander Lobakin * @packets: completed frames counter 12*080d72f4SAlexander Lobakin * @bytes: sum of bytes of completed frames above 13*080d72f4SAlexander Lobakin * @raw: alias to access all the fields as an array 14*080d72f4SAlexander Lobakin */ 15*080d72f4SAlexander Lobakin struct libeth_sq_napi_stats { 16*080d72f4SAlexander Lobakin union { 17*080d72f4SAlexander Lobakin struct { 18*080d72f4SAlexander Lobakin u32 packets; 19*080d72f4SAlexander Lobakin u32 bytes; 20*080d72f4SAlexander Lobakin }; 21*080d72f4SAlexander Lobakin DECLARE_FLEX_ARRAY(u32, raw); 22*080d72f4SAlexander Lobakin }; 23*080d72f4SAlexander Lobakin }; 24*080d72f4SAlexander Lobakin 25*080d72f4SAlexander Lobakin #endif /* __LIBETH_TYPES_H */ 26