/* * Copyright (c) Company 2018-2019. All rights reserved. * Description: util.h */ #ifndef __SOCT_GMAC_UTIL_H__ #define __SOCT_GMAC_UTIL_H__ #define GMAC_TRACE_LEVEL 10 #define gmac_trace(level, msg...) do { \ if ((level) >= GMAC_TRACE_LEVEL) { \ pr_info("gmac_trace:%s:%d: ", __FILE__, __LINE__); \ printk(msg); \ printk("\n"); \ } \ } while (0) #define gmac_error(args...) do { \ pr_err("gmac:%s:%d: ", __FILE__, __LINE__); \ printk(args); \ printk("\n"); \ } while (0) #define gmac_assert(cond) do { \ if (!(cond)) \ pr_alert("Assert:gmac:%s:%d\n", \ __FILE__, \ __LINE__); \ } while (0) #define gmac_set_bits(var, v, bits_desc) do { \ unsigned int _bits_desc = bits_desc; \ unsigned int _shift = (_bits_desc) >> 16; \ unsigned int _mask = ((_bits_desc & 0x3F) < 32) ? \ (((1 << (_bits_desc & 0x3F)) - 1) << (_shift)) \ : 0xffffffff; \ var = ((var) & (~_mask)) | (((v) << (_shift)) & _mask); \ } while (0) #define gmac_get_bits(var, bits_desc) do { \ unsigned int _bits_desc = bits_desc; \ unsigned int _shift = (_bits_desc) >> 16; \ unsigned int _mask = ((_bits_desc & 0x3F) < 32) ? \ (((1 << (_bits_desc & 0x3F)) - 1) << (_shift)) \ : 0xffffffff; \ ((var) & _mask) >> (_shift); \ } while (0) #define mk_bits(shift, nbits) ((((shift) & (0x1F)) << (16)) | ((nbits) & (0x3F))) #endif