<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-op-linux/drivers/media/platform/qcom/venus, branch master</title>
<subtitle>Talos™ II Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/talos-op-linux/atom?h=master</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-op-linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/'/>
<updated>2019-11-09T08:08:30+00:00</updated>
<entry>
<title>media: venus: remove invalid compat_ioctl32 handler</title>
<updated>2019-11-09T08:08:30+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2019-11-06T09:06:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=4adc0423de92cf850d1ef5c0e7cb28fd7a38219e'/>
<id>urn:sha1:4adc0423de92cf850d1ef5c0e7cb28fd7a38219e</id>
<content type='text'>
v4l2_compat_ioctl32() is the function that calls into
v4l2_file_operations-&gt;compat_ioctl32(), so setting that back to the same
function leads to a trivial endless loop, followed by a kernel
stack overrun.

Remove the incorrect assignment.

Cc: stable@vger.kernel.org
Fixes: 7472c1c69138 ("[media] media: venus: vdec: add video decoder files")
Fixes: aaaa93eda64b ("[media] media: venus: venc: add video encoder files")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: venus: fix build on 32bit environments</title>
<updated>2019-10-08T16:46:36+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab+samsung@kernel.org</email>
</author>
<published>2019-10-07T13:35:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=219031a6e7dff52a066e8b074adc0697f501e3d3'/>
<id>urn:sha1:219031a6e7dff52a066e8b074adc0697f501e3d3</id>
<content type='text'>
As reported by jenkins@linuxtv.org, the build with i386 fails
with:

	ld: drivers/media/platform/qcom/venus/helpers.o: in function `venus_helper_load_scale_clocks':
	(.text+0x1d77): undefined reference to `__udivdi3'
	ld: (.text+0x1dce): undefined reference to `__udivdi3'
	make: *** [Makefile:1094: vmlinux] Error 1

That's because it divides an u32 bit integer by a u64 one.

Reviewed-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: venus: Update clock scaling</title>
<updated>2019-10-04T11:54:00+00:00</updated>
<author>
<name>Aniket Masule</name>
<email>amasule@codeaurora.org</email>
</author>
<published>2019-09-24T05:47:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=c0e284ccfedafb646c2af33bdd07985231f71916'/>
<id>urn:sha1:c0e284ccfedafb646c2af33bdd07985231f71916</id>
<content type='text'>
Current clock scaling calculations are same for vpu4 and
previous versions. For vpu4, Clock scaling calculations
are updated with cycles/mb and bitrate. This helps in
getting precise clock required.

Signed-off-by: Aniket Masule &lt;amasule@codeaurora.org&gt;
Signed-off-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: venus: Add codec data table</title>
<updated>2019-10-04T11:52:43+00:00</updated>
<author>
<name>Aniket Masule</name>
<email>amasule@codeaurora.org</email>
</author>
<published>2019-09-24T05:47:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=e5b7fabb78f2793146104cba525d24d3236d400b'/>
<id>urn:sha1:e5b7fabb78f2793146104cba525d24d3236d400b</id>
<content type='text'>
Add vpp cycles for different types of codec.
It indicates the cycles required by video hardware
to process each macroblock. Add vsp cycles, cycles
required by stream processor. Initialize the codec
data with core resources.

Signed-off-by: Aniket Masule &lt;amasule@codeaurora.org&gt;
Signed-off-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: venus: Fix occasionally failures to suspend</title>
<updated>2019-10-04T11:51:29+00:00</updated>
<author>
<name>Stanimir Varbanov</name>
<email>stanimir.varbanov@linaro.org</email>
</author>
<published>2019-09-17T12:02:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=8dbebb2bd01e6f36e9a215dcde99ace70408f2c8'/>
<id>urn:sha1:8dbebb2bd01e6f36e9a215dcde99ace70408f2c8</id>
<content type='text'>
Failure to suspend (venus_suspend_3xx) happens when the system
is fresh booted and loading venus driver. This happens once and
after reload the venus driver modules the problem disrepair.

Fix the failure by skipping the check for WFI and IDLE bits if
PC_READY is on in control status register.

Signed-off-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: venus: Use on-chip interconnect API</title>
<updated>2019-10-02T13:58:27+00:00</updated>
<author>
<name>Stanimir Varbanov</name>
<email>stanimir.varbanov@linaro.org</email>
</author>
<published>2019-08-13T15:25:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=32f0a6ddc8c98a1aade2bf3d07c79d5d2c6ceb9a'/>
<id>urn:sha1:32f0a6ddc8c98a1aade2bf3d07c79d5d2c6ceb9a</id>
<content type='text'>
This aims to add a requests for bandwidth scaling depending
on the resolution and framerate (macroblocks per second). The
exact value of the requested bandwidth is get from a
pre-calculated tables for encoder and decoder.

Acked-by: Georgi Djakov &lt;georgi.djakov@linaro.org&gt;
Signed-off-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: venus: core: Fix msm8996 frequency table</title>
<updated>2019-10-02T13:57:28+00:00</updated>
<author>
<name>Loic Poulain</name>
<email>loic.poulain@linaro.org</email>
</author>
<published>2019-09-11T14:45:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=c690435ed07901737e5c007a65ec59f53b33eb71'/>
<id>urn:sha1:c690435ed07901737e5c007a65ec59f53b33eb71</id>
<content type='text'>
In downstream driver, there are two frequency tables defined,
one for the encoder and one for the decoder:

/* Encoders /
&lt;972000 490000000 0x55555555&gt;, / 4k UHD @ 30 /
&lt;489600 320000000 0x55555555&gt;, / 1080p @ 60 /
&lt;244800 150000000 0x55555555&gt;, / 1080p @ 30 /
&lt;108000 75000000 0x55555555&gt;, / 720p @ 30 */

/* Decoders /
&lt;1944000 490000000 0xffffffff&gt;, / 4k UHD @ 60 /
&lt; 972000 320000000 0xffffffff&gt;, / 4k UHD @ 30 /
&lt; 489600 150000000 0xffffffff&gt;, / 1080p @ 60 /
&lt; 244800 75000000 0xffffffff&gt;; / 1080p @ 30 */

It shows that encoder always needs a higher clock than decoder.

In current venus driver, the unified frequency table is aligned
with the downstream decoder table which causes performance issues
in encoding scenarios. Fix that by aligning frequency table on
worst case (encoding).

Signed-off-by: Loic Poulain &lt;loic.poulain@linaro.org&gt;
Signed-off-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: don't do a 31 bit shift on a signed int</title>
<updated>2019-08-26T17:11:10+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab+samsung@kernel.org</email>
</author>
<published>2019-08-22T14:16:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=95c520690f5fafb2cda2ec17f8c76ab3422b0174'/>
<id>urn:sha1:95c520690f5fafb2cda2ec17f8c76ab3422b0174</id>
<content type='text'>
On 32-bits archs, a signed integer has 31 bits plus on extra
bit for signal. Due to that, touching the 32th bit with something
like:

	int bar = 1 &lt;&lt; 31;

has an undefined behavior in C on 32 bit architectures, as it
touches the signal bit. This is warned by cppcheck.

Instead, force the numbers to be unsigned, in order to solve this
issue.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: venus: vdec: flag OUTPUT formats with V4L2_FMT_FLAG_DYN_RESOLUTION</title>
<updated>2019-08-19T17:57:09+00:00</updated>
<author>
<name>Maxime Jourdan</name>
<email>mjourdan@baylibre.com</email>
</author>
<published>2019-08-15T14:44:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=5aecb7d030370fc76cfd15649c218ba702c46b29'/>
<id>urn:sha1:5aecb7d030370fc76cfd15649c218ba702c46b29</id>
<content type='text'>
Tag all the coded formats where the venus vdec supports dynamic
resolution switching.

Signed-off-by: Maxime Jourdan &lt;mjourdan@baylibre.com&gt;
Acked-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
Reviewed-by: Paul Kocialkowski &lt;paul.kocialkowski@bootlin.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: venus: dec: populate properly timestamps and flags for capture buffers</title>
<updated>2019-08-05T13:57:51+00:00</updated>
<author>
<name>Stanimir Varbanov</name>
<email>stanimir.varbanov@linaro.org</email>
</author>
<published>2019-06-27T15:59:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=d42974e438feebda372fe4a39d7761cc596abc57'/>
<id>urn:sha1:d42974e438feebda372fe4a39d7761cc596abc57</id>
<content type='text'>
Cache flags, timestamps and timecode structure of OUTPUT buffers
in per-instance structure array and fill correctly the same when
the CAPTURE buffers are done.

This will make v4l2-compliance decoder streaming test happy.

Signed-off-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
</content>
</entry>
</feed>
