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.
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to