fm10k/base: allow removal of slot appropriate check
The Linux Kernel provides the OS a call "pcie_get_minimum_link" which can crawl the PCIe tree and determine the actual minimum link speed of a device which is a more general check than provided by is_slot_appropriate. Thus, the kernel driver does not use or want the is_slot_appropriate function call. Add a NO_IS_SLOT_APPROPRIATE_CHECK definition which can be defined to remove the code. If left undefined (the default) then the code will all be active and no driver changes should be necessary. Signed-off-by: Wang Xiao W <xiao.w.wang@intel.com> Tested-by: Heng Ding <hengx.ding@intel.com> Acked-by: Jing Chen <jing.d.chen@intel.com>
This commit is contained in:
parent
49670b6eae
commit
794b799086
@ -181,6 +181,7 @@ s32 fm10k_get_bus_info(struct fm10k_hw *hw)
|
||||
FM10K_NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
#ifndef NO_IS_SLOT_APPROPRIATE_CHECK
|
||||
/**
|
||||
* fm10k_is_slot_appropriate - Indicate appropriate slot for this SKU
|
||||
* @hw: pointer to hardware structure
|
||||
@ -195,6 +196,7 @@ bool fm10k_is_slot_appropriate(struct fm10k_hw *hw)
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
/**
|
||||
* fm10k_update_vlan - Clear VLAN ID to VLAN filter table
|
||||
* @hw: pointer to hardware structure
|
||||
|
@ -44,7 +44,9 @@ s32 fm10k_stop_hw(struct fm10k_hw *hw);
|
||||
s32 fm10k_start_hw(struct fm10k_hw *hw);
|
||||
s32 fm10k_init_shared_code(struct fm10k_hw *hw);
|
||||
s32 fm10k_get_bus_info(struct fm10k_hw *hw);
|
||||
#ifndef NO_IS_SLOT_APPROPRIATE_CHECK
|
||||
bool fm10k_is_slot_appropriate(struct fm10k_hw *hw);
|
||||
#endif
|
||||
s32 fm10k_update_vlan(struct fm10k_hw *hw, u32 vid, u8 idx, bool set);
|
||||
s32 fm10k_read_mac_addr(struct fm10k_hw *hw);
|
||||
void fm10k_update_hw_stats(struct fm10k_hw *hw, struct fm10k_hw_stats *stats);
|
||||
|
@ -216,6 +216,7 @@ STATIC s32 fm10k_init_hw_pf(struct fm10k_hw *hw)
|
||||
return FM10K_SUCCESS;
|
||||
}
|
||||
|
||||
#ifndef NO_IS_SLOT_APPROPRIATE_CHECK
|
||||
/**
|
||||
* fm10k_is_slot_appropriate_pf - Indicate appropriate slot for this SKU
|
||||
* @hw: pointer to hardware structure
|
||||
@ -231,6 +232,7 @@ STATIC bool fm10k_is_slot_appropriate_pf(struct fm10k_hw *hw)
|
||||
(hw->bus.width == hw->bus_caps.width);
|
||||
}
|
||||
|
||||
#endif
|
||||
/**
|
||||
* fm10k_update_vlan_pf - Update status of VLAN ID in VLAN filter table
|
||||
* @hw: pointer to hardware structure
|
||||
@ -2064,7 +2066,9 @@ s32 fm10k_init_ops_pf(struct fm10k_hw *hw)
|
||||
mac->ops.init_hw = &fm10k_init_hw_pf;
|
||||
mac->ops.start_hw = &fm10k_start_hw_generic;
|
||||
mac->ops.stop_hw = &fm10k_stop_hw_generic;
|
||||
#ifndef NO_IS_SLOT_APPROPRIATE_CHECK
|
||||
mac->ops.is_slot_appropriate = &fm10k_is_slot_appropriate_pf;
|
||||
#endif
|
||||
mac->ops.update_vlan = &fm10k_update_vlan_pf;
|
||||
mac->ops.read_mac_addr = &fm10k_read_mac_addr_pf;
|
||||
mac->ops.update_uc_addr = &fm10k_update_uc_addr_pf;
|
||||
|
@ -679,7 +679,9 @@ struct fm10k_mac_ops {
|
||||
s32 (*stop_hw)(struct fm10k_hw *);
|
||||
s32 (*get_bus_info)(struct fm10k_hw *);
|
||||
s32 (*get_host_state)(struct fm10k_hw *, bool *);
|
||||
#ifndef NO_IS_SLOT_APPROPRIATE_CHECK
|
||||
bool (*is_slot_appropriate)(struct fm10k_hw *);
|
||||
#endif
|
||||
s32 (*update_vlan)(struct fm10k_hw *, u32, u8, bool);
|
||||
s32 (*read_mac_addr)(struct fm10k_hw *);
|
||||
s32 (*update_uc_addr)(struct fm10k_hw *, u16, const u8 *,
|
||||
|
@ -178,6 +178,7 @@ STATIC s32 fm10k_init_hw_vf(struct fm10k_hw *hw)
|
||||
return err;
|
||||
}
|
||||
|
||||
#ifndef NO_IS_SLOT_APPROPRIATE_CHECK
|
||||
/**
|
||||
* fm10k_is_slot_appropriate_vf - Indicate appropriate slot for this SKU
|
||||
* @hw: pointer to hardware structure
|
||||
@ -194,6 +195,7 @@ STATIC bool fm10k_is_slot_appropriate_vf(struct fm10k_hw *hw)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#endif
|
||||
/* This structure defines the attibutes to be parsed below */
|
||||
const struct fm10k_tlv_attr fm10k_mac_vlan_msg_attr[] = {
|
||||
FM10K_TLV_ATTR_U32(FM10K_MAC_VLAN_MSG_VLAN),
|
||||
@ -648,7 +650,9 @@ s32 fm10k_init_ops_vf(struct fm10k_hw *hw)
|
||||
mac->ops.init_hw = &fm10k_init_hw_vf;
|
||||
mac->ops.start_hw = &fm10k_start_hw_generic;
|
||||
mac->ops.stop_hw = &fm10k_stop_hw_vf;
|
||||
#ifndef NO_IS_SLOT_APPROPRIATE_CHECK
|
||||
mac->ops.is_slot_appropriate = &fm10k_is_slot_appropriate_vf;
|
||||
#endif
|
||||
mac->ops.update_vlan = &fm10k_update_vlan_vf;
|
||||
mac->ops.read_mac_addr = &fm10k_read_mac_addr_vf;
|
||||
mac->ops.update_uc_addr = &fm10k_update_uc_addr_vf;
|
||||
|
Loading…
Reference in New Issue
Block a user