Deleted Added
full compact
vxge.c (275358) vxge.c (297482)
1/*-
2 * Copyright(c) 2002-2011 Exar Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification are permitted provided the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

--- 14 unchanged lines hidden (view full) ---

23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
1/*-
2 * Copyright(c) 2002-2011 Exar Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification are permitted provided the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

--- 14 unchanged lines hidden (view full) ---

23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31/*$FreeBSD: head/sys/dev/vxge/vxge.c 275358 2014-12-01 11:45:24Z hselasky $*/
31/*$FreeBSD: head/sys/dev/vxge/vxge.c 297482 2016-04-01 06:28:33Z sephe $*/
32
33#include <dev/vxge/vxge.h>
34
35static int vxge_pci_bd_no = -1;
36static u32 vxge_drv_copyright = 0;
37static u32 vxge_dev_ref_count = 0;
38static u32 vxge_dev_req_reboot = 0;
39

--- 951 unchanged lines hidden (view full) ---

991
992 vxge_rxd_priv_t *rxd_priv;
993 vxge_hal_ring_rxd_info_t ext_info;
994 vxge_hal_status_e status = VXGE_HAL_OK;
995
996 vxge_vpath_t *vpath = (vxge_vpath_t *) userdata;
997 vxge_dev_t *vdev = vpath->vdev;
998
32
33#include <dev/vxge/vxge.h>
34
35static int vxge_pci_bd_no = -1;
36static u32 vxge_drv_copyright = 0;
37static u32 vxge_dev_ref_count = 0;
38static u32 vxge_dev_req_reboot = 0;
39

--- 951 unchanged lines hidden (view full) ---

991
992 vxge_rxd_priv_t *rxd_priv;
993 vxge_hal_ring_rxd_info_t ext_info;
994 vxge_hal_status_e status = VXGE_HAL_OK;
995
996 vxge_vpath_t *vpath = (vxge_vpath_t *) userdata;
997 vxge_dev_t *vdev = vpath->vdev;
998
999 struct lro_entry *queued = NULL;
1000 struct lro_ctrl *lro = &vpath->lro;
1001
1002 /* get the interface pointer */
1003 ifnet_t ifp = vdev->ifp;
1004
1005 do {
1006 if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) {
1007 vxge_hal_ring_rxd_post(vpath_handle, rxdh);

--- 70 unchanged lines hidden (view full) ---

1078 BUS_DMASYNC_POSTREAD);
1079
1080 vxge_rx_input(ifp, mbuf_up, vpath);
1081
1082 } while (vxge_hal_ring_rxd_next_completed(vpath_handle, &rxdh,
1083 &dtr_priv, &t_code) == VXGE_HAL_OK);
1084
1085 /* Flush any outstanding LRO work */
999 struct lro_ctrl *lro = &vpath->lro;
1000
1001 /* get the interface pointer */
1002 ifnet_t ifp = vdev->ifp;
1003
1004 do {
1005 if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) {
1006 vxge_hal_ring_rxd_post(vpath_handle, rxdh);

--- 70 unchanged lines hidden (view full) ---

1077 BUS_DMASYNC_POSTREAD);
1078
1079 vxge_rx_input(ifp, mbuf_up, vpath);
1080
1081 } while (vxge_hal_ring_rxd_next_completed(vpath_handle, &rxdh,
1082 &dtr_priv, &t_code) == VXGE_HAL_OK);
1083
1084 /* Flush any outstanding LRO work */
1086 if (vpath->lro_enable && vpath->lro.lro_cnt) {
1087 while ((queued = SLIST_FIRST(&lro->lro_active)) != NULL) {
1088 SLIST_REMOVE_HEAD(&lro->lro_active, next);
1089 tcp_lro_flush(lro, queued);
1090 }
1091 }
1085 if (vpath->lro_enable && vpath->lro.lro_cnt)
1086 tcp_lro_flush_all(lro);
1092
1093 return (status);
1094}
1095
1096static inline void
1097vxge_rx_input(ifnet_t ifp, mbuf_t mbuf_up, vxge_vpath_t *vpath)
1098{
1099 if (vpath->lro_enable && vpath->lro.lro_cnt) {

--- 3102 unchanged lines hidden ---
1087
1088 return (status);
1089}
1090
1091static inline void
1092vxge_rx_input(ifnet_t ifp, mbuf_t mbuf_up, vxge_vpath_t *vpath)
1093{
1094 if (vpath->lro_enable && vpath->lro.lro_cnt) {

--- 3102 unchanged lines hidden ---