aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/mcdi.c
diff options
context:
space:
mode:
authorMatthew Slattery <mslattery@solarflare.com>2010-07-14 10:36:19 -0400
committerBen Hutchings <bhutchings@solarflare.com>2012-01-26 19:10:49 -0500
commit6aa9c7f625e8ce07060467051b68fc068118ee64 (patch)
treec4a68f16a11c66b2a91079173e7a123137dc211a /drivers/net/ethernet/sfc/mcdi.c
parent5f3f9d6c441faa323444b2f6b092d630fcd7d04c (diff)
sfc: Support extraction of CAPABILITIES from GET_BOARD_CFG response.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc/mcdi.c')
-rw-r--r--drivers/net/ethernet/sfc/mcdi.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/ethernet/sfc/mcdi.c b/drivers/net/ethernet/sfc/mcdi.c
index e5837a6485a1..f1cad22b30fa 100644
--- a/drivers/net/ethernet/sfc/mcdi.c
+++ b/drivers/net/ethernet/sfc/mcdi.c
@@ -678,7 +678,7 @@ fail:
678} 678}
679 679
680int efx_mcdi_get_board_cfg(struct efx_nic *efx, u8 *mac_address, 680int efx_mcdi_get_board_cfg(struct efx_nic *efx, u8 *mac_address,
681 u16 *fw_subtype_list) 681 u16 *fw_subtype_list, u32 *capabilities)
682{ 682{
683 uint8_t outbuf[MC_CMD_GET_BOARD_CFG_OUT_LENMIN]; 683 uint8_t outbuf[MC_CMD_GET_BOARD_CFG_OUT_LENMIN];
684 size_t outlen; 684 size_t outlen;
@@ -708,6 +708,14 @@ int efx_mcdi_get_board_cfg(struct efx_nic *efx, u8 *mac_address,
708 outbuf + MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_OFST, 708 outbuf + MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_OFST,
709 MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_MINNUM * 709 MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_MINNUM *
710 sizeof(fw_subtype_list[0])); 710 sizeof(fw_subtype_list[0]));
711 if (capabilities) {
712 if (port_num)
713 *capabilities = MCDI_DWORD(outbuf,
714 GET_BOARD_CFG_OUT_CAPABILITIES_PORT1);
715 else
716 *capabilities = MCDI_DWORD(outbuf,
717 GET_BOARD_CFG_OUT_CAPABILITIES_PORT0);
718 }
711 719
712 return 0; 720 return 0;
713 721