亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xemac_polled.c

?? u-boot1.3.0的原碼,從配了網絡驅動和FLASH的驅動,并該用ESC竟如
?? C
?? 第 1 頁 / 共 2 頁
字號:
/********************************************************************************     Author: Xilinx, Inc.***     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; either version 2 of the License, or (at your*     option) any later version.***     XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A*     COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS*     ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD,*     XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE*     FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR OBTAINING*     ANY THIRD PARTY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.*     XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO*     THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY*     WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM*     CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND*     FITNESS FOR A PARTICULAR PURPOSE.***     Xilinx hardware products are not intended for use in life support*     appliances, devices, or systems. Use in such applications is*     expressly prohibited.***     (c) Copyright 2002-2004 Xilinx Inc.*     All rights reserved.***     You should have received a copy of the GNU General Public License along*     with this program; if not, write to the Free Software Foundation, Inc.,*     675 Mass Ave, Cambridge, MA 02139, USA.*******************************************************************************//*****************************************************************************//**** @file xemac_polled.c** Contains functions used when the driver is in polled mode. Use the* XEmac_SetOptions() function to put the driver into polled mode.** <pre>* MODIFICATION HISTORY:** Ver   Who  Date     Changes* ----- ---- -------- -----------------------------------------------* 1.00a rpm  07/31/01 First release* 1.00b rpm  02/20/02 Repartitioned files and functions* 1.00c rpm  12/05/02 New version includes support for simple DMA* </pre>*******************************************************************************//***************************** Include Files *********************************/#include "xbasic_types.h"#include "xemac_i.h"#include "xio.h"#include "xipif_v1_23_b.h"	/* Uses v1.23b of the IPIF *//************************** Constant Definitions *****************************//**************************** Type Definitions *******************************//***************** Macros (Inline Functions) Definitions *********************//************************** Variable Definitions *****************************//************************** Function Prototypes ******************************//*****************************************************************************//**** Send an Ethernet frame in polled mode.  The device/driver must be in polled* mode before calling this function. The driver writes the frame directly to* the MAC's packet FIFO, then enters a loop checking the device status for* completion or error. Statistics are updated if an error occurs. The buffer* to be sent must be word-aligned.** It is assumed that the upper layer software supplies a correctly formatted* Ethernet frame, including the destination and source addresses, the* type/length field, and the data field.  It is also assumed that upper layer* software does not append FCS at the end of the frame.** @param InstancePtr is a pointer to the XEmac instance to be worked on.* @param BufPtr is a pointer to a word-aligned buffer containing the Ethernet*        frame to be sent.* @param ByteCount is the size of the Ethernet frame.** @return** - XST_SUCCESS if the frame was sent successfully* - XST_DEVICE_IS_STOPPED if the device has not yet been started* - XST_NOT_POLLED if the device is not in polled mode* - XST_FIFO_NO_ROOM if there is no room in the EMAC's length FIFO for this frame* - XST_FIFO_ERROR if the FIFO was overrun or underrun. This error is critical*   and requires the caller to reset the device.* - XST_EMAC_COLLISION if the send failed due to excess deferral or late*   collision** @note** There is the possibility that this function will not return if the hardware* is broken (i.e., it never sets the status bit indicating that transmission is* done). If this is of concern to the user, the user should provide protection* from this problem - perhaps by using a different timer thread to monitor the* PollSend thread. On a 10Mbps MAC, it takes about 1.21 msecs to transmit a* maximum size Ethernet frame (1518 bytes). On a 100Mbps MAC, it takes about* 121 usecs to transmit a maximum size Ethernet frame.** @internal** The EMAC uses FIFOs behind its length and status registers. For this reason,* it is important to keep the length, status, and data FIFOs in sync when* reading or writing to them.*******************************************************************************/XStatusXEmac_PollSend(XEmac * InstancePtr, u8 * BufPtr, u32 ByteCount){	u32 IntrStatus;	u32 XmitStatus;	XStatus Result;	XASSERT_NONVOID(InstancePtr != NULL);	XASSERT_NONVOID(BufPtr != NULL);	XASSERT_NONVOID(ByteCount > XEM_HDR_SIZE);	/* send at least 1 byte */	XASSERT_NONVOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);	/*	 * Be sure the device is configured for polled mode and it is started	 */	if (!InstancePtr->IsPolled) {		return XST_NOT_POLLED;	}	if (InstancePtr->IsStarted != XCOMPONENT_IS_STARTED) {		return XST_DEVICE_IS_STOPPED;	}	/*	 * Check for overruns and underruns for the transmit status and length	 * FIFOs and make sure the send packet FIFO is not deadlocked. Any of these	 * conditions is bad enough that we do not want to continue. The upper layer	 * software should reset the device to resolve the error.	 */	IntrStatus = XIIF_V123B_READ_IISR(InstancePtr->BaseAddress);	/*	 * Overrun errors	 */	if (IntrStatus & (XEM_EIR_XMIT_SFIFO_OVER_MASK |			  XEM_EIR_XMIT_LFIFO_OVER_MASK)) {		InstancePtr->Stats.XmitOverrunErrors++;		InstancePtr->Stats.FifoErrors++;		return XST_FIFO_ERROR;	}	/*	 * Underrun errors	 */	if (IntrStatus & (XEM_EIR_XMIT_SFIFO_UNDER_MASK |			  XEM_EIR_XMIT_LFIFO_UNDER_MASK)) {		InstancePtr->Stats.XmitUnderrunErrors++;		InstancePtr->Stats.FifoErrors++;		return XST_FIFO_ERROR;	}	if (XPF_V100B_IS_DEADLOCKED(&InstancePtr->SendFifo)) {		InstancePtr->Stats.FifoErrors++;		return XST_FIFO_ERROR;	}	/*	 * Before writing to the data FIFO, make sure the length FIFO is not	 * full.  The data FIFO might not be full yet even though the length FIFO	 * is. This avoids an overrun condition on the length FIFO and keeps the	 * FIFOs in sync.	 */	if (IntrStatus & XEM_EIR_XMIT_LFIFO_FULL_MASK) {		/*		 * Clear the latched LFIFO_FULL bit so next time around the most		 * current status is represented		 */		XIIF_V123B_WRITE_IISR(InstancePtr->BaseAddress,				      XEM_EIR_XMIT_LFIFO_FULL_MASK);		return XST_FIFO_NO_ROOM;	}	/*	 * This is a non-blocking write. The packet FIFO returns an error if there	 * is not enough room in the FIFO for this frame.	 */	Result =	    XPacketFifoV100b_Write(&InstancePtr->SendFifo, BufPtr, ByteCount);	if (Result != XST_SUCCESS) {		return Result;	}	/*	 * Loop on the MAC's status to wait for any pause to complete.	 */	IntrStatus = XIIF_V123B_READ_IISR(InstancePtr->BaseAddress);	while ((IntrStatus & XEM_EIR_XMIT_PAUSE_MASK) != 0) {		IntrStatus = XIIF_V123B_READ_IISR(InstancePtr->BaseAddress);		/*		   * Clear the pause status from the transmit status register		 */		XIIF_V123B_WRITE_IISR(InstancePtr->BaseAddress,				      IntrStatus & XEM_EIR_XMIT_PAUSE_MASK);	}	/*	 * Set the MAC's transmit packet length register to tell it to transmit	 */	XIo_Out32(InstancePtr->BaseAddress + XEM_TPLR_OFFSET, ByteCount);	/*	 * Loop on the MAC's status to wait for the transmit to complete. The	 * transmit status is in the FIFO when the XMIT_DONE bit is set.	 */	do {		IntrStatus = XIIF_V123B_READ_IISR(InstancePtr->BaseAddress);	}	while ((IntrStatus & XEM_EIR_XMIT_DONE_MASK) == 0);	XmitStatus = XIo_In32(InstancePtr->BaseAddress + XEM_TSR_OFFSET);	InstancePtr->Stats.XmitFrames++;	InstancePtr->Stats.XmitBytes += ByteCount;	/*	 * Check for various errors, bump statistics, and return an error status.	 */	/*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草97国产精品免费观看无弹窗版 | 4hu四虎永久在线影院成人| 欧美精品久久久久久久多人混战| 日韩欧美区一区二| 洋洋av久久久久久久一区| 麻豆国产欧美日韩综合精品二区| 91小宝寻花一区二区三区| 久久久美女艺术照精彩视频福利播放| 一区二区三区在线看| www.亚洲色图.com| 国产视频在线观看一区二区三区 | 亚洲裸体在线观看| 国产经典欧美精品| 日韩精品综合一本久道在线视频| 一区二区三区欧美日韩| 粉嫩绯色av一区二区在线观看| 日韩一区二区三| 亚洲3atv精品一区二区三区| gogo大胆日本视频一区| 亚洲国产精华液网站w| 国产精品77777| 精品精品国产高清a毛片牛牛| 午夜电影网一区| 欧美日韩一本到| 午夜久久久久久久久久一区二区| 欧美中文字幕一区二区三区| 一区二区三区在线观看国产| 99久久精品免费观看| 亚洲欧洲另类国产综合| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美国产欧美综合| 成年人网站91| 亚洲美女免费在线| 精品视频一区二区不卡| 亚洲国产成人精品视频| 欧美日本精品一区二区三区| 日韩中文字幕区一区有砖一区 | 99久久国产综合色|国产精品| 国产欧美一区二区精品忘忧草| 国产精品系列在线观看| 中文字幕亚洲综合久久菠萝蜜| 99久久婷婷国产综合精品| 亚洲精品乱码久久久久久久久| 欧美日韩一区二区三区在线| 日本色综合中文字幕| 精品国产制服丝袜高跟| 国产iv一区二区三区| **欧美大码日韩| 欧美精品aⅴ在线视频| 久久99精品久久久久久动态图| 精品福利一区二区三区| 成人精品视频一区二区三区| 亚洲美女屁股眼交3| 欧美日韩国产美| 国产精品一区在线观看乱码| 最近中文字幕一区二区三区| 欧美色精品在线视频| 久久精品72免费观看| 中文字幕视频一区二区三区久| 欧美三片在线视频观看 | 亚洲成年人网站在线观看| 日韩女同互慰一区二区| 成人国产精品免费网站| 亚洲第一二三四区| 国产午夜亚洲精品不卡| 精品视频在线视频| 成人免费av资源| 日韩电影在线一区| 亚洲人精品午夜| 日韩欧美国产综合| 一本一本久久a久久精品综合麻豆| 日韩影院在线观看| 亚洲色图制服丝袜| 久久综合久久综合久久综合| 91同城在线观看| 国产一区二区三区免费观看| 亚洲在线视频一区| 中文字幕精品一区二区精品绿巨人| 欧美性一级生活| 成人一区二区在线观看| 蜜桃视频在线观看一区二区| 亚洲欧洲精品一区二区三区| www精品美女久久久tv| 欧美婷婷六月丁香综合色| 成人永久免费视频| 久久黄色级2电影| 亚洲高清久久久| 亚洲色图.com| 国产欧美日本一区视频| 日韩欧美一级精品久久| 欧美日韩精品一区二区三区| 91性感美女视频| 国产69精品一区二区亚洲孕妇| 免费人成精品欧美精品| 亚洲国产精品久久艾草纯爱| 最近中文字幕一区二区三区| 国产日韩欧美综合在线| 精品国产乱码久久久久久老虎| 欧美丝袜第三区| 色老汉av一区二区三区| a美女胸又www黄视频久久| 国产精品一区二区在线看| 麻豆91精品视频| 青青草97国产精品免费观看 | 国产美女精品在线| 久久精品99国产精品| 蜜桃传媒麻豆第一区在线观看| 亚洲成人7777| 视频一区欧美精品| 视频一区二区中文字幕| 同产精品九九九| 欧美a级一区二区| 日韩av中文字幕一区二区| 日韩影视精彩在线| 日韩avvvv在线播放| 日韩电影在线一区二区三区| 亚洲人成7777| 国产精品素人视频| 欧美猛男gaygay网站| 亚洲图片有声小说| 国产日韩欧美亚洲| 国产精品三级在线观看| 国产欧美一区二区精品秋霞影院| 久久久精品日韩欧美| 中文字幕电影一区| 亚洲日本青草视频在线怡红院 | 7799精品视频| 91精品国产乱码| 精品少妇一区二区三区视频免付费 | 91玉足脚交白嫩脚丫在线播放| av资源站一区| 欧美亚洲丝袜传媒另类| 日韩亚洲欧美一区| 国产亚洲欧美日韩日本| 亚洲丝袜自拍清纯另类| 午夜久久久久久久久| 国产最新精品免费| 99re亚洲国产精品| 7777精品伊人久久久大香线蕉的| 久久综合色婷婷| 一区二区三区精品在线观看| 午夜一区二区三区在线观看| 蜜臀av性久久久久蜜臀aⅴ| 国产精品夜夜爽| 欧美综合天天夜夜久久| 欧美videossexotv100| 亚洲天堂免费看| 裸体一区二区三区| 成人福利电影精品一区二区在线观看| 91国内精品野花午夜精品| 日韩免费高清电影| 中文字幕亚洲一区二区av在线 | 一区二区三区日韩在线观看| 秋霞国产午夜精品免费视频| 成人国产视频在线观看| 欧美一区二区三区公司| 国产精品毛片a∨一区二区三区| 偷拍与自拍一区| 91在线视频播放地址| 日韩一区二区三区四区| 亚洲欧美日韩中文播放 | 色狠狠色噜噜噜综合网| 精品国产一区二区在线观看| 一区二区欧美国产| 国产成人精品一区二区三区四区| 精品视频色一区| 国产精品每日更新| 国产一区久久久| 欧美一区二区久久久| 亚洲激情网站免费观看| 国产成人欧美日韩在线电影| 欧美一区二区三区人| 亚洲高清视频的网址| 不卡电影一区二区三区| 久久新电视剧免费观看| 日本网站在线观看一区二区三区| 91麻豆高清视频| 中文字幕在线不卡一区| 国产激情精品久久久第一区二区| 56国语精品自产拍在线观看| 一区二区三区在线观看欧美| 成人激情免费网站| 国产日韩欧美一区二区三区乱码| 麻豆精品视频在线观看视频| 欧美另类z0zxhd电影| 一区二区高清视频在线观看| 91亚洲男人天堂| 国产精品久久久久久久久免费丝袜 | 白白色亚洲国产精品| 久久久不卡影院| 久久国产精品露脸对白| 欧美一区二区三区四区五区 | 午夜精品福利在线| 欧美吞精做爰啪啪高潮| 一区二区三区高清不卡| 91精品福利视频| 亚洲午夜久久久久久久久久久 | 精品国产麻豆免费人成网站| 蜜桃视频在线一区| 精品成人a区在线观看|