From owner-svn-src-projects@FreeBSD.ORG Wed Dec 7 12:48:11 2011 Return-Path: <owner-svn-src-projects@FreeBSD.ORG> Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D9791106564A; Wed, 7 Dec 2011 12:48:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C9C6C8FC08; Wed, 7 Dec 2011 12:48:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB7CmBeD039983; Wed, 7 Dec 2011 12:48:11 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB7CmB82039981; Wed, 7 Dec 2011 12:48:11 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201112071248.pB7CmB82039981@svn.freebsd.org> From: Alexander Motin <mav@FreeBSD.org> Date: Wed, 7 Dec 2011 12:48:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r228320 - projects/head_mfi/sys/dev/mfi X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" <svn-src-projects.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects> List-Post: <mailto:svn-src-projects@freebsd.org> List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, <mailto:svn-src-projects-request@freebsd.org?subject=subscribe> X-List-Received-Date: Wed, 07 Dec 2011 12:48:11 -0000 Author: mav Date: Wed Dec 7 12:48:11 2011 New Revision: 228320 URL: http://svn.freebsd.org/changeset/base/228320 Log: Implement MFI_DEBUG for 64bit S/G lists. Modified: projects/head_mfi/sys/dev/mfi/mfi_debug.c Modified: projects/head_mfi/sys/dev/mfi/mfi_debug.c ============================================================================== --- projects/head_mfi/sys/dev/mfi/mfi_debug.c Wed Dec 7 12:25:28 2011 (r228319) +++ projects/head_mfi/sys/dev/mfi/mfi_debug.c Wed Dec 7 12:48:11 2011 (r228320) @@ -63,7 +63,8 @@ mfi_print_frame_flags(device_t dev, uint "\2SGL64" "\3SENSE64" "\4WRITE" - "\5READ"); + "\5READ" + "\6IEEESGL"); } static void @@ -73,7 +74,15 @@ mfi_print_sgl(struct mfi_frame_header *h printf("SG List:\n"); for (i = 0; i < count; i++) { - if (hdr->flags & MFI_FRAME_SGL64) { + if (hdr->flags & MFI_FRAME_IEEE_SGL) { + printf("0x%lx:%06d ", (u_long)sgl->sg_skinny[i].addr, + sgl->sg_skinny[i].len); + columns += 26; + if (columns > 77) { + printf("\n"); + columns = 0; + } + } else if (hdr->flags & MFI_FRAME_SGL64) { printf("0x%lx:%06d ", (u_long)sgl->sg64[i].addr, sgl->sg64[i].len); columns += 26; @@ -240,7 +249,12 @@ mfi_validate_sg(struct mfi_softc *sc, st hdr = &cm->cm_frame->header; count = 0; for (i = 0; i < hdr->sg_count; i++) { - count += cm->cm_sg->sg32[i].len; + if (hdr->flags & MFI_FRAME_IEEE_SGL) + count += cm->cm_sg->sg_skinny[i].len; + else if (hdr->flags & MFI_FRAME_SGL64) + count += cm->cm_sg->sg64[i].len; + else + count += cm->cm_sg->sg32[i].len; } /* count++;