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>
This commit is contained in:

committed by
David S. Miller

parent
37bff2b9c6
commit
1408cc1fa4
@@ -140,6 +140,13 @@ struct qed_link_output {
|
||||
u32 pause_config;
|
||||
};
|
||||
|
||||
struct qed_probe_params {
|
||||
enum qed_protocol protocol;
|
||||
u32 dp_module;
|
||||
u8 dp_level;
|
||||
bool is_vf;
|
||||
};
|
||||
|
||||
#define QED_DRV_VER_STR_SIZE 12
|
||||
struct qed_slowpath_params {
|
||||
u32 int_mode;
|
||||
@@ -207,8 +214,7 @@ struct qed_common_ops {
|
||||
struct qed_selftest_ops *selftest;
|
||||
|
||||
struct qed_dev* (*probe)(struct pci_dev *dev,
|
||||
enum qed_protocol protocol,
|
||||
u32 dp_module, u8 dp_level);
|
||||
struct qed_probe_params *params);
|
||||
|
||||
void (*remove)(struct qed_dev *cdev);
|
||||
|
||||
|
Reference in New Issue
Block a user