1*4bf8ce03SAdrian Chadd /*- 2*4bf8ce03SAdrian Chadd * SPDX-License-Identifier: BSD-2-Clause 3*4bf8ce03SAdrian Chadd * 4*4bf8ce03SAdrian Chadd * Copyright (c) 2025 Adrian Chadd <adrian@FreeBSD.org> 5*4bf8ce03SAdrian Chadd * 6*4bf8ce03SAdrian Chadd * Permission to use, copy, modify, and distribute this software for any 7*4bf8ce03SAdrian Chadd * purpose with or without fee is hereby granted, provided that the above 8*4bf8ce03SAdrian Chadd * copyright notice and this permission notice appear in all copies. 9*4bf8ce03SAdrian Chadd * 10*4bf8ce03SAdrian Chadd * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11*4bf8ce03SAdrian Chadd * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12*4bf8ce03SAdrian Chadd * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13*4bf8ce03SAdrian Chadd * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14*4bf8ce03SAdrian Chadd * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15*4bf8ce03SAdrian Chadd * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16*4bf8ce03SAdrian Chadd * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17*4bf8ce03SAdrian Chadd */ 18*4bf8ce03SAdrian Chadd #ifndef __IF_RGE_DEBUG_H__ 19*4bf8ce03SAdrian Chadd #define __IF_RGE_DEBUG_H__ 20*4bf8ce03SAdrian Chadd 21*4bf8ce03SAdrian Chadd #define RGE_DEBUG_XMIT 0x00000001 22*4bf8ce03SAdrian Chadd #define RGE_DEBUG_RECV 0x00000002 23*4bf8ce03SAdrian Chadd #define RGE_DEBUG_INTR 0x00000004 24*4bf8ce03SAdrian Chadd #define RGE_DEBUG_SETUP 0x00000008 25*4bf8ce03SAdrian Chadd #define RGE_DEBUG_INIT 0x00000010 26*4bf8ce03SAdrian Chadd #define RGE_DEBUG_XMIT_DESC 0x00000020 27*4bf8ce03SAdrian Chadd #define RGE_DEBUG_RECV_DESC 0x00000040 28*4bf8ce03SAdrian Chadd 29*4bf8ce03SAdrian Chadd #define RGE_DPRINTF(sc, dbg, ...) \ 30*4bf8ce03SAdrian Chadd do { \ 31*4bf8ce03SAdrian Chadd if (((sc)->sc_debug & (dbg)) != 0) \ 32*4bf8ce03SAdrian Chadd device_printf((sc)->sc_dev, __VA_ARGS__); \ 33*4bf8ce03SAdrian Chadd } while (0) 34*4bf8ce03SAdrian Chadd 35*4bf8ce03SAdrian Chadd #define RGE_DLOG(sc, dbg, ...) \ 36*4bf8ce03SAdrian Chadd do { \ 37*4bf8ce03SAdrian Chadd if (((sc)->sc_debug & (dbg)) != 0) \ 38*4bf8ce03SAdrian Chadd device_log((sc)->sc_dev, LOG_DEBUG, \ 39*4bf8ce03SAdrian Chadd __VA_ARGS__); \ 40*4bf8ce03SAdrian Chadd } while (0) 41*4bf8ce03SAdrian Chadd 42*4bf8ce03SAdrian Chadd #define RGE_PRINT_ERROR(sc, ...) \ 43*4bf8ce03SAdrian Chadd do { \ 44*4bf8ce03SAdrian Chadd device_printf((sc)->sc_dev, "[ERR] " __VA_ARGS__); \ 45*4bf8ce03SAdrian Chadd } while (0) 46*4bf8ce03SAdrian Chadd 47*4bf8ce03SAdrian Chadd #define RGE_PRINT_INFO(sc, ...) \ 48*4bf8ce03SAdrian Chadd do { \ 49*4bf8ce03SAdrian Chadd device_printf((sc)->sc_dev, "[INFO] " __VA_ARGS__); \ 50*4bf8ce03SAdrian Chadd } while (0) 51*4bf8ce03SAdrian Chadd 52*4bf8ce03SAdrian Chadd #define RGE_PRINT_TODO(sc, ...) \ 53*4bf8ce03SAdrian Chadd do { \ 54*4bf8ce03SAdrian Chadd device_printf((sc)->sc_dev, "[TODO] " __VA_ARGS__); \ 55*4bf8ce03SAdrian Chadd } while (0) 56*4bf8ce03SAdrian Chadd 57*4bf8ce03SAdrian Chadd 58*4bf8ce03SAdrian Chadd #define RGE_PRINT_WARN(sc, ...) \ 59*4bf8ce03SAdrian Chadd do { \ 60*4bf8ce03SAdrian Chadd device_printf((sc)->sc_dev, "[WARN] " __VA_ARGS__); \ 61*4bf8ce03SAdrian Chadd } while (0) 62*4bf8ce03SAdrian Chadd 63*4bf8ce03SAdrian Chadd #endif /* __IF_RGE_DEBUG_H__ */ 64