Author: ken
Date: Thu Aug 15 16:41:27 2013
New Revision: 254372
URL: http://svnweb.freebsd.org/changeset/base/254372

Log:
  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
  MFC after:    3 days
  Sponsored by: Spectra Logic

Modified:
  head/sys/dev/isp/isp_freebsd.c

Modified: head/sys/dev/isp/isp_freebsd.c
==============================================================================
--- head/sys/dev/isp/isp_freebsd.c      Thu Aug 15 16:03:09 2013        
(r254371)
+++ head/sys/dev/isp/isp_freebsd.c      Thu Aug 15 16:41:27 2013        
(r254372)
@@ -5445,6 +5445,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);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to