From owner-p4-projects@FreeBSD.ORG Wed Jan 2 21:54:27 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1465516A420; Wed, 2 Jan 2008 21:54:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE2CE16A41A for ; Wed, 2 Jan 2008 21:54:26 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 84CE213C457 for ; Wed, 2 Jan 2008 21:54:26 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m02LsQN9095169 for ; Wed, 2 Jan 2008 21:54:26 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m02LsQgA095166 for perforce@freebsd.org; Wed, 2 Jan 2008 21:54:26 GMT (envelope-from swise@FreeBSD.org) Date: Wed, 2 Jan 2008 21:54:26 GMT Message-Id: <200801022154.m02LsQgA095166@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 132336 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jan 2008 21:54:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=132336 Change 132336 by swise@swise:vic10:iwarp on 2008/01/02 21:54:22 cxio hal fixes 1) use m_gethdr() instead of m_get() 2) don't set gen bit for WRs sent down via the toe queue 3) request replies to qp setup WRs Affected files ... .. //depot/projects/iwarp/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cxio_hal.c#4 edit .. //depot/projects/iwarp/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cxio_wr.h#3 edit Differences ... ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cxio_hal.c#4 (text+ko) ==== @@ -180,14 +180,14 @@ { u64 sge_cmd; struct t3_modify_qp_wr *wqe; - struct mbuf *skb = m_get(MT_DATA, M_WAITOK); + struct mbuf *skb = m_gethdr(MT_DATA, M_WAITOK); if (!skb) { PDBG("%s alloc_skb failed\n", __FUNCTION__); return (ENOMEM); } wqe = (struct t3_modify_qp_wr *) mbuf_put(skb, sizeof(*wqe)); memset(wqe, 0, sizeof(*wqe)); - build_fw_riwrh((struct fw_riwrh *) wqe, T3_WR_QP_MOD, 3, 1, qpid, 7); + build_fw_riwrh((struct fw_riwrh *) wqe, T3_WR_QP_MOD, 3, 0, qpid, 7); wqe->flags = cpu_to_be32(MODQP_WRITE_EC); sge_cmd = qpid << 8 | 3; wqe->sge_cmd = cpu_to_be64(sge_cmd); @@ -560,7 +560,7 @@ struct t3_modify_qp_wr *wqe; struct mbuf *skb; - skb = m_get(MT_DATA, M_WAITOK); + skb = m_gethdr(MT_DATA, M_WAITOK); if (!skb) { PDBG("%s alloc_skb failed\n", __FUNCTION__); return (ENOMEM); @@ -605,7 +605,7 @@ V_EC_UP_TOKEN(T3_CTL_QP_TID) | F_EC_VALID)) << 32; wqe = (struct t3_modify_qp_wr *) mbuf_put(skb, sizeof(*wqe)); memset(wqe, 0, sizeof(*wqe)); - build_fw_riwrh((struct fw_riwrh *) wqe, T3_WR_QP_MOD, 0, 1, + build_fw_riwrh((struct fw_riwrh *) wqe, T3_WR_QP_MOD, 3, 0, T3_CTL_QP_TID, 7); wqe->flags = cpu_to_be32(MODQP_WRITE_EC); sge_cmd = (3ULL << 56) | FW_RI_SGEEC_START << 8 | 3; @@ -725,6 +725,7 @@ wr_len); if (flag == T3_COMPLETION_FLAG) ring_doorbell(rdev_p->ctrl_qp.doorbell, T3_CTRL_QP_ID); + len -= 96; rdev_p->ctrl_qp.wptr++; } @@ -872,7 +873,7 @@ cxio_rdma_init(struct cxio_rdev *rdev_p, struct t3_rdma_init_attr *attr) { struct t3_rdma_init_wr *wqe; - struct mbuf *skb = m_get(MT_DATA, M_NOWAIT); + struct mbuf *skb = m_gethdr(MT_DATA, M_NOWAIT); if (!skb) return (ENOMEM); PDBG("%s rdev_p %p\n", __FUNCTION__, rdev_p); ==== //depot/projects/iwarp/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cxio_wr.h#3 (text+ko) ====