Lines Matching defs:ice_pf
546 struct ice_pf { struct
547 struct pci_dev *pdev;
549 struct devlink_region *nvm_region;
550 struct devlink_region *sram_region;
551 struct devlink_region *devcaps_region;
554 struct devlink_port devlink_port;
557 struct msix_entry *msix_entries;
558 struct ice_irq_tracker irq_tracker;
563 u16 sriov_base_vector;
564 unsigned long *sriov_irq_bm; /* bitmap to track irq usage */
565 u16 sriov_irq_size; /* size of the irq_bm bitmap */
567 u16 ctrl_vsi_idx; /* control VSI index in pf->vsi array */
569 struct ice_vsi **vsi; /* VSIs created by the driver */
570 struct ice_vsi_stats **vsi_stats;
571 struct ice_sw *first_sw; /* first switch created by firmware */
572 u16 eswitch_mode; /* current mode of eswitch */
573 struct dentry *ice_debugfs_pf;
574 struct dentry *ice_debugfs_pf_fwlog;
576 struct dentry **ice_debugfs_pf_fwlog_modules;
577 struct ice_vfs vfs;
582 unsigned long *avail_txqs; /* bitmap to track PF Tx queue usage */
583 unsigned long *avail_rxqs; /* bitmap to track PF Rx queue usage */
584 unsigned long serv_tmr_period;
585 unsigned long serv_tmr_prev;
586 struct timer_list serv_tmr;
587 struct work_struct serv_task;
588 struct mutex avail_q_mutex; /* protects access to avail_[rx|tx]qs */
589 struct mutex sw_mutex; /* lock for protecting VSI alloc flow */
590 struct mutex tc_mutex; /* lock to protect TC changes */
591 struct mutex adev_mutex; /* lock to protect aux device access */
592 struct mutex lag_mutex; /* protect ice_lag struct in PF */
593 u32 msg_enable;
594 struct ice_ptp ptp;
595 struct gnss_serial *gnss_serial;
596 struct gnss_device *gnss_dev;
597 u16 num_rdma_msix; /* Total MSIX vectors for RDMA driver */
598 u16 rdma_base_vector;
601 spinlock_t aq_wait_lock;
602 struct hlist_head aq_wait_list;
603 wait_queue_head_t aq_wait_queue;
604 bool fw_emp_reset_disabled;
606 wait_queue_head_t reset_wait_queue;
608 u32 hw_csum_rx_error;
609 u32 oicr_err_reg;
610 struct msi_map oicr_irq; /* Other interrupt cause MSIX vector */
611 struct msi_map ll_ts_irq; /* LL_TS interrupt MSIX vector */
612 u16 max_pf_txqs; /* Total Tx queues PF wide */
613 u16 max_pf_rxqs; /* Total Rx queues PF wide */
614 u16 num_lan_msix; /* Total MSIX vectors for base driver */
615 u16 num_lan_tx; /* num LAN Tx queues setup */
616 u16 num_lan_rx; /* num LAN Rx queues setup */
617 u16 next_vsi; /* Next free slot in pf->vsi[] - 0-based! */
618 u16 num_alloc_vsi;
619 u16 corer_count; /* Core reset count */
620 u16 globr_count; /* Global reset count */
621 u16 empr_count; /* EMP reset count */
622 u16 pfr_count; /* PF reset count */
624 u8 wol_ena : 1; /* software state of WoL */
625 u32 wakeup_reason; /* last wakeup reason */
626 struct ice_hw_port_stats stats;
627 struct ice_hw_port_stats stats_prev;
628 struct ice_hw hw;
629 u8 stat_prev_loaded:1; /* has previous stats been loaded */
630 u8 rdma_mode;
631 u16 dcbx_cap;
632 u32 tx_timeout_count;
633 unsigned long tx_timeout_last_recovery;
634 u32 tx_timeout_recovery_level;
635 char int_name[ICE_INT_NAME_STR_LEN];
636 char int_name_ll_ts[ICE_INT_NAME_STR_LEN];
637 struct auxiliary_device *adev;
638 int aux_idx;
639 u32 sw_int_count;
643 u16 num_dmac_chnl_fltrs;
644 struct hlist_head tc_flower_fltr_list;
646 u64 supported_rxdids;
648 __le64 nvm_phy_type_lo; /* NVM PHY type low */
649 __le64 nvm_phy_type_hi; /* NVM PHY type high */
650 struct ice_link_default_override_tlv link_dflt_override;
651 struct ice_lag *lag; /* Link Aggregation information */
653 struct ice_eswitch eswitch;
654 struct ice_esw_br_port *br_port;
659 struct ice_agg_node pf_agg_node[ICE_MAX_PF_AGG_NODES];
662 struct ice_agg_node vf_agg_node[ICE_MAX_VF_AGG_NODES];
663 struct ice_dplls dplls;
664 struct device *hwmon_dev;