qed: Introduce VFs
This adds the qed VFs for the first time - The vfs are limited functions, with a very different PCI bar structure [when compared with PFs] to better impose the related security demands associated with them. This patch includes the logic neccesary to allow VFs to successfully probe [without actually adding the ability to enable iov]. This includes diverging all the flows that would occur as part of the pci probe of the driver, preventing VF from accessing registers/memories it can't and instead utilize the VF->PF channel to query the PF for needed information. Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
このコミットが含まれているのは:
@@ -311,6 +311,8 @@ struct qed_hwfn {
|
||||
bool first_on_engine;
|
||||
bool hw_init_done;
|
||||
|
||||
u8 num_funcs_on_engine;
|
||||
|
||||
/* BAR access */
|
||||
void __iomem *regview;
|
||||
void __iomem *doorbells;
|
||||
@@ -361,6 +363,7 @@ struct qed_hwfn {
|
||||
/* True if the driver requests for the link */
|
||||
bool b_drv_link_init;
|
||||
|
||||
struct qed_vf_iov *vf_iov_info;
|
||||
struct qed_pf_iov *pf_iov_info;
|
||||
struct qed_mcp_info *mcp_info;
|
||||
|
||||
@@ -497,6 +500,8 @@ struct qed_dev {
|
||||
#define IS_QED_SRIOV(cdev) (!!(cdev)->p_iov_info)
|
||||
|
||||
unsigned long tunn_mode;
|
||||
|
||||
bool b_is_vf;
|
||||
u32 drv_type;
|
||||
|
||||
struct qed_eth_stats *reset_stats;
|
||||
|
新しいイシューから参照
ユーザーをブロックする