From owner-svn-src-head@FreeBSD.ORG Tue Apr 30 19:57:22 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 803F0BF9; Tue, 30 Apr 2013 19:57:22 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 720B015AE; Tue, 30 Apr 2013 19:57:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3UJvMF9078948; Tue, 30 Apr 2013 19:57:22 GMT (envelope-from np@svn.freebsd.org) Received: (from np@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3UJvMsG078947; Tue, 30 Apr 2013 19:57:22 GMT (envelope-from np@svn.freebsd.org) Message-Id: <201304301957.r3UJvMsG078947@svn.freebsd.org> From: Navdeep Parhar Date: Tue, 30 Apr 2013 19:57:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r250117 - head/sys/dev/cxgbe/tom X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Apr 2013 19:57:22 -0000 Author: np Date: Tue Apr 30 19:57:21 2013 New Revision: 250117 URL: http://svnweb.freebsd.org/changeset/base/250117 Log: Fix DDP breakage introduced in r248925. Bitwise OR has higher precedence than ternary conditional. MFC after: 1 week Modified: head/sys/dev/cxgbe/tom/t4_ddp.c Modified: head/sys/dev/cxgbe/tom/t4_ddp.c ============================================================================== --- head/sys/dev/cxgbe/tom/t4_ddp.c Tue Apr 30 19:26:44 2013 (r250116) +++ head/sys/dev/cxgbe/tom/t4_ddp.c Tue Apr 30 19:57:21 2013 (r250117) @@ -747,7 +747,13 @@ write_page_pods(struct adapter *sc, stru struct ulptx_idata *ulpsc; struct pagepod *ppod; int i, j, k, n, chunk, len, ddp_pgsz, idx, ppod_addr; + uint32_t cmd; + cmd = htobe32(V_ULPTX_CMD(ULP_TX_MEM_WRITE)); + if (is_t4(sc)) + cmd |= htobe32(F_ULP_MEMIO_ORDER); + else + cmd |= htobe32(F_T5_ULP_MEMIO_IMM); ddp_pgsz = t4_ddp_pgsz[G_PPOD_PGSZ(db->tag)]; ppod_addr = sc->vres.ddp.start + G_PPOD_TAG(db->tag) * PPOD_SIZE; for (i = 0; i < db->nppods; ppod_addr += chunk) { @@ -763,8 +769,7 @@ write_page_pods(struct adapter *sc, stru ulpmc = wrtod(wr); INIT_ULPTX_WR(ulpmc, len, 0, 0); - ulpmc->cmd = htobe32(V_ULPTX_CMD(ULP_TX_MEM_WRITE) | - is_t4(sc) ? F_ULP_MEMIO_ORDER : F_T5_ULP_MEMIO_IMM); + ulpmc->cmd = cmd; ulpmc->dlen = htobe32(V_ULP_MEMIO_DATA_LEN(chunk / 32)); ulpmc->len16 = htobe32(howmany(len - sizeof(ulpmc->wr), 16)); ulpmc->lock_addr = htobe32(V_ULP_MEMIO_ADDR(ppod_addr >> 5));