HV: remove vdev ops for partition mode

Remove vdev ops for partition mode, change related code to directly call the corresponding
functions instead

Remove struct pci_vdev_ops from vpci.h

Add @pre for pci_find_vdev_by_pbdf and pci_find_vdev_by_vbdf/partition_mode_vpci_init

Change the return value from int32_t to void to comply with misra c and
add ASSERT/panic in the functions (if necessary):
 vdev_hostbridge_init
 vdev_hostbridge_deinit
 vdev_pt_init
 vdev_pt_deinit

Still use pr_err in partition_mode_cfgread and partition_mode_cfgwrite to check if vdev cfgread/cfgwrite
access is aligned on 1/2/4 bytes, which is the only case that vdev cfgread/cfgwrite will return
nonzero, pr_err will be removed in subsequent patch titled "unify the sharing
mode and partition mode coding style for similar functions"

Remove @pre for local variables

Add ASSERT in partition_mode_pdev_init to check if pdev is NULL (user config
error)

Tracked-On: #2534
Signed-off-by: dongshen <dongsheng.x.zhang@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
dongshen
2019-03-06 14:38:42 -08:00
committed by Eddie Dong
parent b1cc18810e
commit a7f528cfd0
6 changed files with 73 additions and 99 deletions

View File

@@ -39,7 +39,7 @@
#include <pci.h>
#include "pci_priv.h"
int32_t vdev_hostbridge_init(struct pci_vdev *vdev)
void vdev_hostbridge_init(struct pci_vdev *vdev)
{
/* PCI config space */
pci_vdev_write_cfg_u16(vdev, PCIR_VENDOR, (uint16_t)0x8086U);
@@ -82,13 +82,10 @@ int32_t vdev_hostbridge_init(struct pci_vdev *vdev)
pci_vdev_write_cfg_u8(vdev, 0xf5U, (uint8_t)0xfU);
pci_vdev_write_cfg_u8(vdev, 0xf6U, (uint8_t)0x1cU);
pci_vdev_write_cfg_u8(vdev, 0xf7U, (uint8_t)0x1U);
return 0;
}
int32_t vdev_hostbridge_deinit(__unused const struct pci_vdev *vdev)
void vdev_hostbridge_deinit(__unused const struct pci_vdev *vdev)
{
return 0;
}
int32_t vdev_hostbridge_cfgread(const struct pci_vdev *vdev, uint32_t offset,
@@ -119,11 +116,3 @@ int32_t vdev_hostbridge_cfgwrite(struct pci_vdev *vdev, uint32_t offset,
return 0;
}
const struct pci_vdev_ops pci_ops_vdev_hostbridge = {
.init = vdev_hostbridge_init,
.deinit = vdev_hostbridge_deinit,
.cfgwrite = vdev_hostbridge_cfgwrite,
.cfgread = vdev_hostbridge_cfgread,
};