/* mode to enable special 4-bit interrupt assertion without clock */ #define SDIO_IRQ_MODE_ASYNC_4BIT_IRQ BIT(0) #define SDIO_IRQ_MODE_ASYNC_4BIT_IRQ_SDIO3 BIT(1)
#define ATH10K_SDIO_TARGET_DEBUG_INTR_MASK 0x01
/* The theoretical maximum number of RX messages that can be fetched *fromthemboxinterrupthandlerinoneloopisderivedinthefollowing *way: * *Let'sassumethateachpacketinabundleofthemaximumbundlesize *(HTC_HOST_MAX_MSG_PER_RX_BUNDLE)hastheHTCheaderbundlecountset *tothemaximumvalue(HTC_HOST_MAX_MSG_PER_RX_BUNDLE). * *inthiscasethedrivermustallocate *(HTC_HOST_MAX_MSG_PER_RX_BUNDLE*2)skb's.
*/ #define ATH10K_SDIO_MAX_RX_MSGS \
(HTC_HOST_MAX_MSG_PER_RX_BUNDLE * 2)
/* TODO: remove this and use skb->cb instead, much cleaner approach */ struct ath10k_sdio_bus_request { struct list_head list;
/* sdio address */
u32 address;
struct sk_buff *skb; enum ath10k_htc_ep_id eid; int status; /* Specifies if the current request is an HTC message. *Ifnot,theeidisnotapplicableantheTXcompletionhandler *associatedwiththeendpointwillnotbeinvoked.
*/ bool htc_msg; /* Completion that (if set) will be invoked for non HTC requests *(htc_msg==false)whentherequesthasbeenprocessed.
*/ struct completion *comp;
};
/* available bus requests */ struct ath10k_sdio_bus_request bus_req[ATH10K_SDIO_BUS_REQUEST_MAX_NUM]; /* free list of bus requests */ struct list_head bus_req_freeq;
struct sk_buff_head rx_head;
/* protects access to bus_req_freeq */
spinlock_t lock;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.