net/mlx4_core: Set device configuration data to be persistent across reset
[deliverable/linux.git] / include / linux / mlx4 / device.h
index 25c791e295fd5355650a3db42bc69ddc1adf2cc8..8c3837ac1a2de965da6964dc07c41d5d4a78b630 100644 (file)
@@ -42,7 +42,7 @@
 
 #include <linux/atomic.h>
 
-#include <linux/clocksource.h>
+#include <linux/timecounter.h>
 
 #define MAX_MSIX_P_PORT                17
 #define MAX_MSIX               64
@@ -744,8 +744,17 @@ struct mlx4_vf_dev {
        u8                      n_ports;
 };
 
-struct mlx4_dev {
+struct mlx4_dev_persistent {
        struct pci_dev         *pdev;
+       struct mlx4_dev        *dev;
+       int                     nvfs[MLX4_MAX_PORTS + 1];
+       int                     num_vfs;
+       enum mlx4_port_type curr_port_type[MLX4_MAX_PORTS + 1];
+       enum mlx4_port_type curr_port_poss_type[MLX4_MAX_PORTS + 1];
+};
+
+struct mlx4_dev {
+       struct mlx4_dev_persistent *persist;
        unsigned long           flags;
        unsigned long           num_slaves;
        struct mlx4_caps        caps;
@@ -754,13 +763,11 @@ struct mlx4_dev {
        struct radix_tree_root  qp_table_tree;
        u8                      rev_id;
        char                    board_id[MLX4_BOARD_ID_LEN];
-       int                     num_vfs;
        int                     numa_node;
        int                     oper_log_mgm_entry_size;
        u64                     regid_promisc_array[MLX4_MAX_PORTS + 1];
        u64                     regid_allmulti_array[MLX4_MAX_PORTS + 1];
        struct mlx4_vf_dev     *dev_vfs;
-       int                     nvfs[MLX4_MAX_PORTS + 1];
 };
 
 struct mlx4_eqe {
This page took 0.027537 seconds and 5 git commands to generate.