/** * idpf_idc_init - Called to initialize IDC * @adapter: driver private data structure * * Return: 0 on success or cap not enabled, error code on failure.
*/ int idpf_idc_init(struct idpf_adapter *adapter)
{ int err;
if (!idpf_is_rdma_cap_ena(adapter) ||
!adapter->dev_ops.idc_init) return 0;
err = adapter->dev_ops.idc_init(adapter); if (err)
dev_err(&adapter->pdev->dev, "failed to initialize idc: %d\n",
err);
return err;
}
/** * idpf_vport_adev_release - function to be mapped to aux dev's release op * @dev: pointer to device to free
*/ staticvoid idpf_vport_adev_release(struct device *dev)
{ struct iidc_rdma_vport_auxiliary_dev *iadev;
/** * idpf_core_adev_release - function to be mapped to aux dev's release op * @dev: pointer to device to free
*/ staticvoid idpf_core_adev_release(struct device *dev)
{ struct iidc_rdma_core_auxiliary_dev *iadev;
/** * idpf_idc_vport_dev_up - called when CORE is ready for vport aux devs * @adapter: private data struct * * Return: 0 on success or error code on failure.
*/ staticint idpf_idc_vport_dev_up(struct idpf_adapter *adapter)
{ int i, err = 0;
for (i = 0; i < adapter->num_alloc_vports; i++) { struct idpf_vport *vport = adapter->vports[i];
/** * idpf_idc_vport_dev_down - called CORE is leaving vport aux dev support state * @adapter: private data struct
*/ staticvoid idpf_idc_vport_dev_down(struct idpf_adapter *adapter)
{ int i;
for (i = 0; i < adapter->num_alloc_vports; i++) { struct idpf_vport *vport = adapter->vports[i];
/** * idpf_idc_vport_dev_ctrl - Called by an Auxiliary Driver * @cdev_info: IDC core device info pointer * @up: RDMA core driver status * * This callback function is accessed by an Auxiliary Driver to indicate * whether core driver is ready to support vport driver load or if vport * drivers need to be taken down. * * Return: 0 on success or error code on failure.
*/ int idpf_idc_vport_dev_ctrl(struct iidc_rdma_core_dev_info *cdev_info, bool up)
{ struct idpf_adapter *adapter = pci_get_drvdata(cdev_info->pdev);
/** * idpf_idc_request_reset - Called by an Auxiliary Driver * @cdev_info: IDC core device info pointer * @reset_type: function, core or other * * This callback function is accessed by an Auxiliary Driver to request a reset * on the Auxiliary Device. * * Return: 0 on success or error code on failure.
*/ int idpf_idc_request_reset(struct iidc_rdma_core_dev_info *cdev_info, enum iidc_rdma_reset_type __always_unused reset_type)
{ struct idpf_adapter *adapter = pci_get_drvdata(cdev_info->pdev);
if (!idpf_is_reset_in_prog(adapter)) {
set_bit(IDPF_HR_FUNC_RESET, adapter->flags);
queue_delayed_work(adapter->vc_event_wq,
&adapter->vc_event_task,
msecs_to_jiffies(10));
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.