Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Aug 2013 20:34:11 +0000 (UTC)
From:      "Kenneth D. Merry" <ken@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r254971 - stable/9/sys/dev/isp
Message-ID:  <201308272034.r7RKYBEI041223@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ken
Date: Tue Aug 27 20:34:11 2013
New Revision: 254971
URL: http://svnweb.freebsd.org/changeset/base/254971

Log:
  MFC 254372:
  
  Export the maxio field in the CAM XPT_PATH_INQ CCB in the isp(4)
  driver.
  
  This tells consumers up the stack the maximum I/O size that the
  controller can handle.
  
  The I/O size is bounded by the number of scatter/gather segments
  the controller can handle and the page size.  For an amd64 system,
  it works out to around 5MB.
  
  Reviewed by:	mjacob
  Sponsored by:	Spectra Logic

Modified:
  stable/9/sys/dev/isp/isp_freebsd.c

Modified: stable/9/sys/dev/isp/isp_freebsd.c
==============================================================================
--- stable/9/sys/dev/isp/isp_freebsd.c	Tue Aug 27 19:47:03 2013	(r254970)
+++ stable/9/sys/dev/isp/isp_freebsd.c	Tue Aug 27 20:34:11 2013	(r254971)
@@ -5447,6 +5447,11 @@ isp_action(struct cam_sim *sim, union cc
 		cpi->max_target = ISP_MAX_TARGETS(isp) - 1;
 		cpi->max_lun = ISP_MAX_LUNS(isp) - 1;
 		cpi->bus_id = cam_sim_bus(sim);
+		if (isp->isp_osinfo.sixtyfourbit)
+			cpi->maxio = (ISP_NSEG64_MAX - 1) * PAGE_SIZE;
+		else
+			cpi->maxio = (ISP_NSEG_MAX - 1) * PAGE_SIZE;
+
 		bus = cam_sim_bus(xpt_path_sim(cpi->ccb_h.path));
 		if (IS_FC(isp)) {
 			fcparam *fcp = FCPARAM(isp, bus);



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