<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/media/platform/qcom, branch v6.2</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.2</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.2'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2022-11-15T11:53:57+00:00</updated>
<entry>
<title>Merge tag 'tag-venus-for-v6.2' of git://linuxtv.org/svarbanov/media_tree into media_stage</title>
<updated>2022-11-15T11:53:57+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab@kernel.org</email>
</author>
<published>2022-11-15T11:53:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=997149b8bfe22c68e61f812aeb91d4ced3732f04'/>
<id>urn:sha1:997149b8bfe22c68e61f812aeb91d4ced3732f04</id>
<content type='text'>
Venus updates for v6.2

* tag 'tag-venus-for-v6.2' of git://linuxtv.org/svarbanov/media_tree:
  venus: pm_helpers: Fix error check in vcodec_domains_get()
  venus: firmware: Correct assertion of reset bit on remote processor
  venus: firmware: Correct non-pix start and end addresses
  venus: firmware: Correct reset bit
  MAINTAINERS: Change email for Venus driver
  MAINTAINERS: Add Vikash as VENUS video driver co-maintainer
</content>
</entry>
<entry>
<title>media: camss: Split power domain management</title>
<updated>2022-11-08T08:41:36+00:00</updated>
<author>
<name>Vladimir Zapolskiy</name>
<email>vladimir.zapolskiy@linaro.org</email>
</author>
<published>2022-07-04T22:15:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=46cc031754985ee24034d55687540adb079f8630'/>
<id>urn:sha1:46cc031754985ee24034d55687540adb079f8630</id>
<content type='text'>
There are three cases of power domain management on supported platforms:
1) CAMSS on MSM8916, where a single VFE power domain is operated outside
   of the camss device driver,
2) CAMSS on MSM8996 and SDM630/SDM660, where two VFE power domains are
   managed separately by the camss device driver, the power domains are
   linked and unlinked on demand by their functions vfe_pm_domain_on()
   and vfe_pm_domain_off() respectively,
3) CAMSS on SDM845 and SM8250 platforms, and there are two VFE power
   domains and their parent power domain TITAN_TOP, the latter one
   shall be turned on prior to turning on any of VFE power domains.

Due to a previously missing link between TITAN_TOP and VFEx power domains
in the latter case, which is now fixed by [1], it was decided always to
turn on all found VFE power domains and TITAN_TOP power domain, even if
just one particular VFE is needed to be enabled or none of VFE power
domains are required, for instance the latter case is when vfe_lite is in
use. This misusage becomes more incovenient and clumsy, if next generations
are to be supported, for instance CAMSS on SM8450 has three VFE power
domains.

The change splits the power management support for platforms with TITAN_TOP
parent power domain, and, since 'power-domain-names' property is not
present in camss device tree nodes, the assumption is that the first
N power domains from the 'power-domains' list correspond to VFE power
domains, and, if the number of power domains is greater than number of
non-lite VFEs, then the last power domain from the list is the TITAN_TOP
power domain.

Signed-off-by: Vladimir Zapolskiy &lt;vladimir.zapolskiy@linaro.org&gt;
Reviewed-by: Robert Foss &lt;robert.foss@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: camss: Collect information about a number of lite VFEs</title>
<updated>2022-11-08T08:40:20+00:00</updated>
<author>
<name>Vladimir Zapolskiy</name>
<email>vladimir.zapolskiy@linaro.org</email>
</author>
<published>2022-07-04T22:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=be11096d79d8dae4300dda2f0b5bdc39243950ca'/>
<id>urn:sha1:be11096d79d8dae4300dda2f0b5bdc39243950ca</id>
<content type='text'>
VFE lite IPs are found on CAMSS with TITAN_TOP power domains, and in
some aspects these types of VFEs are different, in particular there
is no need to enable VFE power domains to operate over VFE lite IPs.

Signed-off-by: Vladimir Zapolskiy &lt;vladimir.zapolskiy@linaro.org&gt;
Reviewed-by: Robert Foss &lt;robert.foss@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: camss: Do not attach an already attached power domain on MSM8916 platform</title>
<updated>2022-11-08T08:39:33+00:00</updated>
<author>
<name>Vladimir Zapolskiy</name>
<email>vladimir.zapolskiy@linaro.org</email>
</author>
<published>2022-07-04T22:08:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3d658980e6dac2af6a024fdb6ded3d7bc44dc9ff'/>
<id>urn:sha1:3d658980e6dac2af6a024fdb6ded3d7bc44dc9ff</id>
<content type='text'>
The change to dynamically allocated power domains neglected a case of
CAMSS on MSM8916 platform, where a single VFE power domain is neither
attached, linked or managed in runtime in any way explicitly.

This is a special case and it shall be kept as is, because the power
domain management is done outside of the driver, and it's very different
in comparison to all other platforms supported by CAMSS.

Fixes: 6b1814e26989 ("media: camss: Allocate power domain resources dynamically")
Signed-off-by: Vladimir Zapolskiy &lt;vladimir.zapolskiy@linaro.org&gt;
Reviewed-by: Robert Foss &lt;robert.foss@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: camss: Clean up received buffers on failed start of streaming</title>
<updated>2022-11-08T08:39:08+00:00</updated>
<author>
<name>Vladimir Zapolskiy</name>
<email>vladimir.zapolskiy@linaro.org</email>
</author>
<published>2022-07-04T09:44:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c8f3582345e6a69da65ab588f7c4c2d1685b0e80'/>
<id>urn:sha1:c8f3582345e6a69da65ab588f7c4c2d1685b0e80</id>
<content type='text'>
It is required to return the received buffers, if streaming can not be
started. For instance media_pipeline_start() may fail with EPIPE, if
a link validation between entities is not passed, and in such a case
a user gets a kernel warning:

  WARNING: CPU: 1 PID: 520 at drivers/media/common/videobuf2/videobuf2-core.c:1592 vb2_start_streaming+0xec/0x160
  &lt;snip&gt;
  Call trace:
   vb2_start_streaming+0xec/0x160
   vb2_core_streamon+0x9c/0x1a0
   vb2_ioctl_streamon+0x68/0xbc
   v4l_streamon+0x30/0x3c
   __video_do_ioctl+0x184/0x3e0
   video_usercopy+0x37c/0x7b0
   video_ioctl2+0x24/0x40
   v4l2_ioctl+0x4c/0x70

The fix is to correct the error path in video_start_streaming() of camss.

Fixes: 0ac2586c410f ("media: camss: Add files which handle the video device nodes")
Signed-off-by: Vladimir Zapolskiy &lt;vladimir.zapolskiy@linaro.org&gt;
Reviewed-by: Robert Foss &lt;robert.foss@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>venus: pm_helpers: Fix error check in vcodec_domains_get()</title>
<updated>2022-10-25T07:38:56+00:00</updated>
<author>
<name>Tang Bin</name>
<email>tangbin@cmss.chinamobile.com</email>
</author>
<published>2022-09-13T06:37:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0f6e8d8c94a82e85e1b9b62a7671990740dc6f70'/>
<id>urn:sha1:0f6e8d8c94a82e85e1b9b62a7671990740dc6f70</id>
<content type='text'>
In the function vcodec_domains_get(), dev_pm_domain_attach_by_name()
may return NULL in some cases, so IS_ERR() doesn't meet the
requirements. Thus fix it.

Fixes: 7482a983dea3 ("media: venus: redesign clocks and pm domains control")
Signed-off-by: Tang Bin &lt;tangbin@cmss.chinamobile.com&gt;
</content>
</entry>
<entry>
<title>venus: firmware: Correct assertion of reset bit on remote processor</title>
<updated>2022-10-25T07:32:02+00:00</updated>
<author>
<name>Stanimir Varbanov</name>
<email>stanimir.varbanov@linaro.org</email>
</author>
<published>2022-10-05T08:37:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1eee6bb9b64bb3a914433bb7ec739d2e67cba5bd'/>
<id>urn:sha1:1eee6bb9b64bb3a914433bb7ec739d2e67cba5bd</id>
<content type='text'>
Currently we use read/write_relaxed in combination with mb() to assert
reset. This looks wrong because mb() after write_relaxed() will not
order correctly load-update-store sequence. Correct this by use
readl/writel which include memory barriers.

Signed-off-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
</content>
</entry>
<entry>
<title>venus: firmware: Correct non-pix start and end addresses</title>
<updated>2022-10-25T07:31:54+00:00</updated>
<author>
<name>Stanimir Varbanov</name>
<email>stanimir.varbanov@linaro.org</email>
</author>
<published>2022-10-05T08:37:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a837e5161cfffbb3242cc0eb574f8bf65fd32640'/>
<id>urn:sha1:a837e5161cfffbb3242cc0eb574f8bf65fd32640</id>
<content type='text'>
The default values for those registers are zero.

Signed-off-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
</content>
</entry>
<entry>
<title>venus: firmware: Correct reset bit</title>
<updated>2022-10-25T07:31:48+00:00</updated>
<author>
<name>Stanimir Varbanov</name>
<email>stanimir.varbanov@linaro.org</email>
</author>
<published>2022-10-05T08:37:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bd32d0851c1d9879a4c792a31319b45e94ed3801'/>
<id>urn:sha1:bd32d0851c1d9879a4c792a31319b45e94ed3801</id>
<content type='text'>
The reset bit for A9SS reset register is BIT(4) and for XTSS_SW_RESET
it is BIT(0). Use the defines for those reset bits.

Signed-off-by: Stanimir Varbanov &lt;stanimir.varbanov@linaro.org&gt;
</content>
</entry>
<entry>
<title>media: venus: hfi: Remove the unneeded result variable</title>
<updated>2022-09-24T09:21:44+00:00</updated>
<author>
<name>ye xingchen</name>
<email>ye.xingchen@zte.com.cn</email>
</author>
<published>2022-08-30T08:37:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=265f2fc52f5873ae3fa653ce1f2dbc47afef6344'/>
<id>urn:sha1:265f2fc52f5873ae3fa653ce1f2dbc47afef6344</id>
<content type='text'>
Return the value venus_hfi_create() directly instead of storing it in
another redundant variable.

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