struct hinic3_queue_pages { /* Array of DMA-able pages that actually holds the queue entries. */ struct hinic3_dma_addr_align *pages; /* Page size in bytes. */
u32 page_size; /* Number of pages, must be power of 2. */
u16 num_pages;
u8 elem_size_shift;
u8 elem_per_pg_shift;
};
/* Get pointer to queue entry at the specified index. Index does not have to be * masked to queue depth, only least significant bits will be used. Also * provides remaining elements in same page (including the first one) in case * caller needs multiple entries.
*/ staticinlinevoid *get_q_element(conststruct hinic3_queue_pages *qpages,
u32 idx, u32 *remaining_in_page)
{ conststruct hinic3_dma_addr_align *page;
u32 page_idx, elem_idx, elem_per_pg, ofs;
u8 shift;
¤ 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.0.0Bemerkung:
(vorverarbeitet)
¤
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.