<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/next/linux-next.git/drivers/dma/switchtec_dma.c, branch master</title>
<subtitle>The linux-next integration testing tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/'/>
<updated>2026-06-30T11:22:11+00:00</updated>
<entry>
<title>dmaengine: switchtec-dma: fix FIELD_GET misuse when programming SE threshold</title>
<updated>2026-06-30T11:22:11+00:00</updated>
<author>
<name>David Carlier</name>
<email>devnexen@gmail.com</email>
</author>
<published>2026-03-17T08:32:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=9d12eb98582fec2578d17e025b13740dcfb57d8e'/>
<id>urn:sha1:9d12eb98582fec2578d17e025b13740dcfb57d8e</id>
<content type='text'>
FIELD_GET(SE_THRESH_MASK, thresh) extracts bits [31:23] from thresh and
right-shifts them, which is the inverse of the intended operation. Since
thresh is derived from se_buf_len / 2 (at most 255), bits [31:23] are
always zero, so the SE threshold is never actually programmed into the
register.

Use FIELD_PREP() instead to correctly left-shift thresh into bits [31:23]
of the valid_en_se register, consistent with the FIELD_PREP usage for
the perf tuner config just above.

Fixes: 30eba9df76ad ("dmaengine: switchtec-dma: Implement hardware initialization and cleanup")
Signed-off-by: David Carlier &lt;devnexen@gmail.com&gt;
Review-by: Logan Gunthorpe &lt;logang@deltatee.com&gt;
Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Link: https://patch.msgid.link/20260317083252.13224-1-devnexen@gmail.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: switchtec-dma: Implement descriptor submission</title>
<updated>2026-03-09T07:28:22+00:00</updated>
<author>
<name>Kelvin Cao</name>
<email>kelvin.cao@microchip.com</email>
</author>
<published>2026-03-02T21:04:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=3af11daeaeaa6f62494c7cb07265928162b440ab'/>
<id>urn:sha1:3af11daeaeaa6f62494c7cb07265928162b440ab</id>
<content type='text'>
On prep, a spin lock is taken and the next entry in the circular buffer
is filled. On submit, the spin lock just needs to be released as the
requests are already pending.

When switchtec_dma_issue_pending() is called, the sq_tail register
is written to indicate there are new jobs for the dma engine to start
on.

Pause and resume operations are implemented by writing to a control
register.

Signed-off-by: Kelvin Cao &lt;kelvin.cao@microchip.com&gt;
Co-developed-by: George Ge &lt;george.ge@microchip.com&gt;
Signed-off-by: George Ge &lt;george.ge@microchip.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Logan Gunthorpe &lt;logang@deltatee.com&gt;
Link: https://patch.msgid.link/20260302210419.3656-4-logang@deltatee.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: switchtec-dma: Implement hardware initialization and cleanup</title>
<updated>2026-03-09T07:28:22+00:00</updated>
<author>
<name>Kelvin Cao</name>
<email>kelvin.cao@microchip.com</email>
</author>
<published>2026-03-02T21:04:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=30eba9df76adf1294e88214dbf9cea402fa7af37'/>
<id>urn:sha1:30eba9df76adf1294e88214dbf9cea402fa7af37</id>
<content type='text'>
Initialize the hardware and create the dma channel queues.

Signed-off-by: Kelvin Cao &lt;kelvin.cao@microchip.com&gt;
Co-developed-by: George Ge &lt;george.ge@microchip.com&gt;
Signed-off-by: George Ge &lt;george.ge@microchip.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Signed-off-by: Logan Gunthorpe &lt;logang@deltatee.com&gt;
Link: https://patch.msgid.link/20260302210419.3656-3-logang@deltatee.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>dmaengine: switchtec-dma: Introduce Switchtec DMA engine skeleton</title>
<updated>2026-03-09T07:28:22+00:00</updated>
<author>
<name>Kelvin Cao</name>
<email>kelvin.cao@microchip.com</email>
</author>
<published>2026-03-02T21:04:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=d9587042b50f69d35a6e05c1b7fc9092e26625a6'/>
<id>urn:sha1:d9587042b50f69d35a6e05c1b7fc9092e26625a6</id>
<content type='text'>
Some Switchtec Switches can expose DMA engines via extra PCI functions
on the upstream ports. At most one such function can be supported on
each upstream port. Each function can have one or more DMA channels.

This patch is just the core PCI driver skeleton and dma
engine registration.

Signed-off-by: Kelvin Cao &lt;kelvin.cao@microchip.com&gt;
Co-developed-by: George Ge &lt;george.ge@microchip.com&gt;
Signed-off-by: George Ge &lt;george.ge@microchip.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Frank Li &lt;Frank.Li@nxp.com&gt;
Signed-off-by: Logan Gunthorpe &lt;logang@deltatee.com&gt;
Link: https://patch.msgid.link/20260302210419.3656-2-logang@deltatee.com
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
</feed>
