diff options
author | Jonathan Matthew <jmatthew@cvs.openbsd.org> | 2018-11-18 08:42:16 +0000 |
---|---|---|
committer | Jonathan Matthew <jmatthew@cvs.openbsd.org> | 2018-11-18 08:42:16 +0000 |
commit | 6039df6fc4ce6c3238d3c566681563aec3be1c89 (patch) | |
tree | 3ce1e5489f073c1c22225d12cce27a2f587ec0f5 /sys/dev/pci | |
parent | a0bb3def049a0570b89e696ae7cc20bf13297621 (diff) |
request notification of link state changes, which helps us detect
link when it takes a bit longer to establish.
ok dlg@
Diffstat (limited to 'sys/dev/pci')
-rw-r--r-- | sys/dev/pci/if_ixl.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/dev/pci/if_ixl.c b/sys/dev/pci/if_ixl.c index 106e30f7f3a..9ba9c857cb1 100644 --- a/sys/dev/pci/if_ixl.c +++ b/sys/dev/pci/if_ixl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ixl.c,v 1.7 2017/12/21 03:58:27 dlg Exp $ */ +/* $OpenBSD: if_ixl.c,v 1.8 2018/11/18 08:42:15 jmatthew Exp $ */ /* * Copyright (c) 2013-2015, Intel Corporation @@ -349,6 +349,16 @@ struct ixl_aq_phy_abilities { qualified_module[IXL_AQ_PHY_MAX_QMS]; } __packed __aligned(4); +struct ixl_aq_link_param { + uint8_t notify; +#define IXL_AQ_LINK_NOTIFY 0x03 + uint8_t _reserved1; + uint8_t phy; + uint8_t speed; + uint8_t status; + uint8_t _reserved2[11]; +} __packed __aligned(4); + struct ixl_aq_vsi_param { uint16_t uplink_seid; uint8_t connect_type; @@ -3263,9 +3273,12 @@ static int ixl_get_link_status(struct ixl_softc *sc) { struct ixl_aq_desc iaq; + struct ixl_aq_link_param *param; memset(&iaq, 0, sizeof(iaq)); iaq.iaq_opcode = htole16(IXL_AQ_OP_PHY_LINK_STATUS); + param = (struct ixl_aq_link_param *)iaq.iaq_param; + param->notify = IXL_AQ_LINK_NOTIFY; if (ixl_atq_poll(sc, &iaq, 250) != 0) { printf("%s: GET LINK STATUS timeout\n", DEVNAME(sc)); |