cregit-Linux how code gets into the kernel

Release 4.18 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h

/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright(c) 1999 - 2018 Intel Corporation. */

#ifndef _IXGBE_FCOE_H

#define _IXGBE_FCOE_H

#include <scsi/fc/fc_fs.h>
#include <scsi/fc/fc_fcoe.h>

/* shift bits within STAT fo FCSTAT */

#define IXGBE_RXDADV_FCSTAT_SHIFT	4

/* ddp user buffer */

#define IXGBE_BUFFCNT_MAX	256	
/* 8 bits bufcnt */

#define IXGBE_FCPTR_ALIGN	16

#define IXGBE_FCPTR_MAX	(IXGBE_BUFFCNT_MAX * sizeof(dma_addr_t))

#define IXGBE_FCBUFF_4KB	0x0

#define IXGBE_FCBUFF_8KB	0x1

#define IXGBE_FCBUFF_16KB	0x2

#define IXGBE_FCBUFF_64KB	0x3

#define IXGBE_FCBUFF_MAX	65536	
/* 64KB max */

#define IXGBE_FCBUFF_MIN	4096	
/* 4KB min */

#define IXGBE_FCOE_DDP_MAX	512	
/* 9 bits xid */

#define IXGBE_FCOE_DDP_MAX_X550	2048	
/* 11 bits xid */

/* Default traffic class to use for FCoE */

#define IXGBE_FCOE_DEFTC	3

/* fcerr */

#define IXGBE_FCERR_BADCRC       0x00100000

/* FCoE DDP for target mode */

#define __IXGBE_FCOE_TARGET	1


struct ixgbe_fcoe_ddp {
	
int len;
	
u32 err;
	
unsigned int sgc;
	
struct scatterlist *sgl;
	
dma_addr_t udp;
	
u64 *udl;
	
struct dma_pool *pool;
};

/* per cpu variables */

struct ixgbe_fcoe_ddp_pool {
	
struct dma_pool *pool;
	
u64 noddp;
	
u64 noddp_ext_buff;
};


struct ixgbe_fcoe {
	
struct ixgbe_fcoe_ddp_pool __percpu *ddp_pool;
	
atomic_t refcnt;
	
spinlock_t lock;
	
struct ixgbe_fcoe_ddp ddp[IXGBE_FCOE_DDP_MAX_X550];
	
void *extra_ddp_buffer;
	
dma_addr_t extra_ddp_buffer_dma;
	
unsigned long mode;
	
u8 up;
};

#endif /* _IXGBE_FCOE_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Yi Zou12471.26%642.86%
Alexander Duyck2212.64%321.43%
Vasu Dev2011.49%214.29%
Amir Hanania63.45%17.14%
Jeff Kirsher21.15%214.29%
Total174100.00%14100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.