]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
cxgb4: DB Drop Recovery for RDMA and LLD queues
[karo-tx-linux.git] / drivers / net / ethernet / chelsio / cxgb4 / cxgb4_uld.h
index 5cc2f27d60c7c7665087effa54fedd2bdc2e92ea..d79980c5fc630e44396b3b66af7b4a1ded1cf36c 100644 (file)
@@ -218,6 +218,7 @@ struct cxgb4_lld_info {
        unsigned short ucq_density;          /* # of user CQs/page */
        void __iomem *gts_reg;               /* address of GTS register */
        void __iomem *db_reg;                /* address of kernel doorbell */
+       int dbfifo_int_thresh;               /* doorbell fifo int threshold */
 };
 
 struct cxgb4_uld_info {
@@ -226,6 +227,7 @@ struct cxgb4_uld_info {
        int (*rx_handler)(void *handle, const __be64 *rsp,
                          const struct pkt_gl *gl);
        int (*state_change)(void *handle, enum cxgb4_state new_state);
+       int (*control)(void *handle, enum cxgb4_control control, ...);
 };
 
 int cxgb4_register_uld(enum cxgb4_uld type, const struct cxgb4_uld_info *p);
@@ -243,4 +245,6 @@ void cxgb4_iscsi_init(struct net_device *dev, unsigned int tag_mask,
                      const unsigned int *pgsz_order);
 struct sk_buff *cxgb4_pktgl_to_skb(const struct pkt_gl *gl,
                                   unsigned int skb_len, unsigned int pull_len);
+int cxgb4_sync_txq_pidx(struct net_device *dev, u16 qid, u16 pidx, u16 size);
+int cxgb4_flush_eq_cache(struct net_device *dev);
 #endif  /* !__CXGB4_OFLD_H */