Loading drivers/net/qlge/qlge.h +2 −0 Original line number Diff line number Diff line Loading @@ -1430,6 +1430,7 @@ struct ql_adapter { /* Hardware information */ u32 chip_rev_id; u32 fw_rev_id; u32 func; /* PCI function for this adapter */ spinlock_t adapter_lock; Loading Loading @@ -1580,6 +1581,7 @@ void ql_mpi_idc_work(struct work_struct *work); void ql_mpi_port_cfg_work(struct work_struct *work); int ql_mb_get_fw_state(struct ql_adapter *qdev); int ql_cam_route_initialize(struct ql_adapter *qdev); int ql_mb_about_fw(struct ql_adapter *qdev); #if 1 #define QL_ALL_DUMP Loading drivers/net/qlge/qlge_ethtool.c +4 −1 Original line number Diff line number Diff line Loading @@ -293,7 +293,10 @@ static void ql_get_drvinfo(struct net_device *ndev, struct ql_adapter *qdev = netdev_priv(ndev); strncpy(drvinfo->driver, qlge_driver_name, 32); strncpy(drvinfo->version, qlge_driver_version, 32); strncpy(drvinfo->fw_version, "N/A", 32); snprintf(drvinfo->fw_version, 32, "v%d.%d.%d", (qdev->fw_rev_id & 0x00ff0000) >> 16, (qdev->fw_rev_id & 0x0000ff00) >> 8, (qdev->fw_rev_id & 0x000000ff)); strncpy(drvinfo->bus_info, pci_name(qdev->pdev), 32); drvinfo->n_stats = 0; drvinfo->testinfo_len = 0; Loading drivers/net/qlge/qlge_main.c +7 −0 Original line number Diff line number Diff line Loading @@ -837,6 +837,13 @@ int ql_read_xgmac_reg64(struct ql_adapter *qdev, u32 reg, u64 *data) static int ql_8000_port_initialize(struct ql_adapter *qdev) { int status; /* * Get MPI firmware version for driver banner * and ethool info. */ status = ql_mb_about_fw(qdev); if (status) goto exit; status = ql_mb_get_fw_state(qdev); if (status) goto exit; Loading drivers/net/qlge/qlge_mpi.c +34 −0 Original line number Diff line number Diff line Loading @@ -547,6 +547,40 @@ static int ql_mailbox_command(struct ql_adapter *qdev, struct mbox_params *mbcp) return status; } /* Get MPI firmware version. This will be used for * driver banner and for ethtool info. * Returns zero on success. */ int ql_mb_about_fw(struct ql_adapter *qdev) { struct mbox_params mbc; struct mbox_params *mbcp = &mbc; int status = 0; memset(mbcp, 0, sizeof(struct mbox_params)); mbcp->in_count = 1; mbcp->out_count = 3; mbcp->mbox_in[0] = MB_CMD_ABOUT_FW; status = ql_mailbox_command(qdev, mbcp); if (status) return status; if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) { QPRINTK(qdev, DRV, ERR, "Failed about firmware command\n"); status = -EIO; } /* Store the firmware version */ qdev->fw_rev_id = mbcp->mbox_out[1]; return status; } /* Get functional state for MPI firmware. * Returns zero on success. */ Loading Loading
drivers/net/qlge/qlge.h +2 −0 Original line number Diff line number Diff line Loading @@ -1430,6 +1430,7 @@ struct ql_adapter { /* Hardware information */ u32 chip_rev_id; u32 fw_rev_id; u32 func; /* PCI function for this adapter */ spinlock_t adapter_lock; Loading Loading @@ -1580,6 +1581,7 @@ void ql_mpi_idc_work(struct work_struct *work); void ql_mpi_port_cfg_work(struct work_struct *work); int ql_mb_get_fw_state(struct ql_adapter *qdev); int ql_cam_route_initialize(struct ql_adapter *qdev); int ql_mb_about_fw(struct ql_adapter *qdev); #if 1 #define QL_ALL_DUMP Loading
drivers/net/qlge/qlge_ethtool.c +4 −1 Original line number Diff line number Diff line Loading @@ -293,7 +293,10 @@ static void ql_get_drvinfo(struct net_device *ndev, struct ql_adapter *qdev = netdev_priv(ndev); strncpy(drvinfo->driver, qlge_driver_name, 32); strncpy(drvinfo->version, qlge_driver_version, 32); strncpy(drvinfo->fw_version, "N/A", 32); snprintf(drvinfo->fw_version, 32, "v%d.%d.%d", (qdev->fw_rev_id & 0x00ff0000) >> 16, (qdev->fw_rev_id & 0x0000ff00) >> 8, (qdev->fw_rev_id & 0x000000ff)); strncpy(drvinfo->bus_info, pci_name(qdev->pdev), 32); drvinfo->n_stats = 0; drvinfo->testinfo_len = 0; Loading
drivers/net/qlge/qlge_main.c +7 −0 Original line number Diff line number Diff line Loading @@ -837,6 +837,13 @@ int ql_read_xgmac_reg64(struct ql_adapter *qdev, u32 reg, u64 *data) static int ql_8000_port_initialize(struct ql_adapter *qdev) { int status; /* * Get MPI firmware version for driver banner * and ethool info. */ status = ql_mb_about_fw(qdev); if (status) goto exit; status = ql_mb_get_fw_state(qdev); if (status) goto exit; Loading
drivers/net/qlge/qlge_mpi.c +34 −0 Original line number Diff line number Diff line Loading @@ -547,6 +547,40 @@ static int ql_mailbox_command(struct ql_adapter *qdev, struct mbox_params *mbcp) return status; } /* Get MPI firmware version. This will be used for * driver banner and for ethtool info. * Returns zero on success. */ int ql_mb_about_fw(struct ql_adapter *qdev) { struct mbox_params mbc; struct mbox_params *mbcp = &mbc; int status = 0; memset(mbcp, 0, sizeof(struct mbox_params)); mbcp->in_count = 1; mbcp->out_count = 3; mbcp->mbox_in[0] = MB_CMD_ABOUT_FW; status = ql_mailbox_command(qdev, mbcp); if (status) return status; if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) { QPRINTK(qdev, DRV, ERR, "Failed about firmware command\n"); status = -EIO; } /* Store the firmware version */ qdev->fw_rev_id = mbcp->mbox_out[1]; return status; } /* Get functional state for MPI firmware. * Returns zero on success. */ Loading