<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/fpga, branch v4.11.5</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.11.5</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.11.5'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-02-10T14:20:44+00:00</updated>
<entry>
<title>fpga zynq: Use the scatterlist interface</title>
<updated>2017-02-10T14:20:44+00:00</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgunthorpe@obsidianresearch.com</email>
</author>
<published>2017-02-01T19:48:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=425902f5c8e3034b2d9d7a714289d8d579c733b2'/>
<id>urn:sha1:425902f5c8e3034b2d9d7a714289d8d579c733b2</id>
<content type='text'>
This allows the driver to avoid a high order coherent DMA allocation
and memory copy. With this patch it can DMA directly from the kernel
pages that the bitfile is stored in.

Since this is now a gather DMA operation the driver uses the ISR
to feed the chips DMA queue with each entry from the SGL.

Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Acked-by: Moritz Fischer &lt;moritz.fischer@ettus.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>fpga: Add scatterlist based programming</title>
<updated>2017-02-10T14:20:44+00:00</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgunthorpe@obsidianresearch.com</email>
</author>
<published>2017-02-01T19:48:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=baa6d396635129d8a67793e884f3b2182c7354b3'/>
<id>urn:sha1:baa6d396635129d8a67793e884f3b2182c7354b3</id>
<content type='text'>
Requiring contiguous kernel memory is not a good idea, this is a limited
resource and allocation can fail under normal work loads.

This introduces a .write_sg op that supporting drivers can provide
to DMA directly from dis-contiguous memory and a new entry point
fpga_mgr_buf_load_sg that users can call to directly provide page
lists.

The full matrix of compatibility is provided, either the linear or sg
interface can be used by the user with a driver supporting either
interface.

A notable change for drivers is that the .write op can now be called
multiple times.

Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Acked-by: Alan Tull &lt;atull@opensource.altera.com&gt;
Acked-by: Moritz Fischer &lt;moritz.fischer@ettus.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>fpga zynq: Check the bitstream for validity</title>
<updated>2017-02-10T14:20:44+00:00</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgunthorpe@obsidianresearch.com</email>
</author>
<published>2017-02-01T19:48:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b496df86ac1bbe393a55ddbfed35d46e74ef9767'/>
<id>urn:sha1:b496df86ac1bbe393a55ddbfed35d46e74ef9767</id>
<content type='text'>
There is no sense in sending a bitstream we know will not work, and
with the variety of options for bitstream generation in Xilinx tools
it is not terribly clear what the correct input should be.

This is particularly important for Zynq since auto-correction was
removed from the driver and the Zynq hardware only accepts a bitstream
format that is different from what the Xilinx tools typically produce.

Worse, the hardware provides no indication why the bitstream fails,
it simply times out if the input is wrong.

The best option here is to have the kernel print a message informing
the user they are using a malformed bistream and programming failure
isn't for any of the myriad of other reasons.

Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Acked-by: Moritz Fischer &lt;moritz.fischer@ettus.com&gt;
Acked-by: Alan Tull &lt;atull@opensource.altera.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>fpga zynq: Check for errors after completing DMA</title>
<updated>2017-02-10T14:20:44+00:00</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgunthorpe@obsidianresearch.com</email>
</author>
<published>2017-02-01T19:48:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6b45e0f24c7b5316dea7ed5995e1b809a3266b43'/>
<id>urn:sha1:6b45e0f24c7b5316dea7ed5995e1b809a3266b43</id>
<content type='text'>
The completion did not check the interrupt status to see if any error
bits were asserted, check error bits and dump some registers if things
went wrong.

A few fixes are needed to make this work, the IXR_ERROR_FLAGS_MASK was
wrong, it included the done bits, which shows a bug in mask/unmask_irqs
which were using the wrong bits, simplify all of this stuff.

Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Reviewed-by: Moritz Fischer &lt;moritz.fischer@ettus.com&gt;
Acked-by: Alan Tull &lt;atull@opensource.altera.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>fpga: Clarify how write_init works streaming modes</title>
<updated>2016-11-29T21:51:49+00:00</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgunthorpe@obsidianresearch.com</email>
</author>
<published>2016-11-22T18:22:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1d7f1589d341344c0c598b00de44891a7968c6a0'/>
<id>urn:sha1:1d7f1589d341344c0c598b00de44891a7968c6a0</id>
<content type='text'>
This interface was designed for streaming, but write_init's buf
argument has an unclear purpose. Define it to be the first bytes
of the bitstream. Each driver gets to set how many bytes (at most)
it wants to see. Short bitstreams will be passed through as-is, while
long ones will be truncated.

The intent is to allow drivers to peek at the header before the transfer
actually starts.

Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Acked-by: Alan Tull &lt;atull@opensource.altera.com&gt;
</content>
</entry>
<entry>
<title>fpga zynq: Fix incorrect ISR state on bootup</title>
<updated>2016-11-29T21:51:48+00:00</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgunthorpe@obsidianresearch.com</email>
</author>
<published>2016-11-21T22:26:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=340c0c53ea3073107d5bb7a61f3158e50bf189e0'/>
<id>urn:sha1:340c0c53ea3073107d5bb7a61f3158e50bf189e0</id>
<content type='text'>
It is best practice to clear and mask all interrupts before
associating the IRQ, and this should be done after the clock
is enabled.

This corrects a bad result from zynq_fpga_ops_state on bootup
where left over latched values in INT_STS_OFFSET caused it to
report an unconfigured FPGA as configured.

After this change the boot up operating state for an unconfigured
FPGA reports 'unknown'.

Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Acked-by: Alan Tull &lt;atull@opensource.altera.com&gt;
Acked-by: Moritz Fischer &lt;moritz.fischer@ettus.com&gt;
</content>
</entry>
<entry>
<title>fpga zynq: Remove priv-&gt;dev</title>
<updated>2016-11-29T21:51:46+00:00</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgunthorpe@obsidianresearch.com</email>
</author>
<published>2016-11-21T22:26:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=80baf649c2778bb8900cb9011bc712b89faddbdb'/>
<id>urn:sha1:80baf649c2778bb8900cb9011bc712b89faddbdb</id>
<content type='text'>
socfpga uses mgr-&gt;dev for debug prints, there should be consistency
here, so standardize on that. The only other use was for dma
which can be replaced with mgr-&gt;dev.parent.

Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Acked-by: Alan Tull &lt;atull@opensource.altera.com&gt;
Acked-by: Moritz Fischer &lt;moritz.fischer@ettus.com&gt;
</content>
</entry>
<entry>
<title>fpga zynq: Add missing \n to messages</title>
<updated>2016-11-29T21:51:45+00:00</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgunthorpe@obsidianresearch.com</email>
</author>
<published>2016-11-21T22:26:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1930c2865108d5510d9013aaced3c12be5f413f6'/>
<id>urn:sha1:1930c2865108d5510d9013aaced3c12be5f413f6</id>
<content type='text'>
Function dev_err doesn't add a newline at the end of the string. This will
lead to a hard to read kernel log.

Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Reviewed-by: Moritz Fischer &lt;moritz.fischer@ettus.com&gt;
Reviewed-by: Matthias Brugger &lt;mbrugger@suse.com&gt;
Acked-by: Alan Tull &lt;atull@opensource.altera.com&gt;
</content>
</entry>
<entry>
<title>fpga: Add COMPILE_TEST to all drivers</title>
<updated>2016-11-29T21:51:44+00:00</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgunthorpe@obsidianresearch.com</email>
</author>
<published>2016-11-21T22:26:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a0e1b618585979bf2520a6a6e954a3bb56cd610b'/>
<id>urn:sha1:a0e1b618585979bf2520a6a6e954a3bb56cd610b</id>
<content type='text'>
Like Zynq the Altera drivers compile fine on x86 and others too,
so make it easier to compile test this stuff.

A10 requires REGMAP_MMIO to compile, so be explicit rather than
relying on it via ARCH_SOCFPGA.

Signed-off-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Acked-by: Alan Tull &lt;atull@opensource.altera.com&gt;
</content>
</entry>
<entry>
<title>ARM: socfpga: checking the wrong variable</title>
<updated>2016-11-17T07:14:55+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2016-11-17T01:54:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=96bc818397017aa919d3390af14ade39206322d5'/>
<id>urn:sha1:96bc818397017aa919d3390af14ade39206322d5</id>
<content type='text'>
This is a cut and paste bug.  We had intended to check "sysmgr".

Fixes: e5f8efa5c8bf ("ARM: socfpga: fpga bridge driver support")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Acked-by: Moritz Fischer &lt;moritz.fischer@ettus.com&gt;
Acked-by: Alan Tull &lt;atull@opensource.altera.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
