Changeset View
Standalone View
sys/dev/bnxt/if_bnxt.c
Context not available. | |||||
switch (phy_type) { | switch (phy_type) { | ||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASECR: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASECR: | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_100GB) | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASECR_CA_L: | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_100G_CR4, 0, | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASECR_CA_S: | ||||
NULL); | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASECR_CA_N: | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_50GB) | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASECR4: | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_50G_CR2, 0, | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASECR4: | ||||
NULL); | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_1G_BASECX: | ||||
shurd: Why is CX (twisted pair) mixed in with CR (twinax) here? | |||||
bhargava.marreddy_broadcom.comAuthorUnsubmitted Not Done Inline Actions
<Chenna> Taken care!!
<Chenna> Taken care!!
<Chenna> Taken care!!
<Chenna> bhargava.marreddy_broadcom.com: >> Why is CX (twisted pair) mixed in with CR (twinax) here?
<Chenna> Taken care!!
>> How would… | |||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_40GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MBHD, IFM_100_FX); | ||||
shurdUnsubmitted Done Inline ActionsHow would a CR module support FX media? shurd: How would a CR module support FX media? | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_40G_CR4, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_FX); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); | ||||
shurdUnsubmitted Done Inline ActionsHow does a CR module support CX media? shurd: How does a CR module support CX media? | |||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_25GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_T); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_25G_CR, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_CR1); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); | ||||
shurdUnsubmitted Done Inline ActionsThese media type don't seem even slightly related to the phy type. shurd: These media type don't seem even slightly related to the phy type. | |||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_10GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_CR); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_10G_CR1, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_CR4); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_CR2); | ||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_CR4); | |||||
break; | break; | ||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR4: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR4: | ||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR2: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR2: | ||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR: | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_100GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MBHD, IFM_100_FX); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_100G_KR4, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_FX); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_50GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_T); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_50G_KR2, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_KR); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_40GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_KR); | ||||
Done Inline ActionsI don't think there is a 50G LR media type. shurd: I don't think there is a 50G LR media type. | |||||
Not Done Inline ActionsTaken care by deleting it!! bhargava.marreddy_broadcom.com: Taken care by deleting it!! | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_40G_KR4, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_KR4); | ||||
Done Inline ActionsShould be IFM_40G_LR4 shurd: Should be IFM_40G_LR4 | |||||
Not Done Inline ActionsTaken care. bhargava.marreddy_broadcom.com: Taken care. | |||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR2); | ||||
Done Inline ActionsShould be IFM_25G_LR shurd: Should be IFM_25G_LR | |||||
Not Done Inline ActionsTaken care. bhargava.marreddy_broadcom.com: Taken care. | |||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_25GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_KR4); | ||||
Done Inline ActionsShouldn't this be IFM_10G_LR? shurd: Shouldn't this be IFM_10G_LR? | |||||
Not Done Inline ActionsTaken care bhargava.marreddy_broadcom.com: Taken care | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_25G_KR, 0, | |||||
NULL); | |||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_20GB) | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_20G_KR2, 0, | |||||
NULL); | |||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_10GB) | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_10G_KR, 0, | |||||
NULL); | |||||
break; | break; | ||||
Done Inline ActionsShould likely be IFM_1000_LX shurd: Should likely be IFM_1000_LX | |||||
Not Done Inline ActionsTaken care bhargava.marreddy_broadcom.com: Taken care | |||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASELR: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASELR: | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_100GB) | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASELR4: | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_100G_LR4, 0, | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASELR4: | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MBHD, IFM_100_FX); | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_40GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_FX); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_40G_LR4, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_T); | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_10GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_LR); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_10G_LR, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_KR); | ||||
Done Inline ActionsThis one is clearly wrong. I don't think there is a 50G SR media type. shurd: This one is clearly wrong. I don't think there is a 50G SR media type. | |||||
Not Done Inline ActionsDeleted!! Taken care. bhargava.marreddy_broadcom.com: Deleted!! Taken care. | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_LR4); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR2); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_LR4); | |||||
break; | break; | ||||
Done Inline ActionsSR is fibre, not copper. Should likely be IFM_1000_SX shurd: SR is fibre, not copper. Should likely be IFM_1000_SX | |||||
Not Done Inline ActionsTaken care bhargava.marreddy_broadcom.com: Taken care | |||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASESR: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASESR: | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_100GB) | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR10: | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_100G_SR4, 0, | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASESR4: | ||||
NULL); | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASESR: | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_40GB) | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR4: | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_40G_SR4, 0, | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_1G_BASESX: | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MBHD, IFM_100_FX); | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_25GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_FX); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_25G_SR, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_T); | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_10GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_SR); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_10G_SR, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); | ||||
Done Inline ActionsShould likely be IFM_1000_KX shurd: Should likely be IFM_1000_KX | |||||
Not Done Inline ActionsTaken care bhargava.marreddy_broadcom.com: Taken care | |||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_SR); | ||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_SR4); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR2); | |||||
Done Inline ActionsWhat is this? Direct attach or InfiniBand? shurd: What is this? Direct attach or InfiniBand? | |||||
Not Done Inline ActionsThat is "Direct attach" only, Let me use these till I get confirmation from firmware team. #define IFM_10G_AOC IFM_X(59) /* 10G active optical cable */ bhargava.marreddy_broadcom.com: That is "Direct attach" only,
Let me use these till I get confirmation from firmware team. | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_SR4); | |||||
break; | break; | ||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKX: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKX: | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_10GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MBHD, IFM_100_FX); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_10G_KX4, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_FX); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); | ||||
Done Inline ActionsRegardless of what it is, it's certainly not backplane. This is a speed duplicate of the above IFM_50G_CR2. shurd: Regardless of what it is, it's certainly not backplane. This is a speed duplicate of the above… | |||||
Not Done Inline ActionsYes, this is duplicate entry, I'll delete it. Sorry for that. bhargava.marreddy_broadcom.com: Yes, this is duplicate entry, I'll delete it. Sorry for that. | |||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_2_5GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_KX); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_2500_KX, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_2_5GB, IFM_2500_KX); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_SR); | ||||
Done Inline ActionsThis should likely go with the other SR types above (HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR10 etc). shurd: This should likely go with the other SR types above… | |||||
Not Done Inline ActionsTaken care!! bhargava.marreddy_broadcom.com: Taken care!! | |||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_1GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_1000_KX, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_SR); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_SR4); | ||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR2); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_KR4); | |||||
break; | break; | ||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASET: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASET: | ||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASETE: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASETE: | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_10MB) | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_1G_BASET: | ||||
Done Inline ActionsIf the 1G SR type is fixed, this case should likely go with the SR. shurd: If the 1G SR type is fixed, this case should likely go with the SR. | |||||
Not Done Inline ActionsSure!! Taken care. bhargava.marreddy_broadcom.com: Sure!! Taken care. | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_10_T, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_10MB, IFM_10_T); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MBHD, IFM_100_FX); | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_100MB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_T); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_100_T, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_T); | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_1GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_2_5GB, IFM_2500_T); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_1000_T, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_T); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_2_5GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_SR); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_2500_T, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_SR4); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR2); | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_10GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_KR4); | ||||
Done Inline ActionsMaybe fill this with KR stuff? IFM_10G_KX4 will prevent IFM_10G_KR, but the rest should not be unreasonable. shurd: Maybe fill this with KR stuff? IFM_10G_KX4 will prevent IFM_10G_KR, but the rest should not be… | |||||
Not Done Inline ActionsSure!! I'll go with IFM_10G_KR. bhargava.marreddy_broadcom.com: Sure!! I'll go with IFM_10G_KR. | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_10G_T, 0, | |||||
NULL); | |||||
break; | break; | ||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_SGMIIEXTPHY: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_SGMIIEXTPHY: | ||||
if (supported & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_1GB) | BNXT_IFMEDIA_ADD(supported, SPEEDS_10MB, IFM_10_T); | ||||
ifmedia_add(softc->media, IFM_ETHER | IFM_1000_SGMII, 0, | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MBHD, IFM_100_FX); | ||||
NULL); | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_T); | ||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_SGMII); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_2_5GB, IFM_2500_T); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_T); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_SR); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_SR4); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR2); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_KR4); | |||||
break; | break; | ||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASEER4: | |||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASEER4: | |||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_ACTIVE_CABLE: | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_10MB, IFM_10_T); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_100MBHD, IFM_100_FX); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_T); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_SGMII); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_2_5GB, IFM_2500_T); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_ER); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_SR); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_SR4); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR2); | |||||
BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_KR4); | |||||
break; | |||||
case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_UNKNOWN: | case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_UNKNOWN: | ||||
default: | default: | ||||
/* | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MBHD, IFM_100_FX); | ||||
* Workaround for Cumulus & Stratus | BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_FX); | ||||
* For Stratus: | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); | ||||
* media_type is being returned as 0x0 | BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_T); | ||||
* Return support speeds as 10G, 25G, 50G & 100G | BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_CR1); | ||||
* | BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); | ||||
* For Cumulus: | BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_CR); | ||||
* phy_type is being returned as 0x14 (PHY_TYPE_40G_BASECR4) | BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_CR4); | ||||
* Return support speeds as 1G, 10G, 25G & 50G | BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_CR2); | ||||
*/ | BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_CR4); | ||||
if (pci_get_device(softc->dev) == BCM57454) { | |||||
/* For Stratus: 10G, 25G, 50G & 100G */ | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_100G_CR4, 0, NULL); | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_50G_CR2, 0, NULL); | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_25G_CR, 0, NULL); | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_10G_CR1, 0, NULL); | |||||
} else if (pci_get_device(softc->dev) == BCM57414) { | |||||
/* For Cumulus: 1G, 10G, 25G & 50G */ | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_50G_CR2, 0, NULL); | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_25G_CR, 0, NULL); | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_10G_CR1, 0, NULL); | |||||
ifmedia_add(softc->media, IFM_ETHER | IFM_1000_T, 0, NULL); | |||||
} | |||||
break; | break; | ||||
} | } | ||||
Context not available. |
Why is CX (twisted pair) mixed in with CR (twinax) here?