svn commit: r293221 - in head: share/man/man4 sys/dev/ioat

Conrad E. Meyer cem at FreeBSD.org
Tue Jan 5 20:42:21 UTC 2016


Author: cem
Date: Tue Jan  5 20:42:19 2016
New Revision: 293221
URL: https://svnweb.freebsd.org/changeset/base/293221

Log:
  ioat(4): Add ioat_get_max_io_size() KPI
  
  Consumers need to know the permitted IO size to send maximally sized
  chunks to the hardware.
  
  Sponsored by:	EMC / Isilon Storage Division

Modified:
  head/share/man/man4/ioat.4
  head/sys/dev/ioat/ioat.c
  head/sys/dev/ioat/ioat.h

Modified: head/share/man/man4/ioat.4
==============================================================================
--- head/share/man/man4/ioat.4	Tue Jan  5 20:37:36 2016	(r293220)
+++ head/share/man/man4/ioat.4	Tue Jan  5 20:42:19 2016	(r293221)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 17, 2015
+.Dd January 5, 2016
 .Dt IOAT 4
 .Os
 .Sh NAME
@@ -65,6 +65,8 @@ In
 .Fn ioat_put_dmaengine "bus_dmaengine_t dmaengine"
 .Ft int
 .Fn ioat_get_hwversion "bus_dmaengine_t dmaengine"
+.Ft size_t
+.Fn ioat_get_max_io_size "bus_dmaengine_t dmaengine"
 .Ft int
 .Fn ioat_set_interrupt_coalesce "bus_dmaengine_t dmaengine" "uint16_t delay"
 .Ft uint16_t

Modified: head/sys/dev/ioat/ioat.c
==============================================================================
--- head/sys/dev/ioat/ioat.c	Tue Jan  5 20:37:36 2016	(r293220)
+++ head/sys/dev/ioat/ioat.c	Tue Jan  5 20:42:19 2016	(r293221)
@@ -744,6 +744,15 @@ ioat_get_hwversion(bus_dmaengine_t dmaen
 	return (ioat->version);
 }
 
+size_t
+ioat_get_max_io_size(bus_dmaengine_t dmaengine)
+{
+	struct ioat_softc *ioat;
+
+	ioat = to_ioat_softc(dmaengine);
+	return (ioat->max_xfer_size);
+}
+
 int
 ioat_set_interrupt_coalesce(bus_dmaengine_t dmaengine, uint16_t delay)
 {

Modified: head/sys/dev/ioat/ioat.h
==============================================================================
--- head/sys/dev/ioat/ioat.h	Tue Jan  5 20:37:36 2016	(r293220)
+++ head/sys/dev/ioat/ioat.h	Tue Jan  5 20:42:19 2016	(r293221)
@@ -70,6 +70,7 @@ void ioat_put_dmaengine(bus_dmaengine_t 
 
 /* Check the DMA engine's HW version */
 int ioat_get_hwversion(bus_dmaengine_t dmaengine);
+size_t ioat_get_max_io_size(bus_dmaengine_t dmaengine);
 
 /*
  * Set interrupt coalescing on a DMA channel.


More information about the svn-src-head mailing list