X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fcxgbe%2Fcxgbe_compat.h;h=83ae1c2e5a834c18c63a8db798ca063af764657f;hb=be797cbf4582f3c474f208aeb3d1baa4001a6156;hp=779bcf165cdac1e13a1e11d14640c015f8ec892c;hpb=2aa5c722c64af2e810c10592edce339b0378f86f;p=dpdk.git diff --git a/drivers/net/cxgbe/cxgbe_compat.h b/drivers/net/cxgbe/cxgbe_compat.h index 779bcf165c..83ae1c2e5a 100644 --- a/drivers/net/cxgbe/cxgbe_compat.h +++ b/drivers/net/cxgbe/cxgbe_compat.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -18,54 +19,33 @@ #include #include #include +#include -#define dev_printf(level, fmt, args...) \ - RTE_LOG(level, PMD, "rte_cxgbe_pmd: " fmt, ## args) +extern int cxgbe_logtype; +extern int cxgbe_mbox_logtype; -#define dev_err(x, args...) dev_printf(ERR, args) -#define dev_info(x, args...) dev_printf(INFO, args) -#define dev_warn(x, args...) dev_printf(WARNING, args) +#define dev_printf(level, logtype, fmt, ...) \ + rte_log(RTE_LOG_ ## level, logtype, \ + "rte_cxgbe_pmd: " fmt, ##__VA_ARGS__) -#ifdef RTE_LIBRTE_CXGBE_DEBUG -#define dev_debug(x, args...) dev_printf(DEBUG, args) -#else -#define dev_debug(x, args...) do { } while (0) -#endif +#define dev_err(x, fmt, ...) \ + dev_printf(ERR, cxgbe_logtype, fmt, ##__VA_ARGS__) +#define dev_info(x, fmt, ...) \ + dev_printf(INFO, cxgbe_logtype, fmt, ##__VA_ARGS__) +#define dev_warn(x, fmt, ...) \ + dev_printf(WARNING, cxgbe_logtype, fmt, ##__VA_ARGS__) +#define dev_debug(x, fmt, ...) \ + dev_printf(DEBUG, cxgbe_logtype, fmt, ##__VA_ARGS__) -#ifdef RTE_LIBRTE_CXGBE_DEBUG_REG -#define CXGBE_DEBUG_REG(x, args...) dev_printf(DEBUG, "REG:" args) -#else -#define CXGBE_DEBUG_REG(x, args...) do { } while (0) -#endif +#define CXGBE_DEBUG_MBOX(x, fmt, ...) \ + dev_printf(DEBUG, cxgbe_mbox_logtype, "MBOX:" fmt, ##__VA_ARGS__) -#ifdef RTE_LIBRTE_CXGBE_DEBUG_MBOX -#define CXGBE_DEBUG_MBOX(x, args...) dev_printf(DEBUG, "MBOX:" args) -#else -#define CXGBE_DEBUG_MBOX(x, args...) do { } while (0) -#endif - -#ifdef RTE_LIBRTE_CXGBE_DEBUG_TX -#define CXGBE_DEBUG_TX(x, args...) dev_printf(DEBUG, "TX:" args) -#else -#define CXGBE_DEBUG_TX(x, args...) do { } while (0) -#endif - -#ifdef RTE_LIBRTE_CXGBE_DEBUG_RX -#define CXGBE_DEBUG_RX(x, args...) dev_printf(DEBUG, "RX:" args) -#else -#define CXGBE_DEBUG_RX(x, args...) do { } while (0) -#endif - -#ifdef RTE_LIBRTE_CXGBE_DEBUG #define CXGBE_FUNC_TRACE() \ - RTE_LOG(DEBUG, PMD, "CXGBE trace: %s\n", __func__) -#else -#define CXGBE_FUNC_TRACE() do { } while (0) -#endif + dev_printf(DEBUG, cxgbe_logtype, "CXGBE trace: %s\n", __func__) -#define pr_err(y, args...) dev_err(0, y, ##args) -#define pr_warn(y, args...) dev_warn(0, y, ##args) -#define pr_info(y, args...) dev_info(0, y, ##args) +#define pr_err(fmt, ...) dev_err(0, fmt, ##__VA_ARGS__) +#define pr_warn(fmt, ...) dev_warn(0, fmt, ##__VA_ARGS__) +#define pr_info(fmt, ...) dev_info(0, fmt, ##__VA_ARGS__) #define BUG() pr_err("BUG at %s:%d", __func__, __LINE__) #define ASSERT(x) do {\ @@ -96,6 +76,7 @@ #define PTR_ALIGN(p, a) ((typeof(p))CXGBE_ALIGN((unsigned long)(p), (a))) #define VLAN_HLEN 4 +#define ETHER_ADDR_LEN 6 #define rmb() rte_rmb() /* dpdk rte provided rmb */ #define wmb() rte_wmb() /* dpdk rte provided wmb */ @@ -106,7 +87,6 @@ typedef uint16_t u16; typedef uint32_t u32; typedef int32_t s32; typedef uint64_t u64; -typedef int bool; typedef uint64_t dma_addr_t; #ifndef __le16 @@ -142,21 +122,25 @@ typedef uint64_t dma_addr_t; #define FALSE 0 #define TRUE 1 -#define false 0 -#define true 1 +#ifndef min #define min(a, b) RTE_MIN(a, b) +#endif + +#ifndef max #define max(a, b) RTE_MAX(a, b) +#endif /* * round up val _p to a power of 2 size _s */ #define cxgbe_roundup(_p, _s) (((unsigned long)(_p) + (_s - 1)) & ~(_s - 1)) -#undef container_of +#ifndef container_of #define container_of(ptr, type, member) ({ \ typeof(((type *)0)->member)(*__mptr) = (ptr); \ (type *)((char *)__mptr - offsetof(type, member)); }) +#endif #define ARRAY_SIZE(arr) RTE_DIM(arr) @@ -169,6 +153,26 @@ typedef uint64_t dma_addr_t; #define be64_to_cpu(o) rte_be_to_cpu_64(o) #define le32_to_cpu(o) rte_le_to_cpu_32(o) +#ifndef ntohs +#define ntohs(o) be16_to_cpu(o) +#endif + +#ifndef ntohl +#define ntohl(o) be32_to_cpu(o) +#endif + +#ifndef htons +#define htons(o) cpu_to_be16(o) +#endif + +#ifndef htonl +#define htonl(o) cpu_to_be32(o) +#endif + +#ifndef caddr_t +typedef char *caddr_t; +#endif + #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) #define DELAY(x) rte_delay_us(x) #define udelay(x) DELAY(x) @@ -198,15 +202,6 @@ static inline int cxgbe_fls(int x) return x ? sizeof(x) * 8 - __builtin_clz(x) : 0; } -/** - * cxgbe_ffs - find first bit set - * @x: the word to search - */ -static inline int cxgbe_ffs(int x) -{ - return x ? __builtin_ffs(x) : 0; -} - static inline unsigned long ilog2(unsigned long n) { unsigned int e = 0; @@ -250,4 +245,16 @@ static inline void writel_relaxed(unsigned int val, volatile void __iomem *addr) rte_write32_relaxed(val, addr); } +/* + * Multiplies an integer by a fraction, while avoiding unnecessary + * overflow or loss of precision. + */ +static inline unsigned int mult_frac(unsigned int x, unsigned int numer, + unsigned int denom) +{ + unsigned int quot = x / denom; + unsigned int rem = x % denom; + + return (quot * numer) + ((rem * numer) / denom); +} #endif /* _CXGBE_COMPAT_H_ */