<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/dma/ioat/init.c, branch linux-4.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-06-20T09:12:56Z</updated>
<entry>
<title>dmaengine: ioat: don't use DMA_ERROR_CODE</title>
<updated>2017-06-20T09:12:56Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2017-05-21T10:54:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4734b3f5ffc42d821a316383222d71dce7d5c9e'/>
<id>urn:sha1:e4734b3f5ffc42d821a316383222d71dce7d5c9e</id>
<content type='text'>
DMA_ERROR_CODE is not a public API and will go away.  Instead properly
unwind based on the loop counter.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Acked-By: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: ioat: use setup_timer</title>
<updated>2017-04-24T04:08:41Z</updated>
<author>
<name>Geliang Tang</name>
</author>
<published>2017-04-09T01:41:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=68747c5f3d81771cfc8be2ae98f70a1aea9175c3'/>
<id>urn:sha1:68747c5f3d81771cfc8be2ae98f70a1aea9175c3</id>
<content type='text'>
Use setup_timer() instead of init_timer() to simplify the code.

Signed-off-by: Geliang Tang &lt;geliangtang@gmail.com&gt;
Reviewed-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: iota: ioat_alloc_chan_resources should not perform sleeping allocations.</title>
<updated>2017-01-10T05:11:51Z</updated>
<author>
<name>Krister Johansen</name>
</author>
<published>2017-01-04T09:22:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=21d25f6a4217e755906cb548b55ddab39d0e88b9'/>
<id>urn:sha1:21d25f6a4217e755906cb548b55ddab39d0e88b9</id>
<content type='text'>
On a kernel with DEBUG_LOCKS, ioat_free_chan_resources triggers an
in_interrupt() warning.  With PROVE_LOCKING, it reports detecting a
SOFTIRQ-safe to SOFTIRQ-unsafe lock ordering in the same code path.

This is because dma_generic_alloc_coherent() checks if the GFP flags
permit blocking.  It allocates from different subsystems if blocking is
permitted.  The free path knows how to return the memory to the correct
allocator.  If GFP_KERNEL is specified then the alloc and free end up
going through cma_alloc(), which uses mutexes.

Given that ioat_free_chan_resources() can be called in interrupt
context, ioat_alloc_chan_resources() must specify GFP_NOWAIT so that the
allocations do not block and instead use an allocator that uses
spinlocks.

Signed-off-by: Krister Johansen &lt;kjlx@templeofstupid.com&gt;
Acked-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: ioatdma: workaround SKX ioatdma version</title>
<updated>2017-01-02T02:42:59Z</updated>
<author>
<name>Dave Jiang</name>
</author>
<published>2016-12-13T18:15:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=34a31f0af84158955a9747fb5c6712da5bbb5331'/>
<id>urn:sha1:34a31f0af84158955a9747fb5c6712da5bbb5331</id>
<content type='text'>
The Skylake ioatdma is technically CBDMA 3.2+ and contains the same hardware
bits with some additional 3.3 features, but it's not really 3.3 where the
driver is concerned.

Signed-off-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: ioatdma: Add Skylake PCI Dev ID</title>
<updated>2017-01-02T02:42:59Z</updated>
<author>
<name>Dave Jiang</name>
</author>
<published>2016-12-13T18:15:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1594c18fd297a8edcc72bc4b161f3f52603ebb92'/>
<id>urn:sha1:1594c18fd297a8edcc72bc4b161f3f52603ebb92</id>
<content type='text'>
Adding Skylake Xeon PCI device ids for ioatdma and related bits.

Signed-off-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'topic/ioat' into for-linus</title>
<updated>2016-12-14T03:36:23Z</updated>
<author>
<name>Vinod Koul</name>
</author>
<published>2016-12-14T03:36:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3f809e844c6ba46fe5e16b20ad70ac4027341b36'/>
<id>urn:sha1:3f809e844c6ba46fe5e16b20ad70ac4027341b36</id>
<content type='text'>
</content>
</entry>
<entry>
<title>dmaengine: ioat: remove unused ‘is_raid_device’</title>
<updated>2016-12-12T16:55:21Z</updated>
<author>
<name>Vinod Koul</name>
</author>
<published>2016-12-09T09:54:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=56c492f34110f85d6af3686df48755b85a912827'/>
<id>urn:sha1:56c492f34110f85d6af3686df48755b85a912827</id>
<content type='text'>
In ioat3_dma_probe(), variable ‘is_raid_device’ is initialized but never
used, which leads to warning with W=1

drivers/dma/ioat/init.c: In function ‘ioat3_dma_probe’:
drivers/dma/ioat/init.c:1084:7: warning: variable ‘is_raid_device’ set
but not used [-Wunused-but-set-variable]
  bool is_raid_device = false;

So remove it.

Cc: Dave Jiang &lt;dave.jiang@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: ioat: set error code on failures</title>
<updated>2016-12-06T04:58:18Z</updated>
<author>
<name>Pan Bian</name>
</author>
<published>2016-12-02T14:50:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7393fca924e22ad3c071d8bbcc5acda21d0c2710'/>
<id>urn:sha1:7393fca924e22ad3c071d8bbcc5acda21d0c2710</id>
<content type='text'>
In function ioat_xor_val_self_test(), when the calls to
dma_mapping_error() fail, the value of return variable err is 0
(indicates no error). As a result, the return value may be inconsistent
with the execution status. This patch fixes the bug by assigning
"-ENOMEM" to err on the error path.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188601
Signed-off-by: Pan Bian &lt;bianpan2016@163.com&gt;
Acked-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: ioat: set error code on failures</title>
<updated>2016-12-06T04:58:11Z</updated>
<author>
<name>Pan Bian</name>
</author>
<published>2016-12-02T14:49:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b424d2a0a186e7fe4b70db1d616a39d4c3fefd31'/>
<id>urn:sha1:b424d2a0a186e7fe4b70db1d616a39d4c3fefd31</id>
<content type='text'>
In function ioat_dma_self_test(), when the calls to dma_mapping_error()
fails, the value of return variable err is 0 (indicates no error). As a
result, the return value may be inconsistent with the execution status.
This patch fixes the bug by assigning -ENOMEM to err on the error path.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188591
Signed-off-by: Pan Bian &lt;bianpan2016@163.com&gt;
Acked-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
<entry>
<title>dmaengine: ioatdma: fix uninitialized array usage</title>
<updated>2016-08-08T02:32:00Z</updated>
<author>
<name>Dave Jiang</name>
</author>
<published>2016-07-21T19:40:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2eab9b1a3006b4f7bf49c55ce23943170a0068db'/>
<id>urn:sha1:2eab9b1a3006b4f7bf49c55ce23943170a0068db</id>
<content type='text'>
Static analysis showed that unitialized array is being used for compare.
At line 850 when a dma_mapping_error() occurs, it jumps to dma_unmap. At
this point, dma_srcs has not been initialized. However, the code after
dma_unmap label checks dma_srcs for a comparison and thus is comparing
to random garbage in the array. Given that when dest_dma is being mapped
this is the first instance of mapping DMA memory and failed, there is
really nothing to be cleaned up and thus should jump to free_resources
label instead.

Signed-off-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
</entry>
</feed>
