diff options
author | Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com> | 2012-07-11 23:57:35 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-12 11:16:46 -0400 |
commit | b4e32a71692aa2b183d9df8d6558c169b47a263c (patch) | |
tree | 3387bfd95fd65e149b39ef3226f50708e60075cc /drivers/net/ethernet/emulex | |
parent | 19d59aa762f803d8663a2cdfb3f0c620f8e9512f (diff) |
be2net: Fix port name in message during driver load
Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/emulex')
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_cmds.c | 38 | ||||
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_cmds.h | 13 | ||||
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 8 |
3 files changed, 57 insertions, 2 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c index 34dfc0c5c774..8730f0e6af30 100644 --- a/drivers/net/ethernet/emulex/benet/be_cmds.c +++ b/drivers/net/ethernet/emulex/benet/be_cmds.c | |||
@@ -2716,6 +2716,44 @@ err: | |||
2716 | return status; | 2716 | return status; |
2717 | } | 2717 | } |
2718 | 2718 | ||
2719 | int be_cmd_query_port_name(struct be_adapter *adapter, u8 *port_name) | ||
2720 | { | ||
2721 | struct be_mcc_wrb *wrb; | ||
2722 | struct be_cmd_req_get_port_name *req; | ||
2723 | int status; | ||
2724 | |||
2725 | if (!lancer_chip(adapter)) { | ||
2726 | *port_name = adapter->hba_port_num + '0'; | ||
2727 | return 0; | ||
2728 | } | ||
2729 | |||
2730 | spin_lock_bh(&adapter->mcc_lock); | ||
2731 | |||
2732 | wrb = wrb_from_mccq(adapter); | ||
2733 | if (!wrb) { | ||
2734 | status = -EBUSY; | ||
2735 | goto err; | ||
2736 | } | ||
2737 | |||
2738 | req = embedded_payload(wrb); | ||
2739 | |||
2740 | be_wrb_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_COMMON, | ||
2741 | OPCODE_COMMON_GET_PORT_NAME, sizeof(*req), wrb, | ||
2742 | NULL); | ||
2743 | req->hdr.version = 1; | ||
2744 | |||
2745 | status = be_mcc_notify_wait(adapter); | ||
2746 | if (!status) { | ||
2747 | struct be_cmd_resp_get_port_name *resp = embedded_payload(wrb); | ||
2748 | *port_name = resp->port_name[adapter->hba_port_num]; | ||
2749 | } else { | ||
2750 | *port_name = adapter->hba_port_num + '0'; | ||
2751 | } | ||
2752 | err: | ||
2753 | spin_unlock_bh(&adapter->mcc_lock); | ||
2754 | return status; | ||
2755 | } | ||
2756 | |||
2719 | int be_roce_mcc_cmd(void *netdev_handle, void *wrb_payload, | 2757 | int be_roce_mcc_cmd(void *netdev_handle, void *wrb_payload, |
2720 | int wrb_payload_size, u16 *cmd_status, u16 *ext_status) | 2758 | int wrb_payload_size, u16 *cmd_status, u16 *ext_status) |
2721 | { | 2759 | { |
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.h b/drivers/net/ethernet/emulex/benet/be_cmds.h index c1324e74ba19..88f72374599c 100644 --- a/drivers/net/ethernet/emulex/benet/be_cmds.h +++ b/drivers/net/ethernet/emulex/benet/be_cmds.h | |||
@@ -186,6 +186,7 @@ struct be_mcc_mailbox { | |||
186 | #define OPCODE_COMMON_ENABLE_DISABLE_BEACON 69 | 186 | #define OPCODE_COMMON_ENABLE_DISABLE_BEACON 69 |
187 | #define OPCODE_COMMON_GET_BEACON_STATE 70 | 187 | #define OPCODE_COMMON_GET_BEACON_STATE 70 |
188 | #define OPCODE_COMMON_READ_TRANSRECV_DATA 73 | 188 | #define OPCODE_COMMON_READ_TRANSRECV_DATA 73 |
189 | #define OPCODE_COMMON_GET_PORT_NAME 77 | ||
189 | #define OPCODE_COMMON_GET_PHY_DETAILS 102 | 190 | #define OPCODE_COMMON_GET_PHY_DETAILS 102 |
190 | #define OPCODE_COMMON_SET_DRIVER_FUNCTION_CAP 103 | 191 | #define OPCODE_COMMON_SET_DRIVER_FUNCTION_CAP 103 |
191 | #define OPCODE_COMMON_GET_CNTL_ADDITIONAL_ATTRIBUTES 121 | 192 | #define OPCODE_COMMON_GET_CNTL_ADDITIONAL_ATTRIBUTES 121 |
@@ -1506,6 +1507,17 @@ struct be_cmd_resp_get_hsw_config { | |||
1506 | u32 rsvd; | 1507 | u32 rsvd; |
1507 | }; | 1508 | }; |
1508 | 1509 | ||
1510 | /******************* get port names ***************/ | ||
1511 | struct be_cmd_req_get_port_name { | ||
1512 | struct be_cmd_req_hdr hdr; | ||
1513 | u32 rsvd0; | ||
1514 | }; | ||
1515 | |||
1516 | struct be_cmd_resp_get_port_name { | ||
1517 | struct be_cmd_req_hdr hdr; | ||
1518 | u8 port_name[4]; | ||
1519 | }; | ||
1520 | |||
1509 | /*************** HW Stats Get v1 **********************************/ | 1521 | /*************** HW Stats Get v1 **********************************/ |
1510 | #define BE_TXP_SW_SZ 48 | 1522 | #define BE_TXP_SW_SZ 48 |
1511 | struct be_port_rxf_stats_v1 { | 1523 | struct be_port_rxf_stats_v1 { |
@@ -1772,4 +1784,5 @@ extern int be_cmd_set_ext_fat_capabilites(struct be_adapter *adapter, | |||
1772 | struct be_fat_conf_params *cfgs); | 1784 | struct be_fat_conf_params *cfgs); |
1773 | extern int lancer_wait_ready(struct be_adapter *adapter); | 1785 | extern int lancer_wait_ready(struct be_adapter *adapter); |
1774 | extern int lancer_test_and_set_rdy_state(struct be_adapter *adapter); | 1786 | extern int lancer_test_and_set_rdy_state(struct be_adapter *adapter); |
1787 | extern int be_cmd_query_port_name(struct be_adapter *adapter, u8 *port_name); | ||
1775 | 1788 | ||
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index cf6ad1f2bf52..7e989d06523f 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c | |||
@@ -3797,6 +3797,7 @@ static int __devinit be_probe(struct pci_dev *pdev, | |||
3797 | int status = 0; | 3797 | int status = 0; |
3798 | struct be_adapter *adapter; | 3798 | struct be_adapter *adapter; |
3799 | struct net_device *netdev; | 3799 | struct net_device *netdev; |
3800 | char port_name; | ||
3800 | 3801 | ||
3801 | status = pci_enable_device(pdev); | 3802 | status = pci_enable_device(pdev); |
3802 | if (status) | 3803 | if (status) |
@@ -3887,8 +3888,11 @@ static int __devinit be_probe(struct pci_dev *pdev, | |||
3887 | 3888 | ||
3888 | schedule_delayed_work(&adapter->func_recovery_work, | 3889 | schedule_delayed_work(&adapter->func_recovery_work, |
3889 | msecs_to_jiffies(1000)); | 3890 | msecs_to_jiffies(1000)); |
3890 | dev_info(&pdev->dev, "%s: %s port %d\n", netdev->name, nic_name(pdev), | 3891 | |
3891 | adapter->port_num); | 3892 | be_cmd_query_port_name(adapter, &port_name); |
3893 | |||
3894 | dev_info(&pdev->dev, "%s: %s port %c\n", netdev->name, nic_name(pdev), | ||
3895 | port_name); | ||
3892 | 3896 | ||
3893 | return 0; | 3897 | return 0; |
3894 | 3898 | ||