/* SPDX-License-Identifier: GPL-2.0-only */ /* Copyright 2014 Cisco Systems, Inc. All rights reserved. */ #ifndef _CQ_DESC_H_ #define _CQ_DESC_H_ /* * Completion queue descriptor types */ enum cq_desc_types { … }; /* Completion queue descriptor: 16B * * All completion queues have this basic layout. The * type_specific area is unique for each completion * queue type. */ struct cq_desc { … }; #define CQ_DESC_TYPE_BITS … #define CQ_DESC_TYPE_MASK … #define CQ_DESC_COLOR_MASK … #define CQ_DESC_COLOR_SHIFT … #define CQ_DESC_Q_NUM_BITS … #define CQ_DESC_Q_NUM_MASK … #define CQ_DESC_COMP_NDX_BITS … #define CQ_DESC_COMP_NDX_MASK … static inline void cq_desc_dec(const struct cq_desc *desc_arg, u8 *type, u8 *color, u16 *q_number, u16 *completed_index) { … } #endif /* _CQ_DESC_H_ */