Пример #1
0
/**
 * qlcnic_83xx_init_mgmt_vnic
 *
 * @adapter: adapter structure
 * Management virtual NIC sets the operational mode of other vNIC's and
 * configures embedded switch (ESWITCH).
 * Returns: Success(0) or error code.
 *
 **/
static int qlcnic_83xx_init_mgmt_vnic(struct qlcnic_adapter *adapter)
{
    int err = -EIO;

    qlcnic_83xx_get_minidump_template(adapter);
    if (!(adapter->flags & QLCNIC_ADAPTER_INITIALIZED)) {
        if (qlcnic_init_pci_info(adapter))
            return err;

        if (qlcnic_83xx_set_vnic_opmode(adapter))
            return err;

        if (qlcnic_set_default_offload_settings(adapter))
            return err;
    } else {
        if (qlcnic_reset_npar_config(adapter))
            return err;
    }

    if (qlcnic_83xx_get_port_info(adapter))
        return err;

    qlcnic_83xx_config_vnic_buff_descriptors(adapter);
    adapter->ahw->msix_supported = !!qlcnic_use_msi_x;
    adapter->flags |= QLCNIC_ADAPTER_INITIALIZED;
    qlcnic_83xx_enable_vnic_mode(adapter, 1);

    dev_info(&adapter->pdev->dev, "HAL Version: %d, Management function\n",
             adapter->ahw->fw_hal_version);

    return 0;
}
Пример #2
0
static int qlcnic_sriov_vf_init_driver(struct qlcnic_adapter *adapter)
{
	struct qlcnic_hardware_context *ahw = adapter->ahw;
	struct qlcnic_info nic_info;
	int err;

	err = qlcnic_sriov_get_vf_vport_info(adapter, &nic_info, 0);
	if (err)
		return err;

	ahw->max_mc_count = nic_info.max_rx_mcast_mac_filters;

	err = qlcnic_get_nic_info(adapter, &nic_info, ahw->pci_func);
	if (err)
		return -EIO;

	if (qlcnic_83xx_get_port_info(adapter))
		return -EIO;

	qlcnic_sriov_vf_cfg_buff_desc(adapter);
	adapter->flags |= QLCNIC_ADAPTER_INITIALIZED;
	dev_info(&adapter->pdev->dev, "HAL Version: %d\n",
		 adapter->ahw->fw_hal_version);

	ahw->physical_port = (u8) nic_info.phys_port;
	ahw->switch_mode = nic_info.switch_mode;
	ahw->max_mtu = nic_info.max_mtu;
	ahw->op_mode = nic_info.op_mode;
	ahw->capabilities = nic_info.capabilities;
	return 0;
}
Пример #3
0
static int qlcnic_83xx_init_privileged_vnic(struct qlcnic_adapter *adapter)
{
    int err = -EIO;

    qlcnic_83xx_get_minidump_template(adapter);
    if (qlcnic_83xx_get_port_info(adapter))
        return err;

    qlcnic_83xx_config_vnic_buff_descriptors(adapter);
    adapter->ahw->msix_supported = !!qlcnic_use_msi_x;
    adapter->flags |= QLCNIC_ADAPTER_INITIALIZED;

    dev_info(&adapter->pdev->dev,
             "HAL Version: %d, Privileged function\n",
             adapter->ahw->fw_hal_version);
    return 0;
}