|
@@ -1402,6 +1402,15 @@ static inline u32 bnxt_tx_avail(struct bnxt *bp, struct bnxt_tx_ring_info *txr)
|
|
|
((txr->tx_prod - txr->tx_cons) & bp->tx_ring_mask);
|
|
|
}
|
|
|
|
|
|
+/* For TX and RX ring doorbells with no ordering guarantee*/
|
|
|
+static inline void bnxt_db_write_relaxed(struct bnxt *bp, void __iomem *db,
|
|
|
+ u32 val)
|
|
|
+{
|
|
|
+ writel_relaxed(val, db);
|
|
|
+ if (bp->flags & BNXT_FLAG_DOUBLE_DB)
|
|
|
+ writel_relaxed(val, db);
|
|
|
+}
|
|
|
+
|
|
|
/* For TX and RX ring doorbells */
|
|
|
static inline void bnxt_db_write(struct bnxt *bp, void __iomem *db, u32 val)
|
|
|
{
|