<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu/ipu-v3, branch v5.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v5.0</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v5.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2019-01-23T10:56:44Z</updated>
<entry>
<title>gpu: ipu-v3: pre: don't trigger update if buffer address doesn't change</title>
<updated>2019-01-23T10:56:44Z</updated>
<author>
<name>Lucas Stach</name>
<email>l.stach@pengutronix.de</email>
</author>
<published>2018-12-18T15:46:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=eb0200a4357da100064971689d3a0e9e3cf57f33'/>
<id>urn:sha1:eb0200a4357da100064971689d3a0e9e3cf57f33</id>
<content type='text'>
On a NOP double buffer update where current buffer address is the same
as the next buffer address, the SDW_UPDATE bit clears too late. As we
are now using this bit to determine when it is safe to signal flip
completion to userspace this will delay completion of atomic commits
where one plane doesn't change the buffer by a whole frame period.

Fix this by remembering the last buffer address and just skip the
double buffer update if it would not change the buffer address.

Signed-off-by: Lucas Stach &lt;l.stach@pengutronix.de&gt;
[p.zabel@pengutronix.de: initialize last_bufaddr in ipu_pre_configure]
Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>gpu: ipu-v3: Fix CSI offsets for imx53</title>
<updated>2019-01-17T13:59:02Z</updated>
<author>
<name>Steve Longerbeam</name>
<email>slongerbeam@gmail.com</email>
</author>
<published>2018-10-17T00:31:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bb867d219fda7fbaabea3314702474c4eac2b91d'/>
<id>urn:sha1:bb867d219fda7fbaabea3314702474c4eac2b91d</id>
<content type='text'>
The CSI offsets are wrong for both CSI0 and CSI1. They are at
physical address 0x1e030000 and 0x1e038000 respectively.

Fixes: 2ffd48f2e7 ("gpu: ipu-v3: Add Camera Sensor Interface unit")

Signed-off-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>gpu: ipu-v3: Fix i.MX51 CSI control registers offset</title>
<updated>2019-01-17T13:58:55Z</updated>
<author>
<name>Alexander Shiyan</name>
<email>shc_work@mail.ru</email>
</author>
<published>2018-12-20T08:06:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2c0408dd0d8906b26fe8023889af7adf5e68b2c2'/>
<id>urn:sha1:2c0408dd0d8906b26fe8023889af7adf5e68b2c2</id>
<content type='text'>
The CSI0/CSI1 registers offset is at +0xe030000/+0xe038000 relative
to the control module registers on IPUv3EX.
This patch fixes wrong values for i.MX51 CSI0/CSI1.

Fixes: 2ffd48f2e7 ("gpu: ipu-v3: Add Camera Sensor Interface unit")

Signed-off-by: Alexander Shiyan &lt;shc_work@mail.ru&gt;
Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>gpu: ipu-v3: image-convert: allow three rows or columns</title>
<updated>2018-11-05T13:40:08Z</updated>
<author>
<name>Philipp Zabel</name>
<email>p.zabel@pengutronix.de</email>
</author>
<published>2018-09-18T09:34:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=815b02e3c05dcfae759a96903025beb5dab85f97'/>
<id>urn:sha1:815b02e3c05dcfae759a96903025beb5dab85f97</id>
<content type='text'>
If width or height are in the [2049, 3072] range, allow to
use just three tiles in this dimension, instead of four.

Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Acked-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
Tested-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
</content>
</entry>
<entry>
<title>gpu: ipu-v3: image-convert: disable double buffering if necessary</title>
<updated>2018-11-05T13:40:08Z</updated>
<author>
<name>Philipp Zabel</name>
<email>p.zabel@pengutronix.de</email>
</author>
<published>2018-09-18T09:34:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f1ef14f30f058f063dfdab32d1e4b9536294e0ed'/>
<id>urn:sha1:f1ef14f30f058f063dfdab32d1e4b9536294e0ed</id>
<content type='text'>
Double-buffering only works if tile sizes are the same and the resizing
coefficient does not change between tiles, even for non-planar formats.

Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Acked-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
Tested-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
</content>
</entry>
<entry>
<title>gpu: ipu-v3: image-convert: add some ASCII art to the exposition</title>
<updated>2018-11-05T13:40:08Z</updated>
<author>
<name>Philipp Zabel</name>
<email>p.zabel@pengutronix.de</email>
</author>
<published>2018-09-18T09:34:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e46279f097d44581d9474dd51963657b9d9feb6f'/>
<id>urn:sha1:e46279f097d44581d9474dd51963657b9d9feb6f</id>
<content type='text'>
Visualize the scaling and rotation pipeline with some ASCII art
diagrams. Remove the FIXME comment about missing seam prevention.

Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Acked-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
</content>
</entry>
<entry>
<title>gpu: ipu-v3: image-convert: fix bytesperline adjustment</title>
<updated>2018-11-05T13:40:08Z</updated>
<author>
<name>Philipp Zabel</name>
<email>p.zabel@pengutronix.de</email>
</author>
<published>2018-09-18T09:34:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d966e23d61a2c3769ed0c0a3c6e20b300a313317'/>
<id>urn:sha1:d966e23d61a2c3769ed0c0a3c6e20b300a313317</id>
<content type='text'>
For planar formats, bytesperline does not depend on BPP. It must always
be larger than width and aligned to tile width alignment restrictions.

The input bytesperline to ipu_image_convert_adjust() may be
uninitialized, so don't rely on input bytesperline as the
minimum value for clamp_align(). Use 2 &lt;&lt; w_align as the minimum
instead.

Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
[slongerbeam@gmail.com: clamp input bytesperline]
Signed-off-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>gpu: ipu-v3: image-convert: relax alignment restrictions</title>
<updated>2018-11-05T13:40:08Z</updated>
<author>
<name>Philipp Zabel</name>
<email>p.zabel@pengutronix.de</email>
</author>
<published>2018-09-18T09:34:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ff652fcf84f7a0977bbad4eab976f7813665fbc8'/>
<id>urn:sha1:ff652fcf84f7a0977bbad4eab976f7813665fbc8</id>
<content type='text'>
For the planar but U/V-packed formats NV12 and NV16, 8 pixel width
alignment is good enough to fulfill the 8 byte stride requirement.
If we allow the input 8-pixel DMA bursts to overshoot the end of the
line, the only input alignment restrictions are dictated by the pixel
format and 8-byte aligned line start address.
Since different tile sizes are allowed, the output tile with / height
alignment doesn't need to be multiplied by number of columns / rows.

Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
[slongerbeam@gmail.com: Bring in the fixes to format width and
 height alignment restrictions from imx-media-mem2mem.c.]
Signed-off-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>gpu: ipu-v3: image-convert: fix debug output for varying tile sizes</title>
<updated>2018-11-05T13:40:07Z</updated>
<author>
<name>Philipp Zabel</name>
<email>p.zabel@pengutronix.de</email>
</author>
<published>2018-09-18T09:34:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a3f42419e2a72b174a7d993debea85df7a56bd4b'/>
<id>urn:sha1:a3f42419e2a72b174a7d993debea85df7a56bd4b</id>
<content type='text'>
Since tile dimensions now vary between tiles, add debug output for each
tile's position and dimensions.

Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Acked-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
Tested-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
</content>
</entry>
<entry>
<title>gpu: ipu-v3: image-convert: select optimal seam positions</title>
<updated>2018-11-05T13:40:07Z</updated>
<author>
<name>Philipp Zabel</name>
<email>p.zabel@pengutronix.de</email>
</author>
<published>2018-09-18T09:34:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=64fbae5e3e2e1b60ae420810216220f59fcde78d'/>
<id>urn:sha1:64fbae5e3e2e1b60ae420810216220f59fcde78d</id>
<content type='text'>
Select seam positions that minimize distortions during seam hiding while
satifying input and output IDMAC, rotator, and image format constraints.

This code looks for aligned output seam positions that minimize the
difference between the fractional corresponding ideal input positions
and the input positions rounded to alignment requirements.

Since now tiles can be sized differently, alignment restrictions of the
complete image can be relaxed in the next step.

Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Acked-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
Tested-by: Steve Longerbeam &lt;slongerbeam@gmail.com&gt;
</content>
</entry>
</feed>
