<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvidia-tegra-modules.git/include/media/capture_common.h, branch rtss22-ae</title>
<subtitle>NVIDIA's kernel modules to support tegra chips (used in Jetson boards)</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/'/>
<entry>
<title>capture-isp: use separate ringbuffer to pass iovas to rtcpu</title>
<updated>2021-06-21T08:55:13+00:00</updated>
<author>
<name>Kirill Artamonov</name>
<email>kartamonov@nvidia.com</email>
</author>
<published>2021-06-15T14:13:46+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=b3060acfe7d3777892c02f69832f356f52d0dbbc'/>
<id>b3060acfe7d3777892c02f69832f356f52d0dbbc</id>
<content type='text'>
Passing iova pointers using capture descriptor is not safe since
usermode application can access them.

Use additional ringbuffers shared between kernel and rtcpu to
pass iova pointers securely.

Related changes and bugfixes:

Use permanent vmap mapping for ISP capture and program descriptors
This should also improve performance and reduce fragmentation
of kernel address space.

Don't use relocs. Access descriptor like normal C structure.
Remove unused reloc API.

Fix map error reporting capture_common_pin_and_get_iova().

Allocate fixed size unpin buffer at setup time istead of
relying on kzalloc/kfree during each request. This is to simplify
critical runtime codepath and remove flexible array struct
member which is prohibited by MISRA C conventions.

Add unpin check to prevent submission of requests which are
still in progress

bug 2768992
bug 3231670
bug 200688288
bug 200690078

CAMASIL-7472
CAMASIL-7474

Signed-off-by: Kirill Artamonov &lt;kartamonov@nvidia.com&gt;
Change-Id: Ie2c556cc61334ae478c7edc7e062e16e8b142031
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2487425
(cherry picked from commit 23186dfdd7b090e6b93c3a6daed60860225b9663)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545380
Reviewed-by: Semi Malinen &lt;smalinen@nvidia.com&gt;
Reviewed-by: Pekka Pessi &lt;ppessi@nvidia.com&gt;
Reviewed-by: Mika Liljeberg &lt;mliljeberg@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Passing iova pointers using capture descriptor is not safe since
usermode application can access them.

Use additional ringbuffers shared between kernel and rtcpu to
pass iova pointers securely.

Related changes and bugfixes:

Use permanent vmap mapping for ISP capture and program descriptors
This should also improve performance and reduce fragmentation
of kernel address space.

Don't use relocs. Access descriptor like normal C structure.
Remove unused reloc API.

Fix map error reporting capture_common_pin_and_get_iova().

Allocate fixed size unpin buffer at setup time istead of
relying on kzalloc/kfree during each request. This is to simplify
critical runtime codepath and remove flexible array struct
member which is prohibited by MISRA C conventions.

Add unpin check to prevent submission of requests which are
still in progress

bug 2768992
bug 3231670
bug 200688288
bug 200690078

CAMASIL-7472
CAMASIL-7474

Signed-off-by: Kirill Artamonov &lt;kartamonov@nvidia.com&gt;
Change-Id: Ie2c556cc61334ae478c7edc7e062e16e8b142031
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2487425
(cherry picked from commit 23186dfdd7b090e6b93c3a6daed60860225b9663)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545380
Reviewed-by: Semi Malinen &lt;smalinen@nvidia.com&gt;
Reviewed-by: Pekka Pessi &lt;ppessi@nvidia.com&gt;
Reviewed-by: Mika Liljeberg &lt;mliljeberg@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
</pre>
</div>
</content>
</entry>
<entry>
<title>capture-vi: use separate ringbuffer to pass iova to rtcpu</title>
<updated>2021-06-21T08:55:03+00:00</updated>
<author>
<name>Kirill Artamonov</name>
<email>kartamonov@nvidia.com</email>
</author>
<published>2021-06-15T00:11:28+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=6e262c637e5116e3057b73788c02358bafe2b725'/>
<id>6e262c637e5116e3057b73788c02358bafe2b725</id>
<content type='text'>
Passing iova pointers using capture descriptor is not safe since
usermode application can access them.

Use additional ringbuffer shared between kernel and rtcpu to
pass iova pointers securely.

Related changes and bugfixes:

Use permanent vmap mapping for VI capture descriptors.
This should also improve performance and reduce fragmentation
of kernel address space.

Don't use relocs. Access descriptor like normal C structure.

Remove unused parameter capture_data from tegra_channel to
avoid confusing null pointer investigation when accidentally
using it.

Check for zero pin count at submit to avoid potential memory
mapping leak which will happen if usermode submits same capture
descriptor without waiting for completion.

Reboot rtcpu if fail to communicate with rtcpu during
channel release IVC call.

Allocate fixed size unpin buffer at setup time istead of
relying on kzalloc/kfree during each request. This is to simplify
critical runtime codepath and remove flexible array struct
member which is prohibited by MISRA C conventions.

CAMASIL-7466

bug 2768992
bug 3231670
bug 200688288
bug 200690078
CAMASIL-7460
CAMASIL-7477
CAMASIL-4619
CAMASIL-7465

Change-Id: Ia39de887093bbc158c72008ae387287ce30ebd82
Signed-off-by: Kirill Artamonov &lt;kartamonov@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2475799
(cherry picked from commit 71ad1f9d54a45e54767d5fa9411a4aee83374398)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545006
Reviewed-by: Igor Mitsyanko &lt;imitsyanko@nvidia.com&gt;
Reviewed-by: Semi Malinen &lt;smalinen@nvidia.com&gt;
Reviewed-by: Pekka Pessi &lt;ppessi@nvidia.com&gt;
Reviewed-by: Mika Liljeberg &lt;mliljeberg@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: Igor Mitsyanko &lt;imitsyanko@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Passing iova pointers using capture descriptor is not safe since
usermode application can access them.

Use additional ringbuffer shared between kernel and rtcpu to
pass iova pointers securely.

Related changes and bugfixes:

Use permanent vmap mapping for VI capture descriptors.
This should also improve performance and reduce fragmentation
of kernel address space.

Don't use relocs. Access descriptor like normal C structure.

Remove unused parameter capture_data from tegra_channel to
avoid confusing null pointer investigation when accidentally
using it.

Check for zero pin count at submit to avoid potential memory
mapping leak which will happen if usermode submits same capture
descriptor without waiting for completion.

Reboot rtcpu if fail to communicate with rtcpu during
channel release IVC call.

Allocate fixed size unpin buffer at setup time istead of
relying on kzalloc/kfree during each request. This is to simplify
critical runtime codepath and remove flexible array struct
member which is prohibited by MISRA C conventions.

CAMASIL-7466

bug 2768992
bug 3231670
bug 200688288
bug 200690078
CAMASIL-7460
CAMASIL-7477
CAMASIL-4619
CAMASIL-7465

Change-Id: Ia39de887093bbc158c72008ae387287ce30ebd82
Signed-off-by: Kirill Artamonov &lt;kartamonov@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2475799
(cherry picked from commit 71ad1f9d54a45e54767d5fa9411a4aee83374398)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545006
Reviewed-by: Igor Mitsyanko &lt;imitsyanko@nvidia.com&gt;
Reviewed-by: Semi Malinen &lt;smalinen@nvidia.com&gt;
Reviewed-by: Pekka Pessi &lt;ppessi@nvidia.com&gt;
Reviewed-by: Mika Liljeberg &lt;mliljeberg@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: Igor Mitsyanko &lt;imitsyanko@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
</pre>
</div>
</content>
</entry>
<entry>
<title>nvcapture: capture buffer management</title>
<updated>2021-06-21T08:54:53+00:00</updated>
<author>
<name>Ziqi Qing</name>
<email>zqing@nvidia.com</email>
</author>
<published>2019-03-14T23:46:21+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=582806934788414445291cb103f8560bfd1618d6'/>
<id>582806934788414445291cb103f8560bfd1618d6</id>
<content type='text'>
Buffer management in KMD allow client to pin and setup a set of surface
before any capture request. Also keep the compatibility to pin the
surface when it is not registered before.

- Add ioctl to handle buffer pin request.
- Add capture buffer table.

Bug 2462034

Change-Id: I71021a241aab4e61d27bd504fb5657b169e56643
Signed-off-by: Ziqi Qing &lt;zqing@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1972655
(cherry picked from commit 05c14274b4070aaa0fd02f07166554d07ede85ec)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545282
Reviewed-by: svc-mobile-coverity &lt;svc-mobile-coverity@nvidia.com&gt;
Reviewed-by: Kirill Artamonov &lt;kartamonov@nvidia.com&gt;
Reviewed-by: Igor Mitsyanko &lt;imitsyanko@nvidia.com&gt;
Reviewed-by: Semi Malinen &lt;smalinen@nvidia.com&gt;
Reviewed-by: Pekka Pessi &lt;ppessi@nvidia.com&gt;
Reviewed-by: Mika Liljeberg &lt;mliljeberg@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: Kirill Artamonov &lt;kartamonov@nvidia.com&gt;
Tested-by: Igor Mitsyanko &lt;imitsyanko@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Buffer management in KMD allow client to pin and setup a set of surface
before any capture request. Also keep the compatibility to pin the
surface when it is not registered before.

- Add ioctl to handle buffer pin request.
- Add capture buffer table.

Bug 2462034

Change-Id: I71021a241aab4e61d27bd504fb5657b169e56643
Signed-off-by: Ziqi Qing &lt;zqing@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1972655
(cherry picked from commit 05c14274b4070aaa0fd02f07166554d07ede85ec)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2545282
Reviewed-by: svc-mobile-coverity &lt;svc-mobile-coverity@nvidia.com&gt;
Reviewed-by: Kirill Artamonov &lt;kartamonov@nvidia.com&gt;
Reviewed-by: Igor Mitsyanko &lt;imitsyanko@nvidia.com&gt;
Reviewed-by: Semi Malinen &lt;smalinen@nvidia.com&gt;
Reviewed-by: Pekka Pessi &lt;ppessi@nvidia.com&gt;
Reviewed-by: Mika Liljeberg &lt;mliljeberg@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: Kirill Artamonov &lt;kartamonov@nvidia.com&gt;
Tested-by: Igor Mitsyanko &lt;imitsyanko@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
</pre>
</div>
</content>
</entry>
<entry>
<title>tegra: camera: Progress status buffer support</title>
<updated>2018-08-23T17:53:21+00:00</updated>
<author>
<name>Andrew Jiang</name>
<email>andrewj@nvidia.com</email>
</author>
<published>2018-07-11T07:03:38+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=19fcb5e39cfba50310ed8324a42793ff3ac0738c'/>
<id>19fcb5e39cfba50310ed8324a42793ff3ac0738c</id>
<content type='text'>
Add necessary structs and ioctl calls to allow KMD to use a new
progress status buffer allocated by UMD as a convenient way to
communicate the status of each request. This is part of
supporting the new detached mode mechanism.

Bug 2173282

Change-Id: Id279af4e7541d3b9f30e0b68bc838d924e5ab234
Signed-off-by: Andrew Jiang &lt;andrewj@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1750545
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add necessary structs and ioctl calls to allow KMD to use a new
progress status buffer allocated by UMD as a convenient way to
communicate the status of each request. This is part of
supporting the new detached mode mechanism.

Bug 2173282

Change-Id: Id279af4e7541d3b9f30e0b68bc838d924e5ab234
Signed-off-by: Andrew Jiang &lt;andrewj@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1750545
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: tegra: camera: refactor pin reloc APIs</title>
<updated>2017-11-14T17:53:43+00:00</updated>
<author>
<name>Sudhir Vyas</name>
<email>svyas@nvidia.com</email>
</author>
<published>2017-11-09T13:55:43+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=cc210201488de431c0602603f0b9a5a24925be81'/>
<id>cc210201488de431c0602603f0b9a5a24925be81</id>
<content type='text'>
Refactor pin and reloc API functions.
Also rebase vi capture driver to capture common.

Jira CRTC-1472

Change-Id: I4f6eeba8e0637ea864a8b8c3ad1220b2770e9ad1
Signed-off-by: Sudhir Vyas &lt;svyas@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1595206
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Refactor pin and reloc API functions.
Also rebase vi capture driver to capture common.

Jira CRTC-1472

Change-Id: I4f6eeba8e0637ea864a8b8c3ad1220b2770e9ad1
Signed-off-by: Sudhir Vyas &lt;svyas@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1595206
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: platform: tegra: Add capture isp driver</title>
<updated>2017-09-25T11:35:49+00:00</updated>
<author>
<name>Sudhir Vyas</name>
<email>svyas@nvidia.com</email>
</author>
<published>2017-06-15T13:26:23+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=1d43c1d5d8c14765045eca22fc7eef47c1862270'/>
<id>1d43c1d5d8c14765045eca22fc7eef47c1862270</id>
<content type='text'>
Jira CRTC-1184
Jira CRTC-1185
Jira CRTC-1186

Change-Id: I87ac1a9ff83c3c68aa5a5bdeadc79188b074c675
Signed-off-by: Sudhir Vyas &lt;svyas@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1503123
Reviewed-by: svccoveritychecker &lt;svccoveritychecker@nvidia.com&gt;
Reviewed-by: Saleh Dindar &lt;sdindar@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sachin Nikam &lt;snikam@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Jira CRTC-1184
Jira CRTC-1185
Jira CRTC-1186

Change-Id: I87ac1a9ff83c3c68aa5a5bdeadc79188b074c675
Signed-off-by: Sudhir Vyas &lt;svyas@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1503123
Reviewed-by: svccoveritychecker &lt;svccoveritychecker@nvidia.com&gt;
Reviewed-by: Saleh Dindar &lt;sdindar@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sachin Nikam &lt;snikam@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
