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

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

?? ixqmgr.h

?? uboot的源碼,包括了常見的處理器平臺
?? H
?? 第 1 頁 / 共 5 頁
字號:
 * * @ingroup IxQMgrAPI *  * @fn ixQMgrQNumEntriesGet (IxQMgrQId qId,		      unsigned *numEntries) * * @brief Get a snapshot of the number of entries in a queue. * * This function gets the number of entries in a queue. * * @param qId @ref IxQMgrQId [in] qId - the queue idenfifier * @param *numEntries unsigned [out] - the number of entries in a queue * * @return @li IX_SUCCESS, got the number of entries for the queue * @return @li IX_QMGR_PARAMETER_ERROR, invalid paramter(s). * @return @li IX_QMGR_Q_NOT_CONFIGURED, the specified qId has not been configured * @return @li IX_QMGR_WARNING, could not determine num entries at this time * */PUBLIC IX_STATUSixQMgrQNumEntriesGet (IxQMgrQId qId,		      unsigned *numEntries);/** * * @ingroup IxQMgrAPI * * @fn ixQMgrQStatusGetWithChecks (IxQMgrQId qId,                            IxQMgrQStatus *qStatus) * * @brief Get a queues status. * * This function reads the specified queues status. A queues status is defined * by its status flags. For queues 0-31 these flags are E,NE,NF,F. For * queues 32-63 these flags are NE and F. * * @param qId @ref IxQMgrQId [in] - the queue identifier. * @param &qStatus @ref IxQMgrQStatus [out] - the status of the specified queue. * * @return @li IX_SUCCESS, queue status was successfully read. * @return @li IX_QMGR_Q_NOT_CONFIGURED, the specified qId has not been configured * @return @li IX_QMGR_PARAMETER_ERROR, invalid paramter. * */PUBLIC IX_STATUSixQMgrQStatusGetWithChecks (IxQMgrQId qId,                            IxQMgrQStatus *qStatus);/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrQStatusGet (IxQMgrQId qId,		  IxQMgrQStatus *qStatus) * * @brief Fast get of a queue's status. * * This function is a streamlined version of ixQMgrQStatusGetWithChecks(), but * performs essentially the same task.  It reads the specified queue's status. * A queues status is defined by its status flags. For queues 0-31 these flags * are E,NE,NF,F. For queues 32-63 these flags are NE and F. * * @note - This function is inlined, to reduce unnecessary function call * overhead.  It does not perform any parameter checks, or update any * statistics.  Also, it does not check that the queue specified by qId has * been configured.  It simply reads the specified queue's status. * * @param qId @ref IxQMgrQId [in] - the queue identifier. * @param *qStatus @ref IxQMgrQStatus [out] - the status of the specified queue. * * @return @li void. * */#ifdef NO_INLINE_APISPUBLIC IX_STATUSixQMgrQStatusGet (IxQMgrQId qId,		  IxQMgrQStatus *qStatus);#else  extern UINT32 ixQMgrAqmIfQueLowStatRegAddr[];extern UINT32 ixQMgrAqmIfQueLowStatBitsOffset[];extern UINT32 ixQMgrAqmIfQueLowStatBitsMask;extern UINT32 ixQMgrAqmIfQueUppStat0RegAddr;extern UINT32 ixQMgrAqmIfQueUppStat1RegAddr;extern UINT32 ixQMgrAqmIfQueUppStat0BitMask[];extern UINT32 ixQMgrAqmIfQueUppStat1BitMask[];IX_QMGR_INLINE PUBLIC IX_STATUSixQMgrQStatusGet (IxQMgrQId qId,		  IxQMgrQStatus *qStatus);#endif  /* endif NO_INLINE_APIS */IX_QMGR_INLINE PUBLIC IX_STATUSixQMgrQStatusGet (IxQMgrQId qId,		  IxQMgrQStatus *qStatus)#ifdef NO_INLINE_APIS    ;#else{    /* read the status of a queue in the range 0-31 */    if (qId < IX_QMGR_MIN_QUEUPP_QID)    {	volatile UINT32 *lowStatRegAddr = (UINT32*)ixQMgrAqmIfQueLowStatRegAddr[qId];	UINT32 lowStatBitsOffset = ixQMgrAqmIfQueLowStatBitsOffset[qId];	UINT32 lowStatBitsMask   = ixQMgrAqmIfQueLowStatBitsMask;	/* read the status register for this queue */	*qStatus = IX_QMGR_INLINE_READ_LONG(lowStatRegAddr);	/* mask out the status bits relevant only to this queue */	*qStatus = (*qStatus >> lowStatBitsOffset) & lowStatBitsMask;    }    else /* read status of a queue in the range 32-63 */    {	volatile UINT32 *qNearEmptyStatRegAddr = (UINT32*)ixQMgrAqmIfQueUppStat0RegAddr;	volatile UINT32 *qFullStatRegAddr      = (UINT32*)ixQMgrAqmIfQueUppStat1RegAddr;	int maskIndex = qId - IX_QMGR_MIN_QUEUPP_QID;	UINT32 qNearEmptyStatBitMask = ixQMgrAqmIfQueUppStat0BitMask[maskIndex];	UINT32 qFullStatBitMask      = ixQMgrAqmIfQueUppStat1BitMask[maskIndex];	/* Reset the status bits */	*qStatus = 0;	/* Check if the queue is nearly empty */	if (IX_QMGR_INLINE_READ_LONG(qNearEmptyStatRegAddr) & qNearEmptyStatBitMask)	{	    *qStatus |= IX_QMGR_Q_STATUS_NE_BIT_MASK;	}	/* Check if the queue is full */	if (IX_QMGR_INLINE_READ_LONG(qFullStatRegAddr) & qFullStatBitMask)	{	    *qStatus |= IX_QMGR_Q_STATUS_F_BIT_MASK;	}    }    return IX_SUCCESS;}#endif/* ------------------------------------------------------------   Queue dispatch related functions   ---------------------------------------------------------- *//** * * @ingroup IxQMgrAPI *  * @fn ixQMgrDispatcherPrioritySet (IxQMgrQId qId,			     IxQMgrPriority priority) * * @brief Set the dispatch priority of a queue. * * This function is called to set the dispatch priority of queue. The effect of * this function is to add a priority change request to a queue. This queue is * serviced by @a ixQMgrDispatcherLoopRunA0, @a ixQMgrDispatcherLoopRunB0 or  * @a ixQMgrDispatcherLoopRunB0LLP. * * This function is re-entrant. and can be used from an interrupt context * * @param qId @ref IxQMgrQId [in] - the queue identifier * @param priority @ref IxQMgrPriority [in] - the new queue dispatch priority * * @return @li IX_SUCCESS, priority change request is queued * @return @li IX_QMGR_Q_NOT_CONFIGURED, the specified qId has not been configured * @return @li IX_QMGR_Q_INVALID_PRIORITY, specified priority is invalid * */PUBLIC IX_STATUSixQMgrDispatcherPrioritySet (IxQMgrQId qId,			     IxQMgrPriority priority);/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrNotificationEnable (IxQMgrQId qId,			  IxQMgrSourceId sourceId) * * @brief Enable notification on a queue for a specified queue source flag. * * This function is called by a client of the QMgr to enable notifications on a * specified condition. * If the condition for the notification is set after the client has called this * function but before the function has enabled the interrupt source, then the * notification will not occur. * For queues 32-63 the notification source is fixed to the NE(Nearly Empty) flag * and cannot be changed so the sourceId parameter is ignored for these queues. * The status register is read before the notofication is enabled and is read again * after the notification has been enabled, if they differ then the warning status * is returned. * * This function is re-entrant. and can be used from an interrupt context * * @param qId @ref IxQMgrQId [in] - the queue identifier * @param sourceId @ref IxQMgrSourceId [in] - the interrupt src condition identifier * * @return @li IX_SUCCESS, the interrupt has been enabled for the specified source * @return @li IX_QMGR_Q_NOT_CONFIGURED, the specified qId has not been configured * @return @li IX_QMGR_INVALID_INT_SOURCE_ID, interrupt source invalid for this queue * @return @li IX_QMGR_WARNING, the status register may not be constistent * */PUBLIC IX_STATUSixQMgrNotificationEnable (IxQMgrQId qId,			  IxQMgrSourceId sourceId);/** * @ingroup IxQMgrAPI *  * @fn ixQMgrNotificationDisable (IxQMgrQId qId) * * @brief Disable notifications on a queue. * * This function is called to disable notifications on a specified queue. * * This function is re-entrant. and can be used from an interrupt context * * @param qId @ref IxQMgrQId [in] - the queue identifier * * @return @li IX_SUCCESS, the interrupt has been disabled * @return @li IX_QMGR_Q_NOT_CONFIGURED, the specified qId has not been configured * */PUBLIC IX_STATUSixQMgrNotificationDisable (IxQMgrQId qId);/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrDispatcherLoopRunA0 (IxQMgrDispatchGroup group) * * @brief Run the callback dispatcher. * * This function runs the dispatcher for a group of queues. * Callbacks are made for interrupts that have occurred on queues within * the group that have registered callbacks. The order in which queues are * serviced depends on the queue priorities set by the client. * This function may be called from interrupt or task context. * For optimisations that were introduced in IXP42X B0 and supported IXP46X * the @a ixQMgrDispatcherLoopRunB0, or @a ixQMgrDispatcherLoopRunB0LLP  * should be used. * * This function is not re-entrant. * * @param group @ref IxQMgrDispatchGroup [in] - the group of queues over which the *                                        dispatcher will run * * @return @li void * * @note This function may be called from interrupt or task context. * However, for optimal performance the choice of context depends also on the * operating system used. * */PUBLIC voidixQMgrDispatcherLoopRunA0 (IxQMgrDispatchGroup group);/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrDispatcherLoopRunB0 (IxQMgrDispatchGroup group) * * @brief Run the callback dispatcher. * * The enhanced version of @a ixQMgrDispatcherLoopRunA0 that is optimised for * features introduced in IXP42X B0 silicon and supported on IXP46X.  * This is the default dispatcher for IXP42X B0 and IXP46X silicon.  * The function runs the dispatcher for a group of queues. * Callbacks are made for interrupts that have occurred on queues within * the group that have registered callbacks. The order in which queues are * serviced depends on the queue priorities set by the client. * This  function may be called from interrupt or task context. * * This function is not re-entrant. * * @param group @ref IxQMgrDispatchGroup [in] - the group of queues over which the *                                        dispatcher will run * * @return @li void * * * @note This function may be called from interrupt or task context. * However, for optimal performance the choice of context depends also on the * operating system used. * */PUBLIC voidixQMgrDispatcherLoopRunB0 (IxQMgrDispatchGroup group);/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrDispatcherLoopRunB0LLP (IxQMgrDispatchGroup group) * * @brief Run the callback dispatcher. * * This is a version of the optimised dispatcher for IXP42X B0 and IXP46X,  * @a ixQMgrDispatcherLoopRunB0, with added support for livelock prevention.  * This dispatcher will only be used for the IXP42X B0 or IXP46X silicon if  * feature control indicates that IX_FEATURECTRL_ORIGB0_DISPATCHER is set to    * IX_FEATURE_CTRL_SWCONFIG_DISABLED. Otherwise the @a ixQMgrDispatcherLoopRunB0  * dispatcher will be used (Default).  * * When this dispatcher notifies for a queue that is type * IX_QMGR_TYPE_REALTIME_PERIODIC, notifications for queues that are set * as type IX_QMGR_REALTIME_SPORADIC are not processed and disabled. * This helps prevent any tasks resulting from the notification of the  * IX_QMGR_TYPE_REALTIME_PERIODIC type queue to being subject to livelock. * The function runs the dispatcher for a group of queues. * Callbacks are made for interrupts that have occurred on queues within * the group that have registered callbacks. The order in which queues are * serviced depends on their type along with the  queue priorities set by the  * client. This function may be called from interrupt or task context. * * This function is not re-entrant. * * @param group @ref IxQMgrDispatchGroup [in] - the group of queues over which  *                                        the dispatcher will run * * @return @li void * * @note This function may be called from interrupt or task context. * However, for optimal performance the choice of context depends also on the * operating system used. * */PUBLIC voidixQMgrDispatcherLoopRunB0LLP (IxQMgrDispatchGroup group);/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrNotificationCallbackSet (IxQMgrQId qId,			       IxQMgrCallback callback,			       IxQMgrCallbackId callbackId) * * @brief Set the notification callback for a queue. * * This function sets the callback for the specified queue. This callback will * be called by the dispatcher, and may be called in the context of a interrupt * If callback has a value of NULL the previously registered callback, if one * exists will be unregistered. * * @param qId @ref IxQMgrQId [in] - the queue idenfifier * @param callback @ref IxQMgrCallback  [in] - the callback registered for this queue * @param callbackId @ref IxQMgrCallbackId [in] - the callback identifier * * @return @li IX_SUCCESS, the callback for the specified queue has been set * @return @li IX_QMGR_Q_NOT_CONFIGURED, the specified qId has not been configured * */PUBLIC IX_STATUSixQMgrNotificationCallbackSet (IxQMgrQId qId,			       IxQMgrCallback callback,			       IxQMgrCallbackId callbackId);/** * * @ingroup IxQMgrAPI * * @fn ixQMgrDispatcherLoopGet (IxQMgrDispatcherFuncPtr *qDispatcherFuncPtr) * * @brief Get QMgr DispatcherLoopRun for respective silicon device * * This function gets a function pointer to ixQMgrDispatcherLoopRunA0() for IXP42X A0 * Silicon. If the IXP42X B0 or 46X Silicon, the default is the ixQMgrDispatcherLoopRunB0() * function, however if live lock prevention is enabled a function pointer to * ixQMgrDispatcherLoopRunB0LLP() is given. * * @param *qDispatchFuncPtr @ref IxQMgrDispatcherFuncPtr [out]  -  *              the function pointer of QMgr Dispatcher * */PUBLIC voidixQMgrDispatcherLoopGet (IxQMgrDispatcherFuncPtr *qDispatcherFuncPtr);/** * * @ingroup IxQMgrAPI * * @fn ixQMgrStickyInterruptRegEnable(void) * * @brief Enable AQM's sticky interrupt register behaviour only available *        on B0 Silicon.  *  * When AQM's sticky interrupt register is enabled, interrupt register bit will * only be cleared when a '1' is written to interrupt register bit and the * interrupting condition is satisfied, i.e.queue condition does not exist. *  * @note This function must be called before any queue is enabled. *       Calling this function after queue is enabled will cause *       undefined results.  * * @return none * */PUBLIC voidixQMgrStickyInterruptRegEnable(void);/** * @ingroup IxQMgrAPI * * @fn ixQMgrCallbackTypeSet(IxQMgrQId qId,                             IxQMgrType type) * * @brief Set the Callback Type of a queue. * * This function is only used for live lock prevention. * This function allows the callback type of a queue to be set. The default for * all queues is IX_QMGR_TYPE_REALTIME_OTHER. Setting the type to * IX_QMGR_TYPE_REALTIME_SPORADIC means that this queue will have it's  * notifications disabled while there is a task associated with a  * queue of type IX_QMGR_TYPE_REALTIME_PERIODIC running. As live lock * prevention operates on lower queues, this function should * be called for lower queues only. * This function is not re-entrant.   * * @param q

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丨九色丨尤物| 亚洲欧洲成人自拍| 亚洲欧洲在线观看av| 日一区二区三区| av日韩在线网站| 欧美成人在线直播| 亚洲国产欧美日韩另类综合| 国产精品一区二区视频| 91 com成人网| 一区二区三区四区不卡在线| 国产99久久久精品| 精品日韩av一区二区| 日本午夜精品视频在线观看| 91在线porny国产在线看| 26uuu另类欧美亚洲曰本| 婷婷激情综合网| 色婷婷综合激情| 亚洲人成网站影音先锋播放| 丁香婷婷综合五月| 精品粉嫩aⅴ一区二区三区四区| 亚洲成人福利片| 日本道在线观看一区二区| 国产精品久久久久一区| 国产精品亚洲成人| 久久综合九色欧美综合狠狠| 蜜桃视频一区二区三区 | 亚洲一区二区高清| 97精品电影院| 日韩一区在线播放| 成人毛片在线观看| 中文字幕在线一区免费| 不卡高清视频专区| 中文字幕日本乱码精品影院| 成人精品电影在线观看| 中文字幕在线一区| 91最新地址在线播放| 日韩毛片视频在线看| 99久久精品情趣| 一区二区三区四区国产精品| 欧美日韩中文字幕一区二区| 亚洲午夜国产一区99re久久| 欧美午夜免费电影| 亚洲大尺度视频在线观看| 欧美日韩国产高清一区二区三区| 亚洲成人tv网| 日韩一区二区影院| 国产一区美女在线| 国产精品全国免费观看高清| av一区二区三区四区| 亚洲免费资源在线播放| 欧美日韩国产成人在线91 | 国产精品久久久久久久蜜臀| 99在线精品免费| 一区二区三区资源| 欧美一区二区三区免费视频| 黄页网站大全一区二区| 亚洲国产成人在线| 在线观看www91| 久久精品av麻豆的观看方式| 国产精品美女久久福利网站| 一本色道久久综合狠狠躁的推荐| 亚洲成av人在线观看| 精品日韩av一区二区| 91玉足脚交白嫩脚丫在线播放| 丝袜美腿成人在线| 中文字幕欧美激情| 欧美日韩在线电影| 国产福利91精品一区二区三区| 亚洲精品乱码久久久久久| 日韩精品一区二区在线观看| 不卡欧美aaaaa| 日韩avvvv在线播放| 亚洲国产精品精华液ab| 欧美一区二区三区婷婷月色| 99久久99久久免费精品蜜臀| 男女视频一区二区| 亚洲女厕所小便bbb| 2023国产精品| 欧美人与禽zozo性伦| 国产乱妇无码大片在线观看| 亚洲成a人片在线观看中文| 欧美国产一区二区在线观看| 欧美日韩视频在线第一区| 大白屁股一区二区视频| 蜜臀国产一区二区三区在线播放| 国产精品色一区二区三区| 欧美一区二区人人喊爽| 色婷婷综合久久久久中文| 国产成人啪免费观看软件| 日本不卡在线视频| 亚洲综合偷拍欧美一区色| 国产欧美日韩久久| 欧美一区二区三区在线观看| 欧美性生活久久| 91免费观看视频在线| 国产成人午夜高潮毛片| 经典三级一区二区| 日本不卡高清视频| 亚洲一区二区三区在线看| 亚洲视频1区2区| 国产精品久久久久久一区二区三区| 久久综合网色—综合色88| 日韩欧美二区三区| 91精品久久久久久蜜臀| 欧美日韩一二区| 欧美吻胸吃奶大尺度电影| 91亚洲精华国产精华精华液| 国产a区久久久| 福利一区福利二区| 国产福利一区二区三区| 国产成人自拍在线| 国产精华液一区二区三区| 国产精品亚洲视频| 国产成人日日夜夜| 成人午夜激情片| 不卡视频在线看| 99国产精品久久久久久久久久久| 成人激情校园春色| gogo大胆日本视频一区| 不卡的av电影在线观看| 成人av在线看| 91香蕉视频污| 欧洲精品一区二区三区在线观看| 欧美性videosxxxxx| 欧美色图免费看| 91精品国产综合久久精品图片| 538在线一区二区精品国产| 欧美一区午夜视频在线观看| 日韩欧美中文一区二区| www国产成人| 综合色天天鬼久久鬼色| 一区二区三区波多野结衣在线观看 | 久久婷婷久久一区二区三区| 精品剧情v国产在线观看在线| 久久久精品tv| 最新国产の精品合集bt伙计| 一区二区三区国产豹纹内裤在线| 日韩精品一二三区| 国模大尺度一区二区三区| 国产麻豆日韩欧美久久| 91亚洲男人天堂| 在线播放视频一区| 久久精品一区蜜桃臀影院| 亚洲欧美成人一区二区三区| 日韩av午夜在线观看| 成人丝袜18视频在线观看| 欧美日免费三级在线| 精品入口麻豆88视频| 亚洲图片你懂的| 免费成人在线视频观看| 成人综合在线观看| 欧美欧美欧美欧美| 国产日产亚洲精品系列| 亚洲丰满少妇videoshd| 国产河南妇女毛片精品久久久| 在线影视一区二区三区| 精品捆绑美女sm三区| 一区二区在线电影| 国模少妇一区二区三区| 欧美色倩网站大全免费| 国产清纯在线一区二区www| 亚洲成人资源网| 成人黄色a**站在线观看| 884aa四虎影成人精品一区| 亚洲国产精品精华液ab| 日本欧美一区二区三区乱码| 91免费视频网| 精品国产露脸精彩对白 | 五月天国产精品| 成人国产精品免费观看视频| 日韩欧美国产高清| 一区二区三区欧美视频| 国产白丝网站精品污在线入口| 91精选在线观看| 亚洲欧美福利一区二区| 成人亚洲一区二区一| 精品欧美一区二区在线观看 | 欧美亚洲丝袜传媒另类| 中文字幕乱码久久午夜不卡 | 日韩电影免费一区| 99久久精品免费观看| 国产三级精品视频| 久久国产精品99精品国产| 7777精品伊人久久久大香线蕉完整版| 亚洲欧美在线另类| 国产99久久久精品| 久久这里只有精品视频网| 男人的j进女人的j一区| 8x8x8国产精品| 天天av天天翘天天综合网| 91蜜桃免费观看视频| 国产精品久久午夜| 成人高清在线视频| 亚洲国产精品传媒在线观看| 国产精品伊人色| 日本一区二区三区在线观看| 国产一区二区三区电影在线观看| 欧美大白屁股肥臀xxxxxx| 蜜桃视频一区二区三区在线观看| 91精品一区二区三区在线观看|