diff options
author | Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> | 2010-10-19 16:45:29 +0200 |
---|---|---|
committer | Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> | 2010-10-23 13:29:45 +0200 |
commit | 9b92f5f8d7a2043ac5593439761c8976552a3cc3 (patch) | |
tree | 1beb1deae08c69586e5c6703cb5587b5cdfa5224 /Documentation | |
parent | cfba74a1ded6c6b1711a6c87a55a08ae3bfd04e0 (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/Makefile | 2 | ||||
-rw-r--r-- | Documentation/DocBook/shrm.tmpl | 140 |
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> |