Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Dec 2011 12:48:11 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r228320 - projects/head_mfi/sys/dev/mfi
Message-ID:  <201112071248.pB7CmB82039981@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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++;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112071248.pB7CmB82039981>