]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - drivers/net/ethernet/amazon/ena/ena_com.h
net: ena: add hardware hints capability to the driver
[mirror_ubuntu-jammy-kernel.git] / drivers / net / ethernet / amazon / ena / ena_com.h
index c9b33ee5f258d85ff94685275b9bcf0c76c1002e..630c09ad35a5cb2a68fc767374c0d2e027b13eee 100644 (file)
@@ -97,6 +97,8 @@
 #define ENA_INTR_MODER_LEVEL_STRIDE                    2
 #define ENA_INTR_BYTE_COUNT_NOT_SUPPORTED              0xFFFFFF
 
+#define ENA_HW_HINTS_NO_TIMEOUT                                0xFFFF
+
 enum ena_intr_moder_level {
        ENA_INTR_MODER_LOWEST = 0,
        ENA_INTR_MODER_LOW,
@@ -232,7 +234,9 @@ struct ena_com_stats_admin {
 struct ena_com_admin_queue {
        void *q_dmadev;
        spinlock_t q_lock; /* spinlock for the admin queue */
+
        struct ena_comp_ctx *comp_ctx;
+       u32 completion_timeout;
        u16 q_depth;
        struct ena_com_admin_cq cq;
        struct ena_com_admin_sq sq;
@@ -267,6 +271,7 @@ struct ena_com_aenq {
 struct ena_com_mmio_read {
        struct ena_admin_ena_mmio_req_read_less_resp *read_resp;
        dma_addr_t read_resp_dma_addr;
+       u32 reg_read_to; /* in us */
        u16 seq_num;
        bool readless_supported;
        /* spin lock to ensure a single outstanding read */
@@ -336,6 +341,7 @@ struct ena_com_dev_get_features_ctx {
        struct ena_admin_device_attr_feature_desc dev_attr;
        struct ena_admin_feature_aenq_desc aenq;
        struct ena_admin_feature_offload_desc offload;
+       struct ena_admin_ena_hw_hints hw_hints;
 };
 
 struct ena_com_create_io_ctx {