aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorMian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>2010-10-19 16:45:29 +0200
committerMian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>2010-10-23 13:29:45 +0200
commit9b92f5f8d7a2043ac5593439761c8976552a3cc3 (patch)
tree1beb1deae08c69586e5c6703cb5587b5cdfa5224 /Documentation
parentcfba74a1ded6c6b1711a6c87a55a08ae3bfd04e0 (diff)
add shared memory (shrm) driver
This patch is based on the follwoing work: u8500_shrm: Add support for Modem silent reboot ST-Ericsson ID: CR258978 Author: Kumar Sanghvi <kumar.sanghvi@stericsson.com> u8500-shrm: debug print on modem reset ST-Ericsson ID: ER274027, ER273871 Author: Magnus Templing <magnus.templing@stericsson.com> u8500_shrm: Don't update L1 msg counter in case of error ST-Ericsson ID: ER272529 Author: Kumar Sanghvi <kumar.sanghvi@stericsson.com> u8500-shrm: Drop use of deprecated PRCMU API ST-Ericsson ID: AP272364 Author: Kumar Sanghvi <kumar.sanghvi@stericsson.com> u8500-shrm: return error in case of buffer overflow ST-Ericsson ID: ER272529 Author: Arun Murthy <arun.murthy@stericsson.com> u8500-shrm: fix coverity issues ST-Ericsson ID: ER272340 Author: Arun Murthy <arun.murthy@stericsson.com> u8500-shrm: add shrm loopback testing device ST-Ericsson ID: ER269942 Author: Arun Murthy <arun.murthy@stericsson.com> u8500-shrm: Fix null pointer dereference in shrm suspend ST-Ericsson ID: ER269866 Author: Kumar Sanghvi <kumar.sanghvi@stericsson.com> u8500_shrm: added DocBook for shrm driver ST-Ericsson ID: AP266911 Author: Arun Murthy <arun.murthy@stericsson.com> u8500_shrm: fix for coverity issues in shrm driver ST-Ericsson ID: ER269641 Author: Arun Murthy <arun.murthy@stericsson.com> u8500-shrm: Add net_device interface implementation ST-Ericsson ID: AP266911 Author: Kumar Sanghvi <kumar.sanghvi@stericsson.com> u8500-shrm: Shrm driver cleanup and char device separation ST-Ericsson ID: AP266911 Author: Arun Murthy <arun.murthy@stericsson.com> shrm: isa_write: protect common and audio channel ST-Ericsson ID: ER266913 Author: Arun Murthy <arun.murthy@stericsson.com> u8500-shrm: Optimise SHRM V1 updates ST-Ericsson ID: ER263237 Author: Biju C Das <Biju.Das@stericsson.com> Introduce CPU Idle support from modem(DV6) ST-Ericsson ID: WP260931 Author: Biju C Das <biju.das@stericsson.com> Removed warnings in Phonet & SHRM Driver Author: B Sampath Kumar <sampath.kumar@stericsson.com> u8500-shrm: Wait 5msec, after getting ca_sleep, before calling Author: Kumar Sanghvi <kumar.sanghvi@stericsson.com> u8500-shrm: Adding PM Suspend / Resume for SHRM driver. Author: Kumar Sanghvi <kumar.sanghvi@stericsson.com> SHRM: Enable prcm_hostaccess_req bit 1 as HIGH for the modem boot ST-Ericsson ID: ER257861 Author: Kumar Sanghvi <Kumar.Sanghvi@stericsson.com> PRCMU, SHRM: Hooking modem reset request from PRCMU with SHRM Author: Kumar Sanghvi <Kumar.Sanghvi@stericsson.com> Author: Kumar Sanghvi <Kumar.Sanghvi@stericsson.com> SHRM: Reverted SHM_IPC_BASE_AMCU to be in synch with ED_v1 Modem image SHRM: Registering a callback function with PRCMU for handling ca_wake_req / ca_sleep_req Author: Kumar Sanghvi <Kumar.Sanghvi@stericsson.com> shrm: update for v1 Author: Biju C Das <biju.das@stericsson.com> Moreover, html documentation is also added in DocBook Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/DocBook/Makefile2
-rw-r--r--Documentation/DocBook/shrm.tmpl140
2 files changed, 141 insertions, 1 deletions
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index bc0ef338082..f0a6af3238f 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -17,7 +17,7 @@ DOCBOOKS := z8530book.xml mcabook.xml device-drivers.xml \
tracepoint.xml media.xml drm.xml dma.xml \
ske_keypad.xml ste_ff_vibra.xml \
mmc.xml \
- touchp.xml tc_keypad.xml stmpe.xml
+ touchp.xml tc_keypad.xml stmpe.xml shrm.xml
###
# The build process is as follows (targets):
diff --git a/Documentation/DocBook/shrm.tmpl b/Documentation/DocBook/shrm.tmpl
new file mode 100644
index 00000000000..ce5800f5263
--- /dev/null
+++ b/Documentation/DocBook/shrm.tmpl
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
+
+<book id="SHRM">
+ <bookinfo>
+ <title>Shared Memory</title>
+
+ <authorgroup>
+ <author>
+ <firstname>Biju</firstname>
+ <surname>Das</surname>
+ <affiliation>
+ <address>
+ <email>biju.das@stericsson.com</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Kumar</firstname>
+ <surname>Sanghvi</surname>
+ <affiliation>
+ <address>
+ <email>kumar.sanghvi@stericsson.com</email>
+ </address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Arun</firstname>
+ <surname>Murthy</surname>
+ <affiliation>
+ <address>
+ <email>arun.murthy@stericsson.com</email>
+ </address>
+ </affiliation>
+ </author>
+ </authorgroup>
+
+ <copyright>
+ <year>2009-2010</year>
+ <holder>ST-Ericsson</holder>
+ </copyright>
+
+ <subjectset>
+ <subject>
+ <subjectterm>Linux standard functions</subjectterm>
+ </subject>
+ </subjectset>
+
+ <legalnotice>
+ <!-- Do NOT remove the legal notice below -->
+ <para>
+ Licence terms: GNU General Public Licence (GPL) version 2.
+ </para>
+ </legalnotice>
+ </bookinfo>
+
+<toc></toc>
+ <chapter id="intro">
+ <title>Introduction</title>
+ <para>
+ This Documentation describes the ST-Ericsson's adaptation on protocol used for CMT/APE communication when SHaRedMemory is used as IPC link.
+ </para>
+ </chapter>
+
+ <chapter id="design">
+ <title>Design</title>
+ <para>
+ The APE consists Cortex A9 dual core SMP, a multimedia DSP and PRCMU. Modem consists of 2 Cortex R4 ARM processor.
+ The exchange of messages between CMT(Cellular Mobile Terminal) and APE includes copying the data to a shared area DDR. This region is accessible by both CMT and APE. The design includes 2 channels common and audio. Common channel is used for exchanging ISI, RPC and SECURITY messages. Audio channel is used for exchanging AUDIO messages. Each channel consists of 2 FIFO. One FIFO for sending message from CMT to APE and other from APE to CMT. Each of these FIFO have write and read pointer shared between APE and CMT. Writer pointer is updated on copying the message to FIFO and reader will read the messages from the read pointer upto the writer pointer. Writer and reader notifications are used to notify the completion of read/write operation(seperate for APE and CMT). Driver includes 4 queues. Once the messages are sent from CMT to APE it resides in the FIFO and then copied to one of the 4 queues based on the message type(ISI, RPC, AUDIO, SECURITY) and then the net/char device interface fetches this message from the queue and copies to the user space buffer.
+ </para>
+ </chapter>
+
+ <chapter id="concepts">
+ <title>Concepts</title>
+ <para>
+ The user space application sends ISI/RPC/AUDIO/SECURITY messages. ISI is sent through the phonet to shrm driver. For achieving this there are 2 interfaces to the shrm driver. Net interface used for exchanging the ISI message and char interface for RPC, AUDIO and SECURITY messages. On receiving any of these messages from the user space application, it is copied to a memory in kernel space. From here it is then copied to respective FIFO from where the CMT reads the message.
+ CMT(Cellular Mobile Terminal) writes messages to the respective FIFO and thereafter to respective queue. The net/char device copies this message from the queue to the user space buffer.
+ </para>
+ </chapter>
+
+ <chapter id="bugs">
+ <title>Known Bugs And Assumptions</title>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>None</term>
+ <listitem>
+ <para>
+ Assumptions
+ 1. ApeShmFifo#0 is of 128kB in size. As this is used for transmission except CS audio call data. Expected message size is 1.5kB with a max of 16kB.
+ 2. ApeShmFifo#1 is of 4kB in size. This is used for transmission of CS audio call data. Expected message size is 24kb.
+ 3. CmtShmFifo#0 is of 128kB in size. As this is used for transmission except CS audio call data. Expected message size is 1.5kB with a max of 16kB.
+ 4. CmtShmFifo#1 is of 4kB in size. This is used for transmission of CS audio call data. Expected message size is 24kb.
+ The total size of the FIFO is 264 kB.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </chapter>
+
+ <chapter id="pubfunctions">
+ <title>Public Functions Provided</title>
+ <para>
+ This Section lists the API's provided by the SHRM driver to phonet drivers.
+ </para>
+!Edrivers/net/u8500_shrm.c
+ <para>
+ This Section lists the API's provided by the SHRM driver used in transmission of RPC, AUDIO and SECURITY messages.
+ </para>
+!Edrivers/char/shrm_char.c
+ </chapter>
+
+ <chapter id="private">
+ <title>Private Functions</title>
+ <para>
+ This Section lists the functions used internally by the SHRM driver to implement FIFO management. It physically reads/writes data to/from memory.
+ </para>
+!Idrivers/misc/shrm/shrm_fifo.c
+ <para>
+ This Section lists the functions used internally by the SHRM driver to implement the SHM protocol and handle all interrupt callback.
+ </para>
+!Idrivers/misc/shrm/shrm_protocol.c
+ <para>
+ This Section lists the functions used internally by the SHRM driver to implement Modem-Host communication L1 interface specifications.
+ </para>
+!Idrivers/misc/shrm/modem_shrm_driver.c
+ </chapter>
+
+ <chapter id="Other">
+ <title>Other Data Structures</title>
+ <para>
+ This Section lists some of the Data structure used by the SHRM driver.
+ </para>
+!Iarch/arm/mach-ux500/include/mach/shrm.h
+!Iarch/arm/mach-ux500/include/mach/shrm_driver.h
+!Iarch/arm/mach-ux500/include/mach/shrm_private.h
+ </chapter>
+</book>