⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcm570x_mm.h

📁 u-boot-1.1.6 源码包
💻 H
字号:
/******************************************************************************//*                                                                            *//* Broadcom BCM5700 Linux Network Driver, Copyright (c) 2000 Broadcom         *//* Corporation.                                                               *//* All rights reserved.                                                       *//*                                                                            *//* This program is free software; you can redistribute it and/or modify       *//* it under the terms of the GNU General Public License as published by       *//* the Free Software Foundation, located in the file LICENSE.                 *//*                                                                            *//******************************************************************************/#ifndef MM_H#define MM_H#define __raw_readl readl#define __raw_writel writel#define BIG_ENDIAN_HOST 1#define readl(addr) (*(volatile unsigned int*)(addr))#define writel(b,addr) ((*(volatile unsigned int *) (addr)) = (b))/* Define memory barrier function here if needed */#define wmb()#define membar()#include <common.h>#include <asm/types.h>#include "bcm570x_lm.h"#include "bcm570x_queue.h"#include "tigon3.h"#include <pci.h>#define FALSE 0#define TRUE  1#define ERROR -1#if DBG#define STATIC#else#define STATIC static#endifextern int MM_Packet_Desc_Size;#define MM_PACKET_DESC_SIZE MM_Packet_Desc_SizeDECLARE_QUEUE_TYPE(UM_RX_PACKET_Q, MAX_RX_PACKET_DESC_COUNT+1);#define MAX_MEM 16/* Synch */typedef int mutex_t;typedef int spinlock_t;/* Embedded device control */typedef struct _UM_DEVICE_BLOCK {	LM_DEVICE_BLOCK lm_dev;	pci_dev_t pdev;	char *name;	void *mem_list[MAX_MEM];	dma_addr_t dma_list[MAX_MEM];	int mem_size_list[MAX_MEM];	int mem_list_num;	int mtu;	int index;	int opened;	int delayed_link_ind; /* Delay link status during initial load */	int adapter_just_inited; /* the first few seconds after init. */	int spurious_int;            /* new -- unsupported */	int timer_interval;	int adaptive_expiry;	int crc_counter_expiry;         /* new -- unsupported */	int poll_tib_expiry;         /* new -- unsupported */	int tx_full;	int tx_queued;	int line_speed;		/* in Mbps, 0 if link is down */	UM_RX_PACKET_Q rx_out_of_buf_q;	int rx_out_of_buf;	int rx_low_buf_thresh; /* changed to rx_buf_repl_thresh */	int rx_buf_repl_panic_thresh;	int rx_buf_align;            /* new -- unsupported */	int do_global_lock;	mutex_t global_lock;	mutex_t undi_lock;	long undi_flags;	volatile int interrupt;	int tasklet_pending;	int tasklet_busy;	     /* new -- unsupported */	int rx_pkt;	int tx_pkt;#ifdef NICE_SUPPORT   /* unsupported, this is a linux ioctl */	void (*nice_rx)(void*, void* );	void* nice_ctx;#endif /* NICE_SUPPORT */	int rx_adaptive_coalesce;	unsigned int rx_last_cnt;	unsigned int tx_last_cnt;	unsigned int rx_curr_coalesce_frames;	unsigned int rx_curr_coalesce_ticks;	unsigned int tx_curr_coalesce_frames;  /* new -- unsupported */#if TIGON3_DEBUG          /* new -- unsupported */	uint tx_zc_count;	uint tx_chksum_count;	uint tx_himem_count;	uint rx_good_chksum_count;#endif	unsigned int rx_bad_chksum_count;   /* new -- unsupported */	unsigned int rx_misc_errors;        /* new -- unsupported */} UM_DEVICE_BLOCK, *PUM_DEVICE_BLOCK;/* Physical/PCI DMA address */typedef union {	dma_addr_t dma_map;} dma_map_t;/* Packet */typedef struct_UM_PACKET {    LM_PACKET lm_packet;    void* skbuff;      /* Address of packet buffer */} UM_PACKET, *PUM_PACKET;#define MM_ACQUIRE_UNDI_LOCK(_pDevice)#define MM_RELEASE_UNDI_LOCK(_pDevice)#define MM_ACQUIRE_INT_LOCK(_pDevice)#define MM_RELEASE_INT_LOCK(_pDevice)#define MM_UINT_PTR(_ptr)   ((unsigned long) (_ptr))/* Macro for setting 64bit address struct */#define set_64bit_addr(paddr, low, high) \	(paddr)->Low = low;             \	(paddr)->High = high;/* Assume that PCI controller's view of host memory is same as host */#define MEM_TO_PCI_PHYS(addr) (addr)extern void MM_SetAddr (LM_PHYSICAL_ADDRESS *paddr, dma_addr_t addr);extern void MM_SetT3Addr(T3_64BIT_HOST_ADDR *paddr, dma_addr_t addr);extern void MM_MapTxDma (PLM_DEVICE_BLOCK pDevice,			 struct _LM_PACKET *pPacket, T3_64BIT_HOST_ADDR *paddr,			 LM_UINT32 *len, int frag);extern void MM_MapRxDma ( PLM_DEVICE_BLOCK pDevice,			  struct _LM_PACKET *pPacket,			  T3_64BIT_HOST_ADDR *paddr);/* BSP needs to provide sysUsecDelay and sysSerialPrintString */extern void sysSerialPrintString (char *s);#define MM_Wait(usec) udelay(usec)/* Define memory barrier function here if needed */#define wmb()#if 0#define cpu_to_le32(val) LONGSWAP(val)#endif#endif /* MM_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -