<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvidia-tegra-modules.git/include/linux/tegra-safety-ivc.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>tegra: safety-ivc: Add support for HB CMD</title>
<updated>2021-06-02T20:39:07+00:00</updated>
<author>
<name>Mantravadi Karthik</name>
<email>mkarthik@nvidia.com</email>
</author>
<published>2021-05-20T17:19:26+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=d9ca6d86e9a96e966a111ff1edd421c095b14ffa'/>
<id>d9ca6d86e9a96e966a111ff1edd421c095b14ffa</id>
<content type='text'>
Why?
L2SS expects a heartbeat ping every 40ms. CCPLEX is
expected to write the Boot status in the IVC channel
for the first time and the consective pings will be
just to send Alive check.

How?
Create a new callback API for the HB command which
fills the bit fields for the HB data and sends it over
the cmd-resp IVC channel.

* Added mutex lock support for l1ss_cmd_resp_send_frame
  for syncronizing the ivc writes.
* Waiting for empty interrupts hogs the system. Time
  critical features such as HB fail while waiting for
  empty interrupts. Hence, removing the HSP SM empty isr
  support.

Bug 200700400

Change-Id: I7f124c9f7336df9d387536aa3f2dda80d9234db8
Signed-off-by: Mantravadi Karthik &lt;mkarthik@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2519655
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Why?
L2SS expects a heartbeat ping every 40ms. CCPLEX is
expected to write the Boot status in the IVC channel
for the first time and the consective pings will be
just to send Alive check.

How?
Create a new callback API for the HB command which
fills the bit fields for the HB data and sends it over
the cmd-resp IVC channel.

* Added mutex lock support for l1ss_cmd_resp_send_frame
  for syncronizing the ivc writes.
* Waiting for empty interrupts hogs the system. Time
  critical features such as HB fail while waiting for
  empty interrupts. Hence, removing the HSP SM empty isr
  support.

Bug 200700400

Change-Id: I7f124c9f7336df9d387536aa3f2dda80d9234db8
Signed-off-by: Mantravadi Karthik &lt;mkarthik@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2519655
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tegra: safety: Enable L1SS</title>
<updated>2021-05-12T21:11:31+00:00</updated>
<author>
<name>Preetham Chandru Ramchandra</name>
<email>pchandru@nvidia.com</email>
</author>
<published>2021-05-05T18:44:25+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=397f8bd575cad792b2f6835bc7ab6eedce0a15eb'/>
<id>397f8bd575cad792b2f6835bc7ab6eedce0a15eb</id>
<content type='text'>
This change enable L1SS with minimal functionality.
Currently it only supports sending sw error to SCE
(SERVICESTATUS_NOTIFICATION) and IST erros.

Bug 200700404

Change-Id: I4a33756dd2f4b6715157a39d3dbc4d0d968fc52b
Signed-off-by: Preetham Chandru Ramchandra &lt;pchandru@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2525248
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change enable L1SS with minimal functionality.
Currently it only supports sending sw error to SCE
(SERVICESTATUS_NOTIFICATION) and IST erros.

Bug 200700404

Change-Id: I4a33756dd2f4b6715157a39d3dbc4d0d968fc52b
Signed-off-by: Preetham Chandru Ramchandra &lt;pchandru@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2525248
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tegra: safety-ivc: Fix the SCE-L1SS sync</title>
<updated>2021-04-23T02:10:29+00:00</updated>
<author>
<name>Mantravadi Karthik</name>
<email>mkarthik@nvidia.com</email>
</author>
<published>2021-04-16T08:17:14+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=5142af78a4131f9a29afb18cefeaec3c0f60b008'/>
<id>5142af78a4131f9a29afb18cefeaec3c0f60b008</id>
<content type='text'>
SCE-L1SS sync expects the ast-mapped address to
be sent from CCPLEX to SCE. Fixing this logic helped
SCE sync with CCPLEX.

CCPLEX logs:
ubuntu@tegra-ubuntu:~$ dmesg | grep tegra186-safety-ivc
[    4.505639] tegra186-safety-ivc b040000.sce: probing sce safety driver
[    4.505882] tegra186-safety-ivc b040000.sce: dma address = 0xffef0000
[    4.505897] tegra186-safety-ivc b040000.sce: cmdresp: RX: 0x0-0x1080 TX: 0x8000-0x9080
[    4.505902] tegra186-safety-ivc b040000.sce: hb: RX: 0x1400-0x14c0 TX: 0x9400-0x94c0
[    4.505906] tegra186-safety-ivc b040000.sce: mods: RX: 0x1500-0x1980 TX: 0x9500-0x9980
[    8.542842] tegra186-safety-ivc b040000.sce: safety: character device 0 registered
[    8.543059] tegra186-safety-ivc b040000.sce: safety: character device 1 registered
[    8.543226] tegra186-safety-ivc b040000.sce: safety: character device 2 registered
[    8.543365] tegra186-safety-ivc b040000.sce: successfully probed safety ivc driver

SCE uart Logs with debug prints:
[772801] : [  LOG    ] : Sce Booted : 1.4.0
[33746167] : [  LOG    ] : SceIvc_Init_Callback: Line 445:
[34246815] : [  LOG    ] : SceHsp_SM_Produced

[34662648] : [  LOG    ] : SceHsp_SM_Consume: Invoked

[34670879] : [  LOG    ] : SceHsp_SM_Consume: MB addr - 0c b168000, value - 0x81ffef00

[34678666] : [  LOG    ] : SceIvcHandshakePerformedCallback: Handshake done

[34688074] : [  LOG    ] : SceIvc_ChannelNotified: invoked

[34691072] : [  LOG    ] : SceIvc_ChannelNotified: invoked

[34698090] : [  LOG    ] : SceHsp_SM_Produce: 169: Invoked

[34702170] : [  LOG    ] : SceHsp_SM_Produce: 169: Invoked

[33745454] : [  ISR    ] : SceHsp_Irq: invoked

[34711495] : [  ERROR  ] : Fatal, SCE BL data invalid
[34719113] : [  ERROR  ] : DRAM Init Failed
[34727446] : [  INFO   ] : SCE-FW &amp; L1SS in sync
[34823406] : [  LOG    ] : Monitoring Failue

Bug 200700400

Change-Id: I40bbea06b42892d25408a2da317c831e12acfc9d
Signed-off-by: Mantravadi Karthik &lt;mkarthik@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2515929
Reviewed-by: Preetham Chandru &lt;pchandru@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@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>
SCE-L1SS sync expects the ast-mapped address to
be sent from CCPLEX to SCE. Fixing this logic helped
SCE sync with CCPLEX.

CCPLEX logs:
ubuntu@tegra-ubuntu:~$ dmesg | grep tegra186-safety-ivc
[    4.505639] tegra186-safety-ivc b040000.sce: probing sce safety driver
[    4.505882] tegra186-safety-ivc b040000.sce: dma address = 0xffef0000
[    4.505897] tegra186-safety-ivc b040000.sce: cmdresp: RX: 0x0-0x1080 TX: 0x8000-0x9080
[    4.505902] tegra186-safety-ivc b040000.sce: hb: RX: 0x1400-0x14c0 TX: 0x9400-0x94c0
[    4.505906] tegra186-safety-ivc b040000.sce: mods: RX: 0x1500-0x1980 TX: 0x9500-0x9980
[    8.542842] tegra186-safety-ivc b040000.sce: safety: character device 0 registered
[    8.543059] tegra186-safety-ivc b040000.sce: safety: character device 1 registered
[    8.543226] tegra186-safety-ivc b040000.sce: safety: character device 2 registered
[    8.543365] tegra186-safety-ivc b040000.sce: successfully probed safety ivc driver

SCE uart Logs with debug prints:
[772801] : [  LOG    ] : Sce Booted : 1.4.0
[33746167] : [  LOG    ] : SceIvc_Init_Callback: Line 445:
[34246815] : [  LOG    ] : SceHsp_SM_Produced

[34662648] : [  LOG    ] : SceHsp_SM_Consume: Invoked

[34670879] : [  LOG    ] : SceHsp_SM_Consume: MB addr - 0c b168000, value - 0x81ffef00

[34678666] : [  LOG    ] : SceIvcHandshakePerformedCallback: Handshake done

[34688074] : [  LOG    ] : SceIvc_ChannelNotified: invoked

[34691072] : [  LOG    ] : SceIvc_ChannelNotified: invoked

[34698090] : [  LOG    ] : SceHsp_SM_Produce: 169: Invoked

[34702170] : [  LOG    ] : SceHsp_SM_Produce: 169: Invoked

[33745454] : [  ISR    ] : SceHsp_Irq: invoked

[34711495] : [  ERROR  ] : Fatal, SCE BL data invalid
[34719113] : [  ERROR  ] : DRAM Init Failed
[34727446] : [  INFO   ] : SCE-FW &amp; L1SS in sync
[34823406] : [  LOG    ] : Monitoring Failue

Bug 200700400

Change-Id: I40bbea06b42892d25408a2da317c831e12acfc9d
Signed-off-by: Mantravadi Karthik &lt;mkarthik@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2515929
Reviewed-by: Preetham Chandru &lt;pchandru@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@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>tegra: Fix safety ivc driver</title>
<updated>2021-04-01T00:27:59+00:00</updated>
<author>
<name>Mantravadi Karthik</name>
<email>mkarthik@nvidia.com</email>
</author>
<published>2021-03-04T17:29:31+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=f29ac3683f835efefcfdf980779dcdde0b9d80b4'/>
<id>f29ac3683f835efefcfdf980779dcdde0b9d80b4</id>
<content type='text'>
* Fix safety ivc driver to remove unused cmd-pair.
* Update Makefile to use the correct defconfig.
* Add support for unit testing the safety-ivc driver
  guarded by CONFIG_TEGRA_SAFETY_IVC_DEBUG.

Bug 200700400

Change-Id: I479db5fcb4a57ad36c374fa3f137346e8582cb13
Signed-off-by: Mantravadi Karthik &lt;mkarthik@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2493498
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Reviewed-by: svc-mobile-coverity &lt;svc-mobile-coverity@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-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>
* Fix safety ivc driver to remove unused cmd-pair.
* Update Makefile to use the correct defconfig.
* Add support for unit testing the safety-ivc driver
  guarded by CONFIG_TEGRA_SAFETY_IVC_DEBUG.

Bug 200700400

Change-Id: I479db5fcb4a57ad36c374fa3f137346e8582cb13
Signed-off-by: Mantravadi Karthik &lt;mkarthik@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2493498
Tested-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
Reviewed-by: svc-mobile-coverity &lt;svc-mobile-coverity@nvidia.com&gt;
Reviewed-by: Bibek Basu &lt;bbasu@nvidia.com&gt;
Reviewed-by: mobile promotions &lt;svcmobile_promotions@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
</pre>
</div>
</content>
</entry>
<entry>
<title>platform: tegra: safety: Add multiple ivc channel support</title>
<updated>2017-08-11T06:04:20+00:00</updated>
<author>
<name>abhijit</name>
<email>abhijit@nvidia.com</email>
</author>
<published>2017-08-09T05:32:41+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=2d7dbdcbe0b595fccc3c6d09e92db4e8010d2ad0'/>
<id>2d7dbdcbe0b595fccc3c6d09e92db4e8010d2ad0</id>
<content type='text'>
Current safety ivc driver has support for single ivc channel which is used by
command/response safety module. This patch extends the driver functionality
to support multiple ivc channels, each exposed as char device to userspace
safety module. HeartBeat safety module will use one of the  ivc channel to
communicate with layer 2 (SCE) via this driver.

Bug 200267609

Change-Id: Ic9f83db90e2c6a4c9bf8d96d49753087817b7ad2
Reviewed-on: http://git-master/r/1310979
Signed-off-by: Abhijit &lt;abhijit@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1535492
Reviewed-by: svccoveritychecker &lt;svccoveritychecker@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sumeet Gupta &lt;sumeetg@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Current safety ivc driver has support for single ivc channel which is used by
command/response safety module. This patch extends the driver functionality
to support multiple ivc channels, each exposed as char device to userspace
safety module. HeartBeat safety module will use one of the  ivc channel to
communicate with layer 2 (SCE) via this driver.

Bug 200267609

Change-Id: Ic9f83db90e2c6a4c9bf8d96d49753087817b7ad2
Reviewed-on: http://git-master/r/1310979
Signed-off-by: Abhijit &lt;abhijit@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1535492
Reviewed-by: svccoveritychecker &lt;svccoveritychecker@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sumeet Gupta &lt;sumeetg@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>platform: tegra: safety: add CCPLEX-SCE ivc layer</title>
<updated>2017-08-11T06:04:19+00:00</updated>
<author>
<name>abhijit</name>
<email>abhijit@nvidia.com</email>
</author>
<published>2017-08-09T05:48:15+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/nvidia-tegra-modules.git/commit/?id=deb6c38501f09d84595ffec8c157c9c8e7d3dbea'/>
<id>deb6c38501f09d84595ffec8c157c9c8e7d3dbea</id>
<content type='text'>
This enables communication between CCPLEX and SCE over IVC channel for
safety modules. This also provides a userspace command response interface
as character device which will be used by other safety modules.

Bug 200267609

Change-Id: I9cdfb3997c459e3ec5ad5138e9c3fbb097223723
Reviewed-on: http://git-master/r/1287990
Signed-off-by: Abhijit &lt;abhijit@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1535491
Reviewed-by: svccoveritychecker &lt;svccoveritychecker@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sumeet Gupta &lt;sumeetg@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This enables communication between CCPLEX and SCE over IVC channel for
safety modules. This also provides a userspace command response interface
as character device which will be used by other safety modules.

Bug 200267609

Change-Id: I9cdfb3997c459e3ec5ad5138e9c3fbb097223723
Reviewed-on: http://git-master/r/1287990
Signed-off-by: Abhijit &lt;abhijit@nvidia.com&gt;
Reviewed-on: https://git-master.nvidia.com/r/1535491
Reviewed-by: svccoveritychecker &lt;svccoveritychecker@nvidia.com&gt;
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sumeet Gupta &lt;sumeetg@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
