CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat May 11 14:49:51 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_vmx.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #687): sys/dev/pci/if_vmx.c: revision 1.13 Set IFM_FDX flag if the link is up. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.11.4.1 src/sys/dev/pci/if_vmx.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat May 11 14:49:51 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_vmx.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #687): sys/dev/pci/if_vmx.c: revision 1.13 Set IFM_FDX flag if the link is up. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.11.4.1 src/sys/dev/pci/if_vmx.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_vmx.c diff -u src/sys/dev/pci/if_vmx.c:1.11 src/sys/dev/pci/if_vmx.c:1.11.4.1 --- src/sys/dev/pci/if_vmx.c:1.11 Fri Sep 16 07:55:34 2022 +++ src/sys/dev/pci/if_vmx.c Sat May 11 14:49:51 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vmx.c,v 1.11 2022/09/16 07:55:34 knakahara Exp $ */ +/* $NetBSD: if_vmx.c,v 1.11.4.1 2024/05/11 14:49:51 martin Exp $ */ /* $OpenBSD: if_vmx.c,v 1.16 2014/01/22 06:04:17 brad Exp $ */ /* @@ -19,7 +19,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_vmx.c,v 1.11 2022/09/16 07:55:34 knakahara Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_vmx.c,v 1.11.4.1 2024/05/11 14:49:51 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_if_vmx.h" @@ -3544,7 +3544,7 @@ vmxnet3_ifmedia_status(struct ifnet *ifp ifmr->ifm_status |= IFM_ACTIVE; if (ifp->if_baudrate >= IF_Gbps(10ULL)) - ifmr->ifm_active |= IFM_10G_T; + ifmr->ifm_active |= IFM_10G_T | IFM_FDX; } static int
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Thu Apr 18 16:29:48 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_mcx.c Log Message: Pull up following revision(s) (requested by andvar in ticket #661): sys/dev/pci/if_mcx.c: revision 1.27 mcx(4): enforce full-duplex mark in mcx_media_status(), when link is up. LACP protocol requires full-duplex to be enabled for lagg(4) to work, however mcx(4) was not setting this capability making it to fail. Fixes PR kern/58124. OK'd by msaitoh@ To generate a diff of this commit: cvs rdiff -u -r1.25.4.1 -r1.25.4.2 src/sys/dev/pci/if_mcx.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Thu Apr 18 16:29:48 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_mcx.c Log Message: Pull up following revision(s) (requested by andvar in ticket #661): sys/dev/pci/if_mcx.c: revision 1.27 mcx(4): enforce full-duplex mark in mcx_media_status(), when link is up. LACP protocol requires full-duplex to be enabled for lagg(4) to work, however mcx(4) was not setting this capability making it to fail. Fixes PR kern/58124. OK'd by msaitoh@ To generate a diff of this commit: cvs rdiff -u -r1.25.4.1 -r1.25.4.2 src/sys/dev/pci/if_mcx.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_mcx.c diff -u src/sys/dev/pci/if_mcx.c:1.25.4.1 src/sys/dev/pci/if_mcx.c:1.25.4.2 --- src/sys/dev/pci/if_mcx.c:1.25.4.1 Fri Nov 3 08:59:29 2023 +++ src/sys/dev/pci/if_mcx.c Thu Apr 18 16:29:47 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_mcx.c,v 1.25.4.1 2023/11/03 08:59:29 martin Exp $ */ +/* $NetBSD: if_mcx.c,v 1.25.4.2 2024/04/18 16:29:47 martin Exp $ */ /* $OpenBSD: if_mcx.c,v 1.101 2021/06/02 19:16:11 patrick Exp $ */ /* @@ -23,7 +23,7 @@ #endif #include -__KERNEL_RCSID(0, "$NetBSD: if_mcx.c,v 1.25.4.1 2023/11/03 08:59:29 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_mcx.c,v 1.25.4.2 2024/04/18 16:29:47 martin Exp $"); #include #include @@ -8072,7 +8072,7 @@ mcx_media_status(struct ifnet *ifp, stru ifmr->ifm_status = IFM_AVALID; if (proto_oper != 0) { ifmr->ifm_status |= IFM_ACTIVE; - ifmr->ifm_active = IFM_ETHER | IFM_AUTO | media_oper; + ifmr->ifm_active = IFM_ETHER | IFM_FDX | IFM_AUTO | media_oper; /* txpause, rxpause, duplex? */ } }
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Apr 17 16:23:08 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_iwn.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #653): sys/dev/pci/if_iwn.c: revision 1.100 if_iwn.c: pick up proper firmware for Centrino Wireless-N 130 Both variants should use iwlwifi-6000g2b-6 not iwlwifi-6000g2a-6. (It seems only two specific product variants use iwlwifi-6000g2a-6. We could simplify by reversing the sense of the test, as OpenBSD does, but it doesn't seem to matter much, as what we now match seems to be the full gamut possible, so the simpler diff was chosen here.) Addresses PR kern/58105 from wandrien.dev%gmail.com@localhost, with the PCI_PRODUCT_INTEL_WIFI_LINK_130_1 match tested by the reporter. Code inspection of the FreeBSD driver indicates we should safely be able to match PCI_PRODUCT_INTEL_WIFI_LINK_130_2 also. To generate a diff of this commit: cvs rdiff -u -r1.99 -r1.99.4.1 src/sys/dev/pci/if_iwn.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_iwn.c diff -u src/sys/dev/pci/if_iwn.c:1.99 src/sys/dev/pci/if_iwn.c:1.99.4.1 --- src/sys/dev/pci/if_iwn.c:1.99 Mon Apr 25 02:29:14 2022 +++ src/sys/dev/pci/if_iwn.c Wed Apr 17 16:23:08 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_iwn.c,v 1.99 2022/04/25 02:29:14 gutteridge Exp $ */ +/* $NetBSD: if_iwn.c,v 1.99.4.1 2024/04/17 16:23:08 martin Exp $ */ /* $OpenBSD: if_iwn.c,v 1.135 2014/09/10 07:22:09 dcoppa Exp $ */ /*- @@ -22,7 +22,7 @@ * adapters. */ #include -__KERNEL_RCSID(0, "$NetBSD: if_iwn.c,v 1.99 2022/04/25 02:29:14 gutteridge Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_iwn.c,v 1.99.4.1 2024/04/17 16:23:08 martin Exp $"); #define IWN_USE_RBUF /* Use local storage for RX */ #undef IWN_HWCRYPTO /* XXX does not even compile yet */ @@ -846,6 +846,8 @@ iwn5000_attach(struct iwn_softc *sc, pci /* Type 6030 cards return IWN_HW_REV_TYPE_6005 */ if (pid == PCI_PRODUCT_INTEL_WIFI_LINK_1030_1 || pid == PCI_PRODUCT_INTEL_WIFI_LINK_1030_2 || + pid == PCI_PRODUCT_INTEL_WIFI_LINK_130_1 || + pid == PCI_PRODUCT_INTEL_WIFI_LINK_130_2 || pid == PCI_PRODUCT_INTEL_WIFI_LINK_6230_1 || pid == PCI_PRODUCT_INTEL_WIFI_LINK_6230_2 || pid == PCI_PRODUCT_INTEL_WIFI_LINK_6235 ||
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Apr 17 16:23:08 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_iwn.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #653): sys/dev/pci/if_iwn.c: revision 1.100 if_iwn.c: pick up proper firmware for Centrino Wireless-N 130 Both variants should use iwlwifi-6000g2b-6 not iwlwifi-6000g2a-6. (It seems only two specific product variants use iwlwifi-6000g2a-6. We could simplify by reversing the sense of the test, as OpenBSD does, but it doesn't seem to matter much, as what we now match seems to be the full gamut possible, so the simpler diff was chosen here.) Addresses PR kern/58105 from wandrien.dev%gmail.com@localhost, with the PCI_PRODUCT_INTEL_WIFI_LINK_130_1 match tested by the reporter. Code inspection of the FreeBSD driver indicates we should safely be able to match PCI_PRODUCT_INTEL_WIFI_LINK_130_2 also. To generate a diff of this commit: cvs rdiff -u -r1.99 -r1.99.4.1 src/sys/dev/pci/if_iwn.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Mar 11 20:09:49 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: xhci_pci.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #632): sys/dev/pci/xhci_pci.c: revision 1.33 Consistently use cached chipset tag value. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.32.2.1 src/sys/dev/pci/xhci_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Mar 11 20:09:49 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: xhci_pci.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #632): sys/dev/pci/xhci_pci.c: revision 1.33 Consistently use cached chipset tag value. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.32.2.1 src/sys/dev/pci/xhci_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/xhci_pci.c diff -u src/sys/dev/pci/xhci_pci.c:1.32 src/sys/dev/pci/xhci_pci.c:1.32.2.1 --- src/sys/dev/pci/xhci_pci.c:1.32 Fri Oct 28 21:57:58 2022 +++ src/sys/dev/pci/xhci_pci.c Mon Mar 11 20:09:49 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: xhci_pci.c,v 1.32 2022/10/28 21:57:58 riastradh Exp $ */ +/* $NetBSD: xhci_pci.c,v 1.32.2.1 2024/03/11 20:09:49 martin Exp $ */ /* OpenBSD: xhci_pci.c,v 1.4 2014/07/12 17:38:51 yuo Exp */ /* @@ -32,7 +32,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: xhci_pci.c,v 1.32 2022/10/28 21:57:58 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: xhci_pci.c,v 1.32.2.1 2024/03/11 20:09:49 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_xhci_pci.h" @@ -229,7 +229,7 @@ xhci_pci_attach(device_t parent, device_ } intrstr = pci_intr_string(pc, psc->sc_pihp[0], intrbuf, sizeof(intrbuf)); - pci_intr_setattr(pa->pa_pc, >sc_pihp[0], PCI_INTR_MPSAFE, true); + pci_intr_setattr(pc, >sc_pihp[0], PCI_INTR_MPSAFE, true); psc->sc_ih = pci_intr_establish_xname(pc, psc->sc_pihp[0], IPL_USB, xhci_intr, sc, device_xname(sc->sc_dev)); if (psc->sc_ih == NULL) {
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Mar 11 20:08:16 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: ehci_pci.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #631): sys/dev/pci/ehci_pci.c: revision 1.76 Consistently use cached chipset tag value. To generate a diff of this commit: cvs rdiff -u -r1.75 -r1.75.2.1 src/sys/dev/pci/ehci_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ehci_pci.c diff -u src/sys/dev/pci/ehci_pci.c:1.75 src/sys/dev/pci/ehci_pci.c:1.75.2.1 --- src/sys/dev/pci/ehci_pci.c:1.75 Fri Oct 28 21:56:44 2022 +++ src/sys/dev/pci/ehci_pci.c Mon Mar 11 20:08:15 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: ehci_pci.c,v 1.75 2022/10/28 21:56:44 riastradh Exp $ */ +/* $NetBSD: ehci_pci.c,v 1.75.2.1 2024/03/11 20:08:15 martin Exp $ */ /* * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ehci_pci.c,v 1.75 2022/10/28 21:56:44 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ehci_pci.c,v 1.75.2.1 2024/03/11 20:08:15 martin Exp $"); #include #include @@ -196,7 +196,7 @@ ehci_pci_attach(device_t parent, device_ * Allocate IRQ */ intrstr = pci_intr_string(pc, sc->sc_pihp[0], intrbuf, sizeof(intrbuf)); - pci_intr_setattr(pa->pa_pc, >sc_pihp[0], PCI_INTR_MPSAFE, true); + pci_intr_setattr(pc, >sc_pihp[0], PCI_INTR_MPSAFE, true); sc->sc_ih = pci_intr_establish_xname(pc, sc->sc_pihp[0], IPL_USB, ehci_intr, sc, device_xname(self)); if (sc->sc_ih == NULL) {
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Mar 11 20:08:16 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: ehci_pci.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #631): sys/dev/pci/ehci_pci.c: revision 1.76 Consistently use cached chipset tag value. To generate a diff of this commit: cvs rdiff -u -r1.75 -r1.75.2.1 src/sys/dev/pci/ehci_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Feb 23 18:54:36 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c if_wmreg.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #607): sys/dev/pci/if_wm.c: revision 1.795 sys/dev/pci/if_wm.c: revision 1.796 sys/dev/pci/if_wm.c: revision 1.797 sys/dev/pci/if_wmreg.h: revision 1.131 wm(4): Add RQDPC(Receive Queue Drop Packet Count) to iqdrops. The iqdrops counter should include not only MPC(Missed Packet Count) but also RQDPC(Receive Queue Drop Packet Count). Same as ixgbe(4) and igc(4). Note that the RQDPC is not currently counted because SRRCTL_DROP_EN is not set. wm(4): Drop frames if the RX descriptor ring has no room on multiqueue system. Drop frames if the RX descriptor ring has no room. This is enabled only on multiqueue system to avoid bad influence to other queues. The drop count can be seen by the RQDPC counter (wmN rxqXXdrop evcnt). wm(4): Fix compile error without WM_EVENT_COUNTERS. To generate a diff of this commit: cvs rdiff -u -r1.767.2.7 -r1.767.2.8 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.128.2.1 -r1.128.2.2 src/sys/dev/pci/if_wmreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.767.2.7 src/sys/dev/pci/if_wm.c:1.767.2.8 --- src/sys/dev/pci/if_wm.c:1.767.2.7 Fri Feb 23 18:45:46 2024 +++ src/sys/dev/pci/if_wm.c Fri Feb 23 18:54:36 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.767.2.7 2024/02/23 18:45:46 martin Exp $ */ +/* $NetBSD: if_wm.c,v 1.767.2.8 2024/02/23 18:54:36 martin Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -82,7 +82,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.7 2024/02/23 18:45:46 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.8 2024/02/23 18:54:36 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_if_wm.h" @@ -460,9 +460,9 @@ struct wm_rxqueue { /* RX event counters */ WM_Q_EVCNT_DEFINE(rxq, intr); /* Interrupts */ WM_Q_EVCNT_DEFINE(rxq, defer); /* Rx deferred processing */ - WM_Q_EVCNT_DEFINE(rxq, ipsum); /* IP checksums checked */ WM_Q_EVCNT_DEFINE(rxq, tusum); /* TCP/UDP cksums checked */ + WM_Q_EVCNT_DEFINE(rxq, qdrop); /* Rx queue drop packet */ #endif }; @@ -6639,6 +6639,7 @@ wm_update_stats(struct wm_softc *sc) struct ifnet *ifp = >sc_ethercom.ec_if; uint64_t crcerrs, algnerrc, symerrc, mpc, colc, sec, rlec, rxerrc, cexterr; + uint64_t total_qdrop = 0; crcerrs = CSR_READ(sc, WMREG_CRCERRS); symerrc = CSR_READ(sc, WMREG_SYMERRC); @@ -6787,6 +6788,22 @@ wm_update_stats(struct wm_softc *sc) WM_EVCNT_ADD(>sc_ev_lenerrs, CSR_READ(sc, WMREG_LENERRS)); WM_EVCNT_ADD(>sc_ev_scvpc, CSR_READ(sc, WMREG_SCVPC)); WM_EVCNT_ADD(>sc_ev_hrmpc, CSR_READ(sc, WMREG_HRMPC)); +#ifdef WM_EVENT_COUNTERS + for (int i = 0; i < sc->sc_nqueues; i++) { + struct wm_rxqueue *rxq = >sc_queue[i].wmq_rxq; + uint32_t rqdpc; + + rqdpc = CSR_READ(sc, WMREG_RQDPC(i)); + /* + * On I210 and newer device, the RQDPC register is not + * cleard on read. + */ + if ((rqdpc != 0) && (sc->sc_type >= WM_T_I210)) +CSR_WRITE(sc, WMREG_RQDPC(i), 0); + WM_Q_EVCNT_ADD(rxq, qdrop, rqdpc); + total_qdrop += rqdpc; + } +#endif } if ((sc->sc_type >= WM_T_I350) && !WM_IS_ICHPCH(sc)) { WM_EVCNT_ADD(>sc_ev_tlpic, CSR_READ(sc, WMREG_TLPIC)); @@ -6815,7 +6832,7 @@ wm_update_stats(struct wm_softc *sc) * If you want to know the nubmer of WMREG_RMBC, you should use such as * own EVCNT instead of if_iqdrops. */ - if_statadd_ref(nsr, if_iqdrops, mpc); + if_statadd_ref(nsr, if_iqdrops, mpc + total_qdrop); IF_STAT_PUTREF(ifp); } @@ -6833,6 +6850,8 @@ wm_clear_evcnt(struct wm_softc *sc) WM_Q_EVCNT_STORE(rxq, defer, 0); WM_Q_EVCNT_STORE(rxq, ipsum, 0); WM_Q_EVCNT_STORE(rxq, tusum, 0); + if ((sc->sc_type >= WM_T_82575) && !WM_IS_ICHPCH(sc)) + WM_Q_EVCNT_STORE(rxq, qdrop, 0); } /* TX queues */ @@ -8195,9 +8214,10 @@ wm_alloc_txrx_queues(struct wm_softc *sc WM_Q_INTR_EVCNT_ATTACH(rxq, intr, rxq, i, xname); WM_Q_INTR_EVCNT_ATTACH(rxq, defer, rxq, i, xname); - WM_Q_MISC_EVCNT_ATTACH(rxq, ipsum, rxq, i, xname); WM_Q_MISC_EVCNT_ATTACH(rxq, tusum, rxq, i, xname); + if ((sc->sc_type >= WM_T_82575) && !WM_IS_ICHPCH(sc)) + WM_Q_MISC_EVCNT_ATTACH(rxq, qdrop, rxq, i, xname); #endif /* WM_EVENT_COUNTERS */ rx_done++; @@ -8248,6 +8268,8 @@ wm_free_txrx_queues(struct wm_softc *sc) WM_Q_EVCNT_DETACH(rxq, defer, rxq, i); WM_Q_EVCNT_DETACH(rxq, ipsum, rxq, i); WM_Q_EVCNT_DETACH(rxq, tusum, rxq, i); + if ((sc->sc_type >= WM_T_82575) && !WM_IS_ICHPCH(sc)) + WM_Q_EVCNT_DETACH(rxq, qdrop, rxq, i); #endif /* WM_EVENT_COUNTERS */ wm_free_rx_buffer(sc, rxq); @@ -8437,6 +8459,8 @@ wm_init_rx_regs(struct wm_softc *sc, str rxq->rxq_descsize *
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Feb 23 18:54:36 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c if_wmreg.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #607): sys/dev/pci/if_wm.c: revision 1.795 sys/dev/pci/if_wm.c: revision 1.796 sys/dev/pci/if_wm.c: revision 1.797 sys/dev/pci/if_wmreg.h: revision 1.131 wm(4): Add RQDPC(Receive Queue Drop Packet Count) to iqdrops. The iqdrops counter should include not only MPC(Missed Packet Count) but also RQDPC(Receive Queue Drop Packet Count). Same as ixgbe(4) and igc(4). Note that the RQDPC is not currently counted because SRRCTL_DROP_EN is not set. wm(4): Drop frames if the RX descriptor ring has no room on multiqueue system. Drop frames if the RX descriptor ring has no room. This is enabled only on multiqueue system to avoid bad influence to other queues. The drop count can be seen by the RQDPC counter (wmN rxqXXdrop evcnt). wm(4): Fix compile error without WM_EVENT_COUNTERS. To generate a diff of this commit: cvs rdiff -u -r1.767.2.7 -r1.767.2.8 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.128.2.1 -r1.128.2.2 src/sys/dev/pci/if_wmreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Feb 23 18:45:46 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #606): sys/dev/pci/if_wm.c: revision 1.794 sys/dev/pci/if_wm.c: revision 1.798 wm(4): Print RX packet buffer size. wm(4): Fix upper 16bit of Image Unique ID(EtrackID). Don't override uid1 variable while reading option ROM version to print Image Unique ID correctly. To generate a diff of this commit: cvs rdiff -u -r1.767.2.6 -r1.767.2.7 src/sys/dev/pci/if_wm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.767.2.6 src/sys/dev/pci/if_wm.c:1.767.2.7 --- src/sys/dev/pci/if_wm.c:1.767.2.6 Sat Feb 3 12:01:59 2024 +++ src/sys/dev/pci/if_wm.c Fri Feb 23 18:45:46 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.767.2.6 2024/02/03 12:01:59 martin Exp $ */ +/* $NetBSD: if_wm.c,v 1.767.2.7 2024/02/23 18:45:46 martin Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -82,7 +82,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.6 2024/02/03 12:01:59 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.7 2024/02/23 18:45:46 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_if_wm.h" @@ -2722,6 +2722,10 @@ alloc_retry: /* Reset the chip to a known state. */ wm_reset(sc); + /* sc->sc_pba is set in wm_reset(). */ + aprint_verbose_dev(sc->sc_dev, "RX packet buffer size: %uKB\n", + sc->sc_pba); + /* * Check for I21[01] PLL workaround. * @@ -15328,16 +15332,17 @@ printver: /* Option ROM Version */ if ((off != 0x) && (off != 0x)) { int rv; + uint16_t oid0, oid1; off += NVM_COMBO_VER_OFF; - rv = wm_nvm_read(sc, off + 1, 1, ); - rv |= wm_nvm_read(sc, off, 1, ); - if ((rv == 0) && (uid0 != 0) && (uid0 != 0x) - && (uid1 != 0) && (uid1 != 0x)) { + rv = wm_nvm_read(sc, off + 1, 1, ); + rv |= wm_nvm_read(sc, off, 1, ); + if ((rv == 0) && (oid0 != 0) && (oid0 != 0x) + && (oid1 != 0) && (oid1 != 0x)) { /* 16bits */ -major = uid0 >> 8; -build = (uid0 << 8) | (uid1 >> 8); -patch = uid1 & 0x00ff; +major = oid0 >> 8; +build = (oid0 << 8) | (oid1 >> 8); +patch = oid1 & 0x00ff; aprint_verbose(", option ROM Version %d.%d.%d", major, build, patch); }
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Feb 23 18:45:46 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #606): sys/dev/pci/if_wm.c: revision 1.794 sys/dev/pci/if_wm.c: revision 1.798 wm(4): Print RX packet buffer size. wm(4): Fix upper 16bit of Image Unique ID(EtrackID). Don't override uid1 variable while reading option ROM version to print Image Unique ID correctly. To generate a diff of this commit: cvs rdiff -u -r1.767.2.6 -r1.767.2.7 src/sys/dev/pci/if_wm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci/igc
Module Name:src Committed By: martin Date: Fri Feb 23 18:41:02 UTC 2024 Modified Files: src/sys/dev/pci/igc [netbsd-10]: if_igc.c igc_defines.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #605): sys/dev/pci/igc/if_igc.c: revision 1.12 sys/dev/pci/igc/if_igc.c: revision 1.13 sys/dev/pci/igc/igc_defines.h: revision 1.3 sys/dev/pci/igc/if_igc.c: revision 1.10 sys/dev/pci/igc/if_igc.c: revision 1.11 igc(4): Count iqdrops. TODO: RQDPC should be visible via evcnt(9). igc: Add missing igc_check_for_link() call. It's required to set the collision distance, configure flow control from the negotiated result and set the LTR thresholds. With this change, ifconfig igcN show the flow control status correctly. igc(4): Modify dmesg output of PHY and NVM info. - Print PHY info first and then print NVM info. - Remove debug output. igc(4): Print EtrackID. To generate a diff of this commit: cvs rdiff -u -r1.3.2.3 -r1.3.2.4 src/sys/dev/pci/igc/if_igc.c cvs rdiff -u -r1.2.2.2 -r1.2.2.3 src/sys/dev/pci/igc/igc_defines.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci/igc
Module Name:src Committed By: martin Date: Fri Feb 23 18:41:02 UTC 2024 Modified Files: src/sys/dev/pci/igc [netbsd-10]: if_igc.c igc_defines.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #605): sys/dev/pci/igc/if_igc.c: revision 1.12 sys/dev/pci/igc/if_igc.c: revision 1.13 sys/dev/pci/igc/igc_defines.h: revision 1.3 sys/dev/pci/igc/if_igc.c: revision 1.10 sys/dev/pci/igc/if_igc.c: revision 1.11 igc(4): Count iqdrops. TODO: RQDPC should be visible via evcnt(9). igc: Add missing igc_check_for_link() call. It's required to set the collision distance, configure flow control from the negotiated result and set the LTR thresholds. With this change, ifconfig igcN show the flow control status correctly. igc(4): Modify dmesg output of PHY and NVM info. - Print PHY info first and then print NVM info. - Remove debug output. igc(4): Print EtrackID. To generate a diff of this commit: cvs rdiff -u -r1.3.2.3 -r1.3.2.4 src/sys/dev/pci/igc/if_igc.c cvs rdiff -u -r1.2.2.2 -r1.2.2.3 src/sys/dev/pci/igc/igc_defines.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/igc/if_igc.c diff -u src/sys/dev/pci/igc/if_igc.c:1.3.2.3 src/sys/dev/pci/igc/if_igc.c:1.3.2.4 --- src/sys/dev/pci/igc/if_igc.c:1.3.2.3 Sat Oct 14 06:49:37 2023 +++ src/sys/dev/pci/igc/if_igc.c Fri Feb 23 18:41:02 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_igc.c,v 1.3.2.3 2023/10/14 06:49:37 martin Exp $ */ +/* $NetBSD: if_igc.c,v 1.3.2.4 2024/02/23 18:41:02 martin Exp $ */ /* $OpenBSD: if_igc.c,v 1.13 2023/04/28 10:18:57 bluhm Exp $ */ /*- * SPDX-License-Identifier: BSD-2-Clause @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_igc.c,v 1.3.2.3 2023/10/14 06:49:37 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_igc.c,v 1.3.2.4 2024/02/23 18:41:02 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_net_mpsafe.h" @@ -1112,11 +1112,35 @@ igc_update_counters(struct igc_softc *sc /* Mac statistics */ struct igc_hw *hw = >hw; + struct ifnet *ifp = >sc_ec.ec_if; + uint64_t iqdrops = 0; for (int cnt = 0; cnt < IGC_MAC_COUNTERS; cnt++) { - IGC_MAC_COUNTER_ADD(sc, cnt, igc_read_mac_counter(hw, - igc_mac_counters[cnt].reg, igc_mac_counters[cnt].is64)); + uint64_t val; + bus_size_t regaddr = igc_mac_counters[cnt].reg; + + val = igc_read_mac_counter(hw, regaddr, + igc_mac_counters[cnt].is64); + IGC_MAC_COUNTER_ADD(sc, cnt, val); + /* XXX Count MPC to iqdrops. */ + if (regaddr == IGC_MPC) + iqdrops += val; + } + + for (int iq = 0; iq < sc->sc_nqueues; iq++) { + uint32_t val; + + /* XXX RQDPC should be visible via evcnt(9). */ + val = IGC_READ_REG(hw, IGC_RQDPC(iq)); + + /* RQDPC is not cleard on read. */ + if (val != 0) + IGC_WRITE_REG(hw, IGC_RQDPC(iq), 0); + iqdrops += val; } + + if (iqdrops != 0) + if_statadd(ifp, if_iqdrops, iqdrops); #endif } @@ -2518,6 +2542,9 @@ igc_update_link_status(struct igc_softc struct ifnet *ifp = >sc_ec.ec_if; struct igc_hw *hw = >hw; + if (hw->mac.get_link_status == true) + igc_check_for_link(hw); + if (IGC_READ_REG(>hw, IGC_STATUS) & IGC_STATUS_LU) { if (sc->link_active == 0) { igc_get_speed_and_duplex(hw, >link_speed, @@ -3817,7 +3844,7 @@ igc_print_devinfo(struct igc_softc *sc) struct igc_hw *hw = >hw; struct igc_phy_info *phy = >phy; u_int oui, model, rev; - uint16_t id1, id2, nvm_ver, phy_ver; + uint16_t id1, id2, nvm_ver, phy_ver, etk_lo, etk_hi; char descr[MII_MAX_DESCR_LEN]; /* Print PHY Info */ @@ -3829,23 +3856,26 @@ igc_print_devinfo(struct igc_softc *sc) rev = MII_REV(id2); mii_get_descr(descr, sizeof(descr), oui, model); if (descr[0]) - aprint_normal_dev(dev, "PHY: %s, rev. %d\n", + aprint_normal_dev(dev, "PHY: %s, rev. %d", descr, rev); else aprint_normal_dev(dev, - "PHY OUI 0x%06x, model 0x%04x, rev. %d\n", + "PHY OUI 0x%06x, model 0x%04x, rev. %d", oui, model, rev); - /* Get NVM version */ + /* PHY FW version */ + phy->ops.read_reg(hw, 0x1e, _ver); + aprint_normal(", PHY FW version 0x%04hx\n", phy_ver); + + /* NVM version */ hw->nvm.ops.read(hw, NVM_VERSION, 1, _ver); - /* Get PHY FW version */ - phy->ops.read_reg(hw, 0x1e, _ver); + /* EtrackID */ + hw->nvm.ops.read(hw, NVM_ETKID_LO, 1, _lo); + hw->nvm.ops.read(hw, NVM_ETKID_HI, 1, _hi); - aprint_normal_dev(dev, "ROM image version %x.%02x", + aprint_normal_dev(dev, + "NVM image version %x.%02x, EtrackID %04hx%04hx\n", (nvm_ver & NVM_VERSION_MAJOR) >> NVM_VERSION_MAJOR_SHIFT, - (nvm_ver & NVM_VERSION_MINOR)); - aprint_debug("(0x%04hx)", nvm_ver); - - aprint_normal(", PHY FW version 0x%04hx\n", phy_ver); + nvm_ver & NVM_VERSION_MINOR, etk_hi, etk_lo); } Index: src/sys/dev/pci/igc/igc_defines.h diff -u src/sys/dev/pci/igc/igc_defines.h:1.2.2.2 src/sys/dev/pci/igc/igc_defines.h:1.2.2.3 ---
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Fri Feb 23 18:36:00 UTC 2024 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: ixgbe.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #604): sys/dev/pci/ixgbe/ixgbe.c: revision 1.349 ixgbe: Add QPRDC into iqdrops. A receive packet might drop at two different locations. One is the packet buffer that packets are received into the chip first. If the packet buffer is overflowed, the MPC register is incremented. It's currently added to iqdrops. It's no problem. Another is descriptor ring(s). A packet from the packet buffer is DMA'ed into main memory base on the descriptor ring. If the ring is full, the packet is dropped and the QPRDC register is incremented. It should be added to iqdrops but it was not done. Fix it. Reported by ozaki-r@. To generate a diff of this commit: cvs rdiff -u -r1.324.2.7 -r1.324.2.8 src/sys/dev/pci/ixgbe/ixgbe.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ixgbe/ixgbe.c diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.324.2.7 src/sys/dev/pci/ixgbe/ixgbe.c:1.324.2.8 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.324.2.7 Sat Feb 3 11:58:53 2024 +++ src/sys/dev/pci/ixgbe/ixgbe.c Fri Feb 23 18:35:59 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.c,v 1.324.2.7 2024/02/03 11:58:53 martin Exp $ */ +/* $NetBSD: ixgbe.c,v 1.324.2.8 2024/02/23 18:35:59 martin Exp $ */ /** @@ -64,7 +64,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ixgbe.c,v 1.324.2.7 2024/02/03 11:58:53 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ixgbe.c,v 1.324.2.8 2024/02/23 18:35:59 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1637,7 +1637,7 @@ ixgbe_update_stats_counters(struct ixgbe struct ixgbe_hw *hw = >hw; struct ixgbe_hw_stats *stats = >stats.pf; u32 missed_rx = 0, bprc, lxontxc, lxofftxc; - u64 total, total_missed_rx = 0; + u64 total, total_missed_rx = 0, total_qprdc = 0; uint64_t crcerrs, illerrc, rlec, ruc, rfc, roc, rjc; unsigned int queue_counters; int i; @@ -1656,13 +1656,18 @@ ixgbe_update_stats_counters(struct ixgbe IXGBE_EVC_REGADD(hw, stats, IXGBE_QPRC(i), qprc[i]); IXGBE_EVC_REGADD(hw, stats, IXGBE_QPTC(i), qptc[i]); if (hw->mac.type >= ixgbe_mac_82599EB) { + uint32_t qprdc; + IXGBE_EVC_ADD(>qbrc[i], IXGBE_READ_REG(hw, IXGBE_QBRC_L(i)) + ((u64)IXGBE_READ_REG(hw, IXGBE_QBRC_H(i)) << 32)); IXGBE_EVC_ADD(>qbtc[i], IXGBE_READ_REG(hw, IXGBE_QBTC_L(i)) + ((u64)IXGBE_READ_REG(hw, IXGBE_QBTC_H(i)) << 32)); - IXGBE_EVC_REGADD(hw, stats, IXGBE_QPRDC(i), qprdc[i]); + /* QPRDC will be added to iqdrops. */ + qprdc = IXGBE_READ_REG(hw, IXGBE_QPRDC(i)); + IXGBE_EVC_ADD(>qprdc[i], qprdc); + total_qprdc += qprdc; } else { /* 82598 */ IXGBE_EVC_REGADD(hw, stats, IXGBE_QBRC(i), qbrc[i]); @@ -1793,7 +1798,7 @@ ixgbe_update_stats_counters(struct ixgbe * normal RX counters are prepared in ether_input(). */ net_stat_ref_t nsr = IF_STAT_GETREF(ifp); - if_statadd_ref(nsr, if_iqdrops, total_missed_rx); + if_statadd_ref(nsr, if_iqdrops, total_missed_rx + total_qprdc); /* * Aggregate following types of errors as RX errors:
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Fri Feb 23 18:36:00 UTC 2024 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: ixgbe.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #604): sys/dev/pci/ixgbe/ixgbe.c: revision 1.349 ixgbe: Add QPRDC into iqdrops. A receive packet might drop at two different locations. One is the packet buffer that packets are received into the chip first. If the packet buffer is overflowed, the MPC register is incremented. It's currently added to iqdrops. It's no problem. Another is descriptor ring(s). A packet from the packet buffer is DMA'ed into main memory base on the descriptor ring. If the ring is full, the packet is dropped and the QPRDC register is incremented. It should be added to iqdrops but it was not done. Fix it. Reported by ozaki-r@. To generate a diff of this commit: cvs rdiff -u -r1.324.2.7 -r1.324.2.8 src/sys/dev/pci/ixgbe/ixgbe.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Tue Feb 6 12:34:48 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: ppb.c Log Message: Pull up following revision(s) (requested by rin in ticket #588): sys/dev/pci/ppb.c: revision 1.75 ppb(4): Print out PCIe Gen5 link speed correctly To generate a diff of this commit: cvs rdiff -u -r1.74 -r1.74.4.1 src/sys/dev/pci/ppb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ppb.c diff -u src/sys/dev/pci/ppb.c:1.74 src/sys/dev/pci/ppb.c:1.74.4.1 --- src/sys/dev/pci/ppb.c:1.74 Sun Oct 10 23:28:36 2021 +++ src/sys/dev/pci/ppb.c Tue Feb 6 12:34:47 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: ppb.c,v 1.74 2021/10/10 23:28:36 msaitoh Exp $ */ +/* $NetBSD: ppb.c,v 1.74.4.1 2024/02/06 12:34:47 martin Exp $ */ /* * Copyright (c) 1996, 1998 Christopher G. Demetriou. All rights reserved. @@ -31,7 +31,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ppb.c,v 1.74 2021/10/10 23:28:36 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ppb.c,v 1.74.4.1 2024/02/06 12:34:47 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_ppb.h" @@ -58,8 +58,8 @@ __KERNEL_RCSID(0, "$NetBSD: ppb.c,v 1.74 (PCIE_SLCSR_ABP | PCIE_SLCSR_PFD | PCIE_SLCSR_MSC | \ PCIE_SLCSR_PDC | PCIE_SLCSR_CC | PCIE_SLCSR_LACS) -static const char pcie_linkspeed_strings[5][5] = { - "1.25", "2.5", "5.0", "8.0", "16.0" +static const char pcie_linkspeed_strings[6][5] = { + "1.25", "2.5", "5.0", "8.0", "16.0", "32.0", }; int ppb_printevent = 0; /* Print event type if the value is not 0 */
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Tue Feb 6 12:34:48 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: ppb.c Log Message: Pull up following revision(s) (requested by rin in ticket #588): sys/dev/pci/ppb.c: revision 1.75 ppb(4): Print out PCIe Gen5 link speed correctly To generate a diff of this commit: cvs rdiff -u -r1.74 -r1.74.4.1 src/sys/dev/pci/ppb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Feb 3 14:17:03 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: agp_i810.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #574): sys/dev/pci/agp_i810.c: revision 1.126 agp_i810(4): Use ipi(9) for chipset flush on all CPUs, not xcall(9). i915 now calls into this with a spin lock held, so we have to use ipi(9), which spin-waits for the other CPUs to complete, rather than xcall(9), which may sleep-wait. Fortunately, this is just to execute WBINVD on x86 (and if this code ever runs on other architectures, which it probably doesn't, it'll be a similar barrier instruction), so spinning to wait for that on all CPUs isn't too costly. PR kern/57878 To generate a diff of this commit: cvs rdiff -u -r1.125 -r1.125.4.1 src/sys/dev/pci/agp_i810.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/agp_i810.c diff -u src/sys/dev/pci/agp_i810.c:1.125 src/sys/dev/pci/agp_i810.c:1.125.4.1 --- src/sys/dev/pci/agp_i810.c:1.125 Sun Jul 17 10:10:45 2022 +++ src/sys/dev/pci/agp_i810.c Sat Feb 3 14:17:03 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: agp_i810.c,v 1.125 2022/07/17 10:10:45 riastradh Exp $ */ +/* $NetBSD: agp_i810.c,v 1.125.4.1 2024/02/03 14:17:03 martin Exp $ */ /*- * Copyright (c) 2000 Doug Rabson @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: agp_i810.c,v 1.125 2022/07/17 10:10:45 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: agp_i810.c,v 1.125.4.1 2024/02/03 14:17:03 martin Exp $"); #include #include @@ -180,7 +180,7 @@ agp_i810_post_gtt_entry(struct agp_i810_ } static void -agp_flush_cache_xc(void *a __unused, void *b __unused) +agp_flush_cache_ipi(void *cookie __unused) { agp_flush_cache(); @@ -204,11 +204,19 @@ agp_i810_chipset_flush(struct agp_i810_s * XXX Come to think of it, do these chipsets appear in * any multi-CPU systems? */ - if (cold) + if (cold) { agp_flush_cache(); - else - xc_wait(xc_broadcast(0, _flush_cache_xc, -NULL, NULL)); + } else { + /* + * Caller may hold a spin lock, so use ipi(9) + * rather than xcall(9) here. + */ + ipi_msg_t msg = { .func = agp_flush_cache_ipi }; + kpreempt_disable(); + ipi_broadcast(, /*skip_self*/false); + ipi_wait(); + kpreempt_enable(); + } WRITE4(AGP_I830_HIC, READ4(AGP_I830_HIC) | __BIT(31)); while (ISSET(READ4(AGP_I830_HIC), __BIT(31))) { if (timo-- == 0)
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Feb 3 14:17:03 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: agp_i810.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #574): sys/dev/pci/agp_i810.c: revision 1.126 agp_i810(4): Use ipi(9) for chipset flush on all CPUs, not xcall(9). i915 now calls into this with a spin lock held, so we have to use ipi(9), which spin-waits for the other CPUs to complete, rather than xcall(9), which may sleep-wait. Fortunately, this is just to execute WBINVD on x86 (and if this code ever runs on other architectures, which it probably doesn't, it'll be a similar barrier instruction), so spinning to wait for that on all CPUs isn't too costly. PR kern/57878 To generate a diff of this commit: cvs rdiff -u -r1.125 -r1.125.4.1 src/sys/dev/pci/agp_i810.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Feb 3 12:01:59 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #564): sys/dev/pci/if_wm.c: revision 1.793 Add Intel I219-{LM,V}(20,21) support. To generate a diff of this commit: cvs rdiff -u -r1.767.2.5 -r1.767.2.6 src/sys/dev/pci/if_wm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.767.2.5 src/sys/dev/pci/if_wm.c:1.767.2.6 --- src/sys/dev/pci/if_wm.c:1.767.2.5 Wed Oct 18 14:27:38 2023 +++ src/sys/dev/pci/if_wm.c Sat Feb 3 12:01:59 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.767.2.5 2023/10/18 14:27:38 martin Exp $ */ +/* $NetBSD: if_wm.c,v 1.767.2.6 2024/02/03 12:01:59 martin Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -82,7 +82,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.5 2023/10/18 14:27:38 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.6 2024/02/03 12:01:59 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_if_wm.h" @@ -1752,6 +1752,12 @@ static const struct wm_product { { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM19, "I219 LM (19) Ethernet Connection", WM_T_PCH_TGP, WMP_F_COPPER }, /* MTP */ + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM20, + "I219 LM (20) Ethernet Connection", + WM_T_PCH_TGP, WMP_F_COPPER }, /* MTP */ + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM21, + "I219 LM (21) Ethernet Connection", + WM_T_PCH_TGP, WMP_F_COPPER }, /* MTP */ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM22, "I219 LM (22) Ethernet Connection", WM_T_PCH_TGP, WMP_F_COPPER }, /* ADP(RPL) */ @@ -1812,6 +1818,12 @@ static const struct wm_product { { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V19, "I219 V (19) Ethernet Connection", WM_T_PCH_TGP, WMP_F_COPPER }, /* MTP */ + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V20, + "I219 V (20) Ethernet Connection", + WM_T_PCH_TGP, WMP_F_COPPER }, /* MTP */ + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V21, + "I219 V (21) Ethernet Connection", + WM_T_PCH_TGP, WMP_F_COPPER }, /* MTP */ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V22, "I219 V (22) Ethernet Connection", WM_T_PCH_TGP, WMP_F_COPPER }, /* ADP(RPL) */
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Feb 3 12:01:59 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #564): sys/dev/pci/if_wm.c: revision 1.793 Add Intel I219-{LM,V}(20,21) support. To generate a diff of this commit: cvs rdiff -u -r1.767.2.5 -r1.767.2.6 src/sys/dev/pci/if_wm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Sat Feb 3 11:58:53 UTC 2024 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: ix_txrx.c ixgbe.c ixgbe.h ixgbe_type.h ixv.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #563): sys/dev/pci/ixgbe/ix_txrx.c: revision 1.110 sys/dev/pci/ixgbe/ixgbe.c: revision 1.345 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.111 sys/dev/pci/ixgbe/ixgbe.c: revision 1.346 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.112 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.62 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.113 sys/dev/pci/ixgbe/ixgbe.c: revision 1.348 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.114 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.115 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.116 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.105 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.106 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.107 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.108 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.109 sys/dev/pci/ixgbe/ixv.c: revision 1.193 sys/dev/pci/ixgbe/ixv.c: revision 1.195 sys/dev/pci/ixgbe/ixv.c: revision 1.196 sys/dev/pci/ixgbe/ixgbe.h: revision 1.94 sys/dev/pci/ixgbe/ixgbe.h: revision 1.95 sys/dev/pci/ixgbe/ixgbe.h: revision 1.96 sys/dev/pci/ixgbe/ixgbe.h: revision 1.97 sys/dev/pci/ixgbe/ixgbe.h: revision 1.98 ixgbe: Fix comment. No functional change. ixgbe: Whitespace. No functional change. ixgbe(4): Move assignment of TXD. NFCI. ixgbe(4): Modify comment. No functional change. ixgbe_tx_ctx_setup() may or may not consume one TX descriptor. ixv(4): Remove unused IFF_OACTIVE. No functional change. ixgbe: Clear the WTHRESH bit field before writing it. ixgbe: Modify for the readability. No functional change. ixgbe: micro-optimize ixgbe_txeof() Update txr->tx_avail and txr->txr_no_space outside the loop in ixgbe_txeof(). ixgbe: Update if_opackets outside the loop in ixgbe_txeof(). ixgbe: micro-optimize ixgbe_txeof() Update txr->packets outside the loop in ixgbe_txeof(). ixgbe: Use #ifdef IXGBE_FDIR more Don't include the Flow Director related members to reduce the size of struct tx_ring. On amd64 and aarch64, the real size is not changed because of the alignment. ixgbe: Simplify. No functional change. The descriptor ring size and the alignment are tested in the attach function, so it's not required to use roundup2(size, DBA_ALIGN). ixgbe: Use kmem_zalloc() instead of malloc(,M_ZERO). ixgbe: Remove unused to reduce the size of struct rx_ring. ixgbe: Use #ifdef LRO more to reduce the size of struct rx_ring. ixgbe: Change "me" from 32bit to 8bit because the max is 128. This commit doesn't change the real size of ix_queue, tx_ring and rx_ring because of the alignment. ixgbe: Use #ifdef RSC This feature (hardware receive side coalescing) has been disabled all along, so enclose the code with #ifdef RSC. To generate a diff of this commit: cvs rdiff -u -r1.100.4.4 -r1.100.4.5 src/sys/dev/pci/ixgbe/ix_txrx.c cvs rdiff -u -r1.324.2.6 -r1.324.2.7 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.86.4.4 -r1.86.4.5 src/sys/dev/pci/ixgbe/ixgbe.h cvs rdiff -u -r1.55.4.5 -r1.55.4.6 src/sys/dev/pci/ixgbe/ixgbe_type.h cvs rdiff -u -r1.183.4.5 -r1.183.4.6 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ixgbe/ix_txrx.c diff -u src/sys/dev/pci/ixgbe/ix_txrx.c:1.100.4.4 src/sys/dev/pci/ixgbe/ix_txrx.c:1.100.4.5 --- src/sys/dev/pci/ixgbe/ix_txrx.c:1.100.4.4 Wed Oct 18 11:53:22 2023 +++ src/sys/dev/pci/ixgbe/ix_txrx.c Sat Feb 3 11:58:53 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: ix_txrx.c,v 1.100.4.4 2023/10/18 11:53:22 martin Exp $ */ +/* $NetBSD: ix_txrx.c,v 1.100.4.5 2024/02/03 11:58:53 martin Exp $ */ /** @@ -64,13 +64,14 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.100.4.4 2023/10/18 11:53:22 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.100.4.5 2024/02/03 11:58:53 martin Exp $"); #include "opt_inet.h" #include "opt_inet6.h" #include "ixgbe.h" +#ifdef RSC /* * HW RSC control: * this feature only works with @@ -84,7 +85,9 @@ __KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v * to enable. */ static bool ixgbe_rsc_enable = FALSE; +#endif +#ifdef IXGBE_FDIR /* * For Flow Director: this is the * number of TX packets we sample @@ -95,6 +98,7 @@ static bool ixgbe_rsc_enable = FALSE; * setting this to 0. */ static int atr_sample_rate = 20; +#endif #define IXGBE_M_ADJ(sc, rxr, mp) \ if (sc->max_frame_size <= (rxr->mbuf_sz - ETHER_ALIGN)) \ @@ -122,8 +126,9 @@ static __inline void ixgbe_rx_input(stru static int ixgbe_dma_malloc(struct ixgbe_softc *, bus_size_t,
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Sat Feb 3 11:58:53 UTC 2024 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: ix_txrx.c ixgbe.c ixgbe.h ixgbe_type.h ixv.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #563): sys/dev/pci/ixgbe/ix_txrx.c: revision 1.110 sys/dev/pci/ixgbe/ixgbe.c: revision 1.345 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.111 sys/dev/pci/ixgbe/ixgbe.c: revision 1.346 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.112 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.62 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.113 sys/dev/pci/ixgbe/ixgbe.c: revision 1.348 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.114 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.115 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.116 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.105 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.106 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.107 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.108 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.109 sys/dev/pci/ixgbe/ixv.c: revision 1.193 sys/dev/pci/ixgbe/ixv.c: revision 1.195 sys/dev/pci/ixgbe/ixv.c: revision 1.196 sys/dev/pci/ixgbe/ixgbe.h: revision 1.94 sys/dev/pci/ixgbe/ixgbe.h: revision 1.95 sys/dev/pci/ixgbe/ixgbe.h: revision 1.96 sys/dev/pci/ixgbe/ixgbe.h: revision 1.97 sys/dev/pci/ixgbe/ixgbe.h: revision 1.98 ixgbe: Fix comment. No functional change. ixgbe: Whitespace. No functional change. ixgbe(4): Move assignment of TXD. NFCI. ixgbe(4): Modify comment. No functional change. ixgbe_tx_ctx_setup() may or may not consume one TX descriptor. ixv(4): Remove unused IFF_OACTIVE. No functional change. ixgbe: Clear the WTHRESH bit field before writing it. ixgbe: Modify for the readability. No functional change. ixgbe: micro-optimize ixgbe_txeof() Update txr->tx_avail and txr->txr_no_space outside the loop in ixgbe_txeof(). ixgbe: Update if_opackets outside the loop in ixgbe_txeof(). ixgbe: micro-optimize ixgbe_txeof() Update txr->packets outside the loop in ixgbe_txeof(). ixgbe: Use #ifdef IXGBE_FDIR more Don't include the Flow Director related members to reduce the size of struct tx_ring. On amd64 and aarch64, the real size is not changed because of the alignment. ixgbe: Simplify. No functional change. The descriptor ring size and the alignment are tested in the attach function, so it's not required to use roundup2(size, DBA_ALIGN). ixgbe: Use kmem_zalloc() instead of malloc(,M_ZERO). ixgbe: Remove unused to reduce the size of struct rx_ring. ixgbe: Use #ifdef LRO more to reduce the size of struct rx_ring. ixgbe: Change "me" from 32bit to 8bit because the max is 128. This commit doesn't change the real size of ix_queue, tx_ring and rx_ring because of the alignment. ixgbe: Use #ifdef RSC This feature (hardware receive side coalescing) has been disabled all along, so enclose the code with #ifdef RSC. To generate a diff of this commit: cvs rdiff -u -r1.100.4.4 -r1.100.4.5 src/sys/dev/pci/ixgbe/ix_txrx.c cvs rdiff -u -r1.324.2.6 -r1.324.2.7 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.86.4.4 -r1.86.4.5 src/sys/dev/pci/ixgbe/ixgbe.h cvs rdiff -u -r1.55.4.5 -r1.55.4.6 src/sys/dev/pci/ixgbe/ixgbe_type.h cvs rdiff -u -r1.183.4.5 -r1.183.4.6 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Feb 3 11:20:32 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: regen (ticket #560) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.11 -r1.1452.2.12 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.11 -r1.1451.2.12 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. diffs are larger than 1MB and have been omitted
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Feb 3 11:20:32 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: regen (ticket #560) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.11 -r1.1452.2.12 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.11 -r1.1451.2.12 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Feb 3 11:19:21 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #560): sys/dev/pci/pcidevs: revision 1.1499 sys/dev/pci/pcidevs: revision 1.1500 sys/dev/pci/pcidevs: revision 1.1501 sys/dev/pci/pcidevs: revision 1.1502 add some newer Areca boards in prep for updating driver Add Intel C26[26] eSPI. Update Intel Raptor Lake devices. Add Intel I219-{LM,V}(20,21) add some newer Areca boards in prep for updating driver Add Intel C26[26] eSPI. Update Intel Raptor Lake devices. Add Intel I219-{LM,V}(20,21) To generate a diff of this commit: cvs rdiff -u -r1.1471.2.10 -r1.1471.2.11 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1471.2.10 src/sys/dev/pci/pcidevs:1.1471.2.11 --- src/sys/dev/pci/pcidevs:1.1471.2.10 Fri Nov 3 08:59:29 2023 +++ src/sys/dev/pci/pcidevs Sat Feb 3 11:19:21 2024 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1471.2.10 2023/11/03 08:59:29 martin Exp $ +$NetBSD: pcidevs,v 1.1471.2.11 2024/02/03 11:19:21 martin Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -1488,6 +1488,7 @@ product ARECA ARC1170 0x1170 ARC-1170 product ARECA ARC1200 0x1200 ARC-1200 product ARECA ARC1200_B 0x1201 ARC-1200 rev B product ARECA ARC1202 0x1202 ARC-1202 +product ARECA ARC1203 0x1203 ARC-1203 product ARECA ARC1210 0x1210 ARC-1210 product ARECA ARC1214 0x1214 ARC-1214 product ARECA ARC1220 0x1220 ARC-1220 @@ -1500,6 +1501,8 @@ product ARECA ARC1381 0x1381 ARC-1381 product ARECA ARC1680 0x1680 ARC-1680 product ARECA ARC1681 0x1681 ARC-1681 product ARECA ARC1880 0x1880 ARC-1880 +product ARECA ARC1884 0x1884 ARC-1884 +product ARECA ARC1886 0x1886 ARC-1886 /* ASIX Electronics products */ product ASIX AX88140A 0x1400 AX88140A 10/100 Ethernet @@ -5960,7 +5963,7 @@ product INTEL ADL_U15_2_4_HOST 0x4609 Al product INTEL ADL_U9_2_4_HOST 0x460a Alder Lake (U9,2+4) Host product INTEL ADL_PCIE_RP_0 0x460d Alder Lake PCIe G5 Root Port 0 (x16) product INTEL ADL_XDCI 0x460e Alder Lake USB-C Device (xDCI) -product INTEL ADL_S_2_0_HOST 0x4610 Alder Lake (S,2+0) Host +product INTEL ADL_S_2_0_HOST 0x4610 Alder Lake Refresh (S,2+0) Host product INTEL ADL_N_8_HOST 0x4617 Alder Lake-N (0+8) Host product INTEL ADL_U15_1_4_HOST 0x4619 Alder Lake (U15,1+4) Host product INTEL ADL_U9_1_4_HOST 0x461a Alder Lake (U9,1+4) Host @@ -5982,7 +5985,9 @@ product INTEL ADL_HX_6_8_HOST 0x463b Ald product INTEL ADL_PCIE_RP_3 0x463d Alder Lake PCIe G4 Root Port 3 (x4) product INTEL ADL_TBTDMA_0 0x463e Alder Lake Thunderbolt DMA 0 product INTEL ADL_TBT_PCIE_1 0x463f Alder Lake Thunderbolt PCIe 1 +product INTEL RPL_S_6_8_HOST_2 0x4640 Raptor Lake (S,6+8) Host product INTEL ADL_H_6_8_HOST 0x4641 Alder Lake (H,6+8) Host +product INTEL RPL_HX_6_4_HOST_2 0x4647 Raptor Lake (HX,6+4) Host product INTEL ADL_S_6_4_HOST 0x4648 Alder Lake (S,6+4) Host product INTEL ADL_H_6_4_HOST 0x4649 Alder Lake (H,6+4) Host product INTEL ADL_PCIE_RP_2 0x464d Alder Lake PCIe G4 Root Port 2 (x4) @@ -6302,6 +6307,10 @@ product INTEL I219_LM18 0x550a I219-LM product INTEL I219_V18 0x550b I219-V (18) Ethernet Connection product INTEL I219_LM19 0x550c I219-LM (19) Ethernet Connection product INTEL I219_V19 0x550d I219-V (19) Ethernet Connection +product INTEL I219_LM20 0x550e I219-LM (20) Ethernet Connection +product INTEL I219_V20 0x550f I219-V (20) Ethernet Connection +product INTEL I219_LM21 0x5510 I219-LM (21) Ethernet Connection +product INTEL I219_V21 0x5511 I219-V (21) Ethernet Connection product INTEL CORE7G_H_M_D_HOST_DRAM 0x5900 Core 7G (H, Mobile, Dual) Host Bridge, DRAM product INTEL CORE7G_PCIE_X16 0x5901 Core 7G PCIe x16 product INTEL CORE7G_S_GT1 0x5902 HD Graphics 610 (GT1) @@ -6505,6 +6514,8 @@ product INTEL I740 0x7800 i740 Graphics product INTEL 7HS_Z790_ESPI 0x7a04 Z790 eSPI product INTEL 7HS_H770_ESPI 0x7a05 H770 eSPI product INTEL 7HS_B760_ESPI 0x7a06 B760 eSPI +product INTEL 7HS_C266_ESPI 0x7a13 C266 eSPI +product INTEL 7HS_C262_ESPI 0x7a14 C262 eSPI product INTEL 7HS_P2SB 0x7a20 700 Series PCH P2SB product INTEL 7HS_PMC 0x7a21 700 Series PCH PMC product INTEL 7HS_SMB 0x7a23 700 Series PCH SMBus @@ -7431,7 +7442,12 @@ product INTEL RPL_S_6_4_HOST 0xa705 Rapt product INTEL RPL_H_6_8_HOST 0xa706 Raptor Lake (H,6+8) Host product INTEL RPL_H_4_8_HOST 0xa707 Raptor Lake (H,4+8) Host product INTEL RPL_U_2_8_HOST 0xa708 Raptor Lake (U,2+8) Host +product INTEL RPL_PX_6_8_HOST 0xa709 Raptor Lake (PX,6+8) Host +product INTEL RPL_PX_4_8_HOST 0xa70a Raptor Lake (PX,4+8) Host product INTEL RPL_PCIE_RP_0 0xa70d Raptor Lake PCIe G5 Root Port 0 (x16) +product INTEL RPL_E_8_0_HOST 0xa711 Raptor Lake (E,8+0) Host +product INTEL
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Feb 3 11:19:21 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #560): sys/dev/pci/pcidevs: revision 1.1499 sys/dev/pci/pcidevs: revision 1.1500 sys/dev/pci/pcidevs: revision 1.1501 sys/dev/pci/pcidevs: revision 1.1502 add some newer Areca boards in prep for updating driver Add Intel C26[26] eSPI. Update Intel Raptor Lake devices. Add Intel I219-{LM,V}(20,21) add some newer Areca boards in prep for updating driver Add Intel C26[26] eSPI. Update Intel Raptor Lake devices. Add Intel I219-{LM,V}(20,21) To generate a diff of this commit: cvs rdiff -u -r1.1471.2.10 -r1.1471.2.11 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Jan 14 15:24:06 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: cmpci.c fms.c sv.c yds.c Log Message: Pull up following revision(s) (requested by chs in ticket #542): sys/dev/pci/yds.c: revision 1.69 sys/dev/pci/cmpci.c: revision 1.61 sys/dev/pci/sv.c: revision 1.62 sys/dev/pci/fms.c: revision 1.50 mpu / opl: add an interface attribute to config_found() calls for these specify an interface attribute when attaching mpu and opl devices. the PCI devices that are the parents of these midi devices (cmpci, eso, fms, sv, yds) have two interface attributes: "audiobus", and also one named the same as the parent device, eg. "cmpci" has an interface attribute named "cmpci". we must specify the latter one to attach these children. To generate a diff of this commit: cvs rdiff -u -r1.60 -r1.60.4.1 src/sys/dev/pci/cmpci.c cvs rdiff -u -r1.49 -r1.49.6.1 src/sys/dev/pci/fms.c cvs rdiff -u -r1.61 -r1.61.6.1 src/sys/dev/pci/sv.c cvs rdiff -u -r1.68 -r1.68.6.1 src/sys/dev/pci/yds.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Jan 14 15:24:06 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: cmpci.c fms.c sv.c yds.c Log Message: Pull up following revision(s) (requested by chs in ticket #542): sys/dev/pci/yds.c: revision 1.69 sys/dev/pci/cmpci.c: revision 1.61 sys/dev/pci/sv.c: revision 1.62 sys/dev/pci/fms.c: revision 1.50 mpu / opl: add an interface attribute to config_found() calls for these specify an interface attribute when attaching mpu and opl devices. the PCI devices that are the parents of these midi devices (cmpci, eso, fms, sv, yds) have two interface attributes: "audiobus", and also one named the same as the parent device, eg. "cmpci" has an interface attribute named "cmpci". we must specify the latter one to attach these children. To generate a diff of this commit: cvs rdiff -u -r1.60 -r1.60.4.1 src/sys/dev/pci/cmpci.c cvs rdiff -u -r1.49 -r1.49.6.1 src/sys/dev/pci/fms.c cvs rdiff -u -r1.61 -r1.61.6.1 src/sys/dev/pci/sv.c cvs rdiff -u -r1.68 -r1.68.6.1 src/sys/dev/pci/yds.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/cmpci.c diff -u src/sys/dev/pci/cmpci.c:1.60 src/sys/dev/pci/cmpci.c:1.60.4.1 --- src/sys/dev/pci/cmpci.c:1.60 Tue May 31 08:43:15 2022 +++ src/sys/dev/pci/cmpci.c Sun Jan 14 15:24:06 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: cmpci.c,v 1.60 2022/05/31 08:43:15 andvar Exp $ */ +/* $NetBSD: cmpci.c,v 1.60.4.1 2024/01/14 15:24:06 martin Exp $ */ /* * Copyright (c) 2000, 2001, 2008 The NetBSD Foundation, Inc. @@ -43,7 +43,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: cmpci.c,v 1.60 2022/05/31 08:43:15 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cmpci.c,v 1.60.4.1 2024/01/14 15:24:06 martin Exp $"); #if defined(AUDIO_DEBUG) || defined(DEBUG) #define DPRINTF(x) if (cmpcidebug) printf x @@ -419,7 +419,7 @@ cmpci_attach(device_t parent, device_t s aa.type = AUDIODEV_TYPE_OPL; aa.hwif = NULL; aa.hdl = NULL; - (void)config_found(sc->sc_dev, , audioprint, CFARGS_NONE); + (void)config_found(sc->sc_dev, , audioprint, CFARGS(.iattr = "cmpci")); /* attach MPU-401 device */ aa.type = AUDIODEV_TYPE_MPU; @@ -428,7 +428,7 @@ cmpci_attach(device_t parent, device_t s if (bus_space_subregion(sc->sc_iot, sc->sc_ioh, CMPCI_REG_MPU_BASE, CMPCI_REG_MPU_SIZE, >sc_mpu_ioh) == 0) sc->sc_mpudev = config_found(sc->sc_dev, , audioprint, - CFARGS_NONE); + CFARGS(.iattr = "cmpci")); /* get initial value (this is 0 and may be omitted but just in case) */ sc->sc_reg_misc = bus_space_read_4(sc->sc_iot, sc->sc_ioh, Index: src/sys/dev/pci/fms.c diff -u src/sys/dev/pci/fms.c:1.49 src/sys/dev/pci/fms.c:1.49.6.1 --- src/sys/dev/pci/fms.c:1.49 Sat Aug 7 16:19:14 2021 +++ src/sys/dev/pci/fms.c Sun Jan 14 15:24:06 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: fms.c,v 1.49 2021/08/07 16:19:14 thorpej Exp $ */ +/* $NetBSD: fms.c,v 1.49.6.1 2024/01/14 15:24:06 martin Exp $ */ /*- * Copyright (c) 1999, 2008 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: fms.c,v 1.49 2021/08/07 16:19:14 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fms.c,v 1.49.6.1 2024/01/14 15:24:06 martin Exp $"); #include "mpu.h" @@ -325,12 +325,13 @@ fms_attach(device_t parent, device_t sel aa.type = AUDIODEV_TYPE_OPL; aa.hwif = NULL; aa.hdl = NULL; - config_found(sc->sc_dev, , audioprint, CFARGS_NONE); + config_found(sc->sc_dev, , audioprint, CFARGS(.iattr = "fms")); aa.type = AUDIODEV_TYPE_MPU; aa.hwif = NULL; aa.hdl = NULL; - sc->sc_mpu_dev = config_found(sc->sc_dev, , audioprint, CFARGS_NONE); + sc->sc_mpu_dev = config_found(sc->sc_dev, , audioprint, + CFARGS(.iattr = "fms")); } /* Index: src/sys/dev/pci/sv.c diff -u src/sys/dev/pci/sv.c:1.61 src/sys/dev/pci/sv.c:1.61.6.1 --- src/sys/dev/pci/sv.c:1.61 Sat Aug 7 16:19:14 2021 +++ src/sys/dev/pci/sv.c Sun Jan 14 15:24:06 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: sv.c,v 1.61 2021/08/07 16:19:14 thorpej Exp $ */ +/* $NetBSD: sv.c,v 1.61.6.1 2024/01/14 15:24:06 martin Exp $ */ /* $OpenBSD: sv.c,v 1.2 1998/07/13 01:50:15 csapuntz Exp $ */ /* @@ -67,7 +67,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: sv.c,v 1.61 2021/08/07 16:19:14 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sv.c,v 1.61.6.1 2024/01/14 15:24:06 martin Exp $"); #include #include @@ -449,7 +449,7 @@ sv_attach(device_t parent, device_t self arg.type = AUDIODEV_TYPE_OPL; arg.hwif = 0; arg.hdl = 0; - (void)config_found(self, , audioprint, CFARGS_NONE); + (void)config_found(self, , audioprint, CFARGS(.iattr = "sv")); sc->sc_pa = *pa; /* for deferred setup */ config_defer(self, sv_defer); Index: src/sys/dev/pci/yds.c diff -u src/sys/dev/pci/yds.c:1.68 src/sys/dev/pci/yds.c:1.68.6.1 --- src/sys/dev/pci/yds.c:1.68 Sat Aug 7 16:19:14 2021 +++ src/sys/dev/pci/yds.c Sun Jan 14 15:24:06 2024 @@ -1,4 +1,4 @@
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Jan 14 15:20:19 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: ips.c Log Message: Pull up following revision(s) (requested by chs in ticket #541): sys/dev/pci/ips.c: revision 1.7 ips: fix a couple more device_t/softc split bugs To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.6.4.1 src/sys/dev/pci/ips.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ips.c diff -u src/sys/dev/pci/ips.c:1.6 src/sys/dev/pci/ips.c:1.6.4.1 --- src/sys/dev/pci/ips.c:1.6 Sat Feb 12 02:58:50 2022 +++ src/sys/dev/pci/ips.c Sun Jan 14 15:20:19 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: ips.c,v 1.6 2022/02/12 02:58:50 riastradh Exp $ */ +/* $NetBSD: ips.c,v 1.6.4.1 2024/01/14 15:20:19 martin Exp $ */ /* $OpenBSD: ips.c,v 1.113 2016/08/14 04:08:03 dlg Exp $ */ /*- @@ -48,7 +48,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ips.c,v 1.6 2022/02/12 02:58:50 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ips.c,v 1.6.4.1 2024/01/14 15:20:19 martin Exp $"); #include "bio.h" @@ -458,7 +458,7 @@ struct ips_softc { }; int ips_match(device_t, cfdata_t, void *); -void ips_attach(struct device *, struct device *, void *); +void ips_attach(device_t, device_t, void *); void ips_scsi_cmd(struct ips_ccb *); void ips_scsi_pt_cmd(struct scsipi_xfer *); @@ -617,9 +617,9 @@ ips_match(device_t parent, cfdata_t cfda } void -ips_attach(struct device *parent, struct device *self, void *aux) +ips_attach(device_t parent, device_t self, void *aux) { - struct ips_softc *sc = (struct ips_softc *)self; + struct ips_softc *sc = device_private(self); struct pci_attach_args *pa = aux; struct ips_ccb ccb0; struct ips_adapterinfo *ai; @@ -1042,7 +1042,7 @@ ips_scsi_ioctl(struct scsipi_channel *ch int ips_ioctl(device_t dev, u_long cmd, void *data) { - struct ips_softc *sc = (struct ips_softc *)dev; + struct ips_softc *sc = device_private(dev); DPRINTF(IPS_D_INFO, ("%s: ips_ioctl: cmd %lu\n", device_xname(sc->sc_dev), cmd)); @@ -1086,7 +1086,7 @@ ips_ioctl_vol(struct ips_softc *sc, stru struct ips_rblstat *rblstat = >sc_info->rblstat; struct ips_ld *ld; int vid = bv->bv_volid; - struct device *dv; + device_t dv; int error, rebuild = 0; u_int32_t total = 0, done = 0;
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Jan 14 15:20:19 UTC 2024 Modified Files: src/sys/dev/pci [netbsd-10]: ips.c Log Message: Pull up following revision(s) (requested by chs in ticket #541): sys/dev/pci/ips.c: revision 1.7 ips: fix a couple more device_t/softc split bugs To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.6.4.1 src/sys/dev/pci/ips.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Nov 29 12:34:46 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pci_resource.c Log Message: Pull up following revision(s) (requested by jmcneill in ticket #483): sys/dev/pci/pci_resource.c: revision 1.4 pci: Improve resource allocation for non-prefetchable BARs. When allocating resources for PCI devices, use the following criteria: - Prefetchable memory must be allocated from the prefetchable range of the parent bridge. - For 64-bit MMIO, try the prefetchable range first, and fallback to the non-prefetchable range. The idea here is to preserve 32-bit resources for 32-bit BARs. - For 32-bit MMIO, try the non-prefetchable range first. If that fails, make one last attempt at allocating from the prefetchable range, in the event that it has resources below 4GB. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.3.2.1 src/sys/dev/pci/pci_resource.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pci_resource.c diff -u src/sys/dev/pci/pci_resource.c:1.3 src/sys/dev/pci/pci_resource.c:1.3.2.1 --- src/sys/dev/pci/pci_resource.c:1.3 Sat Oct 15 20:11:44 2022 +++ src/sys/dev/pci/pci_resource.c Wed Nov 29 12:34:46 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pci_resource.c,v 1.3 2022/10/15 20:11:44 riastradh Exp $ */ +/* $NetBSD: pci_resource.c,v 1.3.2.1 2023/11/29 12:34:46 martin Exp $ */ /*- * Copyright (c) 2022 Jared McNeill @@ -35,7 +35,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pci_resource.c,v 1.3 2022/10/15 20:11:44 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pci_resource.c,v 1.3.2.1 2023/11/29 12:34:46 martin Exp $"); #include #include @@ -684,13 +684,46 @@ pci_resource_init_device(struct pci_reso KASSERT(pi->pi_type == PCI_MAPREG_TYPE_MEM); error = ERANGE; - if (pi->pi_mem.prefetch && res_pmem != NULL) { - error = pci_resource_claim(res_pmem, pi->pi_base, - pi->pi_base + pi->pi_size - 1); - } - if (error && res_mem != NULL) { - error = pci_resource_claim(res_mem, pi->pi_base, - pi->pi_base + pi->pi_size - 1); + if (pi->pi_mem.prefetch) { + /* + * Prefetchable memory must be allocated from the + * bridge's prefetchable region. + */ + if (res_pmem != NULL) { +error = pci_resource_claim(res_pmem, pi->pi_base, +pi->pi_base + pi->pi_size - 1); + } + } else if (pi->pi_mem.memtype == PCI_MAPREG_MEM_TYPE_64BIT) { + /* + * Non-prefetchable 64-bit memory can be allocated from + * any range. Prefer allocations from the prefetchable + * region to save 32-bit only resources for 32-bit BARs. + */ + if (res_pmem != NULL) { +error = pci_resource_claim(res_pmem, pi->pi_base, +pi->pi_base + pi->pi_size - 1); + } + if (error && res_mem != NULL) { +error = pci_resource_claim(res_mem, pi->pi_base, +pi->pi_base + pi->pi_size - 1); + } + } else { + /* + * Non-prefetchable 32-bit memory can be allocated from + * any range, provided that the range is below 4GB. Try + * the non-prefetchable range first, and if that fails, + * make one last attempt at allocating from the + * prefetchable range in case the platform provides + * memory below 4GB. + */ + if (res_mem != NULL) { +error = pci_resource_claim(res_mem, pi->pi_base, +pi->pi_base + pi->pi_size - 1); + } + if (error && res_pmem != NULL) { +error = pci_resource_claim(res_pmem, pi->pi_base, +pi->pi_base + pi->pi_size - 1); + } } if (error) { DPRINT("PCI: " PCI_SBDF_FMT " [device] mem"
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Nov 29 12:34:46 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pci_resource.c Log Message: Pull up following revision(s) (requested by jmcneill in ticket #483): sys/dev/pci/pci_resource.c: revision 1.4 pci: Improve resource allocation for non-prefetchable BARs. When allocating resources for PCI devices, use the following criteria: - Prefetchable memory must be allocated from the prefetchable range of the parent bridge. - For 64-bit MMIO, try the prefetchable range first, and fallback to the non-prefetchable range. The idea here is to preserve 32-bit resources for 32-bit BARs. - For 32-bit MMIO, try the non-prefetchable range first. If that fails, make one last attempt at allocating from the prefetchable range, in the event that it has resources below 4GB. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.3.2.1 src/sys/dev/pci/pci_resource.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: bouyer Date: Sun Nov 26 12:38:56 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pciide_common.c Log Message: Pull up following revision(s) (requested by thorpej in ticket #470): sys/dev/pci/pciide_common.c: revision 1.70 pciide_dma_dmamap_setup(): If we end up with a DMA segment with an odd length or odd starting address, unload the map and return EINVAL. Some controllers get really upset if a DMA segment has an odd address or length. This can happen if a physio user performs a virtually-contiguous I/O that starts at an odd address and spans a page boundary where the resulting physical pages are discontiguous. The EINVAL return will cause the upper layers in the ATA code to re-try the I/O using PIO, which should (will in all of my tests) succeed. PR port-alpha/56434 To generate a diff of this commit: cvs rdiff -u -r1.67 -r1.67.20.1 src/sys/dev/pci/pciide_common.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pciide_common.c diff -u src/sys/dev/pci/pciide_common.c:1.67 src/sys/dev/pci/pciide_common.c:1.67.20.1 --- src/sys/dev/pci/pciide_common.c:1.67 Mon Aug 24 05:37:41 2020 +++ src/sys/dev/pci/pciide_common.c Sun Nov 26 12:38:56 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pciide_common.c,v 1.67 2020/08/24 05:37:41 msaitoh Exp $ */ +/* $NetBSD: pciide_common.c,v 1.67.20.1 2023/11/26 12:38:56 bouyer Exp $ */ /* @@ -70,7 +70,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pciide_common.c,v 1.67 2020/08/24 05:37:41 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pciide_common.c,v 1.67.20.1 2023/11/26 12:38:56 bouyer Exp $"); #include @@ -721,25 +721,51 @@ pciide_dma_dmamap_setup(struct pciide_so BUS_DMASYNC_PREREAD : BUS_DMASYNC_PREWRITE); for (seg = 0; seg < dma_maps->dmamap_xfer->dm_nsegs; seg++) { + bus_addr_t phys = dma_maps->dmamap_xfer->dm_segs[seg].ds_addr; + bus_size_t len = dma_maps->dmamap_xfer->dm_segs[seg].ds_len; + #ifdef DIAGNOSTIC /* A segment must not cross a 64k boundary */ { - u_long phys = dma_maps->dmamap_xfer->dm_segs[seg].ds_addr; - u_long len = dma_maps->dmamap_xfer->dm_segs[seg].ds_len; if ((phys & ~IDEDMA_BYTE_COUNT_MASK) != ((phys + len - 1) & ~IDEDMA_BYTE_COUNT_MASK)) { - printf("pciide_dma: segment %d physical addr 0x%lx" - " len 0x%lx not properly aligned\n", - seg, phys, len); + printf("pciide_dma: seg %d addr 0x%" PRIx64 + " len 0x%" PRIx64 " not properly aligned\n", + seg, (uint64_t)phys, (uint64_t)len); panic("pciide_dma: buf align"); } } #endif - dma_maps->dma_table[seg].base_addr = - htole32(dma_maps->dmamap_xfer->dm_segs[seg].ds_addr); + /* + * Some controllers get really upset if the length + * of any DMA segment is odd. This isn't something + * that's going to happen in normal steady-state + * operation (reading VM pages, etc.), but physio users + * don't have as many guard rails. + * + * Consider an 8K read request that starts at an odd + * offset within a page. At first blush, all of the + * checks pass because it's a sector-rounded size, but + * unless the buffer spans 2 physically contiguous pages, + * it's going to result in 2 odd-length DMA segments. + * + * Odd start addresses are also frowned upon, so we + * catch those here, too. + * + * Returning EINVAL here will cause the upper layers to + * fall back onto PIO. + */ + if ((phys & 1) != 0 || (len & 1) != 0) { + aprint_verbose_dev(sc->sc_wdcdev.sc_atac.atac_dev, + "Invalid DMA segment: " + "seg %d addr 0x%" PRIx64 " len 0x%" PRIx64 "\n", + seg, (uint64_t)phys, (uint64_t)len); + bus_dmamap_unload(sc->sc_dmat, dma_maps->dmamap_xfer); + return EINVAL; + } + dma_maps->dma_table[seg].base_addr = htole32(phys); dma_maps->dma_table[seg].byte_count = - htole32(dma_maps->dmamap_xfer->dm_segs[seg].ds_len & - IDEDMA_BYTE_COUNT_MASK); + htole32(len & IDEDMA_BYTE_COUNT_MASK); ATADEBUG_PRINT(("\t seg %d len %d addr 0x%x\n", seg, le32toh(dma_maps->dma_table[seg].byte_count), le32toh(dma_maps->dma_table[seg].base_addr)), DEBUG_DMA);
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: bouyer Date: Sun Nov 26 12:38:56 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pciide_common.c Log Message: Pull up following revision(s) (requested by thorpej in ticket #470): sys/dev/pci/pciide_common.c: revision 1.70 pciide_dma_dmamap_setup(): If we end up with a DMA segment with an odd length or odd starting address, unload the map and return EINVAL. Some controllers get really upset if a DMA segment has an odd address or length. This can happen if a physio user performs a virtually-contiguous I/O that starts at an odd address and spans a page boundary where the resulting physical pages are discontiguous. The EINVAL return will cause the upper layers in the ATA code to re-try the I/O using PIO, which should (will in all of my tests) succeed. PR port-alpha/56434 To generate a diff of this commit: cvs rdiff -u -r1.67 -r1.67.20.1 src/sys/dev/pci/pciide_common.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Nov 3 09:00:33 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #447 (Add Mellanox ConnectX-6 Lx) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.10 -r1.1452.2.11 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.10 -r1.1451.2.11 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs.h diff -u src/sys/dev/pci/pcidevs.h:1.1452.2.10 src/sys/dev/pci/pcidevs.h:1.1452.2.11 --- src/sys/dev/pci/pcidevs.h:1.1452.2.10 Wed Oct 18 14:33:15 2023 +++ src/sys/dev/pci/pcidevs.h Fri Nov 3 09:00:14 2023 @@ -1,10 +1,10 @@ -/* $NetBSD: pcidevs.h,v 1.1452.2.10 2023/10/18 14:33:15 martin Exp $ */ +/* $NetBSD: pcidevs.h,v 1.1452.2.11 2023/11/03 09:00:14 martin Exp $ */ /* * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * * generated from: - * NetBSD: pcidevs,v 1.1471.2.9 2023/10/18 14:27:37 martin Exp + * NetBSD: pcidevs,v 1.1471.2.10 2023/11/03 08:59:29 martin Exp */ /* @@ -7674,6 +7674,7 @@ #define PCI_PRODUCT_MELLANOX_MT28908 0x101b /* ConnectX-6 */ #define PCI_PRODUCT_MELLANOX_MT28908VF 0x101c /* ConnectX-6 VF */ #define PCI_PRODUCT_MELLANOX_MT2892 0x101d /* ConnectX-6 Dx */ +#define PCI_PRODUCT_MELLANOX_MT2894 0x101f /* ConnectX-6 Lx */ #define PCI_PRODUCT_MELLANOX_MT23108 0x5a44 /* InfiniHost (Tavor) */ #define PCI_PRODUCT_MELLANOX_MT23108_PCI 0x5a46 /* InfiniHost PCI Bridge (Tavor) */ #define PCI_PRODUCT_MELLANOX_MT25204_OLD 0x5e8c /* InfiniHost III Lx (old Sinai) */ Index: src/sys/dev/pci/pcidevs_data.h diff -u src/sys/dev/pci/pcidevs_data.h:1.1451.2.10 src/sys/dev/pci/pcidevs_data.h:1.1451.2.11 --- src/sys/dev/pci/pcidevs_data.h:1.1451.2.10 Wed Oct 18 14:33:15 2023 +++ src/sys/dev/pci/pcidevs_data.h Fri Nov 3 09:00:14 2023 @@ -1,10 +1,10 @@ -/* $NetBSD: pcidevs_data.h,v 1.1451.2.10 2023/10/18 14:33:15 martin Exp $ */ +/* $NetBSD: pcidevs_data.h,v 1.1451.2.11 2023/11/03 09:00:14 martin Exp $ */ /* * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * * generated from: - * NetBSD: pcidevs,v 1.1471.2.9 2023/10/18 14:27:37 martin Exp + * NetBSD: pcidevs,v 1.1471.2.10 2023/11/03 08:59:29 martin Exp */ /* @@ -13953,6 +13953,8 @@ static const uint32_t pci_products[] = { 32374, 15370, 0, PCI_VENDOR_MELLANOX, PCI_PRODUCT_MELLANOX_MT2892, 32374, 32385, 0, + PCI_VENDOR_MELLANOX, PCI_PRODUCT_MELLANOX_MT2894, + 32374, 32357, 0, PCI_VENDOR_MELLANOX, PCI_PRODUCT_MELLANOX_MT23108, 32388, 32399, 0, PCI_VENDOR_MELLANOX, PCI_PRODUCT_MELLANOX_MT23108_PCI, @@ -22912,10 +22914,10 @@ static const char pci_words[] = { "." "G550\0" /* 1 refs @ 32335 */ "MQ200\0" /* 1 refs @ 32340 */ "ConnectX-4\0" /* 4 refs @ 32346 */ - "Lx\0" /* 4 refs @ 32357 */ + "Lx\0" /* 5 refs @ 32357 */ "ConnectX-5\0" /* 4 refs @ 32360 */ "Ex\0" /* 4 refs @ 32371 */ - "ConnectX-6\0" /* 3 refs @ 32374 */ + "ConnectX-6\0" /* 4 refs @ 32374 */ "Dx\0" /* 1 refs @ 32385 */ "InfiniHost\0" /* 6 refs @ 32388 */ "(Tavor)\0" /* 2 refs @ 32399 */
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Nov 3 09:00:33 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #447 (Add Mellanox ConnectX-6 Lx) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.10 -r1.1452.2.11 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.10 -r1.1451.2.11 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Thu Oct 26 15:11:02 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: mpii.c Log Message: Pull up following revision(s) (requested by buhrow in ticket #435): sys/dev/pci/mpii.c: revision 1.30 Fixes for PR kern/57133: I can now explain why this assert is firing and have a fix for it. It is a regression introduced in R1.22 of mpii.c. If a request comes in and the IOC returns a MPII_SCSIIO_STATUS_CHECK_COND condition, after a successful transfer, or one that is a recovered error, mpii(4) correctly sets the xs->error to XS_SENSE, but incorrectly sets xs->resid to 0 before returning the xfer to the upper scsi layers. Once the upper layers get it, they notice the XS_SENSE check condition and because it's a retryable error, they increment xs_requeuecnt, set ERESTART and send the xfer request down to the mpii(4) layer again for a retry. What they do not do is reset xs->resid equal to xs->datalen. When the xfer comes down to mpii(4) again, the assert happens. The fix is for the mpii(4) driver to leave xs->resid alone when it encounters a MPII_SCSIIO_STATUS_CHECK_COND condition. This bug affects NetBSD-10, netbsd-9 and netbsd-8. To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.29.6.1 src/sys/dev/pci/mpii.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/mpii.c diff -u src/sys/dev/pci/mpii.c:1.29 src/sys/dev/pci/mpii.c:1.29.6.1 --- src/sys/dev/pci/mpii.c:1.29 Sat Aug 7 16:19:14 2021 +++ src/sys/dev/pci/mpii.c Thu Oct 26 15:11:02 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: mpii.c,v 1.29 2021/08/07 16:19:14 thorpej Exp $ */ +/* $NetBSD: mpii.c,v 1.29.6.1 2023/10/26 15:11:02 martin Exp $ */ /* $OpenBSD: mpii.c,v 1.115 2018/08/14 05:22:21 jmatthew Exp $ */ /* * Copyright (c) 2010, 2012 Mike Belopuhov @@ -20,7 +20,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: mpii.c,v 1.29 2021/08/07 16:19:14 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mpii.c,v 1.29.6.1 2023/10/26 15:11:02 martin Exp $"); #include "bio.h" @@ -3204,7 +3204,6 @@ mpii_scsi_cmd_done(struct mpii_ccb *ccb) } KASSERT(xs->error == XS_NOERROR); - KASSERT(xs->resid == xs->datalen); KASSERT(xs->status == SCSI_OK); if (ccb->ccb_rcb == NULL) { @@ -3264,7 +3263,6 @@ mpii_scsi_cmd_done(struct mpii_ccb *ccb) break; case MPII_SCSIIO_STATUS_CHECK_COND: - xs->resid = 0; xs->error = XS_SENSE; break;
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Thu Oct 26 15:11:02 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: mpii.c Log Message: Pull up following revision(s) (requested by buhrow in ticket #435): sys/dev/pci/mpii.c: revision 1.30 Fixes for PR kern/57133: I can now explain why this assert is firing and have a fix for it. It is a regression introduced in R1.22 of mpii.c. If a request comes in and the IOC returns a MPII_SCSIIO_STATUS_CHECK_COND condition, after a successful transfer, or one that is a recovered error, mpii(4) correctly sets the xs->error to XS_SENSE, but incorrectly sets xs->resid to 0 before returning the xfer to the upper scsi layers. Once the upper layers get it, they notice the XS_SENSE check condition and because it's a retryable error, they increment xs_requeuecnt, set ERESTART and send the xfer request down to the mpii(4) layer again for a retry. What they do not do is reset xs->resid equal to xs->datalen. When the xfer comes down to mpii(4) again, the assert happens. The fix is for the mpii(4) driver to leave xs->resid alone when it encounters a MPII_SCSIIO_STATUS_CHECK_COND condition. This bug affects NetBSD-10, netbsd-9 and netbsd-8. To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.29.6.1 src/sys/dev/pci/mpii.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Oct 22 06:25:32 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_rge.c Log Message: Pull up following revision(s) (requested by mrg in ticket #434): sys/dev/pci/if_rge.c: revision 1.26 sys/dev/pci/if_rge.c: revision 1.28 rge(4): check for all errors in rx buffer allocation should fix a crash seen by by Chavdar Ivanov reported on current-users. move the rx and tx list clean up into their own functions, and call the rx clean up function from the init function if something fails. this should fix a potential leak in this case, and generally frees up memory that won't be used without a successful init phase again. slight application of 'static', much more could be done. rge: properly handle mbuf allocation failures in rx interrupts several changes that should fix crashes seen after an mbuf allocation failure: - create RX ring dma maps with BUS_DMA_ALLOCNOW, so that any future bus_dmamap_load*() call will succeed. this avoids one error case in rge_newbuf(), that similar cases in eg wm(4) actually call panic for now (i think this idea can be copied into wm(4) as well.) - extract the RX descriptor set into a common function that both rge_newbuf() and rge_rxeof() can both use. it's almost identical to the old rge_discard_rxbuf() except it also sets the rge_addr (this is needed for the newbuf case.) - move the bus_dmamap_unload() into rge_newbuf(), so that the existing mbuf will remain mapped until a new mbuf is allocated. (this part is what should fix crashes seen by wiz and Chavdar, as the unload follow by sync is what triggers the assert in x86 bus_dma. without the assert, it will would have shortly triggered a page fault.) remove the assignment to NULL for the rxq mbuf pointer, it is required for reload. - add a couple of missing if_statinc() calls. tested on amd64 and arm64. To generate a diff of this commit: cvs rdiff -u -r1.24.4.2 -r1.24.4.3 src/sys/dev/pci/if_rge.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Oct 22 06:25:32 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_rge.c Log Message: Pull up following revision(s) (requested by mrg in ticket #434): sys/dev/pci/if_rge.c: revision 1.26 sys/dev/pci/if_rge.c: revision 1.28 rge(4): check for all errors in rx buffer allocation should fix a crash seen by by Chavdar Ivanov reported on current-users. move the rx and tx list clean up into their own functions, and call the rx clean up function from the init function if something fails. this should fix a potential leak in this case, and generally frees up memory that won't be used without a successful init phase again. slight application of 'static', much more could be done. rge: properly handle mbuf allocation failures in rx interrupts several changes that should fix crashes seen after an mbuf allocation failure: - create RX ring dma maps with BUS_DMA_ALLOCNOW, so that any future bus_dmamap_load*() call will succeed. this avoids one error case in rge_newbuf(), that similar cases in eg wm(4) actually call panic for now (i think this idea can be copied into wm(4) as well.) - extract the RX descriptor set into a common function that both rge_newbuf() and rge_rxeof() can both use. it's almost identical to the old rge_discard_rxbuf() except it also sets the rge_addr (this is needed for the newbuf case.) - move the bus_dmamap_unload() into rge_newbuf(), so that the existing mbuf will remain mapped until a new mbuf is allocated. (this part is what should fix crashes seen by wiz and Chavdar, as the unload follow by sync is what triggers the assert in x86 bus_dma. without the assert, it will would have shortly triggered a page fault.) remove the assignment to NULL for the rxq mbuf pointer, it is required for reload. - add a couple of missing if_statinc() calls. tested on amd64 and arm64. To generate a diff of this commit: cvs rdiff -u -r1.24.4.2 -r1.24.4.3 src/sys/dev/pci/if_rge.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_rge.c diff -u src/sys/dev/pci/if_rge.c:1.24.4.2 src/sys/dev/pci/if_rge.c:1.24.4.3 --- src/sys/dev/pci/if_rge.c:1.24.4.2 Sat Oct 14 06:59:43 2023 +++ src/sys/dev/pci/if_rge.c Sun Oct 22 06:25:32 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: if_rge.c,v 1.24.4.2 2023/10/14 06:59:43 martin Exp $ */ +/* $NetBSD: if_rge.c,v 1.24.4.3 2023/10/22 06:25:32 martin Exp $ */ /* $OpenBSD: if_rge.c,v 1.9 2020/12/12 11:48:53 jan Exp $ */ /* @@ -18,7 +18,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_rge.c,v 1.24.4.2 2023/10/14 06:59:43 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_rge.c,v 1.24.4.3 2023/10/22 06:25:32 martin Exp $"); #include @@ -106,9 +106,10 @@ int rge_ifmedia_upd(struct ifnet *); void rge_ifmedia_sts(struct ifnet *, struct ifmediareq *); int rge_allocmem(struct rge_softc *); int rge_newbuf(struct rge_softc *, int); -void rge_discard_rxbuf(struct rge_softc *, int); -int rge_rx_list_init(struct rge_softc *); -void rge_tx_list_init(struct rge_softc *); +static int rge_rx_list_init(struct rge_softc *); +static void rge_rx_list_fini(struct rge_softc *); +static void rge_tx_list_init(struct rge_softc *); +static void rge_tx_list_fini(struct rge_softc *); int rge_rxeof(struct rge_softc *); int rge_txeof(struct rge_softc *); void rge_reset(struct rge_softc *); @@ -650,7 +651,7 @@ rge_init(struct ifnet *ifp) { struct rge_softc *sc = ifp->if_softc; uint32_t val; - int i; + unsigned i; rge_stop(ifp, 0); @@ -661,11 +662,12 @@ rge_init(struct ifnet *ifp) RGE_WRITE_2(sc, RGE_RXMAXSIZE, RGE_JUMBO_FRAMELEN); /* Initialize RX descriptors list. */ - if (rge_rx_list_init(sc) == ENOBUFS) { + int error = rge_rx_list_init(sc); + if (error != 0) { device_printf(sc->sc_dev, "init failed: no memory for RX buffers\n"); rge_stop(ifp, 1); - return (ENOBUFS); + return error; } /* Initialize TX descriptors. */ @@ -836,7 +838,6 @@ void rge_stop(struct ifnet *ifp, int disable) { struct rge_softc *sc = ifp->if_softc; - int i; callout_halt(>sc_timeout, NULL); @@ -867,25 +868,8 @@ rge_stop(struct ifnet *ifp, int disable) sc->rge_head = sc->rge_tail = NULL; } - /* Free the TX list buffers. */ - for (i = 0; i < RGE_TX_LIST_CNT; i++) { - if (sc->rge_ldata.rge_txq[i].txq_mbuf != NULL) { - bus_dmamap_unload(sc->sc_dmat, - sc->rge_ldata.rge_txq[i].txq_dmamap); - m_freem(sc->rge_ldata.rge_txq[i].txq_mbuf); - sc->rge_ldata.rge_txq[i].txq_mbuf = NULL; - } - } - - /* Free the RX list buffers. */ - for (i = 0; i < RGE_RX_LIST_CNT; i++) { - if (sc->rge_ldata.rge_rxq[i].rxq_mbuf != NULL) { - bus_dmamap_unload(sc->sc_dmat, - sc->rge_ldata.rge_rxq[i].rxq_dmamap); - m_freem(sc->rge_ldata.rge_rxq[i].rxq_mbuf); - sc->rge_ldata.rge_rxq[i].rxq_mbuf = NULL; - } - } + rge_tx_list_fini(sc); +
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Oct 18 14:33:29 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #421 To generate a diff of this commit: cvs rdiff -u -r1.1452.2.9 -r1.1452.2.10 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.9 -r1.1451.2.10 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Oct 18 14:27:38 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c if_wmvar.h pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #421): sys/dev/pci/pcidevs: revision 1.1497 sys/dev/pci/if_wm.c: revision 1.790 sys/dev/pci/if_wm.c: revision 1.791 sys/dev/pci/if_wmvar.h: revision 1.51 pcidevs: Add Intel I219{V,LM}({22,23}) wm(4): Add a new workaround for Tiger Lake and newer. - Define new WM_T_PCH_TGP and use it for Tiger Lake and newer. Note that we don't define WM_T_PCH_ADP because we have no any Alder Lake specific workaround yet. - Add new workaround for Tiger Lake (and newer) in wm_init_locked() to avoid packet loss. wm(4): Add I219{V,LM}({22,23}) devices (Raptor Lake). To generate a diff of this commit: cvs rdiff -u -r1.767.2.4 -r1.767.2.5 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.48.4.2 -r1.48.4.3 src/sys/dev/pci/if_wmvar.h cvs rdiff -u -r1.1471.2.8 -r1.1471.2.9 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.767.2.4 src/sys/dev/pci/if_wm.c:1.767.2.5 --- src/sys/dev/pci/if_wm.c:1.767.2.4 Sun Oct 8 15:23:26 2023 +++ src/sys/dev/pci/if_wm.c Wed Oct 18 14:27:38 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.767.2.4 2023/10/08 15:23:26 martin Exp $ */ +/* $NetBSD: if_wm.c,v 1.767.2.5 2023/10/18 14:27:38 martin Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -82,7 +82,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.4 2023/10/08 15:23:26 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.5 2023/10/18 14:27:38 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_if_wm.h" @@ -1733,25 +1733,31 @@ static const struct wm_product { WM_T_PCH_SPT, WMP_F_COPPER }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM13, "I219 LM (13) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM14, "I219 LM (14) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM15, "I219 LM (15) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM16, "I219 LM (16) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, /* ADP */ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM17, "I219 LM (17) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, /* ADP */ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM18, "I219 LM (18) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, /* MTP */ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM19, "I219 LM (19) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, /* MTP */ + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM22, + "I219 LM (22) Ethernet Connection", + WM_T_PCH_TGP, WMP_F_COPPER }, /* ADP(RPL) */ + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_LM23, + "I219 LM (23) Ethernet Connection", + WM_T_PCH_TGP, WMP_F_COPPER }, /* ADP(RPL) */ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V, "I219 V Ethernet Connection", WM_T_PCH_SPT, WMP_F_COPPER }, @@ -1787,25 +1793,31 @@ static const struct wm_product { WM_T_PCH_SPT, WMP_F_COPPER }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V13, "I219 V (13) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V14, "I219 V (14) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V15, "I219 V (15) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V16, "I219 V (16) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, /* ADP */ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V17, "I219 V (17) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, /* ADP */ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V18, "I219 V (18) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, /* MTP */ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V19, "I219 V (19) Ethernet Connection", - WM_T_PCH_CNP, WMP_F_COPPER }, + WM_T_PCH_TGP, WMP_F_COPPER }, /* MTP */ + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V22, + "I219 V (22) Ethernet Connection", + WM_T_PCH_TGP, WMP_F_COPPER }, /* ADP(RPL) */ + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_I219_V23, + "I219 V
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Oct 18 14:27:38 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c if_wmvar.h pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #421): sys/dev/pci/pcidevs: revision 1.1497 sys/dev/pci/if_wm.c: revision 1.790 sys/dev/pci/if_wm.c: revision 1.791 sys/dev/pci/if_wmvar.h: revision 1.51 pcidevs: Add Intel I219{V,LM}({22,23}) wm(4): Add a new workaround for Tiger Lake and newer. - Define new WM_T_PCH_TGP and use it for Tiger Lake and newer. Note that we don't define WM_T_PCH_ADP because we have no any Alder Lake specific workaround yet. - Add new workaround for Tiger Lake (and newer) in wm_init_locked() to avoid packet loss. wm(4): Add I219{V,LM}({22,23}) devices (Raptor Lake). To generate a diff of this commit: cvs rdiff -u -r1.767.2.4 -r1.767.2.5 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.48.4.2 -r1.48.4.3 src/sys/dev/pci/if_wmvar.h cvs rdiff -u -r1.1471.2.8 -r1.1471.2.9 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Wed Oct 18 11:53:22 UTC 2023 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: ix_txrx.c ixgbe.c ixgbe.h ixgbe_type.h ixv.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #420): sys/dev/pci/ixgbe/ixgbe.c: revision 1.340 sys/dev/pci/ixgbe/ixgbe.c: revision 1.341 sys/dev/pci/ixgbe/ixgbe.c: revision 1.342 sys/dev/pci/ixgbe/ixgbe.c: revision 1.343 sys/dev/pci/ixgbe/ixgbe.c: revision 1.344 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.61 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.104 sys/dev/pci/ixgbe/ixv.c: revision 1.190 sys/dev/pci/ixgbe/ixv.c: revision 1.191 sys/dev/pci/ixgbe/ixv.c: revision 1.192 sys/dev/pci/ixgbe/ixgbe.h: revision 1.93 ixg(4): Print DEVICE_CAPS register. ixgbe: Whitespace. No functional change. ixg(4): Don't print wrong error message about ixgbe_num_queues. Don't override the ixgbe_num_queues global variable. It's the default value of the number of queues and should not override it because it will be referenced by later device attach. For example, the number of MSI-X vector is 64 on X540 and 18 on 82599. When both cards are inserted to a machine that the number of CPU is 24 and X540 is probed earlier, ixgbe_num_queues is overridden to 24 and the following error message is printed when attaching 82599: ixg2: autoconfiguration error: ixgbe_num_queues (24) is too large, using reduced amount (17). Note that the number of queues is in sc->num_queuss and referenced by hw.ixgN.num_queues sysctl. ixgbe: Don't override the {ixgbe,ixv}_max_interrupt_rate global variable. Fix a bug that changing hw.ix[gv]X.qY.interrupt_rate would change all devices all queues default interrupt rate. ixgbe: Whitespace. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.100.4.3 -r1.100.4.4 src/sys/dev/pci/ixgbe/ix_txrx.c cvs rdiff -u -r1.324.2.4 -r1.324.2.5 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.86.4.3 -r1.86.4.4 src/sys/dev/pci/ixgbe/ixgbe.h cvs rdiff -u -r1.55.4.4 -r1.55.4.5 src/sys/dev/pci/ixgbe/ixgbe_type.h cvs rdiff -u -r1.183.4.3 -r1.183.4.4 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ixgbe/ix_txrx.c diff -u src/sys/dev/pci/ixgbe/ix_txrx.c:1.100.4.3 src/sys/dev/pci/ixgbe/ix_txrx.c:1.100.4.4 --- src/sys/dev/pci/ixgbe/ix_txrx.c:1.100.4.3 Fri Oct 13 18:55:12 2023 +++ src/sys/dev/pci/ixgbe/ix_txrx.c Wed Oct 18 11:53:22 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ix_txrx.c,v 1.100.4.3 2023/10/13 18:55:12 martin Exp $ */ +/* $NetBSD: ix_txrx.c,v 1.100.4.4 2023/10/18 11:53:22 martin Exp $ */ /** @@ -64,7 +64,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.100.4.3 2023/10/13 18:55:12 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.100.4.4 2023/10/18 11:53:22 martin Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -1274,9 +1274,9 @@ ixgbe_rsc_count(union ixgbe_adv_rx_desc static void ixgbe_setup_hw_rsc(struct rx_ring *rxr) { - struct ixgbe_softc *sc = rxr->sc; - struct ixgbe_hw *hw = >hw; - u32 rscctrl, rdrxctl; + struct ixgbe_softc *sc = rxr->sc; + struct ixgbe_hw *hw = >hw; + u32 rscctrl, rdrxctl; /* If turning LRO/RSC off we need to disable it */ if ((sc->ifp->if_capenable & IFCAP_LRO) == 0) { Index: src/sys/dev/pci/ixgbe/ixgbe.c diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.324.2.4 src/sys/dev/pci/ixgbe/ixgbe.c:1.324.2.5 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.324.2.4 Fri Oct 13 18:55:12 2023 +++ src/sys/dev/pci/ixgbe/ixgbe.c Wed Oct 18 11:53:21 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.c,v 1.324.2.4 2023/10/13 18:55:12 martin Exp $ */ +/* $NetBSD: ixgbe.c,v 1.324.2.5 2023/10/18 11:53:21 martin Exp $ */ /** @@ -64,7 +64,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ixgbe.c,v 1.324.2.4 2023/10/13 18:55:12 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ixgbe.c,v 1.324.2.5 2023/10/18 11:53:21 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -809,7 +809,7 @@ ixgbe_attach(device_t parent, device_t d struct ixgbe_hw *hw; int error = -1; u32 ctrl_ext; - u16 high, low, nvmreg; + u16 high, low, nvmreg, dev_caps; pcireg_t id, subid; const ixgbe_vendor_info_t *ent; struct pci_attach_args *pa = aux; @@ -1277,10 +1277,15 @@ ixgbe_attach(device_t parent, device_t d if (sc->feat_en & IXGBE_FEATURE_NETMAP) ixgbe_netmap_attach(sc); + /* Print some flags */ snprintb(buf, sizeof(buf), IXGBE_FEATURE_FLAGS, sc->feat_cap); aprint_verbose_dev(dev, "feature cap %s\n", buf); snprintb(buf, sizeof(buf), IXGBE_FEATURE_FLAGS, sc->feat_en); aprint_verbose_dev(dev, "feature ena %s\n", buf); + if
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Wed Oct 18 11:53:22 UTC 2023 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: ix_txrx.c ixgbe.c ixgbe.h ixgbe_type.h ixv.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #420): sys/dev/pci/ixgbe/ixgbe.c: revision 1.340 sys/dev/pci/ixgbe/ixgbe.c: revision 1.341 sys/dev/pci/ixgbe/ixgbe.c: revision 1.342 sys/dev/pci/ixgbe/ixgbe.c: revision 1.343 sys/dev/pci/ixgbe/ixgbe.c: revision 1.344 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.61 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.104 sys/dev/pci/ixgbe/ixv.c: revision 1.190 sys/dev/pci/ixgbe/ixv.c: revision 1.191 sys/dev/pci/ixgbe/ixv.c: revision 1.192 sys/dev/pci/ixgbe/ixgbe.h: revision 1.93 ixg(4): Print DEVICE_CAPS register. ixgbe: Whitespace. No functional change. ixg(4): Don't print wrong error message about ixgbe_num_queues. Don't override the ixgbe_num_queues global variable. It's the default value of the number of queues and should not override it because it will be referenced by later device attach. For example, the number of MSI-X vector is 64 on X540 and 18 on 82599. When both cards are inserted to a machine that the number of CPU is 24 and X540 is probed earlier, ixgbe_num_queues is overridden to 24 and the following error message is printed when attaching 82599: ixg2: autoconfiguration error: ixgbe_num_queues (24) is too large, using reduced amount (17). Note that the number of queues is in sc->num_queuss and referenced by hw.ixgN.num_queues sysctl. ixgbe: Don't override the {ixgbe,ixv}_max_interrupt_rate global variable. Fix a bug that changing hw.ix[gv]X.qY.interrupt_rate would change all devices all queues default interrupt rate. ixgbe: Whitespace. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.100.4.3 -r1.100.4.4 src/sys/dev/pci/ixgbe/ix_txrx.c cvs rdiff -u -r1.324.2.4 -r1.324.2.5 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.86.4.3 -r1.86.4.4 src/sys/dev/pci/ixgbe/ixgbe.h cvs rdiff -u -r1.55.4.4 -r1.55.4.5 src/sys/dev/pci/ixgbe/ixgbe_type.h cvs rdiff -u -r1.183.4.3 -r1.183.4.4 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Oct 18 11:30:30 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_ixl.c Log Message: Pull up following revision(s) (requested by yamaguchi in ticket #417): sys/dev/pci/if_ixl.c: revision 1.94 sys/dev/pci/if_ixl.c: revision 1.95 ixl(4): added ETHERCAP_VLAN_MTU support PR kern/57652 ixl(4): limit receive frame size upto 9600 even if ETHERCAP_VLAN_MTU is enabled To generate a diff of this commit: cvs rdiff -u -r1.88.4.1 -r1.88.4.2 src/sys/dev/pci/if_ixl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_ixl.c diff -u src/sys/dev/pci/if_ixl.c:1.88.4.1 src/sys/dev/pci/if_ixl.c:1.88.4.2 --- src/sys/dev/pci/if_ixl.c:1.88.4.1 Sat Oct 14 06:43:06 2023 +++ src/sys/dev/pci/if_ixl.c Wed Oct 18 11:30:29 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ixl.c,v 1.88.4.1 2023/10/14 06:43:06 martin Exp $ */ +/* $NetBSD: if_ixl.c,v 1.88.4.2 2023/10/18 11:30:29 martin Exp $ */ /* * Copyright (c) 2013-2015, Intel Corporation @@ -74,7 +74,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_ixl.c,v 1.88.4.1 2023/10/14 06:43:06 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ixl.c,v 1.88.4.2 2023/10/18 11:30:29 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_net_mpsafe.h" @@ -166,7 +166,8 @@ struct ixl_softc; /* defined */ #define IXL_MCLBYTES (MCLBYTES - ETHER_ALIGN) #define IXL_MTU_ETHERLEN ETHER_HDR_LEN \ - + ETHER_CRC_LEN + + ETHER_CRC_LEN \ + + ETHER_VLAN_ENCAP_LEN #if 0 #define IXL_MAX_MTU (9728 - IXL_MTU_ETHERLEN) #else @@ -1322,6 +1323,7 @@ ixl_attach(device_t parent, device_t sel #endif ether_set_vlan_cb(>sc_ec, ixl_vlan_cb); sc->sc_ec.ec_capabilities |= ETHERCAP_JUMBO_MTU; + sc->sc_ec.ec_capabilities |= ETHERCAP_VLAN_MTU; sc->sc_ec.ec_capabilities |= ETHERCAP_VLAN_HWTAGGING; sc->sc_ec.ec_capabilities |= ETHERCAP_VLAN_HWFILTER; @@ -3066,6 +3068,8 @@ ixl_rxr_config(struct ixl_softc *sc, str memset(, 0, sizeof(rxq)); rxmax = ifp->if_mtu + IXL_MTU_ETHERLEN; + if (!ISSET(sc->sc_ec.ec_capenable, ETHERCAP_VLAN_MTU)) + rxmax -= ETHER_VLAN_ENCAP_LEN; rxq.head = htole16(rxr->rxr_cons); rxq.base = htole64(IXL_DMA_DVA(>rxr_mem) / IXL_HMC_RXQ_BASE_UNIT); @@ -5671,14 +5675,14 @@ ixl_ifflags_cb(struct ethercom *ec) { struct ifnet *ifp = >ec_if; struct ixl_softc *sc = ifp->if_softc; - int rv, change; + int rv, change, reset_bits; mutex_enter(>sc_cfg_lock); change = ec->ec_capenable ^ sc->sc_cur_ec_capenable; - - if (ISSET(change, ETHERCAP_VLAN_HWTAGGING)) { - sc->sc_cur_ec_capenable ^= ETHERCAP_VLAN_HWTAGGING; + reset_bits = change & (ETHERCAP_VLAN_HWTAGGING | ETHERCAP_VLAN_MTU); + if (reset_bits != 0) { + sc->sc_cur_ec_capenable ^= reset_bits; rv = ENETRESET; goto out; }
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Oct 18 11:30:30 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_ixl.c Log Message: Pull up following revision(s) (requested by yamaguchi in ticket #417): sys/dev/pci/if_ixl.c: revision 1.94 sys/dev/pci/if_ixl.c: revision 1.95 ixl(4): added ETHERCAP_VLAN_MTU support PR kern/57652 ixl(4): limit receive frame size upto 9600 even if ETHERCAP_VLAN_MTU is enabled To generate a diff of this commit: cvs rdiff -u -r1.88.4.1 -r1.88.4.2 src/sys/dev/pci/if_ixl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Oct 14 06:59:43 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_rge.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #414): sys/dev/pci/if_rge.c: revision 1.27 rge(4): callout_stop can't be right here; just do callout_halt. To generate a diff of this commit: cvs rdiff -u -r1.24.4.1 -r1.24.4.2 src/sys/dev/pci/if_rge.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Oct 14 06:59:43 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_rge.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #414): sys/dev/pci/if_rge.c: revision 1.27 rge(4): callout_stop can't be right here; just do callout_halt. To generate a diff of this commit: cvs rdiff -u -r1.24.4.1 -r1.24.4.2 src/sys/dev/pci/if_rge.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_rge.c diff -u src/sys/dev/pci/if_rge.c:1.24.4.1 src/sys/dev/pci/if_rge.c:1.24.4.2 --- src/sys/dev/pci/if_rge.c:1.24.4.1 Wed Dec 21 09:36:42 2022 +++ src/sys/dev/pci/if_rge.c Sat Oct 14 06:59:43 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: if_rge.c,v 1.24.4.1 2022/12/21 09:36:42 martin Exp $ */ +/* $NetBSD: if_rge.c,v 1.24.4.2 2023/10/14 06:59:43 martin Exp $ */ /* $OpenBSD: if_rge.c,v 1.9 2020/12/12 11:48:53 jan Exp $ */ /* @@ -18,7 +18,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_rge.c,v 1.24.4.1 2022/12/21 09:36:42 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_rge.c,v 1.24.4.2 2023/10/14 06:59:43 martin Exp $"); #include @@ -838,10 +838,7 @@ rge_stop(struct ifnet *ifp, int disable) struct rge_softc *sc = ifp->if_softc; int i; - if (disable) { - callout_halt(>sc_timeout, NULL); - } else - callout_stop(>sc_timeout); + callout_halt(>sc_timeout, NULL); ifp->if_timer = 0; ifp->if_flags &= ~IFF_RUNNING;
CVS commit: [netbsd-10] src/sys/dev/pci/igc
Module Name:src Committed By: martin Date: Sat Oct 14 06:49:37 UTC 2023 Modified Files: src/sys/dev/pci/igc [netbsd-10]: if_igc.c Log Message: Pull up following revision(s) (requested by rin in ticket #410): sys/dev/pci/igc/if_igc.c: revision 1.4 sys/dev/pci/igc/if_igc.c: revision 1.5 sys/dev/pci/igc/if_igc.c: revision 1.6 igc(4): Fix half duplex setting From FreeBSD: 3b8d04f845b416d29a258658b8a48d1afb4a2e81 igc(4): `nvm_ver & ...' has type int, so use %x, not %hx. This happens even though nvm_ver is unsigned short (uint16_t), because of the integer promotions. Should fix clang build. igc(4): igc_init: Enable interrupt after everything is set up Inspired by "ixgbe: Enable interrupt after setting IFF_RUNNING.": http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/pci/ixgbe/ixgbe.c#rev1.337 Just for sure, callout_schedule(9) for igc_tick() is also postponed. This is NFC for now, although. To generate a diff of this commit: cvs rdiff -u -r1.3.2.2 -r1.3.2.3 src/sys/dev/pci/igc/if_igc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/igc/if_igc.c diff -u src/sys/dev/pci/igc/if_igc.c:1.3.2.2 src/sys/dev/pci/igc/if_igc.c:1.3.2.3 --- src/sys/dev/pci/igc/if_igc.c:1.3.2.2 Sun Oct 8 13:19:34 2023 +++ src/sys/dev/pci/igc/if_igc.c Sat Oct 14 06:49:37 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: if_igc.c,v 1.3.2.2 2023/10/08 13:19:34 martin Exp $ */ +/* $NetBSD: if_igc.c,v 1.3.2.3 2023/10/14 06:49:37 martin Exp $ */ /* $OpenBSD: if_igc.c,v 1.13 2023/04/28 10:18:57 bluhm Exp $ */ /*- * SPDX-License-Identifier: BSD-2-Clause @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_igc.c,v 1.3.2.2 2023/10/08 13:19:34 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_igc.c,v 1.3.2.3 2023/10/14 06:49:37 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_net_mpsafe.h" @@ -1541,17 +1541,17 @@ igc_init_locked(struct igc_softc *sc) mutex_exit(>rxr_lock); } - igc_enable_intr(sc); - sc->sc_core_stopping = false; - callout_schedule(>sc_tick_ch, hz); - ifp->if_flags |= IFF_RUNNING; /* Save last flags for the callback */ sc->sc_if_flags = ifp->if_flags; + callout_schedule(>sc_tick_ch, hz); + + igc_enable_intr(sc); + return 0; } @@ -2378,16 +2378,16 @@ igc_media_change(struct ifnet *ifp) sc->hw.phy.autoneg_advertised = ADVERTISE_1000_FULL; break; case IFM_100_TX: - if ((ifm->ifm_media & IFM_GMASK) == IFM_HDX) - sc->hw.phy.autoneg_advertised = ADVERTISE_100_HALF; - else + if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX) sc->hw.phy.autoneg_advertised = ADVERTISE_100_FULL; + else + sc->hw.phy.autoneg_advertised = ADVERTISE_100_HALF; break; case IFM_10_T: - if ((ifm->ifm_media & IFM_GMASK) == IFM_HDX) - sc->hw.phy.autoneg_advertised = ADVERTISE_10_HALF; - else + if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX) sc->hw.phy.autoneg_advertised = ADVERTISE_10_FULL; + else + sc->hw.phy.autoneg_advertised = ADVERTISE_10_HALF; break; default: return EINVAL; @@ -3842,7 +3842,7 @@ igc_print_devinfo(struct igc_softc *sc) /* Get PHY FW version */ phy->ops.read_reg(hw, 0x1e, _ver); - aprint_normal_dev(dev, "ROM image version %x.%02hx", + aprint_normal_dev(dev, "ROM image version %x.%02x", (nvm_ver & NVM_VERSION_MAJOR) >> NVM_VERSION_MAJOR_SHIFT, (nvm_ver & NVM_VERSION_MINOR)); aprint_debug("(0x%04hx)", nvm_ver);
CVS commit: [netbsd-10] src/sys/dev/pci/igc
Module Name:src Committed By: martin Date: Sat Oct 14 06:49:37 UTC 2023 Modified Files: src/sys/dev/pci/igc [netbsd-10]: if_igc.c Log Message: Pull up following revision(s) (requested by rin in ticket #410): sys/dev/pci/igc/if_igc.c: revision 1.4 sys/dev/pci/igc/if_igc.c: revision 1.5 sys/dev/pci/igc/if_igc.c: revision 1.6 igc(4): Fix half duplex setting From FreeBSD: 3b8d04f845b416d29a258658b8a48d1afb4a2e81 igc(4): `nvm_ver & ...' has type int, so use %x, not %hx. This happens even though nvm_ver is unsigned short (uint16_t), because of the integer promotions. Should fix clang build. igc(4): igc_init: Enable interrupt after everything is set up Inspired by "ixgbe: Enable interrupt after setting IFF_RUNNING.": http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/pci/ixgbe/ixgbe.c#rev1.337 Just for sure, callout_schedule(9) for igc_tick() is also postponed. This is NFC for now, although. To generate a diff of this commit: cvs rdiff -u -r1.3.2.2 -r1.3.2.3 src/sys/dev/pci/igc/if_igc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Fri Oct 13 18:55:12 UTC 2023 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: ix_txrx.c ixgbe.c ixgbe.h ixgbe_82599.c ixgbe_api.c ixgbe_bypass.h ixgbe_common.c ixgbe_common.h ixgbe_dcb.c ixgbe_dcb_82598.c ixgbe_type.h ixgbe_x540.c ixgbe_x550.c ixv.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #407): sys/dev/pci/ixgbe/ixgbe_common.c: revision 1.47 sys/dev/pci/ixgbe/ixgbe_x550.c: revision 1.28 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.60 sys/dev/pci/ixgbe/ixgbe_82599.c: revision 1.31 sys/dev/pci/ixgbe/ixgbe_82599.c: revision 1.32 sys/dev/pci/ixgbe/ixv.c: revision 1.187 sys/dev/pci/ixgbe/ixv.c: revision 1.188 sys/dev/pci/ixgbe/ixv.c: revision 1.189 sys/dev/pci/ixgbe/ixgbe_common.h: revision 1.18 sys/dev/pci/ixgbe/ixgbe_x540.c: revision 1.24 sys/dev/pci/ixgbe/ixgbe.c: revision 1.334 sys/dev/pci/ixgbe/ixgbe.c: revision 1.335 sys/dev/pci/ixgbe/ixgbe.c: revision 1.336 sys/dev/pci/ixgbe/ixgbe.c: revision 1.337 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.103 sys/dev/pci/ixgbe/ixgbe.c: revision 1.338 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.59 sys/dev/pci/ixgbe/ixgbe_dcb_82598.c: revision 1.13 sys/dev/pci/ixgbe/ixgbe_dcb.c: revision 1.14 sys/dev/pci/ixgbe/ixgbe_dcb.c: revision 1.15 sys/dev/pci/ixgbe/ixgbe_api.c: revision 1.29 sys/dev/pci/ixgbe/ixgbe_bypass.h: revision 1.5 sys/dev/pci/ixgbe/ixgbe.h: revision 1.90 sys/dev/pci/ixgbe/ixgbe.h: revision 1.91 sys/dev/pci/ixgbe/ixgbe.h: revision 1.92 sys/dev/pci/ixgbe/ixgbe_common.c: revision 1.46 ixg(4): Remove unused and old function. No functional change. - From FreeBSD's ix-3.3.32. ixg(4): Add 82599 LS once again. - From: FreeBSD: 9228ac3a69c4c7401a743e6465e118101a2beeb0 DPDK:549ccd3dc01539e060597b503f2b65b272de3347 - This was removed 5 years ago. From the commit message: > Remove IXGBE_DEV_ID_82599_LS(0x154f) support again. I don't know why. This > was added in ix-3.2.18.tar.gz(NetBSD: ixgbe_82599.c rev. 1.20) and > removed in ix-3.3.6.tar.gz. ixg(4): Filter out spurious link up indication - Extend SFP+ cage crosstalk fix by re-checking link state after 5ms delay to filter out spurious link up indication by transceiver with no fiber cable connected. - From FreeBSD: In-tree: 04a5e6d7cadd06b10169c3c3a560649e7dc7444c Out of tree: ix-3.3.33. ixgbe: Simplify definitions. No functional change. Both DEFAULT_{TX,RX}D and PERFORM_{TX,RX}D are 2048. Use DEFAULT_{TX,RX}D. Same as FreeBSD. ixgbe: Modify error message of wrong TX/RX descriptor size. - Based from FreeBSD ix-3.3.35. I think ix-3.3.35's RING_INCREMENT(== 32) is wrong. It should be 8(DBA_ALIGN / sizeof(union ixgbe_adv_[tr]x_desc)). Linux also uses 8. ixgbe: Remove NO_82599_SUPPORT and NO_X540_SUPPORT support. NFCI. From FreeBSD ix-3.3.35. Note that this file is not used in NetBSD. ixgbe: Enable interrupt after setting IFF_RUNNING. Same as FreeBSD x-3.3.35. ixgbe: Cleanup. No fucntional change. Remove unused code, fix whitespace and modify comment to reduce against FreeBSD(mainly from ix-3.3.35). To generate a diff of this commit: cvs rdiff -u -r1.100.4.2 -r1.100.4.3 src/sys/dev/pci/ixgbe/ix_txrx.c cvs rdiff -u -r1.324.2.3 -r1.324.2.4 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.86.4.2 -r1.86.4.3 src/sys/dev/pci/ixgbe/ixgbe.h cvs rdiff -u -r1.29.4.1 -r1.29.4.2 src/sys/dev/pci/ixgbe/ixgbe_82599.c cvs rdiff -u -r1.28 -r1.28.4.1 src/sys/dev/pci/ixgbe/ixgbe_api.c cvs rdiff -u -r1.3.4.1 -r1.3.4.2 src/sys/dev/pci/ixgbe/ixgbe_bypass.h cvs rdiff -u -r1.43.4.2 -r1.43.4.3 src/sys/dev/pci/ixgbe/ixgbe_common.c cvs rdiff -u -r1.16.4.1 -r1.16.4.2 src/sys/dev/pci/ixgbe/ixgbe_common.h cvs rdiff -u -r1.13 -r1.13.4.1 src/sys/dev/pci/ixgbe/ixgbe_dcb.c cvs rdiff -u -r1.12 -r1.12.4.1 src/sys/dev/pci/ixgbe/ixgbe_dcb_82598.c cvs rdiff -u -r1.55.4.3 -r1.55.4.4 src/sys/dev/pci/ixgbe/ixgbe_type.h cvs rdiff -u -r1.23 -r1.23.4.1 src/sys/dev/pci/ixgbe/ixgbe_x540.c cvs rdiff -u -r1.26.4.1 -r1.26.4.2 src/sys/dev/pci/ixgbe/ixgbe_x550.c cvs rdiff -u -r1.183.4.2 -r1.183.4.3 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ixgbe/ix_txrx.c diff -u src/sys/dev/pci/ixgbe/ix_txrx.c:1.100.4.2 src/sys/dev/pci/ixgbe/ix_txrx.c:1.100.4.3 --- src/sys/dev/pci/ixgbe/ix_txrx.c:1.100.4.2 Fri Oct 13 18:16:51 2023 +++ src/sys/dev/pci/ixgbe/ix_txrx.c Fri Oct 13 18:55:12 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ix_txrx.c,v 1.100.4.2 2023/10/13 18:16:51 martin Exp $ */ +/* $NetBSD: ix_txrx.c,v 1.100.4.3 2023/10/13 18:55:12 martin Exp $ */ /** @@ -64,7
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Fri Oct 13 18:55:12 UTC 2023 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: ix_txrx.c ixgbe.c ixgbe.h ixgbe_82599.c ixgbe_api.c ixgbe_bypass.h ixgbe_common.c ixgbe_common.h ixgbe_dcb.c ixgbe_dcb_82598.c ixgbe_type.h ixgbe_x540.c ixgbe_x550.c ixv.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #407): sys/dev/pci/ixgbe/ixgbe_common.c: revision 1.47 sys/dev/pci/ixgbe/ixgbe_x550.c: revision 1.28 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.60 sys/dev/pci/ixgbe/ixgbe_82599.c: revision 1.31 sys/dev/pci/ixgbe/ixgbe_82599.c: revision 1.32 sys/dev/pci/ixgbe/ixv.c: revision 1.187 sys/dev/pci/ixgbe/ixv.c: revision 1.188 sys/dev/pci/ixgbe/ixv.c: revision 1.189 sys/dev/pci/ixgbe/ixgbe_common.h: revision 1.18 sys/dev/pci/ixgbe/ixgbe_x540.c: revision 1.24 sys/dev/pci/ixgbe/ixgbe.c: revision 1.334 sys/dev/pci/ixgbe/ixgbe.c: revision 1.335 sys/dev/pci/ixgbe/ixgbe.c: revision 1.336 sys/dev/pci/ixgbe/ixgbe.c: revision 1.337 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.103 sys/dev/pci/ixgbe/ixgbe.c: revision 1.338 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.59 sys/dev/pci/ixgbe/ixgbe_dcb_82598.c: revision 1.13 sys/dev/pci/ixgbe/ixgbe_dcb.c: revision 1.14 sys/dev/pci/ixgbe/ixgbe_dcb.c: revision 1.15 sys/dev/pci/ixgbe/ixgbe_api.c: revision 1.29 sys/dev/pci/ixgbe/ixgbe_bypass.h: revision 1.5 sys/dev/pci/ixgbe/ixgbe.h: revision 1.90 sys/dev/pci/ixgbe/ixgbe.h: revision 1.91 sys/dev/pci/ixgbe/ixgbe.h: revision 1.92 sys/dev/pci/ixgbe/ixgbe_common.c: revision 1.46 ixg(4): Remove unused and old function. No functional change. - From FreeBSD's ix-3.3.32. ixg(4): Add 82599 LS once again. - From: FreeBSD: 9228ac3a69c4c7401a743e6465e118101a2beeb0 DPDK:549ccd3dc01539e060597b503f2b65b272de3347 - This was removed 5 years ago. From the commit message: > Remove IXGBE_DEV_ID_82599_LS(0x154f) support again. I don't know why. This > was added in ix-3.2.18.tar.gz(NetBSD: ixgbe_82599.c rev. 1.20) and > removed in ix-3.3.6.tar.gz. ixg(4): Filter out spurious link up indication - Extend SFP+ cage crosstalk fix by re-checking link state after 5ms delay to filter out spurious link up indication by transceiver with no fiber cable connected. - From FreeBSD: In-tree: 04a5e6d7cadd06b10169c3c3a560649e7dc7444c Out of tree: ix-3.3.33. ixgbe: Simplify definitions. No functional change. Both DEFAULT_{TX,RX}D and PERFORM_{TX,RX}D are 2048. Use DEFAULT_{TX,RX}D. Same as FreeBSD. ixgbe: Modify error message of wrong TX/RX descriptor size. - Based from FreeBSD ix-3.3.35. I think ix-3.3.35's RING_INCREMENT(== 32) is wrong. It should be 8(DBA_ALIGN / sizeof(union ixgbe_adv_[tr]x_desc)). Linux also uses 8. ixgbe: Remove NO_82599_SUPPORT and NO_X540_SUPPORT support. NFCI. From FreeBSD ix-3.3.35. Note that this file is not used in NetBSD. ixgbe: Enable interrupt after setting IFF_RUNNING. Same as FreeBSD x-3.3.35. ixgbe: Cleanup. No fucntional change. Remove unused code, fix whitespace and modify comment to reduce against FreeBSD(mainly from ix-3.3.35). To generate a diff of this commit: cvs rdiff -u -r1.100.4.2 -r1.100.4.3 src/sys/dev/pci/ixgbe/ix_txrx.c cvs rdiff -u -r1.324.2.3 -r1.324.2.4 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.86.4.2 -r1.86.4.3 src/sys/dev/pci/ixgbe/ixgbe.h cvs rdiff -u -r1.29.4.1 -r1.29.4.2 src/sys/dev/pci/ixgbe/ixgbe_82599.c cvs rdiff -u -r1.28 -r1.28.4.1 src/sys/dev/pci/ixgbe/ixgbe_api.c cvs rdiff -u -r1.3.4.1 -r1.3.4.2 src/sys/dev/pci/ixgbe/ixgbe_bypass.h cvs rdiff -u -r1.43.4.2 -r1.43.4.3 src/sys/dev/pci/ixgbe/ixgbe_common.c cvs rdiff -u -r1.16.4.1 -r1.16.4.2 src/sys/dev/pci/ixgbe/ixgbe_common.h cvs rdiff -u -r1.13 -r1.13.4.1 src/sys/dev/pci/ixgbe/ixgbe_dcb.c cvs rdiff -u -r1.12 -r1.12.4.1 src/sys/dev/pci/ixgbe/ixgbe_dcb_82598.c cvs rdiff -u -r1.55.4.3 -r1.55.4.4 src/sys/dev/pci/ixgbe/ixgbe_type.h cvs rdiff -u -r1.23 -r1.23.4.1 src/sys/dev/pci/ixgbe/ixgbe_x540.c cvs rdiff -u -r1.26.4.1 -r1.26.4.2 src/sys/dev/pci/ixgbe/ixgbe_x550.c cvs rdiff -u -r1.183.4.2 -r1.183.4.3 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Oct 13 18:39:14 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #406 (Intel 82599 LS and Pericom(Diodes) PCIe switches added) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.8 -r1.1452.2.9 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.8 -r1.1451.2.9 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Oct 13 18:37:28 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #406): sys/dev/pci/pcidevs: revision 1.1493 sys/dev/pci/pcidevs: revision 1.1495 Add Intel 82599 LS. Add Pericom(Diodes) PCIe switches. To generate a diff of this commit: cvs rdiff -u -r1.1471.2.7 -r1.1471.2.8 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1471.2.7 src/sys/dev/pci/pcidevs:1.1471.2.8 --- src/sys/dev/pci/pcidevs:1.1471.2.7 Fri Oct 13 17:46:26 2023 +++ src/sys/dev/pci/pcidevs Fri Oct 13 18:37:28 2023 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1471.2.7 2023/10/13 17:46:26 martin Exp $ +$NetBSD: pcidevs,v 1.1471.2.8 2023/10/13 18:37:28 martin Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -4307,6 +4307,7 @@ product INTEL I350_DA4 0x1546 I350 Qua product INTEL 82599_SFP_SF_QP 0x154a 82599 10 GbE Controller product INTEL XL710_VF 0x154c XL710 Ethernet Virtual Function product INTEL 82599_SFP_SF2 0x154d 82599 (SFP+) 10 GbE Controller +product INTEL 82599_LS 0x154f 82599 LS 10G Ethernet product INTEL 82599EN_SFP 0x1557 82599 10 GbE Controller product INTEL 82599_QSFP_SF_QP 0x1558 X520 10 GbE QSFP+ product INTEL I218_V 0x1559 I218-V Ethernet Connection @@ -8818,7 +8819,21 @@ product PERICOM PI7C21P100 0x01a7 PI7C21 product PERICOM PI7C9X20303UL 0x0303 PI7C9X20303UL 3port 3lane PCIe switch product PERICOM PI7C9X20505GP 0x0505 PI7C9X20505GP 5port 5lane PCIe switch product PERICOM PI7C9X20508GP 0x0508 PI7C9X20508GP 5port 8lane PCIe switch +product PERICOM PI7C9X2G303EL 0x2303 PI7C9X2G303EL 3port 3lane PCIe Gen2 switch +product PERICOM PI7C9X2G304EL 0x2304 PI7C9X2G304EL 3port 4lane PCIe Gen2 switch +product PERICOM PI7C9X2G308GP 0x2308 PI7C9X2G308GP 3port 8lane PCIe Gen2 switch +product PERICOM PI7C9X2G312GP 0x2312 PI7C9X2G312GP 3port 12lane PCIe Gen2 switch product PERICOM PI7C9X2G404SL 0x2404 PI7C9X2G404SL 4port 4lane PCIe Gen2 switch +product PERICOM PI7C9X2G608GP 0x2608 PI7C9X2G608GP 6port 8lane PCIe Gen2 switch +product PERICOM PI7C9X2G612GP 0x2612 PI7C9X2G612GP 6port 12lane PCIe Gen2 switch +product PERICOM PI7C9X2G912GP 0x2912 PI7C9X2G912GP 9port 12lane PCIe Gen2 switch +product PERICOM PI7C9X2G808PR 0x8608 PI7C9X2G808PR 8port 8lane PCIe Gen2 switch +product PERICOM PI7C9X2G304EV 0xb304 PI7C9X2G304EV 3port 4lane PCIe Gen2 switch +product PERICOM PI7C9X2G404EV 0xb404 PI7C9X2G404EV 4port 4lane PCIe Gen2 switch +product PERICOM PI7C9X3G808GP 0xc008 PI7C9X3G808GP 8port 8lane PCIe Gen3 switch +product PERICOM PI7C9X3G816GP 0xc016 PI7C9X3G816GP 8port 16lane PCIe Gen3 switch +product PERICOM PI7C9X3G1224GP 0xc124 PI7C9X3G1224GP 12port 24lane PCIe Gen3 switch +product PERICOM PI7C9X3G1632GP 0xc232 PI7C9X3G1632GP 16port 32lane PCIe Gen3 switch product PERICOM PI7C8140A 0x8140 PI7C8140A 2 port PCI-PCI Bridge product PERICOM PI7C8148 0x8148 PI7C8148 Asynchronous 2 port PCI-PCI Bridge product PERICOM PI7C8152 0x8152 PI7C8152 2 port PCI-PCI Bridge
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Oct 13 18:37:28 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #406): sys/dev/pci/pcidevs: revision 1.1493 sys/dev/pci/pcidevs: revision 1.1495 Add Intel 82599 LS. Add Pericom(Diodes) PCIe switches. To generate a diff of this commit: cvs rdiff -u -r1.1471.2.7 -r1.1471.2.8 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Fri Oct 13 18:16:51 UTC 2023 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: if_bypass.c if_fdir.c if_sriov.c ix_txrx.c ixgbe.c ixgbe.h ixgbe_api.h ixgbe_bypass.h ixgbe_common.c ixgbe_common.h ixgbe_fdir.h ixgbe_netmap.c ixgbe_netmap.h ixgbe_osdep.c ixgbe_sriov.h ixgbe_type.h ixgbe_x550.c ixv.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #405): sys/dev/pci/ixgbe/ixgbe_x550.c: revision 1.27 sys/dev/pci/ixgbe/ixgbe_fdir.h: revision 1.5 sys/dev/pci/ixgbe/ixv.c: revision 1.186 sys/dev/pci/ixgbe/ixgbe_osdep.c: revision 1.9 sys/dev/pci/ixgbe/ixgbe_common.h: revision 1.17 sys/dev/pci/ixgbe/ixgbe_api.h: revision 1.17 sys/dev/pci/ixgbe/ixgbe.h: revision 1.89 sys/dev/pci/ixgbe/if_fdir.c: revision 1.6 sys/dev/pci/ixgbe/if_sriov.c: revision 1.18 sys/dev/pci/ixgbe/ixgbe.c: revision 1.333 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.102 sys/dev/pci/ixgbe/ixgbe.c: revision 1.339 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.58 sys/dev/pci/ixgbe/ixgbe_sriov.h: revision 1.6 sys/dev/pci/ixgbe/if_bypass.c: revision 1.10 sys/dev/pci/ixgbe/ixgbe_bypass.h: revision 1.4 sys/dev/pci/ixgbe/ixgbe_netmap.h: revision 1.3 sys/dev/pci/ixgbe/ixgbe_netmap.c: revision 1.6 sys/dev/pci/ixgbe/ixgbe_common.c: revision 1.45 ixgbe: Rename some definitions, modify comment. No functional change. Apply changes from FreeBSD's ix-3.3.31 and ixv-1.5.32. - struct adapter *adapter -> struct ixgbe_softc *sc - master -> primary - black -> block ixg(4): Whitespace. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.9.4.1 src/sys/dev/pci/ixgbe/if_bypass.c cvs rdiff -u -r1.5 -r1.5.14.1 src/sys/dev/pci/ixgbe/if_fdir.c cvs rdiff -u -r1.17 -r1.17.4.1 src/sys/dev/pci/ixgbe/if_sriov.c cvs rdiff -u -r1.100.4.1 -r1.100.4.2 src/sys/dev/pci/ixgbe/ix_txrx.c cvs rdiff -u -r1.324.2.2 -r1.324.2.3 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.86.4.1 -r1.86.4.2 src/sys/dev/pci/ixgbe/ixgbe.h cvs rdiff -u -r1.16 -r1.16.4.1 src/sys/dev/pci/ixgbe/ixgbe_api.h \ src/sys/dev/pci/ixgbe/ixgbe_common.h cvs rdiff -u -r1.3 -r1.3.4.1 src/sys/dev/pci/ixgbe/ixgbe_bypass.h cvs rdiff -u -r1.43.4.1 -r1.43.4.2 src/sys/dev/pci/ixgbe/ixgbe_common.c cvs rdiff -u -r1.4 -r1.4.4.1 src/sys/dev/pci/ixgbe/ixgbe_fdir.h cvs rdiff -u -r1.5 -r1.5.4.1 src/sys/dev/pci/ixgbe/ixgbe_netmap.c \ src/sys/dev/pci/ixgbe/ixgbe_sriov.h cvs rdiff -u -r1.2 -r1.2.14.1 src/sys/dev/pci/ixgbe/ixgbe_netmap.h cvs rdiff -u -r1.8 -r1.8.4.1 src/sys/dev/pci/ixgbe/ixgbe_osdep.c cvs rdiff -u -r1.55.4.2 -r1.55.4.3 src/sys/dev/pci/ixgbe/ixgbe_type.h cvs rdiff -u -r1.26 -r1.26.4.1 src/sys/dev/pci/ixgbe/ixgbe_x550.c cvs rdiff -u -r1.183.4.1 -r1.183.4.2 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Oct 13 17:59:34 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: ahcisata_pci.c Log Message: Pull up following revision(s) (requested by abs in ticket #403): sys/dev/pci/ahcisata_pci.c: revision 1.71 Add support for ASMEDIA 0x0624 ... an AHCI SATA adaptor which identifies itself as an IDE storage device To generate a diff of this commit: cvs rdiff -u -r1.68.2.2 -r1.68.2.3 src/sys/dev/pci/ahcisata_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Oct 13 17:59:34 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: ahcisata_pci.c Log Message: Pull up following revision(s) (requested by abs in ticket #403): sys/dev/pci/ahcisata_pci.c: revision 1.71 Add support for ASMEDIA 0x0624 ... an AHCI SATA adaptor which identifies itself as an IDE storage device To generate a diff of this commit: cvs rdiff -u -r1.68.2.2 -r1.68.2.3 src/sys/dev/pci/ahcisata_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ahcisata_pci.c diff -u src/sys/dev/pci/ahcisata_pci.c:1.68.2.2 src/sys/dev/pci/ahcisata_pci.c:1.68.2.3 --- src/sys/dev/pci/ahcisata_pci.c:1.68.2.2 Mon Sep 11 14:39:21 2023 +++ src/sys/dev/pci/ahcisata_pci.c Fri Oct 13 17:59:33 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ahcisata_pci.c,v 1.68.2.2 2023/09/11 14:39:21 martin Exp $ */ +/* $NetBSD: ahcisata_pci.c,v 1.68.2.3 2023/10/13 17:59:33 martin Exp $ */ /* * Copyright (c) 2006 Manuel Bouyer. @@ -26,7 +26,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ahcisata_pci.c,v 1.68.2.2 2023/09/11 14:39:21 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ahcisata_pci.c,v 1.68.2.3 2023/10/13 17:59:33 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_ahcisata_pci.h" @@ -198,6 +198,8 @@ static const struct ahci_pci_quirk ahci_ AHCI_PCI_QUIRK_FORCE }, { PCI_VENDOR_ASMEDIA, PCI_PRODUCT_ASMEDIA_ASM1061_12, AHCI_PCI_QUIRK_FORCE }, + { PCI_VENDOR_ASMEDIA, PCI_PRODUCT_ASMEDIA_ASM1062_JMB575, + AHCI_PCI_QUIRK_FORCE }, { PCI_VENDOR_AMD, PCI_PRODUCT_AMD_HUDSON_SATA, AHCI_PCI_QUIRK_FORCE }, { PCI_VENDOR_AMD, PCI_PRODUCT_AMD_HUDSON_SATA_AHCI,
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Oct 13 17:49:14 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #403 (add ASMEDIA 0x0624 - ASM1062 + JMB575 Port Multiplier) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.7 -r1.1452.2.8 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.7 -r1.1451.2.8 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Oct 13 17:49:14 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #403 (add ASMEDIA 0x0624 - ASM1062 + JMB575 Port Multiplier) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.7 -r1.1452.2.8 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.7 -r1.1451.2.8 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. diffs are larger than 1MB and have been omitted
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Oct 13 17:46:26 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up following revision(s) (requested by abs in ticket #403): sys/dev/pci/pcidevs: revision 1.1496 Add entry for ASMEDIA 0x0624 - ASM1062 + JMB575 Port Multiplier To generate a diff of this commit: cvs rdiff -u -r1.1471.2.6 -r1.1471.2.7 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1471.2.6 src/sys/dev/pci/pcidevs:1.1471.2.7 --- src/sys/dev/pci/pcidevs:1.1471.2.6 Sun Oct 8 13:02:08 2023 +++ src/sys/dev/pci/pcidevs Fri Oct 13 17:46:26 2023 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1471.2.6 2023/10/08 13:02:08 martin Exp $ +$NetBSD: pcidevs,v 1.1471.2.7 2023/10/13 17:46:26 martin Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -1510,6 +1510,7 @@ product ASMEDIA ASM1061_01 0x0601 ASM106 product ASMEDIA ASM1061_02 0x0602 ASM1061 AHCI SATA III Controller product ASMEDIA ASM1061_11 0x0611 ASM1061 AHCI SATA III Controller product ASMEDIA ASM1061_12 0x0612 ASM1061 AHCI SATA III Controller +product ASMEDIA ASM1062_JMB575 0x0624 ASM1062 + JMB575 Port Multiplier product ASMEDIA ASM106X 0x0625 ASM106x AHCI SATA III Controller product ASMEDIA ASM1042 0x1042 ASM1042 USB 3.0 Host Controller product ASMEDIA ASM1083 0x1080 ASM1083/1085 PCIe-PCI Bridge
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Fri Oct 13 17:46:26 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up following revision(s) (requested by abs in ticket #403): sys/dev/pci/pcidevs: revision 1.1496 Add entry for ASMEDIA 0x0624 - ASM1062 + JMB575 Port Multiplier To generate a diff of this commit: cvs rdiff -u -r1.1471.2.6 -r1.1471.2.7 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Oct 8 15:23:26 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #396): sys/dev/pci/if_wm.c: revision 1.785 sys/dev/pci/if_wm.c: revision 1.786 sys/dev/pci/if_wm.c: revision 1.787 sys/dev/pci/if_wm.c: revision 1.788 sys/dev/pci/if_wm.c: revision 1.789 wm(4): Use SCVPC and HRMPC for 82575 and newer. The SCVPC(SerDes/SGMII Code Violation Packet Count) register and the HRMPC (Header Redirection Missed Packet Count) register were added in if_wm.c rev. 1.776 but the location in the code were incorrect. Fix them. wm(4): Add some info to some event counters. - The difference between the RUC(Rx Undersize) and RFC(Rx Fragment) is whether the CRC is valid or not. - The difference between the ROC(Rx Oversize) and RJC(Rx Jabber) is whether the CRC is valid or not. - LENERRS(Length Errors) is for the length/type field <= 1500. wm(4): the IAC(Interrupt Assertion Count) register is for 82571 and newer. wm(4): Modify descriptions of flow control related event counters. wm(4): Replace /* nothing */ to __nothing for evcnt macros Prevent empty if bodies for !WM_EVENT_COUNTERS. To generate a diff of this commit: cvs rdiff -u -r1.767.2.3 -r1.767.2.4 src/sys/dev/pci/if_wm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.767.2.3 src/sys/dev/pci/if_wm.c:1.767.2.4 --- src/sys/dev/pci/if_wm.c:1.767.2.3 Mon Sep 4 17:45:24 2023 +++ src/sys/dev/pci/if_wm.c Sun Oct 8 15:23:26 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.767.2.3 2023/09/04 17:45:24 martin Exp $ */ +/* $NetBSD: if_wm.c,v 1.767.2.4 2023/10/08 15:23:26 martin Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -82,7 +82,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.3 2023/09/04 17:45:24 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.4 2023/10/08 15:23:26 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_if_wm.h" @@ -779,13 +779,13 @@ do { \ #define WM_Q_EVCNT_ADD(qname, evname, val) \ WM_EVCNT_ADD(&(qname)->qname##_ev_##evname, (val)) #else /* !WM_EVENT_COUNTERS */ -#define WM_EVCNT_INCR(ev) /* nothing */ -#define WM_EVCNT_STORE(ev, val) /* nothing */ -#define WM_EVCNT_ADD(ev, val) /* nothing */ - -#define WM_Q_EVCNT_INCR(qname, evname) /* nothing */ -#define WM_Q_EVCNT_STORE(qname, evname, val) /* nothing */ -#define WM_Q_EVCNT_ADD(qname, evname, val) /* nothing */ +#define WM_EVCNT_INCR(ev) __nothing +#define WM_EVCNT_STORE(ev, val) __nothing +#define WM_EVCNT_ADD(ev, val) __nothing + +#define WM_Q_EVCNT_INCR(qname, evname) __nothing +#define WM_Q_EVCNT_STORE(qname, evname, val) __nothing +#define WM_Q_EVCNT_ADD(qname, evname, val) __nothing #endif /* !WM_EVENT_COUNTERS */ #define CSR_READ(sc, reg) \ @@ -3308,15 +3308,15 @@ alloc_retry: if (sc->sc_type >= WM_T_82542_2_1) { evcnt_attach_dynamic(>sc_ev_tx_xoff, EVCNT_TYPE_MISC, - NULL, xname, "tx_xoff"); + NULL, xname, "XOFF Transmitted"); evcnt_attach_dynamic(>sc_ev_tx_xon, EVCNT_TYPE_MISC, - NULL, xname, "tx_xon"); + NULL, xname, "XON Transmitted"); evcnt_attach_dynamic(>sc_ev_rx_xoff, EVCNT_TYPE_MISC, - NULL, xname, "rx_xoff"); + NULL, xname, "XOFF Received"); evcnt_attach_dynamic(>sc_ev_rx_xon, EVCNT_TYPE_MISC, - NULL, xname, "rx_xon"); + NULL, xname, "XON Received"); evcnt_attach_dynamic(>sc_ev_rx_macctl, EVCNT_TYPE_MISC, - NULL, xname, "rx_macctl"); + NULL, xname, "FC Received Unsupported"); } evcnt_attach_dynamic(>sc_ev_scc, EVCNT_TYPE_MISC, @@ -3361,13 +3361,13 @@ alloc_retry: evcnt_attach_dynamic(>sc_ev_rnbc, EVCNT_TYPE_MISC, NULL, xname, "Rx No Buffers"); evcnt_attach_dynamic(>sc_ev_ruc, EVCNT_TYPE_MISC, - NULL, xname, "Rx Undersize"); + NULL, xname, "Rx Undersize (valid CRC)"); evcnt_attach_dynamic(>sc_ev_rfc, EVCNT_TYPE_MISC, - NULL, xname, "Rx Fragment"); + NULL, xname, "Rx Fragment (bad CRC)"); evcnt_attach_dynamic(>sc_ev_roc, EVCNT_TYPE_MISC, - NULL, xname, "Rx Oversize"); + NULL, xname, "Rx Oversize (valid CRC)"); evcnt_attach_dynamic(>sc_ev_rjc, EVCNT_TYPE_MISC, - NULL, xname, "Rx Jabber"); + NULL, xname, "Rx Jabber (bad CRC)"); if (sc->sc_type >= WM_T_82540) { evcnt_attach_dynamic(>sc_ev_mgtprc, EVCNT_TYPE_MISC, NULL, xname, "Management Packets RX"); @@ -3400,8 +3400,9 @@ alloc_retry: NULL, xname, "Multicast Packets Tx"); evcnt_attach_dynamic(>sc_ev_bptc, EVCNT_TYPE_MISC, NULL, xname, "Broadcast Packets Tx"); - evcnt_attach_dynamic(>sc_ev_iac, EVCNT_TYPE_MISC, - NULL, xname, "Interrupt Assertion"); + if (sc->sc_type >= WM_T_82571) /* PCIe, 80003 and ICH/PCHs */ +
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Oct 8 15:23:26 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #396): sys/dev/pci/if_wm.c: revision 1.785 sys/dev/pci/if_wm.c: revision 1.786 sys/dev/pci/if_wm.c: revision 1.787 sys/dev/pci/if_wm.c: revision 1.788 sys/dev/pci/if_wm.c: revision 1.789 wm(4): Use SCVPC and HRMPC for 82575 and newer. The SCVPC(SerDes/SGMII Code Violation Packet Count) register and the HRMPC (Header Redirection Missed Packet Count) register were added in if_wm.c rev. 1.776 but the location in the code were incorrect. Fix them. wm(4): Add some info to some event counters. - The difference between the RUC(Rx Undersize) and RFC(Rx Fragment) is whether the CRC is valid or not. - The difference between the ROC(Rx Oversize) and RJC(Rx Jabber) is whether the CRC is valid or not. - LENERRS(Length Errors) is for the length/type field <= 1500. wm(4): the IAC(Interrupt Assertion Count) register is for 82571 and newer. wm(4): Modify descriptions of flow control related event counters. wm(4): Replace /* nothing */ to __nothing for evcnt macros Prevent empty if bodies for !WM_EVENT_COUNTERS. To generate a diff of this commit: cvs rdiff -u -r1.767.2.3 -r1.767.2.4 src/sys/dev/pci/if_wm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Sun Oct 8 14:57:54 UTC 2023 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: ix_txrx.c ixgbe.c ixgbe.h ixgbe_82599.c ixgbe_mbx.h ixgbe_type.h ixgbe_vf.c ixgbe_vf.h ixv.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #395): sys/dev/pci/ixgbe/ixgbe_82599.c: revision 1.30 sys/dev/pci/ixgbe/ixv.c: revision 1.184 sys/dev/pci/ixgbe/ixv.c: revision 1.185 sys/dev/pci/ixgbe/ixgbe_vf.c: revision 1.32 sys/dev/pci/ixgbe/ixgbe_vf.c: revision 1.33 sys/dev/pci/ixgbe/ixgbe.h: revision 1.87 sys/dev/pci/ixgbe/ixgbe.h: revision 1.88 sys/dev/pci/ixgbe/ixgbe.c: revision 1.330 sys/dev/pci/ixgbe/ixgbe.c: revision 1.331 sys/dev/pci/ixgbe/ixgbe.c: revision 1.332 sys/dev/pci/ixgbe/ixgbe_vf.h: revision 1.18 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.101 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.57 sys/dev/pci/ixgbe/ixgbe_mbx.h: revision 1.20 sys/dev/pci/ixgbe/ixgbe.c: revision 1.327 sys/dev/pci/ixgbe/ixgbe.c: revision 1.328 sys/dev/pci/ixgbe/ixgbe.c: revision 1.329 ixgbe: Reorder some event counters for readability. ixg(4): Rename some descriptions of event counters. - Rename some descriptions from register name to the meaning. - For the same meaning's counters, add "(soft)" or "(reg)". The former is for a software level counter and the latter is for a statistics counter register based. ixg(4): Count Queue Bytes {Transmit, Receive} counter. ixg(4): Reorder some flow control related event counters for readability. ixg(4): Rename some descriptions of flow control related event conters. Remove obsolete comment. ixgbe: Fix typo in comment. No functional change. ixv(4): Improve error check. ixgbe_vf.c rev. 1.31 changed the behavior of the ixgbe_check_mac_link_vf() function. It was from FreeBSD's ixv-1.5.25 to resolve mailbox collision problem. The change had a problem that error checks have not done at all if the API version >= 1.5. Fix it. From FreeBSD ixv-1.5.27. ixv(4): Add new IXGBE_VF_GET_LINK_STATE message support. PF can control vf's link state by this change. Note that Linux's PF driver can't control the link to force up (i.e. ip link set XXX vf Y state enable). >From FreeBSD ixv-1.5.30. ixg(4): Update FCTRL after writing multicast filter. Same as other OSes. From FreeBSD 395cc55d896654b8f75071e71e856b22aed87da5. To generate a diff of this commit: cvs rdiff -u -r1.100 -r1.100.4.1 src/sys/dev/pci/ixgbe/ix_txrx.c cvs rdiff -u -r1.324.2.1 -r1.324.2.2 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.86 -r1.86.4.1 src/sys/dev/pci/ixgbe/ixgbe.h cvs rdiff -u -r1.29 -r1.29.4.1 src/sys/dev/pci/ixgbe/ixgbe_82599.c cvs rdiff -u -r1.19 -r1.19.4.1 src/sys/dev/pci/ixgbe/ixgbe_mbx.h cvs rdiff -u -r1.55.4.1 -r1.55.4.2 src/sys/dev/pci/ixgbe/ixgbe_type.h cvs rdiff -u -r1.31 -r1.31.4.1 src/sys/dev/pci/ixgbe/ixgbe_vf.c cvs rdiff -u -r1.17 -r1.17.4.1 src/sys/dev/pci/ixgbe/ixgbe_vf.h cvs rdiff -u -r1.183 -r1.183.4.1 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ixgbe/ix_txrx.c diff -u src/sys/dev/pci/ixgbe/ix_txrx.c:1.100 src/sys/dev/pci/ixgbe/ix_txrx.c:1.100.4.1 --- src/sys/dev/pci/ixgbe/ix_txrx.c:1.100 Fri Sep 16 03:05:51 2022 +++ src/sys/dev/pci/ixgbe/ix_txrx.c Sun Oct 8 14:57:53 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ix_txrx.c,v 1.100 2022/09/16 03:05:51 knakahara Exp $ */ +/* $NetBSD: ix_txrx.c,v 1.100.4.1 2023/10/08 14:57:53 martin Exp $ */ /** @@ -64,7 +64,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.100 2022/09/16 03:05:51 knakahara Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.100.4.1 2023/10/08 14:57:53 martin Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -1334,11 +1334,6 @@ ixgbe_setup_hw_rsc(struct rx_ring *rxr) * exhaustion are unnecessary, if an mbuf cannot be obtained * it just returns, keeping its placeholder, thus it can simply * be recalled to try again. - * - * XXX NetBSD TODO: - *- The ixgbe_rxeof() function always preallocates mbuf cluster, - * so the ixgbe_refresh_mbufs() function can be simplified. - * / static void ixgbe_refresh_mbufs(struct rx_ring *rxr, int limit) Index: src/sys/dev/pci/ixgbe/ixgbe.c diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.324.2.1 src/sys/dev/pci/ixgbe/ixgbe.c:1.324.2.2 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.324.2.1 Wed Jun 21 19:16:12 2023 +++ src/sys/dev/pci/ixgbe/ixgbe.c Sun Oct 8 14:57:53 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.c,v 1.324.2.1 2023/06/21 19:16:12 martin Exp $ */ +/* $NetBSD: ixgbe.c,v 1.324.2.2 2023/10/08 14:57:53 martin Exp $ */
CVS commit: [netbsd-10] src/sys/dev/pci/ixgbe
Module Name:src Committed By: martin Date: Sun Oct 8 14:57:54 UTC 2023 Modified Files: src/sys/dev/pci/ixgbe [netbsd-10]: ix_txrx.c ixgbe.c ixgbe.h ixgbe_82599.c ixgbe_mbx.h ixgbe_type.h ixgbe_vf.c ixgbe_vf.h ixv.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #395): sys/dev/pci/ixgbe/ixgbe_82599.c: revision 1.30 sys/dev/pci/ixgbe/ixv.c: revision 1.184 sys/dev/pci/ixgbe/ixv.c: revision 1.185 sys/dev/pci/ixgbe/ixgbe_vf.c: revision 1.32 sys/dev/pci/ixgbe/ixgbe_vf.c: revision 1.33 sys/dev/pci/ixgbe/ixgbe.h: revision 1.87 sys/dev/pci/ixgbe/ixgbe.h: revision 1.88 sys/dev/pci/ixgbe/ixgbe.c: revision 1.330 sys/dev/pci/ixgbe/ixgbe.c: revision 1.331 sys/dev/pci/ixgbe/ixgbe.c: revision 1.332 sys/dev/pci/ixgbe/ixgbe_vf.h: revision 1.18 sys/dev/pci/ixgbe/ix_txrx.c: revision 1.101 sys/dev/pci/ixgbe/ixgbe_type.h: revision 1.57 sys/dev/pci/ixgbe/ixgbe_mbx.h: revision 1.20 sys/dev/pci/ixgbe/ixgbe.c: revision 1.327 sys/dev/pci/ixgbe/ixgbe.c: revision 1.328 sys/dev/pci/ixgbe/ixgbe.c: revision 1.329 ixgbe: Reorder some event counters for readability. ixg(4): Rename some descriptions of event counters. - Rename some descriptions from register name to the meaning. - For the same meaning's counters, add "(soft)" or "(reg)". The former is for a software level counter and the latter is for a statistics counter register based. ixg(4): Count Queue Bytes {Transmit, Receive} counter. ixg(4): Reorder some flow control related event counters for readability. ixg(4): Rename some descriptions of flow control related event conters. Remove obsolete comment. ixgbe: Fix typo in comment. No functional change. ixv(4): Improve error check. ixgbe_vf.c rev. 1.31 changed the behavior of the ixgbe_check_mac_link_vf() function. It was from FreeBSD's ixv-1.5.25 to resolve mailbox collision problem. The change had a problem that error checks have not done at all if the API version >= 1.5. Fix it. From FreeBSD ixv-1.5.27. ixv(4): Add new IXGBE_VF_GET_LINK_STATE message support. PF can control vf's link state by this change. Note that Linux's PF driver can't control the link to force up (i.e. ip link set XXX vf Y state enable). >From FreeBSD ixv-1.5.30. ixg(4): Update FCTRL after writing multicast filter. Same as other OSes. From FreeBSD 395cc55d896654b8f75071e71e856b22aed87da5. To generate a diff of this commit: cvs rdiff -u -r1.100 -r1.100.4.1 src/sys/dev/pci/ixgbe/ix_txrx.c cvs rdiff -u -r1.324.2.1 -r1.324.2.2 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.86 -r1.86.4.1 src/sys/dev/pci/ixgbe/ixgbe.h cvs rdiff -u -r1.29 -r1.29.4.1 src/sys/dev/pci/ixgbe/ixgbe_82599.c cvs rdiff -u -r1.19 -r1.19.4.1 src/sys/dev/pci/ixgbe/ixgbe_mbx.h cvs rdiff -u -r1.55.4.1 -r1.55.4.2 src/sys/dev/pci/ixgbe/ixgbe_type.h cvs rdiff -u -r1.31 -r1.31.4.1 src/sys/dev/pci/ixgbe/ixgbe_vf.c cvs rdiff -u -r1.17 -r1.17.4.1 src/sys/dev/pci/ixgbe/ixgbe_vf.h cvs rdiff -u -r1.183 -r1.183.4.1 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Oct 8 13:03:40 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #393 (Add missing I225/I226 series devices) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.6 -r1.1452.2.7 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.6 -r1.1451.2.7 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Oct 8 13:02:08 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up the following, requested by rin in ticket #393: sys/dev/pci/pcidevs 1.1494 (via patch) Add missing I225/I226 series devices To generate a diff of this commit: cvs rdiff -u -r1.1471.2.5 -r1.1471.2.6 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1471.2.5 src/sys/dev/pci/pcidevs:1.1471.2.6 --- src/sys/dev/pci/pcidevs:1.1471.2.5 Mon Aug 21 12:26:12 2023 +++ src/sys/dev/pci/pcidevs Sun Oct 8 13:02:08 2023 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1471.2.5 2023/08/21 12:26:12 martin Exp $ +$NetBSD: pcidevs,v 1.1471.2.6 2023/10/08 13:02:08 martin Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -3933,6 +3933,7 @@ product INTEL I219_LM11 0x0d4c I219-LM product INTEL I219_V11 0x0d4d I219-V (11) Ethernet Connection product INTEL I219_LM10 0x0d4e I219-LM (10) Ethernet Connection product INTEL I219_V10 0x0d4f I219-V (10) Ethernet Connection +product INTEL I225_IT 0x0d9f I225-IT Ethernet Connection product INTEL I219_LM12 0x0d53 I219-LM (12) Ethernet Connection product INTEL I219_V12 0x0d55 I219-V (12) Ethernet Connection product INTEL E5V2_DMI2 0x0e00 E5 v2 DMI2 @@ -4249,6 +4250,8 @@ product INTEL 82439HX 0x1250 82439HX (T product INTEL I226_LM 0x125b I226-LM Ethernet product INTEL I226_V 0x125c I226-V Ethernet product INTEL I226_IT 0x125d I226-IT Ethernet +product INTEL I221_V 0x125e I221-V Ethernet Connection +product INTEL I226_BLANK_NVM 0x125f I226 Ethernet Connection (blankNVM) product INTEL C3K_X553_10G 0x1306 C3000 X553 10G Ethernet product INTEL C3K_X553_1G 0x1307 C3000 X553 1G Ethernet product INTEL 82870P2_PPB 0x1460 82870P2 P64H2 PCI-PCI Bridge @@ -4374,9 +4377,12 @@ product INTEL C3K_X553_SGMII 0x15e4 C300 product INTEL C3K_X553_SGMII_L 0x15e5 C3000 X553 1GbE SGMII (non-10G SKU) product INTEL I225_LM 0x15f2 I225 LM Ethernet product INTEL I225_V 0x15f3 I225 V Ethernet +product INTEL I220_V 0x15f7 I220-V Ethernet Connection +product INTEL I225_BLANK_NVM 0x15fd I225 Ethernet Connection (blankNVM) product INTEL I219_LM15 0x15f4 I219-LM (15) Ethernet Connection product INTEL I219_V15 0x15f5 I219-V (15) Ethernet Connection product INTEL I210_SGMII_WOF 0x15f6 I210 Ethernet (SGMII) +product INTEL I225_I 0x15f8 I225-I Ethernet Connection product INTEL I219_LM14 0x15f9 I219-LM (14) Ethernet Connection product INTEL I219_V14 0x15fa I219-V (14) Ethernet Connection product INTEL I219_LM13 0x15fb I219-LM (13) Ethernet Connection @@ -5409,6 +5415,9 @@ product INTEL XE5_V3_BRA4 0x2ffb Xeon E product INTEL XE5_V3_SADBR1 0x2ffc Xeon E7 v3/Xeon E5 v3/Core i7 System Address Decoder & Broadcast Registers product INTEL XE5_V3_SADBR2 0x2ffd Xeon E7 v3/Xeon E5 v3/Core i7 System Address Decoder & Broadcast Registers product INTEL XE5_V3_SADBR3 0x2ffe Xeon E7 v3/Xeon E5 v3/Core i7 System Address Decoder & Broadcast Registers +product INTEL I225_K 0x3100 I225-K Ethernet Connection +product INTEL I225_K2 0x3101 I225-K2 Ethernet Connection +product INTEL I226_K 0x3102 I226-K Ethernet Connection product INTEL WIFI_LINK_3165_1 0x3165 Dual Band Wireless AC 3165 product INTEL WIFI_LINK_3165_2 0x3166 Dual Band Wireless AC 3165 product INTEL GLK_IGD_1 0x3184 UHD Graphics 605 @@ -6281,6 +6290,8 @@ product INTEL ADL_N_CNVI_4 0x54f3 Alder product INTEL ADL_N_GSPI_2 0x54fb Alder Lake-N GSPI 2 product INTEL ADL_N_ISH 0x54fc Alder Lake-N Integrated Sensor Hub product INTEL ADL_N_SCS_UFS 0x54ff Alder Lake-N UFS +product INTEL I225_LMVP 0x5502 I225-LMvP Ethernet Connection +product INTEL I226_LMVP 0x5503 I226-LMvP Ethernet Connection product INTEL I219_LM18 0x550a I219-LM (18) Ethernet Connection product INTEL I219_V18 0x550b I219-V (18) Ethernet Connection product INTEL I219_LM19 0x550c I219-LM (19) Ethernet Connection
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sun Oct 8 13:02:08 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up the following, requested by rin in ticket #393: sys/dev/pci/pcidevs 1.1494 (via patch) Add missing I225/I226 series devices To generate a diff of this commit: cvs rdiff -u -r1.1471.2.5 -r1.1471.2.6 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Sep 4 17:45:24 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c if_wmvar.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #344): sys/dev/pci/if_wmvar.h: revision 1.50 sys/dev/pci/if_wm.c: revision 1.783 sys/dev/pci/if_wm.c: revision 1.784 Delay sending LINK_STATE_UP to prevent dropping packets on I35[04] and I21[01]. Some (not all) systems use I35[04] or I21[01] don't send packet soon after linkup. The MAC send a packet to the PHY and any error is not observed. This behavior causes a problem that gratuitous ARP and/or IPv6 DAD packet are silently dropped. To avoid this problem, don't call mii_pollstat() here which will send LINK_STATE_UP notification to the upper layer. Instead, mii_pollstat() will be called in wm_gmii_mediastatus() or mii_tick() will be called in wm_tick(). Note that the similar workaround is in Linux's igb driver though it's only for I21[01]. OK'd by hikaru@ and knakahara@. Fix #ifdef WM_DEBUG code in wm_gmii_i82544_{read,write}reg_locked. To generate a diff of this commit: cvs rdiff -u -r1.767.2.2 -r1.767.2.3 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.48.4.1 -r1.48.4.2 src/sys/dev/pci/if_wmvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.767.2.2 src/sys/dev/pci/if_wm.c:1.767.2.3 --- src/sys/dev/pci/if_wm.c:1.767.2.2 Tue Jun 27 18:24:18 2023 +++ src/sys/dev/pci/if_wm.c Mon Sep 4 17:45:24 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.767.2.2 2023/06/27 18:24:18 martin Exp $ */ +/* $NetBSD: if_wm.c,v 1.767.2.3 2023/09/04 17:45:24 martin Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -82,7 +82,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.2 2023/06/27 18:24:18 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.3 2023/09/04 17:45:24 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_if_wm.h" @@ -537,7 +537,7 @@ struct wm_softc { #define WM_MEDIATYPE_COPPER 0x02 #define WM_MEDIATYPE_SERDES 0x03 /* Internal SERDES */ int sc_funcid; /* unit number of the chip (0 to 3) */ - int sc_flags; /* flags; see below */ + u_int sc_flags; /* flags; see below */ u_short sc_if_flags; /* last if_flags */ int sc_ec_capenable; /* last ec_capenable */ int sc_flowflags; /* 802.3x flow control flags */ @@ -709,6 +709,7 @@ struct wm_softc { int sc_tbi_linkup; /* TBI link status */ int sc_tbi_serdes_anegticks; /* autonegotiation ticks */ int sc_tbi_serdes_ticks; /* tbi ticks */ + struct timeval sc_linkup_delay_time; /* delay LINK_STATE_UP */ int sc_mchash_type; /* multicast filter offset */ @@ -3084,6 +3085,23 @@ alloc_retry: || (sc->sc_type == WM_T_I210) || (sc->sc_type == WM_T_I211)) sc->sc_flags |= WM_F_CRC_STRIP; + /* + * Workaround for some chips to delay sending LINK_STATE_UP. + * Some systems can't send packet soon after linkup. See also + * wm_linkintr_gmii(), wm_tick() and wm_gmii_mediastatus(). + */ + switch (sc->sc_type) { + case WM_T_I350: + case WM_T_I354: + case WM_T_I210: + case WM_T_I211: + if (sc->sc_mediatype == WM_MEDIATYPE_COPPER) + sc->sc_flags |= WM_F_DELAY_LINKUP; + break; + default: + break; + } + /* Set device properties (macflags) */ prop_dictionary_set_uint32(dict, "macflags", sc->sc_flags); @@ -3901,9 +3919,29 @@ wm_tick(void *arg) wm_update_stats(sc); - if (sc->sc_flags & WM_F_HAS_MII) - mii_tick(>sc_mii); - else if ((sc->sc_type >= WM_T_82575) && (sc->sc_type <= WM_T_I211) + if (sc->sc_flags & WM_F_HAS_MII) { + bool dotick = true; + + /* + * Workaround for some chips to delay sending LINK_STATE_UP. + * See also wm_linkintr_gmii() and wm_gmii_mediastatus(). + */ + if ((sc->sc_flags & WM_F_DELAY_LINKUP) != 0) { + struct timeval now; + + getmicrotime(); + if (timercmp(, >sc_linkup_delay_time, <)) +dotick = false; + else if (sc->sc_linkup_delay_time.tv_sec != 0) { +/* Simplify by checking tv_sec only. */ + +sc->sc_linkup_delay_time.tv_sec = 0; +sc->sc_linkup_delay_time.tv_usec = 0; + } + } + if (dotick) + mii_tick(>sc_mii); + } else if ((sc->sc_type >= WM_T_82575) && (sc->sc_type <= WM_T_I211) && (sc->sc_mediatype == WM_MEDIATYPE_SERDES)) wm_serdes_tick(sc); else @@ -10278,6 +10316,7 @@ wm_linkintr_gmii(struct wm_softc *sc, ui device_t dev = sc->sc_dev; uint32_t status, reg; bool link; + bool dopoll = true; int rv; KASSERT(mutex_owned(sc->sc_core_lock)); @@ -10324,7 +10363,46 @@ wm_linkintr_gmii(struct wm_softc *sc, ui DPRINTF(sc, WM_DEBUG_LINK, ("%s: LINK: LSC -> mii_pollstat\n", device_xname(dev))); - mii_pollstat(>sc_mii); + if ((sc->sc_flags & WM_F_DELAY_LINKUP) != 0) { + if (link) { + /* + * To workaround the problem, it's required to wait + * several hundred miliseconds. The
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Sep 4 17:45:24 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c if_wmvar.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #344): sys/dev/pci/if_wmvar.h: revision 1.50 sys/dev/pci/if_wm.c: revision 1.783 sys/dev/pci/if_wm.c: revision 1.784 Delay sending LINK_STATE_UP to prevent dropping packets on I35[04] and I21[01]. Some (not all) systems use I35[04] or I21[01] don't send packet soon after linkup. The MAC send a packet to the PHY and any error is not observed. This behavior causes a problem that gratuitous ARP and/or IPv6 DAD packet are silently dropped. To avoid this problem, don't call mii_pollstat() here which will send LINK_STATE_UP notification to the upper layer. Instead, mii_pollstat() will be called in wm_gmii_mediastatus() or mii_tick() will be called in wm_tick(). Note that the similar workaround is in Linux's igb driver though it's only for I21[01]. OK'd by hikaru@ and knakahara@. Fix #ifdef WM_DEBUG code in wm_gmii_i82544_{read,write}reg_locked. To generate a diff of this commit: cvs rdiff -u -r1.767.2.2 -r1.767.2.3 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.48.4.1 -r1.48.4.2 src/sys/dev/pci/if_wmvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Aug 23 17:13:08 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: ichsmb.c ismt.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #338): sys/dev/pci/ichsmb.c: revision 1.85 sys/dev/pci/ismt.c: revision 1.11 ichsmb(4),ismt(4): Add Snow Ridge support. To generate a diff of this commit: cvs rdiff -u -r1.81.4.2 -r1.81.4.3 src/sys/dev/pci/ichsmb.c cvs rdiff -u -r1.9 -r1.9.6.1 src/sys/dev/pci/ismt.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ichsmb.c diff -u src/sys/dev/pci/ichsmb.c:1.81.4.2 src/sys/dev/pci/ichsmb.c:1.81.4.3 --- src/sys/dev/pci/ichsmb.c:1.81.4.2 Tue Aug 1 14:06:36 2023 +++ src/sys/dev/pci/ichsmb.c Wed Aug 23 17:13:08 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ichsmb.c,v 1.81.4.2 2023/08/01 14:06:36 martin Exp $ */ +/* $NetBSD: ichsmb.c,v 1.81.4.3 2023/08/23 17:13:08 martin Exp $ */ /* $OpenBSD: ichiic.c,v 1.44 2020/10/07 11:23:05 jsg Exp $ */ /* @@ -22,7 +22,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ichsmb.c,v 1.81.4.2 2023/08/01 14:06:36 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ichsmb.c,v 1.81.4.3 2023/08/23 17:13:08 martin Exp $"); #include #include @@ -155,6 +155,7 @@ ichsmb_match(device_t parent, cfdata_t m case PCI_PRODUCT_INTEL_GLK_SMB: case PCI_PRODUCT_INTEL_EHL_SMB: case PCI_PRODUCT_INTEL_JSL_SMB: + case PCI_PRODUCT_INTEL_SNR_SMB_LEGACY: case PCI_PRODUCT_INTEL_ADL_N_SMB: case PCI_PRODUCT_INTEL_C600_SMBUS: case PCI_PRODUCT_INTEL_C600_SMB_0: Index: src/sys/dev/pci/ismt.c diff -u src/sys/dev/pci/ismt.c:1.9 src/sys/dev/pci/ismt.c:1.9.6.1 --- src/sys/dev/pci/ismt.c:1.9 Sat Aug 7 16:19:14 2021 +++ src/sys/dev/pci/ismt.c Wed Aug 23 17:13:08 2023 @@ -60,7 +60,7 @@ #if 0 __FBSDID("$FreeBSD: head/sys/dev/ismt/ismt.c 266474 2014-05-20 19:55:06Z jimharris $"); #endif -__KERNEL_RCSID(0, "$NetBSD: ismt.c,v 1.9 2021/08/07 16:19:14 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ismt.c,v 1.9.6.1 2023/08/23 17:13:08 martin Exp $"); #include #include @@ -778,6 +778,7 @@ ismt_match(device_t parent, cfdata_t mat case PCI_PRODUCT_INTEL_S1200_SMBUS_1: case PCI_PRODUCT_INTEL_C2000_SMBUS: case PCI_PRODUCT_INTEL_C3K_SMBUS: + case PCI_PRODUCT_INTEL_SNR_SMB_HOST: break; default: return 0;
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Aug 23 17:13:08 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: ichsmb.c ismt.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #338): sys/dev/pci/ichsmb.c: revision 1.85 sys/dev/pci/ismt.c: revision 1.11 ichsmb(4),ismt(4): Add Snow Ridge support. To generate a diff of this commit: cvs rdiff -u -r1.81.4.2 -r1.81.4.3 src/sys/dev/pci/ichsmb.c cvs rdiff -u -r1.9 -r1.9.6.1 src/sys/dev/pci/ismt.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Tue Aug 22 16:14:55 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: sdhc_pci.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #336): sys/dev/pci/sdhc_pci.c: revision 1.21 Add quirk setting for some Intel eMMC devices. On some Intel eMMC controllers, the driver reports "autoconfiguration error: couldn't enable card: 60" even though they really have eMMC device. This change fixes the problem on some machines. It might be required more quirks for newer devices (or HS400 support). At least, this change fixes the problem on GIGABYTE MA10-ST0. To generate a diff of this commit: cvs rdiff -u -r1.19.2.1 -r1.19.2.2 src/sys/dev/pci/sdhc_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/sdhc_pci.c diff -u src/sys/dev/pci/sdhc_pci.c:1.19.2.1 src/sys/dev/pci/sdhc_pci.c:1.19.2.2 --- src/sys/dev/pci/sdhc_pci.c:1.19.2.1 Wed Jan 18 19:21:49 2023 +++ src/sys/dev/pci/sdhc_pci.c Tue Aug 22 16:14:55 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: sdhc_pci.c,v 1.19.2.1 2023/01/18 19:21:49 martin Exp $ */ +/* $NetBSD: sdhc_pci.c,v 1.19.2.2 2023/08/22 16:14:55 martin Exp $ */ /* $OpenBSD: sdhc_pci.c,v 1.7 2007/10/30 18:13:45 chl Exp $ */ /* @@ -18,7 +18,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: sdhc_pci.c,v 1.19.2.1 2023/01/18 19:21:49 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sdhc_pci.c,v 1.19.2.2 2023/08/22 16:14:55 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_sdmmc.h" @@ -161,7 +161,8 @@ static const struct sdhc_pci_quirk { 0x, 0x, ~0, - SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 }, { @@ -172,6 +173,97 @@ static const struct sdhc_pci_quirk { ~0, SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET }, + + { + PCI_VENDOR_INTEL, + PCI_PRODUCT_INTEL_C3K_EMMC, + 0x, + 0x, + ~0, + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 + }, + { + PCI_VENDOR_INTEL, + PCI_PRODUCT_INTEL_BAYTRAIL_SCC_MMC, + 0x, + 0x, + ~0, + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 + }, + { + PCI_VENDOR_INTEL, + PCI_PRODUCT_INTEL_BAYTRAIL_SCC_MMC2, + 0x, + 0x, + ~0, + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 + }, + { + PCI_VENDOR_INTEL, + PCI_PRODUCT_INTEL_APL_EMMC, + 0x, + 0x, + ~0, + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 + }, + { + PCI_VENDOR_INTEL, + PCI_PRODUCT_INTEL_GLK_EMMC, + 0x, + 0x, + ~0, + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 + }, + { + PCI_VENDOR_INTEL, + PCI_PRODUCT_INTEL_3HS_U_EMMC, + 0x, + 0x, + ~0, + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 + }, + { + PCI_VENDOR_INTEL, + PCI_PRODUCT_INTEL_495_YU_PCIE_EMMC, + 0x, + 0x, + ~0, + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 + }, + { + PCI_VENDOR_INTEL, + PCI_PRODUCT_INTEL_CMTLK_EMMC, + 0x, + 0x, + ~0, + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 + }, + { + PCI_VENDOR_INTEL, + PCI_PRODUCT_INTEL_JSL_EMMC, + 0x, + 0x, + ~0, + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 + }, + { + PCI_VENDOR_INTEL, + PCI_PRODUCT_INTEL_EHL_EMMC, + 0x, + 0x, + ~0, + SDHC_PCI_QUIRK_INTEL_EMMC_HW_RESET | + SDHC_PCI_QUIRK_NO_PWR0 + }, }; static void sdhc_pci_quirk_ti_hack(struct pci_attach_args *);
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Tue Aug 22 16:14:55 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: sdhc_pci.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #336): sys/dev/pci/sdhc_pci.c: revision 1.21 Add quirk setting for some Intel eMMC devices. On some Intel eMMC controllers, the driver reports "autoconfiguration error: couldn't enable card: 60" even though they really have eMMC device. This change fixes the problem on some machines. It might be required more quirks for newer devices (or HS400 support). At least, this change fixes the problem on GIGABYTE MA10-ST0. To generate a diff of this commit: cvs rdiff -u -r1.19.2.1 -r1.19.2.2 src/sys/dev/pci/sdhc_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Tue Aug 22 15:57:38 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: ahcisata_pci.c Log Message: Pull up following revision(s) (requested by tnn in ticket #334): sys/dev/pci/ahcisata_pci.c: revision 1.69 ahcisata: ASM106x needs EXTRA_DELAY quirk To generate a diff of this commit: cvs rdiff -u -r1.68 -r1.68.2.1 src/sys/dev/pci/ahcisata_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ahcisata_pci.c diff -u src/sys/dev/pci/ahcisata_pci.c:1.68 src/sys/dev/pci/ahcisata_pci.c:1.68.2.1 --- src/sys/dev/pci/ahcisata_pci.c:1.68 Wed Oct 12 12:50:02 2022 +++ src/sys/dev/pci/ahcisata_pci.c Tue Aug 22 15:57:38 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ahcisata_pci.c,v 1.68 2022/10/12 12:50:02 macallan Exp $ */ +/* $NetBSD: ahcisata_pci.c,v 1.68.2.1 2023/08/22 15:57:38 martin Exp $ */ /* * Copyright (c) 2006 Manuel Bouyer. @@ -26,7 +26,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ahcisata_pci.c,v 1.68 2022/10/12 12:50:02 macallan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ahcisata_pci.c,v 1.68.2.1 2023/08/22 15:57:38 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_ahcisata_pci.h" @@ -217,6 +217,8 @@ static const struct ahci_pci_quirk ahci_ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_9SERIES_SATA_AHCI, AHCI_QUIRK_EXTRA_DELAY }, { PCI_VENDOR_AMD, PCI_PRODUCT_AMD_FCH_SATA_D, AHCI_QUIRK_EXTRA_DELAY }, + { PCI_VENDOR_ASMEDIA, PCI_PRODUCT_ASMEDIA_ASM106X, + AHCI_QUIRK_EXTRA_DELAY }, #if 0 /*
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Tue Aug 22 15:57:38 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: ahcisata_pci.c Log Message: Pull up following revision(s) (requested by tnn in ticket #334): sys/dev/pci/ahcisata_pci.c: revision 1.69 ahcisata: ASM106x needs EXTRA_DELAY quirk To generate a diff of this commit: cvs rdiff -u -r1.68 -r1.68.2.1 src/sys/dev/pci/ahcisata_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Aug 21 12:27:19 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: regen (for ticket #333) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.5 -r1.1452.2.6 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.5 -r1.1451.2.6 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. diffs are larger than 1MB and have been omitted
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Aug 21 12:27:19 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: regen (for ticket #333) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.5 -r1.1452.2.6 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.5 -r1.1451.2.6 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Aug 21 12:26:12 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #333): sys/dev/pci/pcidevs: revision 1.1483-1.1492 Add AMD 19h/7xh Root Complex. pcidevs: add ASMedia ASM106x Add Intel Snow Ridge devices. Fix some descriptions of Intel Snow Ridge. Add Intel I226 devices. Add device ids of the VX800 chipset and s3 chrome 500 series GPU. Descriptions mainly aligned with VX800/820 Series System Programming Manual. fix duplicate definition. Add some Intel Xeon D-2100 devices. Fix description of Intel 0x37d0. Simplify descriptions of Snow Ridge internal Ethernet devices. Rename PCI to PCIE for naming consistency. To generate a diff of this commit: cvs rdiff -u -r1.1471.2.4 -r1.1471.2.5 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Mon Aug 21 12:26:12 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #333): sys/dev/pci/pcidevs: revision 1.1483-1.1492 Add AMD 19h/7xh Root Complex. pcidevs: add ASMedia ASM106x Add Intel Snow Ridge devices. Fix some descriptions of Intel Snow Ridge. Add Intel I226 devices. Add device ids of the VX800 chipset and s3 chrome 500 series GPU. Descriptions mainly aligned with VX800/820 Series System Programming Manual. fix duplicate definition. Add some Intel Xeon D-2100 devices. Fix description of Intel 0x37d0. Simplify descriptions of Snow Ridge internal Ethernet devices. Rename PCI to PCIE for naming consistency. To generate a diff of this commit: cvs rdiff -u -r1.1471.2.4 -r1.1471.2.5 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1471.2.4 src/sys/dev/pci/pcidevs:1.1471.2.5 --- src/sys/dev/pci/pcidevs:1.1471.2.4 Sat Jul 29 10:26:20 2023 +++ src/sys/dev/pci/pcidevs Mon Aug 21 12:26:12 2023 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1471.2.4 2023/07/29 10:26:20 martin Exp $ +$NetBSD: pcidevs,v 1.1471.2.5 2023/08/21 12:26:12 martin Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -1100,6 +1100,7 @@ product AMD F19_6X_DF_4 0x14e4 19h/6xh product AMD F19_6X_DF_5 0x14e5 19h/6xh Data Fabric 5 product AMD F19_6X_DF_6 0x14e6 19h/6xh Data Fabric 6 product AMD F19_6X_DF_7 0x14e7 19h/6xh Data Fabric 7 +product AMD F19_7X_RC 0x14e8 19h/7xh Root Complex product AMD F17_AX_XHCI_0 0x1503 17h/Axh USB 3.1 xHCI product AMD F17_AX_XHCI_1 0x1504 17h/Axh USB 3.1 xHCI product AMD F17_AX_USB_BIOM 0x1505 17h/Axh Secure USB BIOmetric @@ -1509,6 +1510,7 @@ product ASMEDIA ASM1061_01 0x0601 ASM106 product ASMEDIA ASM1061_02 0x0602 ASM1061 AHCI SATA III Controller product ASMEDIA ASM1061_11 0x0611 ASM1061 AHCI SATA III Controller product ASMEDIA ASM1061_12 0x0612 ASM1061 AHCI SATA III Controller +product ASMEDIA ASM106X 0x0625 ASM106x AHCI SATA III Controller product ASMEDIA ASM1042 0x1042 ASM1042 USB 3.0 Host Controller product ASMEDIA ASM1083 0x1080 ASM1083/1085 PCIe-PCI Bridge product ASMEDIA ASM1042A 0x1142 ASM1042A USB 3.0 Host Controller @@ -3875,6 +3877,13 @@ product INTEL WIFI_LINK_7265_2 0x095b Du product INTEL X1000_LB 0x095e Quark X1000 Legacy Bridge product INTEL 80960RM 0x0962 i960 RM PCI-PCI product INTEL 80960RN 0x0964 i960 RN PCI-PCI +product INTEL SNR_IEH 0x0998 Snow Ridge IEH +product INTEL SNR_M2IIO_VTD 0x09a2 Snow Ridge Mesh2IIO MMAP/VT-d +product INTEL SNR_M2IIO_RAS 0x09a3 Snow Ridge Mesh2IIO RAS +product INTEL SNR_M2IIO_PMU 0x09a4 Snow Ridge Mesh2IIO PMU/PMON +product INTEL SNR_M2IIO_DFX 0x09a5 Snow Ridge Mesh2IIO DFx +product INTEL SNR_PECI_OOB_MSM 0x09a6 Snow Ridge PECI OOB-MSM +product INTEL SNR_PECI_OOB_MSM_PMU 0x09a7 Snow Ridge PECI OOB-MSM PMU product INTEL CORE4G_D_ULT_GT1 0x0a02 HD Graphics product INTEL CORE4G_M_HOST_DRAM 0x0a04 Core 4G (mobile) Host Bridge, DRAM product INTEL CORE4G_M_ULT_GT1 0x0a06 HD Graphics (GT1) @@ -3895,6 +3904,7 @@ product INTEL CORE4G_R_ULT_GT3_2 0x0a2e product INTEL DC_P3520_SSD 0x0a53 SSD DC P3520 product INTEL DC_P4500_SSD 0x0a54 SSD DC P4500 product INTEL DC_P4600_SSD 0x0a55 SSD DC P4600 +product INTEL SNR_DMA 0x0b00 Snow Ridge DMA product INTEL HASWELL_HOST_DRAM 0x0c00 Haswell Host Bridge, DRAM product INTEL HASWELL_PCIE16 0x0c01 Haswell PCI-E x16 Controller product INTEL HASWELL_PCIE8 0x0c05 Haswell PCI-E x8 Controller @@ -4236,6 +4246,9 @@ product INTEL 82441FX 0x1237 82441FX (P product INTEL 82380AB 0x123c 82380AB (MISA) Mobile PCI-ISA Bridge product INTEL 82380FB 0x124b 82380FB (MPCI2) Mobile PCI-PCI Bridge product INTEL 82439HX 0x1250 82439HX (TXC) System Controller +product INTEL I226_LM 0x125b I226-LM Ethernet +product INTEL I226_V 0x125c I226-V Ethernet +product INTEL I226_IT 0x125d I226-IT Ethernet product INTEL C3K_X553_10G 0x1306 C3000 X553 10G Ethernet product INTEL C3K_X553_1G 0x1307 C3000 X553 1G Ethernet product INTEL 82870P2_PPB 0x1460 82870P2 P64H2 PCI-PCI Bridge @@ -4376,6 +4389,43 @@ product INTEL CORE5G_M_GT2_1 0x1616 HD G product INTEL CORE5G_M_GT2_2 0x161e HD Graphics 5300 product INTEL CORE5G_M_GT3_15W 0x1626 HD Graphics 6000 product INTEL CORE5G_M_GT3_28W 0x162b Iris Graphics 6100 +product INTEL SNR_E882_C_BP 0x1890 E882-C for backplane +product INTEL SNR_E882_C_QSFP 0x1891 E882-C for QSFP +product INTEL SNR_E882_C_SFP 0x1892 E882-C for SFP +product INTEL SNR_E882_C_10GT 0x1893 E882-C/X557-AT 10GBASE-T +product INTEL SNR_E882_C_1G 0x1894 E882-C 1G +product INTEL SNR_E882_X 0x1895 E882-X (for BMSM) +product INTEL SNR_E882_L_BP 0x1897 E882-L for backplane +product INTEL SNR_E882_L_SFP 0x1898 E882-L for SFP +product INTEL SNR_E882_L_10GT
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Jul 29 10:50:05 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: ichsmb.c Log Message: Pull up the following revisions, via patch, requested by msaitoh in ticket #253: sys/dev/pci/ichsmb.c1.83-1.84 - Add support Intel 700 series chipset and Alder Lake-N devices. - Use device_printf() instead of aprint_error_dev() in ichsmb_i2c_exec(). To generate a diff of this commit: cvs rdiff -u -r1.81 -r1.81.4.1 src/sys/dev/pci/ichsmb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/ichsmb.c diff -u src/sys/dev/pci/ichsmb.c:1.81 src/sys/dev/pci/ichsmb.c:1.81.4.1 --- src/sys/dev/pci/ichsmb.c:1.81 Thu Sep 22 14:45:33 2022 +++ src/sys/dev/pci/ichsmb.c Sat Jul 29 10:50:05 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ichsmb.c,v 1.81 2022/09/22 14:45:33 riastradh Exp $ */ +/* $NetBSD: ichsmb.c,v 1.81.4.1 2023/07/29 10:50:05 martin Exp $ */ /* $OpenBSD: ichiic.c,v 1.44 2020/10/07 11:23:05 jsg Exp $ */ /* @@ -22,7 +22,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ichsmb.c,v 1.81 2022/09/22 14:45:33 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ichsmb.c,v 1.81.4.1 2023/07/29 10:50:05 martin Exp $"); #include #include @@ -138,6 +138,7 @@ ichsmb_match(device_t parent, cfdata_t m case PCI_PRODUCT_INTEL_GLK_SMB: case PCI_PRODUCT_INTEL_EHL_SMB: case PCI_PRODUCT_INTEL_JSL_SMB: + case PCI_PRODUCT_INTEL_ADL_N_SMB: case PCI_PRODUCT_INTEL_C600_SMBUS: case PCI_PRODUCT_INTEL_C600_SMB_0: case PCI_PRODUCT_INTEL_C600_SMB_1: @@ -155,6 +156,7 @@ ichsmb_match(device_t parent, cfdata_t m case PCI_PRODUCT_INTEL_5HS_LP_SMB: case PCI_PRODUCT_INTEL_6HS_H_SMB: case PCI_PRODUCT_INTEL_6HS_LP_SMB: + case PCI_PRODUCT_INTEL_7HS_SMB: return 1; } } @@ -423,7 +425,7 @@ timeout: st = bus_space_read_1(sc->sc_iot, sc->sc_ioh, SMB_HS); if ((st & SMB_HS_FAILED) == 0) { snprintb(fbuf, sizeof(fbuf), SMB_HS_BITS, st); - aprint_error_dev(sc->sc_dev, "abort failed, status %s\n", + device_printf(sc->sc_dev, "abort failed, status %s\n", fbuf); } bus_space_write_1(sc->sc_iot, sc->sc_ioh, SMB_HS, st);
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Jul 29 10:50:05 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: ichsmb.c Log Message: Pull up the following revisions, via patch, requested by msaitoh in ticket #253: sys/dev/pci/ichsmb.c1.83-1.84 - Add support Intel 700 series chipset and Alder Lake-N devices. - Use device_printf() instead of aprint_error_dev() in ichsmb_i2c_exec(). To generate a diff of this commit: cvs rdiff -u -r1.81 -r1.81.4.1 src/sys/dev/pci/ichsmb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Jul 29 10:27:38 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: regen (ticket #252) To generate a diff of this commit: cvs rdiff -u -r1.1452.2.4 -r1.1452.2.5 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.4 -r1.1451.2.5 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Jul 29 10:26:20 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up the following revisions, via patch, requested by msaitoh in ticket #252: sys/dev/pci/pcidevs 1.1481-1.1482 Add Intel Alder Lake-N, Raptor Lake and 700 series chipset devices. To generate a diff of this commit: cvs rdiff -u -r1.1471.2.3 -r1.1471.2.4 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1471.2.3 src/sys/dev/pci/pcidevs:1.1471.2.4 --- src/sys/dev/pci/pcidevs:1.1471.2.3 Wed Jun 21 22:17:38 2023 +++ src/sys/dev/pci/pcidevs Sat Jul 29 10:26:20 2023 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1471.2.3 2023/06/21 22:17:38 martin Exp $ +$NetBSD: pcidevs,v 1.1471.2.4 2023/07/29 10:26:20 martin Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -5870,8 +5870,11 @@ product INTEL ADL_U9_2_4_HOST 0x460a Ald product INTEL ADL_PCIE_RP_0 0x460d Alder Lake PCIe G5 Root Port 0 (x16) product INTEL ADL_XDCI 0x460e Alder Lake USB-C Device (xDCI) product INTEL ADL_S_2_0_HOST 0x4610 Alder Lake (S,2+0) Host +product INTEL ADL_N_8_HOST 0x4617 Alder Lake-N (0+8) Host product INTEL ADL_U15_1_4_HOST 0x4619 Alder Lake (U15,1+4) Host product INTEL ADL_U9_1_4_HOST 0x461a Alder Lake (U9,1+4) Host +product INTEL ADL_N_4_N2_HOST 0x461b Alder Lake-N (0+4, N200) Host +product INTEL ADL_N_4_N1_HOST 0x461c Alder Lake-N (0+4, N100) Host product INTEL ADL_DTT 0x461d Alder Lake Dynamic Tuning Technology product INTEL ADL_XHCI 0x461e Alder Lake USB-C Host (xHCI) product INTEL ADL_TBT_PCIE_3 0x461f Alder Lake Thunderbolt PCIe 3 @@ -5880,6 +5883,7 @@ product INTEL ADL_HX_4_8_HOST 0x4623 Ald product INTEL ADL_H_4_4_HOST 0x4629 Alder Lake (H,4+4) Host product INTEL ADL_HX_4_4_HOST 0x462b Alder Lake (HX,4+4) Host product INTEL ADL_PCIE_RP_1 0x462d Alder Lake PCIe G5 Root Port 1 (x8) +product INTEL ADL_N_IPU 0x462e Alder Lake-N Image Processing Unit product INTEL ADL_TBT_PCIE_2 0x462f Alder Lake Thunderbolt PCIe 2 product INTEL ADL_S_4_0_HOST 0x4630 Alder Lake (S,4+0) Host product INTEL ADL_HX_8_8_HOST 0x4637 Alder Lake (HX,8+8) Host @@ -5891,15 +5895,18 @@ product INTEL ADL_H_6_8_HOST 0x4641 Alde product INTEL ADL_S_6_4_HOST 0x4648 Alder Lake (S,6+4) Host product INTEL ADL_H_6_4_HOST 0x4649 Alder Lake (H,6+4) Host product INTEL ADL_PCIE_RP_2 0x464d Alder Lake PCIe G4 Root Port 2 (x4) +product INTEL ADL_N_XHCI 0x464e Alder Lake-N USB Host (xHCI) product INTEL ADL_GNA 0x464f Alder Lake Gauss Newton Algorithm product INTEL ADL_S_6_0_HOST 0x4650 Alder Lake (S,6+0) Host product INTEL ADL_IPU 0x465d Alder Lake Image Processing Unit +product INTEL ADL_N_XDCI 0x465e Alder Lake-N USB Device (xDCI) product INTEL ADL_S_8_8_HOST 0x4660 Alder Lake (S,8+8) Host product INTEL ADL_S_8_4_HOST 0x4668 Alder Lake (S,8+4) Host product INTEL ADL_TBTDMA_1 0x466d Alder Lake Thunderbolt DMA 1 product INTEL ADL_TBT_PCIE_0 0x466e Alder Lake Thunderbolt PCIe 0 -product INTEL ADL_TRACE 0x466f Alder Lake Trace Hub (Compute Die?XXX) +product INTEL ADL_TRACE 0x466f Alder Lake Trace Hub (Compute Die) product INTEL ADL_CLSRAM 0x467d Alder Lake Crash Log & Telemetry +product INTEL ADL_N_GNA 0x467e Alder Lake-N Gauss Newton Algorithm product INTEL ADL_VMD 0x467f Alder Lake Volume Management Device product INTEL ADL_IGD_1 0x4680 Alder Lake Graphics (32EU) product INTEL ADL_IGD_2 0x4682 Alder Lake Graphics (24EU) @@ -5914,6 +5921,8 @@ product INTEL ADL_IGD_10 0x46a8 Alder La product INTEL ADL_IGD_11 0x46aa Alder Lake Graphics product INTEL ADL_IGD_12 0x46b3 Alder Lake Graphics product INTEL ADL_IGD_13 0x46c3 Alder Lake Graphics +product INTEL ADL_N_IGD_1 0x46d0 Alder Lake Graphics (32EU) +product INTEL ADL_N_IGD_2 0x46d1 Alder Lake Graphics (24EU) product INTEL EHL_ESPI 0x4b00 Elkhart Lake eSPI product INTEL EHL_P2SB 0x4b20 Elkhart Lake P2SB product INTEL EHL_PMC 0x4b21 Elkhart Lake PMC @@ -6098,6 +6107,7 @@ product INTEL EP80579_LAN_1 0x5040 EP805 product INTEL EP80579_LAN_2 0x5044 EP80579 LAN product INTEL EP80579_LAN_3 0x5048 EP80579 LAN product INTEL 6HS_LP_ESPI 0x5182 600 Series PCH-LP eSPI +product INTEL 7HS_P_ESPI 0x519d 700 Series PCH-P eSPI product INTEL 6HS_LP_P2SB 0x51a0 600 Series PCH-LP P2SB product INTEL 6HS_LP_PMC 0x51a1 600 Series PCH-LP PMC product INTEL 6HS_LP_SMB 0x51a3 600 Series PCH-LP SMBus @@ -6123,6 +6133,7 @@ product INTEL 6HS_LP_I2C_4 0x51c5 600 Se product INTEL 6HS_LP_I2C_5 0x51c6 600 Series PCH-LP I2C 5 product INTEL 6HS_LP_UART_2 0x51c7 600 Series PCH-LP UART 2 product INTEL 6HS_LP_HDA 0x51c8 600 Series PCH-LP HD Audio +product INTEL 7HS_P_HDA 0x51ca 700 Series PCH HD Audio product INTEL 6HS_LP_THC_0 0x51d0 600 Series PCH-LP THC 0 product INTEL 6HS_LP_THC_1 0x51d1 600 Series PCH-LP THC 1 product INTEL
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Sat Jul 29 10:26:20 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up the following revisions, via patch, requested by msaitoh in ticket #252: sys/dev/pci/pcidevs 1.1481-1.1482 Add Intel Alder Lake-N, Raptor Lake and 700 series chipset devices. To generate a diff of this commit: cvs rdiff -u -r1.1471.2.3 -r1.1471.2.4 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Tue Jun 27 18:24:18 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #216): sys/dev/pci/if_wm.c: revision 1.782 Add missing read to count Circuit Breaker Rx Dropped Packet correctly. To generate a diff of this commit: cvs rdiff -u -r1.767.2.1 -r1.767.2.2 src/sys/dev/pci/if_wm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.767.2.1 src/sys/dev/pci/if_wm.c:1.767.2.2 --- src/sys/dev/pci/if_wm.c:1.767.2.1 Thu Jun 22 08:14:35 2023 +++ src/sys/dev/pci/if_wm.c Tue Jun 27 18:24:18 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: if_wm.c,v 1.767.2.1 2023/06/22 08:14:35 martin Exp $ */ +/* $NetBSD: if_wm.c,v 1.767.2.2 2023/06/27 18:24:18 martin Exp $ */ /* * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc. @@ -82,7 +82,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.1 2023/06/22 08:14:35 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.767.2.2 2023/06/27 18:24:18 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_if_wm.h" @@ -6588,6 +6588,8 @@ wm_update_stats(struct wm_softc *sc) WM_EVCNT_ADD(>sc_ev_tsctfc, CSR_READ(sc, WMREG_TSCTFC)); else { + WM_EVCNT_ADD(>sc_ev_cbrdpc, + CSR_READ(sc, WMREG_CBRDPC)); WM_EVCNT_ADD(>sc_ev_cbrmpc, CSR_READ(sc, WMREG_CBRMPC)); }
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Tue Jun 27 18:24:18 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #216): sys/dev/pci/if_wm.c: revision 1.782 Add missing read to count Circuit Breaker Rx Dropped Packet correctly. To generate a diff of this commit: cvs rdiff -u -r1.767.2.1 -r1.767.2.2 src/sys/dev/pci/if_wm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Thu Jun 22 08:14:35 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c if_wmreg.h if_wmvar.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #213): sys/dev/pci/if_wm.c: revision 1.770 sys/dev/pci/if_wm.c: revision 1.771 sys/dev/pci/if_wm.c: revision 1.772 sys/dev/pci/if_wm.c: revision 1.773 sys/dev/pci/if_wm.c: revision 1.774 sys/dev/pci/if_wm.c: revision 1.775 sys/dev/pci/if_wm.c: revision 1.776 sys/dev/pci/if_wmreg.h: revision 1.129 sys/dev/pci/if_wm.c: revision 1.777 sys/dev/pci/if_wm.c: revision 1.778 sys/dev/pci/if_wmvar.h: revision 1.49 sys/dev/pci/if_wm.c: revision 1.779 sys/dev/pci/if_wm.c: revision 1.768 sys/dev/pci/if_wm.c: revision 1.769 sys/dev/pci/if_wmreg.h: revision 1.130 sys/dev/pci/if_wm.c: revision 1.780 sys/dev/pci/if_wm.c: revision 1.781 Count some 64bit counters correctly. - Fix calculation of GORC, GOTC, TOR and TOT counters correctly. - Found by knakahara. Add note for the TORL register. The TOR register includes error, flow control and broadcast rejected. Sort lines. No functional change. Rearrange the order of the registers so that they are roughly in ascending order. Sort lines. No functional change. Reorder evcnt_attach_dynamic(), WM_EVCNT_ADD() and evcnt_detach() to match. IC{TX,RX}*C registers are for older than 82575. Fix a bug that the transmit underrun counter is incorrectly counted. The transmit underrun bit in the transmit status filed is only for 82544 (and older?), so don't use the counter for newer chips. The bit is reserved for newer chips, but the bit sometimes set on 82575 at least. Don't add "Count" for event counter's description. Some statistics registers were replaced with new counters. - 0x403c was CEXTERR(Carrier Extension Error). 82575 and newer except 80003, ICHs and PCHs have HTDPMC(Host Tx Discarded Packets by MAC). I don't really know for 82575. The 82575 datasheet say nothing about it. - The following two are changed for circuit breaker. Only 82576's datasheet describes abut it, so the registers might be only for 82576. Use those registers for 82575 and newer except 80003, ICHs and PCHs just in case. - 0x40fc was TSCTFC(TCP Segmentation Context Tx Fail). It was replaced by the CBRMPC(Circuit Breaker Rx Manageability Packet) register. - 0x4124 was ICRXOC(Interrupt Cause Receiver Overrun). It was replaced by the HTCBDPC(Host Tx Circuit Breaker Dropped Packet) register. - From 0x4104 to 0x4124: - For 0x4124, 82575's datasheet says it's not changed(ICRXOC). I don't know if it's correct. We use new HTCBDPC register for 82575. - 82576 and newer changed the meaning. - I don't know for 80003, ICHs and PCHs. Don't count those registers. At least, those registers in PCH2 and PCH_CNP are all zero. Add some new event counters. Add the following counters for 82575 and newer except 80003, ICHs and PCHs: - Only 82576 document describes about the circuit breaker, so the following two might be only for 82575: - Circuit Breaker TX Manageability Packet - Circuit Breaker RX Dropped Packet - 82575's document doesn't describe the following two, but we can see the same value as GO{T,R}C have: - Host Good Octets RX - Host Good Octets TX - 82575's document doesn't describe the LENERRS (Length Errors) counter. I don't know if it has. - Perhaps Non-SerDes/SGMII devices don't have SCVPC (SerDes/SGMII Code Violation Packet) register. We don't care if it's SerDes/SGMII or not for now. - HRMPC (Header Redirection Missed Packet) appears only once in 8257[56]'s datasheet. FreeBSD's igb counts it, so we do, too. - Count the following two for I350 and newer. I don't know if PCHs have: - EEE TX LPI - EEE RX LPI Move statistics updating code from wm_tick() to new wm_update_stats(). - To reuse. - No functional change. Add SOICZIFDATA (ifconfig -z) support for evcnt(9). First update the statistics data, then clear the event counters, and finally copy and clear if_data via ether_ioctl(). Fix prc511's comment and description. Use WM_IS_ICHPCH(). No functional change. Fix typo. s/ictxact/ictxatc/. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.767 -r1.767.2.1 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.128 -r1.128.2.1 src/sys/dev/pci/if_wmreg.h cvs rdiff -u -r1.48 -r1.48.4.1 src/sys/dev/pci/if_wmvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/if_wm.c diff -u src/sys/dev/pci/if_wm.c:1.767 src/sys/dev/pci/if_wm.c:1.767.2.1 --- src/sys/dev/pci/if_wm.c:1.767 Thu Dec 8 08:14:28 2022 +++ src/sys/dev/pci/if_wm.c Thu Jun 22 08:14:35 2023 @@
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Thu Jun 22 08:14:35 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: if_wm.c if_wmreg.h if_wmvar.h Log Message: Pull up following revision(s) (requested by msaitoh in ticket #213): sys/dev/pci/if_wm.c: revision 1.770 sys/dev/pci/if_wm.c: revision 1.771 sys/dev/pci/if_wm.c: revision 1.772 sys/dev/pci/if_wm.c: revision 1.773 sys/dev/pci/if_wm.c: revision 1.774 sys/dev/pci/if_wm.c: revision 1.775 sys/dev/pci/if_wm.c: revision 1.776 sys/dev/pci/if_wmreg.h: revision 1.129 sys/dev/pci/if_wm.c: revision 1.777 sys/dev/pci/if_wm.c: revision 1.778 sys/dev/pci/if_wmvar.h: revision 1.49 sys/dev/pci/if_wm.c: revision 1.779 sys/dev/pci/if_wm.c: revision 1.768 sys/dev/pci/if_wm.c: revision 1.769 sys/dev/pci/if_wmreg.h: revision 1.130 sys/dev/pci/if_wm.c: revision 1.780 sys/dev/pci/if_wm.c: revision 1.781 Count some 64bit counters correctly. - Fix calculation of GORC, GOTC, TOR and TOT counters correctly. - Found by knakahara. Add note for the TORL register. The TOR register includes error, flow control and broadcast rejected. Sort lines. No functional change. Rearrange the order of the registers so that they are roughly in ascending order. Sort lines. No functional change. Reorder evcnt_attach_dynamic(), WM_EVCNT_ADD() and evcnt_detach() to match. IC{TX,RX}*C registers are for older than 82575. Fix a bug that the transmit underrun counter is incorrectly counted. The transmit underrun bit in the transmit status filed is only for 82544 (and older?), so don't use the counter for newer chips. The bit is reserved for newer chips, but the bit sometimes set on 82575 at least. Don't add "Count" for event counter's description. Some statistics registers were replaced with new counters. - 0x403c was CEXTERR(Carrier Extension Error). 82575 and newer except 80003, ICHs and PCHs have HTDPMC(Host Tx Discarded Packets by MAC). I don't really know for 82575. The 82575 datasheet say nothing about it. - The following two are changed for circuit breaker. Only 82576's datasheet describes abut it, so the registers might be only for 82576. Use those registers for 82575 and newer except 80003, ICHs and PCHs just in case. - 0x40fc was TSCTFC(TCP Segmentation Context Tx Fail). It was replaced by the CBRMPC(Circuit Breaker Rx Manageability Packet) register. - 0x4124 was ICRXOC(Interrupt Cause Receiver Overrun). It was replaced by the HTCBDPC(Host Tx Circuit Breaker Dropped Packet) register. - From 0x4104 to 0x4124: - For 0x4124, 82575's datasheet says it's not changed(ICRXOC). I don't know if it's correct. We use new HTCBDPC register for 82575. - 82576 and newer changed the meaning. - I don't know for 80003, ICHs and PCHs. Don't count those registers. At least, those registers in PCH2 and PCH_CNP are all zero. Add some new event counters. Add the following counters for 82575 and newer except 80003, ICHs and PCHs: - Only 82576 document describes about the circuit breaker, so the following two might be only for 82575: - Circuit Breaker TX Manageability Packet - Circuit Breaker RX Dropped Packet - 82575's document doesn't describe the following two, but we can see the same value as GO{T,R}C have: - Host Good Octets RX - Host Good Octets TX - 82575's document doesn't describe the LENERRS (Length Errors) counter. I don't know if it has. - Perhaps Non-SerDes/SGMII devices don't have SCVPC (SerDes/SGMII Code Violation Packet) register. We don't care if it's SerDes/SGMII or not for now. - HRMPC (Header Redirection Missed Packet) appears only once in 8257[56]'s datasheet. FreeBSD's igb counts it, so we do, too. - Count the following two for I350 and newer. I don't know if PCHs have: - EEE TX LPI - EEE RX LPI Move statistics updating code from wm_tick() to new wm_update_stats(). - To reuse. - No functional change. Add SOICZIFDATA (ifconfig -z) support for evcnt(9). First update the statistics data, then clear the event counters, and finally copy and clear if_data via ether_ioctl(). Fix prc511's comment and description. Use WM_IS_ICHPCH(). No functional change. Fix typo. s/ictxact/ictxatc/. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.767 -r1.767.2.1 src/sys/dev/pci/if_wm.c cvs rdiff -u -r1.128 -r1.128.2.1 src/sys/dev/pci/if_wmreg.h cvs rdiff -u -r1.48 -r1.48.4.1 src/sys/dev/pci/if_wmvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Jun 21 22:18:16 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #209 To generate a diff of this commit: cvs rdiff -u -r1.1452.2.3 -r1.1452.2.4 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.3 -r1.1451.2.4 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs.h diff -u src/sys/dev/pci/pcidevs.h:1.1452.2.3 src/sys/dev/pci/pcidevs.h:1.1452.2.4 --- src/sys/dev/pci/pcidevs.h:1.1452.2.3 Wed Jun 21 22:16:51 2023 +++ src/sys/dev/pci/pcidevs.h Wed Jun 21 22:18:11 2023 @@ -1,10 +1,10 @@ -/* $NetBSD: pcidevs.h,v 1.1452.2.3 2023/06/21 22:16:51 martin Exp $ */ +/* $NetBSD: pcidevs.h,v 1.1452.2.4 2023/06/21 22:18:11 martin Exp $ */ /* * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * * generated from: - * NetBSD: pcidevs,v 1.1471.2.2 2023/01/30 11:43:35 martin Exp + * NetBSD: pcidevs,v 1.1471.2.3 2023/06/21 22:17:38 martin Exp */ /* Index: src/sys/dev/pci/pcidevs_data.h diff -u src/sys/dev/pci/pcidevs_data.h:1.1451.2.3 src/sys/dev/pci/pcidevs_data.h:1.1451.2.4 --- src/sys/dev/pci/pcidevs_data.h:1.1451.2.3 Wed Jun 21 22:16:51 2023 +++ src/sys/dev/pci/pcidevs_data.h Wed Jun 21 22:18:11 2023 @@ -1,10 +1,10 @@ -/* $NetBSD: pcidevs_data.h,v 1.1451.2.3 2023/06/21 22:16:51 martin Exp $ */ +/* $NetBSD: pcidevs_data.h,v 1.1451.2.4 2023/06/21 22:18:11 martin Exp $ */ /* * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * * generated from: - * NetBSD: pcidevs,v 1.1471.2.2 2023/01/30 11:43:35 martin Exp + * NetBSD: pcidevs,v 1.1471.2.3 2023/06/21 22:17:38 martin Exp */ /*
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Jun 21 22:18:16 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #209 To generate a diff of this commit: cvs rdiff -u -r1.1452.2.3 -r1.1452.2.4 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.3 -r1.1451.2.4 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Jun 21 22:17:38 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #209): sys/dev/pci/pcidevs: revision 1.1478 sys/dev/pci/pcidevs: revision 1.1479 sys/dev/pci/pcidevs: revision 1.1480 Add Samsung SM990. Add devices from PPR for AMD Family 19h Model 61h Revision B1 processors. The SATA device ID for Apollo Lake is not 0x5ae0 but 0x5ae3. To generate a diff of this commit: cvs rdiff -u -r1.1471.2.2 -r1.1471.2.3 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1471.2.2 src/sys/dev/pci/pcidevs:1.1471.2.3 --- src/sys/dev/pci/pcidevs:1.1471.2.2 Mon Jan 30 11:43:35 2023 +++ src/sys/dev/pci/pcidevs Wed Jun 21 22:17:38 2023 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1471.2.2 2023/01/30 11:43:35 martin Exp $ +$NetBSD: pcidevs,v 1.1471.2.3 2023/06/21 22:17:38 martin Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -1087,6 +1087,19 @@ product AMD F19_1X_PSP 0x14ca 19h/1xh P product AMD F19_1X_ACP 0x14cb 19h/1xh ACP product AMD F19_1X_HDA 0x14cc 19h/1xh HD Audio product AMD F19_6X_RC 0x14d8 19h/6xh Root Complex +product AMD F19_6X_IOMMU 0x14d9 19h/6xh IOMMU +product AMD F19_6X_PCIE_DUMMY_HB 0x14da 19h/6xh PCIe Dummy Host Bridge +product AMD F19_6X_GPPB 0x14db 19h/6xh PCIe GPP Bridge +product AMD F19_6X_INTNL_GPPB 0x14dd 19h/6xh Internal PCIe GPP Bridge +product AMD F19_6X_PCIE_DUMMY 0x14de 19h/6xh PCIe Dummy Function +product AMD F19_6X_DF_0 0x14e0 19h/6xh Data Fabric 0 +product AMD F19_6X_DF_1 0x14e1 19h/6xh Data Fabric 1 +product AMD F19_6X_DF_2 0x14e2 19h/6xh Data Fabric 2 +product AMD F19_6X_DF_3 0x14e3 19h/6xh Data Fabric 3 +product AMD F19_6X_DF_4 0x14e4 19h/6xh Data Fabric 4 +product AMD F19_6X_DF_5 0x14e5 19h/6xh Data Fabric 5 +product AMD F19_6X_DF_6 0x14e6 19h/6xh Data Fabric 6 +product AMD F19_6X_DF_7 0x14e7 19h/6xh Data Fabric 7 product AMD F17_AX_XHCI_0 0x1503 17h/Axh USB 3.1 xHCI product AMD F17_AX_XHCI_1 0x1504 17h/Axh USB 3.1 xHCI product AMD F17_AX_USB_BIOM 0x1505 17h/Axh Secure USB BIOmetric @@ -1135,6 +1148,9 @@ product AMD F15_7X_DRAM 0x15b2 15h/7xh product AMD F15_7X_NB 0x15b3 15h/7xh North Bridge Configuration product AMD F15_7X_CSTATE 0x15b4 15h/7xh CPU C-state Configuration product AMD F15_7X_MISC 0x15b5 15h/7xh Miscellaneous Configuration +product AMD F19_6X_XHCI_0 0x15b6 19h/6xh USB 3.1 xHCI +product AMD F19_6X_XHCI_1 0x15b7 19h/6xh USB 3.1 xHCI +product AMD F19_6X_USB_BIOM 0x15b8 19h/6xh Secure USB BIOmetric product AMD F17_1X_RC 0x15d0 Family17h/1xh Root Complex product AMD F17_1X_IOMMU 0x15d1 Family17h/1xh IOMMU product AMD F17_1X_PCIE_1 0x15d3 Family17h/1xh PCIe @@ -1178,6 +1194,7 @@ product AMD F17_9X_HB 0x1645 17h/9xh Ho product AMD F17_9X_PCIE_1 0x1647 17h/9xh PCIE product AMD F17_9X_PCIE_2 0x1648 17h/9xh PCIE product AMD F17_9X_CCP 0x1649 17h/9xh Crypto +product AMD F19_6X_GFX 0x164e 19h/6xh Internal GPU product AMD F17_9X_DF_0 0x1660 17h/9xh Data Fabric product AMD F17_9X_DF_1 0x1661 17h/9xh Data Fabric product AMD F17_9X_DF_2 0x1662 17h/9xh Data Fabric @@ -6199,7 +6216,7 @@ product INTEL APL_PCIE_A0 0x5ad8 Apollo product INTEL APL_PCIE_A1 0x5ad9 Apollo Lake PCIe A1 product INTEL APL_PCIE_A2 0x5ada Apollo Lake PCIe A2 product INTEL APL_PCIE_A3 0x5adb Apollo Lake PCIe A3 -product INTEL APL_SATA 0x5ae0 Apollo Lake SATA +product INTEL APL_SATA 0x5ae3 Apollo Lake SATA product INTEL APL_LPC 0x5ae8 Apollo Lake LPC product INTEL APL_SSRAM 0x5aec Apollo Lake Shared SRAM product INTEL APL_UART_3 0x5aee Apollo Lake UART 3 @@ -9023,6 +9040,7 @@ product SAMSUNGELEC3 SM961 0xa804 SM961 product SAMSUNGELEC3 SM981 0xa808 SM981 M.2 NVMe SSD product SAMSUNGELEC3 SM980 0xa809 SM980 M.2 NVMe SSD product SAMSUNGELEC3 PM9A1 0xa80a PM9A1 M.2 NVMe SSD +product SAMSUNGELEC3 SM990 0xa80c SM990 M.2 NVMe SSD product SAMSUNGELEC3 171X 0xa820 NVMe SSD Controller 171X product SAMSUNGELEC3 172X 0xa821 NVMe SSD Controller 172X product SAMSUNGELEC3 172XAB 0xa822 NVMe SSD Controller 172Xa/172Xb
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Jun 21 22:17:38 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs Log Message: Pull up following revision(s) (requested by msaitoh in ticket #209): sys/dev/pci/pcidevs: revision 1.1478 sys/dev/pci/pcidevs: revision 1.1479 sys/dev/pci/pcidevs: revision 1.1480 Add Samsung SM990. Add devices from PPR for AMD Family 19h Model 61h Revision B1 processors. The SATA device ID for Apollo Lake is not 0x5ae0 but 0x5ae3. To generate a diff of this commit: cvs rdiff -u -r1.1471.2.2 -r1.1471.2.3 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-10] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Jun 21 22:16:57 UTC 2023 Modified Files: src/sys/dev/pci [netbsd-10]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #209 To generate a diff of this commit: cvs rdiff -u -r1.1452.2.2 -r1.1452.2.3 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1451.2.2 -r1.1451.2.3 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.