These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / net / ethernet / cisco / enic / vnic_wq.h
index 2961543..0120961 100644 (file)
@@ -88,6 +88,18 @@ struct vnic_wq {
        unsigned int pkts_outstanding;
 };
 
+struct devcmd2_controller {
+       struct vnic_wq_ctrl __iomem *wq_ctrl;
+       struct vnic_devcmd2 *cmd_ring;
+       struct devcmd2_result *result;
+       u16 next_result;
+       u16 result_size;
+       int color;
+       struct vnic_dev_ring results_ring;
+       struct vnic_wq wq;
+       u32 posted;
+};
+
 static inline unsigned int vnic_wq_desc_avail(struct vnic_wq *wq)
 {
        /* how many does SW own? */
@@ -174,5 +186,11 @@ void vnic_wq_enable(struct vnic_wq *wq);
 int vnic_wq_disable(struct vnic_wq *wq);
 void vnic_wq_clean(struct vnic_wq *wq,
        void (*buf_clean)(struct vnic_wq *wq, struct vnic_wq_buf *buf));
+int enic_wq_devcmd2_alloc(struct vnic_dev *vdev, struct vnic_wq *wq,
+                         unsigned int desc_count, unsigned int desc_size);
+void enic_wq_init_start(struct vnic_wq *wq, unsigned int cq_index,
+                       unsigned int fetch_index, unsigned int posted_index,
+                       unsigned int error_interrupt_enable,
+                       unsigned int error_interrupt_offset);
 
 #endif /* _VNIC_WQ_H_ */