android-sdk/kernel-video.git
7 years agodisplays: panel: lg101: set up the ser/deser link from probe fpdlink
Somnath Mukherjee [Wed, 26 Feb 2014 05:20:42 +0000 (10:50 +0530)]
displays: panel: lg101: set up the ser/deser link from probe

Setting the ser/deser link from the probe function itself. Otherwise,
with earlier implementation, the driver was getting registered followed by
attachment to drm core, even when there was no deserializer h/w and display
connected. This sohuld not have happened.
Apart from the above reason, setting up the ser/deser link dynamically in the
_enable(), as it were, would have given rise to a race condition where i2c2
was being used by the lg101 panel driver and also "abused" by the hdmi driver
due tolimitaiton in the evm h/w. With this change in place, the ser/deser link
setup would happen only once during the lg101_probe().

Change-Id: Ib76a923bd343c8f856f2e8ac149a299953945cba
Signed-off-by: Somnath Mukherjee <somnath@ti.com>
7 years agoSERLINK: Add support for ds90ub913aq
Nikhil Devshatwar [Tue, 26 Nov 2013 14:15:28 +0000 (19:45 +0530)]
SERLINK: Add support for ds90ub913aq

Add support for serializer for cameras connected through serdes setup.
Adds a new command SER_SETUP_MULTIDES which does following:
- Reset the chip
- Configure config0 register
- Enable GPIO0

Change-Id: I53129a0060d6ebcb698fbef098ff7ebd2a9da1c1
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
7 years agoDESERLINK: Add support for ds90ub914aq
Nikhil Devshatwar [Tue, 26 Nov 2013 16:36:56 +0000 (22:06 +0530)]
DESERLINK: Add support for ds90ub914aq

Add support for deserializer for cameras connected through serdes setup.
Check against a set of supported deserializer addresses
Adds a new command DSER_SETUP_MULTIDES which does following:
- Reset the chip - enable back channel
- Configure config1 register
- Setup serializer and sensor alias

Change-Id: I06c4c39007f0c022d27a26ecad6a13c74848f6e8
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
7 years agoOMAPDSS: Display: update fpdlink driver to return err on no link
srinivas pulukuru [Wed, 13 Nov 2013 09:40:23 +0000 (03:40 -0600)]
OMAPDSS: Display: update fpdlink driver to return err on no link

fpdlink driver was not returning success on link not present.
fix it ro return -ENODEV

Change-Id: I543ec083267f950fa34b750952ad15c7999d20dc
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoDESERLINK: correct NULL check for read and write
Nikhil Devshatwar [Fri, 22 Nov 2013 05:40:05 +0000 (11:10 +0530)]
DESERLINK: correct NULL check for read and write

Issue read / write only if pd is not NULL

Change-Id: I1252bebcd982025837dd266e1c84bfd3993a5782
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
7 years agoSERLINK: correct NULL check for read and write
Nikhil Devshatwar [Fri, 22 Nov 2013 05:36:50 +0000 (11:06 +0530)]
SERLINK: correct NULL check for read and write

Issue read / write only if pd is not NULL

Change-Id: I8138f5a2926874b9bd14c380a41e0e295d4983e3
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
7 years agoOMAPDSS: LCD Panel: Retain GPMC-FPDLINK GPIO to high in panel probe
Subramaniam Chanderashekarapuram [Tue, 5 Nov 2013 21:06:09 +0000 (16:06 -0500)]
OMAPDSS: LCD Panel: Retain GPMC-FPDLINK GPIO to high in panel probe

The gpio pin used in this panel via a pcf gpio expander
is used to select between GPMC and VOUT3.

GPIO PIN SELECTION
-------------------------
HIGH GPMC INTERFACE
LOW VOUT3

Since the default setting should select GPMC, set the
GPIO to be in default value (HIGH).

It is required to have GPMC selected since ROM code hangs
after soft reset. Currently we have the GPIO pulled low causing
the softreset to fail due to hang.

To temporary overcome this issue when FPDLINK panel is not
connected we keep the GPIO as HIGH.

WHEN FPDLINK IS CONNECTED WE ARE EXPECTING THE SOFTRESET TO HANG

Change-Id: I9a121e328206e4d6b94f4302f3537696afe1a1eb
Signed-off-by: Subramaniam Chanderashekarapuram <subramaniam.ca@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
7 years agodra7-dts-evm: Add deserilizer device
Dandawate Saket [Mon, 14 Oct 2013 06:21:58 +0000 (23:21 -0700)]
dra7-dts-evm: Add deserilizer device

Add device creation for deserilizer.

Change-Id: I9f2113d83e3dd6ac739853b3c13b87bfd9ce1fa1
Signed-off-by: Dandawate Saket <dsaket@ti.com>
7 years agodts-evm: Add support for FPD device creation
Dandawate Saket [Wed, 9 Oct 2013 01:42:08 +0000 (18:42 -0700)]
dts-evm: Add support for FPD device creation

Add support for FPD device creation.

Change-Id: I6a7dcae1180ea6dd0a52b6ee84b71760241baf83
Signed-off-by: Dandawate Saket <dsaket@ti.com>
7 years agodts: FPDLINK: Add lg101 panel device
Dandawate Saket [Thu, 17 Oct 2013 06:20:03 +0000 (23:20 -0700)]
dts: FPDLINK: Add lg101 panel device

Add LCD3 based LG panel device creation.

Make display2 as fpdlink display with channel id 3.

Change-Id: I1d52a8cc434d25457028c265e34c4ac1dd703c28
Signed-off-by: Dandawate Saket <dsaket@ti.com>
7 years agoOMAPDSS: Panel: add deserilzer support
Dandawate Saket [Fri, 11 Oct 2013 21:41:06 +0000 (14:41 -0700)]
OMAPDSS: Panel: add deserilzer support

Add deserializer support

Change-Id: Iddc8f361dcbc05c92e8f1d222d028f7c40dc7671
Signed-off-by: Dandawate Saket <dsaket@ti.com>
7 years agoDeserializer: Add support for deserializer
Dandawate Saket [Fri, 11 Oct 2013 21:36:42 +0000 (14:36 -0700)]
Deserializer: Add support for deserializer

Deserilizer will take differential link data and convert
to LVDS signal for the panel to understand

Change-Id: I2970bac4c3d021cbb7a6a78a2971f3a515c86d89
Signed-off-by: Dandawate Saket <dsaket@ti.com>
7 years agoPANEL: ADD Serializer Support
Dandawate Saket [Wed, 9 Oct 2013 21:29:05 +0000 (14:29 -0700)]
PANEL: ADD Serializer Support

Add Serializer support in panel driver.

Change-Id: I29056b9a3b633139426ef628db2da9b21392f706
Signed-off-by: Dandawate Saket <dsaket@ti.com>
7 years agoSERLINK: Support for serial link
Dandawate Saket [Tue, 8 Oct 2013 19:01:04 +0000 (12:01 -0700)]
SERLINK: Support for serial link

Add basic support for enabling serial link.

Change-Id: I599dbc6039a654a212379b36b50b49859b08e5e5
Signed-off-by: Dandawate Saket <dsaket@ti.com>
7 years agoOMAPDSS: PANEL: Add driver to support LG101 display
Dandawate Saket [Sun, 6 Oct 2013 21:52:13 +0000 (14:52 -0700)]
OMAPDSS: PANEL: Add driver to support LG101 display

Add driver to support LG101 chalk display using dts

Change-Id: I1b6d3431a8d65bc03ddf3bfd24793e04003d5d78
Signed-off-by: Dandawate Saket <dsaket@ti.com>
7 years agoMerge branch 'vip' into p-ti-linux-3.8.y-video
Arthur Philpott [Fri, 18 Oct 2013 00:00:21 +0000 (19:00 -0500)]
Merge branch 'vip' into p-ti-linux-3.8.y-video

* vip:
  VPDMA FW: Include VPDMA FW in kernel firmware directory

Change-Id: Ica8117b3e6d91142e73f500cf55f5c8b1aacecc7
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
7 years agoVPDMA FW: Include VPDMA FW in kernel firmware directory.
Arthur Philpott [Thu, 17 Oct 2013 23:41:11 +0000 (18:41 -0500)]
VPDMA FW: Include VPDMA FW in kernel firmware directory.

Ease deployment and include the VPDMA firmware in build/install.

Change-Id: I28449361aa19e2c328c2e583d2faaac51a5d6ed5
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
7 years agoARM: dts: dra7-evm: Add MCASP8 pins to select HDMI/I2c2
srinivas pulukuru [Thu, 17 Oct 2013 19:04:22 +0000 (14:04 -0500)]
ARM: dts: dra7-evm: Add MCASP8 pins to select HDMI/I2c2

Add MCASP8 pins to control selection between HDMI and I2C2

Change-Id: I9a1cf062cbc19012c80c26df2a356f87e25c7551

7 years agoMerge branch 'dss' into p-ti-linux-3.8.y-video
srinivas pulukuru [Thu, 17 Oct 2013 19:00:12 +0000 (14:00 -0500)]
Merge branch 'dss' into p-ti-linux-3.8.y-video

* dss:
  OMAPDSS: DSS: Add DSS WB support
  DISPC: Add force 1D tiled mode support
  OMAPDSS: DISPC: Errata ID: i631: Wrong Access In 1D Burst For YUV4:2:0-NV12 Format
  OMAPDSS: DISPC: Protect the dispc error worker from NULL pointer
  OMAPDSS: DISPC: gracefully disable overlay at error
  OMAPDSS: DISPC: set preload to high threshold to avoid FIFO underflow

Change-Id: I859616a99a5e8a98d23b53b8016e7ce1d75412f6
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: DSS: Add DSS WB support
srinivas pulukuru [Tue, 15 Oct 2013 05:42:47 +0000 (00:42 -0500)]
OMAPDSS: DSS: Add DSS WB support

Add DSS WB support

Change-Id: Ia3292b17ccce48cdaa1fe45d389db690ac84926d
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
7 years agoDISPC: Add force 1D tiled mode support
srinivas pulukuru [Wed, 18 Sep 2013 13:17:06 +0000 (08:17 -0500)]
DISPC: Add force 1D tiled mode support

 Descrition: omap5 es2.0 silicon allows 1d accesses to tiled regions. This is
 done to allow skipping multiple lines in tiled address space.

 the ddma of es1.0 silicon generates ocp bus error upon trying to do 1d access
 in tiled address space. This limitation is removed in es2.0 silicon by adding
 a new bit field FORCE1DTILEDMODE which allows the ddma to do 1d access in tiled
 address space.

 This patch adds framework support for accessing this new bit field. The actual
 implementation of this feature is application specific and is not part of this
 patch.

Change-Id: I528883ba8ac94508a7269841cb56f99ad53b6602
Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com>
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: DISPC: Errata ID: i631: Wrong Access In 1D Burst For YUV4:2:0-NV12 Format
srinivas pulukuru [Mon, 10 Jun 2013 18:38:12 +0000 (13:38 -0500)]
OMAPDSS: DISPC: Errata ID: i631: Wrong Access In 1D Burst For YUV4:2:0-NV12 Format

Errata DESCRIPTION:
When in YUV4:2:0 format in 1D burst, the DISPC DMA skips lines when fetching Chroma sampling.

WORKAROUND:
If YUV4:2:0-1D burst is required:
Set DISPC_VIDp_ATTRIBUTES[22]DOUBLESTRIDE to 0x0 and
DISPC_VIDp_ATTRIBUTES[13:12]ROTATION to 0x1 or 0x3

Change-Id: I8cb408418be35850ec48e01f9d23da8f182901c9
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: DISPC: Protect the dispc error worker from NULL pointer
srinivas pulukuru [Wed, 18 Sep 2013 19:08:09 +0000 (14:08 -0500)]
OMAPDSS: DISPC: Protect the dispc error worker from NULL pointer

 With HDMI default display the mgr and mgr->device will be NULL
 which causes a panic.
 Protect against dereferencing a NULL pointer

Change-Id: If61266229ce762842dd21f3cbfe61d82b3b51b72
Author: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: DISPC: gracefully disable overlay at error
srinivas pulukuru [Tue, 17 Sep 2013 20:39:59 +0000 (15:39 -0500)]
OMAPDSS: DISPC: gracefully disable overlay at error

Disable overlay via ovl->disable() interface, which will
properly set flags in cache and GO bits for managers.
This allows overlay user to re-enable it on next frame,
thus recovering from FIFO underflows.

Author: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
Change-Id: Iafeea91196efae82e81b41c637848accd80c07d6
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: DISPC: set preload to high threshold to avoid FIFO underflow
srinivas pulukuru [Mon, 16 Sep 2013 16:59:34 +0000 (11:59 -0500)]
OMAPDSS: DISPC: set preload to high threshold to avoid FIFO underflow

set preload to high threshold to avoid FIFO underflow in HDMI

Change-Id: Ia21692755cc5fa1f7d829ee6faf6ce93ac1388ab
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoMerge branch 'hdmi-linux' into p-ti-linux-3.8.y-video
srinivas pulukuru [Thu, 17 Oct 2013 18:54:54 +0000 (13:54 -0500)]
Merge branch 'hdmi-linux' into p-ti-linux-3.8.y-video

* hdmi-linux:
  OMAPDSS: HDMI: allow hdmi timing change without cable plugged in.
  OMAPDSS: HDMI: Remove warnings from unused functions
  OMAPDSS: HDMI: HDCP: Add HDCP Driver
  OMAPDSS: HDMI: Add support for HDCP driver
  HACK: OMAPDSS: HDMI: set DSS_CLKSTCTRL in SW_WKUP to enable edid read
  OMAPDSS: HDMI: Add support for edid read through DDC and I2C2
  OMAPDSS: HDMI: Add sysfs entries for hdmi_timings and edid
  OMAPDSS: HDMI: Enable HPD switch implementation
  OMAPDSS: HDMI: Add support for HDMI HPD
  OMAPDSS: HDMI: Add fb mode support

Change-Id: Ie0afd68b4b59749639d71c22fb0002d68028f7b9
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: HDMI: allow hdmi timing change without cable plugged in.
srinivas pulukuru [Thu, 17 Oct 2013 18:40:44 +0000 (13:40 -0500)]
OMAPDSS: HDMI: allow hdmi timing change without cable plugged in.

 This patch allows the hdmi timings to be changed without the cable
 plugged in.
 For the timing change to work properly, connect the cable the
 first time and let the HDMI configure correctly.
 Cable can be removed for the subsequent timing changes.

 Change-Id: I6efb3cae7ba8f6cfbc91d1612ba21a032552e144
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
Change-Id: I80e860e17df3545804e7ee0c3e523beb3c606094

7 years agoOMAPDSS: HDMI: Remove warnings from unused functions
srinivas pulukuru [Wed, 25 Sep 2013 20:40:29 +0000 (15:40 -0500)]
OMAPDSS: HDMI: Remove warnings from unused functions

Some funtions were hidden due to FBMODE macros causing warnings

Change-Id: I6214e03e71d847bf72cc9baa60151997830808ed
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: HDMI: HDCP: Add HDCP Driver
srinivas pulukuru [Mon, 12 Aug 2013 19:37:09 +0000 (14:37 -0500)]
OMAPDSS: HDMI: HDCP: Add HDCP Driver

Add HDCP driver and add support for HDCP driver in HDMI driver

Change-Id: I1a064f735acfe9ba6a67da4e88679ec4b5d64d9d
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: HDMI: Add support for HDCP driver
srinivas pulukuru [Thu, 17 Oct 2013 18:38:40 +0000 (13:38 -0500)]
OMAPDSS: HDMI: Add support for HDCP driver

Add support for HDCP driver in HDMI ip and source files

Change-Id: Ib3663a2ea3bf438bc35ee0bb0d825dba94bdda7f
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoHACK: OMAPDSS: HDMI: set DSS_CLKSTCTRL in SW_WKUP to enable edid read
srinivas pulukuru [Fri, 26 Jul 2013 05:06:39 +0000 (00:06 -0500)]
HACK: OMAPDSS: HDMI: set DSS_CLKSTCTRL in SW_WKUP to enable edid read

Edid read fails when DSS Clock domain is in HW_AUTO. Set it to SW_WKUP
to enable DSS_L3_GICLK all the time when reading EDID.
Revert back to HW_AUTO when done with reading.

Change-Id: I48b357ab6b537886de2c522a171f9aaa3245daf3
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: HDMI: Add support for edid read through DDC and I2C2
srinivas pulukuru [Thu, 17 Oct 2013 18:31:12 +0000 (13:31 -0500)]
OMAPDSS: HDMI: Add support for edid read through DDC and I2C2

 Added a config option to swtich edid read between DDC and I2C2.

 Set muxmode for for DDC or I2C2 based on the config option.

 Change the SEL_HDMI_I2C2 mux selector pin from MCASP2_ACLKR to MCASP8_AXR2
 Switching to MCASP8 to avoid configuring the current McASP2 PFUNC/PDIR
 registers from both ARM and DSP.

 Change-Id: If029ce1ea05fd787f106ea13db0bd40d2f7dc2a5
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
Signed-off-by: archit taneja <archit@ti.com>
Change-Id: I8f98016f3c55835a8d6cb2f4778c2a2838dcaead

7 years agoOMAPDSS: HDMI: Add sysfs entries for hdmi_timings and edid
srinivas pulukuru [Thu, 17 Oct 2013 18:27:05 +0000 (13:27 -0500)]
OMAPDSS: HDMI: Add sysfs entries for hdmi_timings and edid

Add hdmi_timings and edid sysfs entries.

Change-Id: Iaacb005410fb1dff35bbf1f6ecc2c4702c948606
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: HDMI: Enable HPD switch implementation
srinivas pulukuru [Thu, 1 Aug 2013 21:50:54 +0000 (16:50 -0500)]
OMAPDSS: HDMI: Enable HPD switch implementation

Add switch implementation and propagate switch state on  HPD

Change-Id: Ia74c907a10d7958d0750dc879d687eb56ecd2ce3
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: HDMI: Add support for HDMI HPD
srinivas pulukuru [Thu, 17 Oct 2013 18:21:59 +0000 (13:21 -0500)]
OMAPDSS: HDMI: Add support for HDMI HPD

Add hpd support in hdmi_panel and remove from hdmi_ip file
Enable hpd during bootup.

Added a new file hdmi.h. Going forward this file will include
all the hdmi interface driver declarations/definitions

Change-Id: I40b3172585bc7141981edc785ae706393a0b82b8
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: HDMI: Add fb mode support
srinivas pulukuru [Thu, 17 Oct 2013 16:38:23 +0000 (11:38 -0500)]
OMAPDSS: HDMI: Add fb mode support

Add fb mode db support for reading edid

Change-Id: I3a1e67042d67f827562682d6336f2df6319e1d36
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoMerge branch 'dss' into p-ti-linux-3.8.y-video
srinivas pulukuru [Thu, 17 Oct 2013 18:51:38 +0000 (13:51 -0500)]
Merge branch 'dss' into p-ti-linux-3.8.y-video

* dss:
  OMAPDSS: DSS: enable dispc_clk_source selection from HDMI

Change-Id: I982cbeb16ee25e44f1442438492002481075c692
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoOMAPDSS: DSS: enable dispc_clk_source selection from HDMI
srinivas pulukuru [Thu, 17 Oct 2013 16:35:54 +0000 (11:35 -0500)]
OMAPDSS: DSS: enable dispc_clk_source selection from HDMI

 enable dispc_clk_source selection from HDMI

Change-Id: I969ed6809904a73b68272369568c3595fefc1e3e
Signed-off-by: srinivas pulukuru <srinivas.pulukuru@ti.com>
7 years agoMerge branch 'vip' into p-ti-linux-3.8.y-video
Arthur Philpott [Tue, 15 Oct 2013 22:17:51 +0000 (17:17 -0500)]
Merge branch 'vip' into p-ti-linux-3.8.y-video

This merge contains all of the VIP changes.
It enables functionality of the OV10635
sensor. It also combines the VIP and VPE
into one common directory in order to utilize
the shared VPDMA library.

* vip:
  i2c: Add support for OV10635 sensor
  VIP: Added Support for OV10635 sensor
  i2c: Added device tree support for OV10635 sensor
  v4l2: Added v4l2 asynchronous probing capabilities
  VIP: Add device tree support for VIP
  Added Kconfig for vpdma
  VIP: Initial version of DRA7xx VIP driver

Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
7 years agoi2c: Add support for OV10635 sensor
Arthur Philpott [Mon, 9 Sep 2013 22:18:31 +0000 (17:18 -0500)]
i2c: Add support for OV10635 sensor

Added driver support for OV10635 sensor.

Change-Id: I3971f746366c82abd536c3179884cb30599fcb13
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
[Fixed checkpatch error]
Signed-off-by: Somnath Mukherjee <somnath@ti.com>
7 years agoVIP: Added Support for OV10635 sensor
Arthur Philpott [Mon, 9 Sep 2013 22:23:30 +0000 (17:23 -0500)]
VIP: Added Support for OV10635 sensor

Added support for OV10635 sensor in the VIP driver.

Change-Id: Ie9d16f02add9d16c9686abafff5fbf36218b4304
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
[Fixed checkpatch error]
Signed-off-by: Somnath Mukherjee <somnath@ti.com>
7 years agoi2c: Added device tree support for OV10635 sensor
Arthur Philpott [Mon, 9 Sep 2013 22:19:29 +0000 (17:19 -0500)]
i2c: Added device tree support for OV10635 sensor

-Added device tree support for OV10635 sensor.
-Disabled HDMI because there is a conflict between
 HDMI and VIP muxing on the pc8575.

Change-Id: I8309e3339e7a876a9b9562b0c25d8030812de51d
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
7 years agov4l2: Added v4l2 asynchronous probing capabilities
Arthur Philpott [Mon, 9 Sep 2013 22:15:48 +0000 (17:15 -0500)]
v4l2: Added v4l2 asynchronous probing capabilities

Added v4l2 asynchronous probing capabilities.

Change-Id: I9ed6f0d1f056b79d2bd66e668f65ac129d1d631e
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
7 years agoVIP: Add device tree support for VIP
Arthur Philpott [Mon, 9 Sep 2013 19:17:08 +0000 (14:17 -0500)]
VIP: Add device tree support for VIP

Add device tree support for VIP.

Change-Id: Iefbae706f8186698500df6d2942a9775f50f2fba
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
7 years agoAdded Kconfig for vpdma
Nikhil Devshatwar [Wed, 2 Oct 2013 19:56:12 +0000 (01:26 +0530)]
Added Kconfig for vpdma

Added one Kconfig for VPDMA
This solved the redeclaration errors for vpdma
functions.

Change-Id: I949afe1df6d19cf5bfd06b38fe01df789143c4bb
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Conflicts:
drivers/media/platform/Makefile

7 years agoVIP: Initial version of DRA7xx VIP driver
Dale Farnsworth [Mon, 9 Sep 2013 18:54:39 +0000 (13:54 -0500)]
VIP: Initial version of DRA7xx VIP driver

This is a very preliminary version of the driver based
on what was given by Dale Farnsworth and the LCPD team.

Change-Id: Iff588c128f4e483d75a11393822f4c31baa168bc
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
[Fixed checkpatch errors]
Signed-off-by: Somnath Mukherjee <somnath@ti.com>
7 years agoMerge remote-tracking branch 'origin/dss' into p-ti-linux-3.8.y-video
Praneeth Bajjuri [Tue, 24 Sep 2013 16:54:58 +0000 (11:54 -0500)]
Merge remote-tracking branch 'origin/dss' into p-ti-linux-3.8.y-video

* origin/dss:
  OMAPDSS: DISPC: Remove reduntant code for passing plane info

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
7 years agoOMAPDSS: DISPC: Remove reduntant code for passing plane info
srinivas pulukuru [Mon, 23 Sep 2013 04:00:17 +0000 (23:00 -0500)]
OMAPDSS: DISPC: Remove reduntant code for passing plane info

overlay id is being retrived from overlay that was not initialized during probe.
This will cause NULL pointer exception when accessing the ovl->id
directly when initializing the DISPC without initializing the
overlas/managers during probe.

overlays/managers are being initialized during probe with a call
to omapdss_compat_init(). This call is being made from dsscomp or omapfb
probe. if either of these components are not used by the rendering engine
then it will cause NULL pointer exception when accessing overlays frmo DISPC.

Change-Id: I2c98aa5de4f3bf2a4ea6206f0f605d24343e9996
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
7 years agoMerge branch 'gc320' into p-ti-linux-3.8.y-video
Sundar Raman [Tue, 17 Sep 2013 20:12:44 +0000 (15:12 -0500)]
Merge branch 'gc320' into p-ti-linux-3.8.y-video

Merge gc320 feature branch into common kernel branch for
gc320 driver sharing.

* gc320:
  gc320: Fix MMU error issue
  ARM: OMAP5/DRA7: hwmod: add ADDR_TYPE_RT to bb2d address flags
  gc320: gcx: [WA] Allocate MMU page tables as non cached
  gc320: Added  missing programming of MTLB base second time
  gc320: adding gcxxx support in Makefiles
  gc320: Adapt GC320 driver for K3.8
  devices: Initialize GC320 as part of devices init
  platform_data: Added platform data for GC320
  gc320: OMAP4: Adding cache-2dmanager
  Initial Open Color format Definitions (OCD).
  OMAP4:GCXXX: Fixing build warnings
  OMAP4: adding Vivante Corp 2/3D gcxxx driver files
  OMAP4: adding BLTsville header files
  Initial BLTsville API definition.

Change-Id: I84cbe026f20439a18650466f0e6e9c819aeac499
Signed-off-by: Sundar Raman <sunds@ti.com>
7 years agogc320: Fix MMU error issue gc320
ye.feng [Mon, 9 Sep 2013 03:12:02 +0000 (11:12 +0800)]
gc320: Fix MMU error issue

Earlier every second run of a GC320 test case after a boot
crashed with MMU fault. Updated logical address as well when
current command queue was not mapped yet.
This patch addresses this mmu error issue.

Change-Id: Ic1c0f14ea1c9e74099adbab1e69c9c0b74b6f804
Signed-off-by: Yi Zhang <yi.zhang@vivantecorp.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agoARM: OMAP5/DRA7: hwmod: add ADDR_TYPE_RT to bb2d address flags
Sundar Raman [Thu, 18 Jul 2013 22:42:14 +0000 (17:42 -0500)]
ARM: OMAP5/DRA7: hwmod: add ADDR_TYPE_RT to bb2d address flags

This is required so that the omap_hwmod_get_mpu_rt_va()
api returns a virtual register base address for the IP.

Change-Id: If9c55cb13f2d3864ee4c287b73dab069ee6f56ff
Signed-off-by: Sundar Raman <a0393242@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agogc320: gcx: [WA] Allocate MMU page tables as non cached
Sundar Raman [Mon, 22 Jul 2013 14:25:56 +0000 (09:25 -0500)]
gc320: gcx: [WA] Allocate MMU page tables as non cached

In K3.8, the cache flushing APIs for the MMU page tables are not
working correctly. Changed the allocations to non cached to
workaround the problem until the correct root cause is found.

Change-Id: I9391aeacac6a24f45c11daac3a7ea6d5f8d3ff0a
Signed-off-by: Sundar Raman <a0393242@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agogc320: Added missing programming of MTLB base second time
Alexei Shlychkov [Mon, 22 Jul 2013 14:29:06 +0000 (09:29 -0500)]
gc320: Added  missing programming of MTLB base second time

This patch fixes a crash when running the bvtest test case
second time around. The MTLB base address was not programmed
second time around leading to a bad MMU state. This patch
ensures that the MTLB base is programmed correctly.

Change-Id: I01bd88fc09dec608b3470a012a4f84332942c110
Signed-off-by: Alexei Shlychkov <shlychkov@gmail.com>
Signed-off-by: Sundar Raman <a0393242@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agogc320: adding gcxxx support in Makefiles
David Sin [Mon, 28 Jan 2013 16:50:54 +0000 (18:50 +0200)]
gc320: adding gcxxx support in Makefiles

Ported from k3.0, commit Id 6c14dfc5c011ce3
[ David Sin <davidsin@ti.com> ]

Change-Id: I9a923d83fbd332b58b2cb990568ac052c66efb95
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agogc320: Adapt GC320 driver for K3.8
Sundar Raman [Thu, 18 Jul 2013 22:40:57 +0000 (17:40 -0500)]
gc320: Adapt GC320 driver for K3.8

Modified SOC checks and a few other minor changes.

Change-Id: I6b1d8ca49bcd87c81e9ca51e25f5219460956f4c
Signed-off-by: Sundar Raman <a0393242@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agodevices: Initialize GC320 as part of devices init
Sundar Raman [Thu, 18 Jul 2013 22:37:40 +0000 (17:37 -0500)]
devices: Initialize GC320 as part of devices init

With K3.8, devices.c is used to initialize platform
devices. Added GC320 initialization here so that it is
done as part of bootup.

Change-Id: I62817b60d8703afb3d4a13107c00158fe79a7530
Signed-off-by: Sundar Raman <a0393242@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agoplatform_data: Added platform data for GC320
Sundar Raman [Thu, 18 Jul 2013 22:36:29 +0000 (17:36 -0500)]
platform_data: Added platform data for GC320

The omap_gcx.h file which contains platform specific
structures for gc320 IP is being added as part of this
patch

Change-Id: Ib5069a859547932f9c6a46be2006f50996a86f0f
Signed-off-by: Sundar Raman <a0393242@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agogc320: OMAP4: Adding cache-2dmanager
Jack Yen [Mon, 24 Dec 2012 12:59:51 +0000 (14:59 +0200)]
gc320: OMAP4: Adding cache-2dmanager

Based on k3.0 commit:
p-android-omap-3.0: 43eb373199a [Jack Yen <jyen@ti.com>]

Change-Id: I094b5070ab565b402d242daa6e1a3cb14973d8ac
Signed-off-by: Jack Yen <jyen@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agoInitial Open Color format Definitions (OCD).
David Sin [Tue, 8 Nov 2011 20:55:17 +0000 (14:55 -0600)]
Initial Open Color format Definitions (OCD).

OCD is a set of Open Color format Definitions.  Color formats
are used in everything from BLTers to video codecs,
and from cameras to displays.  But although there are
plenty of common formats, the definition of the code specifying
them is never the same.

OCD attempts to solve this problem.  It provides logical color
format codes, and is extensible.

Change-Id: I56ef49f451ab9c194418500d833d204a83f66edd
Signed-off-by: Rick Tillery <rtillery@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
7 years agoOMAP4:GCXXX: Fixing build warnings
Volodymyr Mieshkov [Tue, 29 Jan 2013 16:15:39 +0000 (18:15 +0200)]
OMAP4:GCXXX: Fixing build warnings

Next build warnings are fixed:

drivers/misc/gcx/gccore/gcmain.c: In function 'gc_map':
drivers/misc/gcx/gccore/gcmain.c:690: warning: assignment from incompatible pointer type
drivers/misc/gcx/gccore/gcmmu.c: In function 'virt2phys':
drivers/misc/gcx/gccore/gcmmu.c:255: warning: passing argument 1 of 'pmd_offset' from incompatible pointer type
omap/arch/arm/include/asm/pgtable-2level.h:156: note: expected 'struct pud_t *' but argument is of type 'pmdval_t (*)[2]'

Change-Id: Ifd90c99f248fe66e0cfe887a4ec535b07637adef
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agoOMAP4: adding Vivante Corp 2/3D gcxxx driver files
David Sin [Thu, 17 Jan 2013 16:00:33 +0000 (18:00 +0200)]
OMAP4: adding Vivante Corp 2/3D gcxxx driver files

Driver files to enable Vivante Corp 2/3D gcxxx hardware.

Change-Id: I1a978bce85cc93e38b4a6b9d1811366feea7bb1b
Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
7 years agoOMAP4: adding BLTsville header files
David Sin [Mon, 24 Dec 2012 13:14:43 +0000 (15:14 +0200)]
OMAP4: adding BLTsville header files

Change-Id: If573d2ea6f0d6e858e2dae94a629458d2d767cc5
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
7 years agoInitial BLTsville API definition.
David Sin [Tue, 8 Nov 2011 20:55:17 +0000 (14:55 -0600)]
Initial BLTsville API definition.

BLTsville is the open 2-D API designed to provide an abstract
interface for both hardware and software 2-D implementations.

BLTs (BLock Transfers) involve the moving around of blocks
(rectangles) of pixels.

Change-Id: Ifced4987169acf56bfc6cf4fd6ce7fec9fcda993
Signed-off-by: Rick Tillery <rtillery@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
7 years agoMerge branch 'dss' into p-ti-linux-3.8.y-video
Praneeth Bajjuri [Fri, 6 Sep 2013 22:27:23 +0000 (17:27 -0500)]
Merge branch 'dss' into p-ti-linux-3.8.y-video

* dss:
  OMAPDSS: DSS: Fix file permissions from 755 to 644
  OMAPDSS: DISPC: remove revision check on arbitration
  OMAPDSS: DISPC: Add support for global MFLAG feature
  OMAPDSS: DISPC : Enable GFX pipeline arbitration

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
7 years agoOMAPDSS: DSS: Fix file permissions from 755 to 644
Praneeth Bajjuri [Fri, 6 Sep 2013 21:55:38 +0000 (16:55 -0500)]
OMAPDSS: DSS: Fix file permissions from 755 to 644

Fix file permission back to 644 on dss/apply.c

caused by
commit ad56f9294f1a75e63bfad1f6b85135f0a8a6b582
OMAPDSS: DSS: Fix null pointer crash in DSS

Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
7 years agodefconfig: omap2plus: Enable RPMSG RPC Driver
Praneeth Bajjuri [Thu, 5 Sep 2013 18:34:59 +0000 (13:34 -0500)]
defconfig: omap2plus: Enable RPMSG RPC Driver

Enable rpmsg Remote Procedure Call driver.

rpmsg driver that exposes the Remote Procedure Call API to
user space, in order to allow applications to distribute
remote calls to more power-efficient remote processors. This is
currently available only on OMAP4+ systems.

Change-Id: Ia3027ace4c87a0c5e3b746640927076f1c8bbd23
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
7 years agodefconfig: omap2plus: Enable OMAP Remote Proc
Praneeth Bajjuri [Mon, 26 Aug 2013 21:30:55 +0000 (16:30 -0500)]
defconfig: omap2plus: Enable OMAP Remote Proc

Enable by default OMAP remote processor via the remote processor
framework.

This is needed in order to enable multimedia usecases to run
on your platform

(multimedia codecs are offloaded to remote DSP processors using this framework).

Also Enable Support for
[*]   OMAP remoteproc support for IPU
[*]   OMAP remoteproc support for DSP
[*]   OMAP remoteproc support for IPU1 (DRA7xx only)
[*]   OMAP remoteproc support for DSP2 (DRA7xx only)

Change-Id: I16b4d5b527d61ba5d805b3143457bec8b1125bbc
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
7 years agodefconfig: omap2plus: Enable IOMMU Support
Praneeth Bajjuri [Mon, 26 Aug 2013 21:26:29 +0000 (16:26 -0500)]
defconfig: omap2plus: Enable IOMMU Support

Enable IO Memory Management Units support into the kernel.

These devices usually allow to remap DMA requests and/or remap
interrupts from other devices on the system.

Change-Id: Ic4e27f23278d235b55983ea93cd2257c9230c080
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
7 years agodefconfig: omap2plus: Enable CMA
Praneeth Bajjuri [Mon, 26 Aug 2013 21:19:20 +0000 (16:19 -0500)]
defconfig: omap2plus: Enable CMA

This enables the Contiguous Memory Allocator which allows drivers
to allocate big physically-contiguous blocks of memory for use with
hardware components that do not support I/O map nor scatter-gather.

CMA must be selected before OMAP_REMOTEPROC can be made available.

Change-Id: I1a6b177563ca97daf9735fab9fa8532efd7899b3
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
7 years agoMerge branch 'ti2013.04.02-rpmsg-3.8.y' of git://git.ti.com/rpmsg/rpmsg into p-ti...
Praneeth Bajjuri [Thu, 5 Sep 2013 11:20:18 +0000 (06:20 -0500)]
Merge branch 'ti2013.04.02-rpmsg-3.8.y' of git://git.ti.com/rpmsg/rpmsg into p-ti-linux-3.8.y

* 'ti2013.04.02-rpmsg-3.8.y' of git://git.ti.com/rpmsg/rpmsg:
  net/rpmsg: add support for new rpmsg sockets
  rpmsg: add api for creating and deleting rpmsg channels
  staging: omapdrm: flush the mapped page in kmap/kunmap
  rpmsg: rpc: introduce a new rpmsg_rpc driver
  remoteproc: add api for retrieving the rproc platform id
  rpmsg: add a description field
  rpmsg: add api for getting underlying the virtio device
  rpmsg: reset the virtio device after del_vqs
  rpmsg: disable hex dump traces
  drivers/rpmsg/virtio_rpmsg_bus.c: fix error return code in rpmsg_probe()
  rpmsg: process _all_ pending messages in rpmsg_recv_done
  drivers/rpmsg: remove depends on CONFIG_EXPERIMENTAL
  ARM: OMAP: remoteproc: request timers for DRA7xx DSP1 processor

Change-Id: If3de33a27f1ff596abce40af6e3d9d9c5c173e9c
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
7 years agoOMAPDSS: HDMI: set regulator voltage to required level
Somnath Mukherjee [Fri, 30 Aug 2013 12:41:52 +0000 (18:11 +0530)]
OMAPDSS: HDMI: set regulator voltage to required level

It's not sufficient to request the regulator. We need to set the
IO voltage as well. The IO voltages are being requested from
<soc>.dtsi files.

Change-Id: I64a935d0ecc49b65ba38fc76382c3b28445fbfa6
Signed-off-by: Somnath Mukherjee <somnath@ti.com>
7 years agoARM: DRA7: dts: Moved the reference to regulator for hdmi supply
Somnath Mukherjee [Fri, 30 Aug 2013 12:32:57 +0000 (18:02 +0530)]
ARM: DRA7: dts: Moved the reference to regulator for hdmi supply

Moved the reference to ldo3 regulator required for hdmi, to board
specific dts file.

Change-Id: If909a5b95aff19f53bada098b0d4160b0db70b28
Signed-off-by: Somnath Mukherjee <somnath@ti.com>
7 years agoARM: dts: OMAP5uevm: Use LDO4 for DSI
Nishanth Menon [Wed, 14 Aug 2013 16:59:14 +0000 (11:59 -0500)]
ARM: dts: OMAP5uevm: Use LDO4 for DSI

Regulator for omap5-uevm is LDO4 and not LDO7. Further, LDO
configuration should be done in the board dts file, and not in SoC
generic DTSI.

Change-Id: I436c0a9f904e7b291c911d9be861464f041b1a69
Signed-off-by: Nishanth Menon <nm@ti.com>
7 years agoARM: dts: OMAP5uevm: Use LDO4 for HDMI
Somnath Mukherjee [Tue, 23 Jul 2013 09:35:43 +0000 (15:05 +0530)]
ARM: dts: OMAP5uevm: Use LDO4 for HDMI

Regulator for omap5-uevm is LDO4 and not LDO7. Further, LDO configuration
should be done in the board dts file, and not in SoC generic DTSI.

Change-Id: I99591fd79caa700fa52d8b5c3db3d321e4b109bc
Signed-off-by: Somnath Mukherjee <somnath@ti.com>
7 years agoMerge branch 'rpmsg-linux-3.8.y' of git://git.ti.com/rpmsg/rpmsg into ti2013.04.02...
Suman Anna [Thu, 5 Sep 2013 08:31:50 +0000 (03:31 -0500)]
Merge branch 'rpmsg-linux-3.8.y' of git://git.ti.com/rpmsg/rpmsg into ti2013.04.02-rpmsg-3.8.y

Pull in two new rpmsg client drivers: rpmsg-rpc & rpmsg-proto.

Also, includes a patch in drm for proper cache flushing of the
pages where the rpc pointer translations are handled in the rpmsg-rpc
driver code.

* 'rpmsg-linux-3.8.y' of git://git.ti.com/rpmsg/rpmsg:
  net/rpmsg: add support for new rpmsg sockets
  rpmsg: add api for creating and deleting rpmsg channels
  staging: omapdrm: flush the mapped page in kmap/kunmap
  rpmsg: rpc: introduce a new rpmsg_rpc driver

Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agonet/rpmsg: add support for new rpmsg sockets
Ohad Ben-Cohen [Tue, 12 Mar 2013 00:01:23 +0000 (17:01 -0700)]
net/rpmsg: add support for new rpmsg sockets

Add the support for a new socket address and protocol
family: remote-processor sockets. The rpmsg protocol
driver provides the necessary support to expose a
rpmsg communication channel through the socket API
to userspace.

This patch is created from the initial rpmsg socket
support patch by Ohad on an older kernel.

Tested-by: G Anthony <a0783926@ti.com>
Signed-off-by: Ohad Ben Cohen <ohad@wizery.com>
[rtivy@ti.com: forward port and add .bind functionality]
Signed-off-by: Robert Tivy <rtivy@ti.com>
[s-anna@ti.com: rproc id retrieval logic and cleanup]
Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agorpmsg: add api for creating and deleting rpmsg channels
Robert Tivy [Sat, 17 Aug 2013 00:23:31 +0000 (19:23 -0500)]
rpmsg: add api for creating and deleting rpmsg channels

The rpmsg channels are currently created and deleted only through
the device announcements from a remote processor. Two new exported
functions, rpmsg_create_channel and rpmsg_destroy_channel, are added
to be able to create and delete a rpmsg channel on a particular
virtual processor.

This is required for creating/deleting a channel from the HLOS-side
(needed by the rpmsg socket driver).

Signed-off-by: Robert Tivy <rtivy@ti.com>
[s-anna@ti.com: add delete channel api and documentation]
Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agostaging: omapdrm: flush the mapped page in kmap/kunmap
Erik Rainey [Tue, 17 Apr 2012 03:04:00 +0000 (22:04 -0500)]
staging: omapdrm: flush the mapped page in kmap/kunmap

A kernel driver can access a omapdrm/gem backed buffer page through
a cycle of dma_buf_begin_cpu_access, dma_buf_kmap & dma_buf_kunmap,
dma_buf_end_cpu_access function invocations. Any changes to the
buffer by the kernel driver are not reflected properly in RAM,
so flush the cache deliberately in the kmap/kunmap dma_buf ops
implementations of the omapdrm/gem buffers.

Signed-off-by: Erik Rainey <erik.rainey@ti.com>
[s-anna@ti.com: add proper comments and commit description]
Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agorpmsg: rpc: introduce a new rpmsg_rpc driver
Suman Anna [Thu, 28 Feb 2013 20:50:10 +0000 (14:50 -0600)]
rpmsg: rpc: introduce a new rpmsg_rpc driver

The new rpmsg client driver, rpmsg_rpc, is introduced to provide a
framework for userspace applications to execute functions on different
remote processors.

The functions themselves are published by the remote processors by
different libraries. Each set of functions are published and supported
by a corresponding rpmsg server channel, and is exposed to the user-space
as its own device. User-space applications can open this character device,
and execute any of the published functions associated with the device.

The rpmsg-rpc driver allows any function upto 10 arguments with in-built
pointer translation. The kernel-userspace interaction allows any buffer
pointers to be replaced in the marshalled packet, provided the buffers
are obtained from allocators backed by dma_buf framework.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Erik Rainey <erik.rainey@ti.com>
7 years agoMerge branch 'rproc-linux-3.8.y' of git://git.ti.com/rpmsg/remoteproc into ti2013...
Suman Anna [Thu, 5 Sep 2013 07:34:04 +0000 (02:34 -0500)]
Merge branch 'rproc-linux-3.8.y' of git://git.ti.com/rpmsg/remoteproc into ti2013.04.02-rpmsg-3.8.y

* 'rproc-linux-3.8.y' of git://git.ti.com/rpmsg/remoteproc:
  remoteproc: add api for retrieving the rproc platform id
  ARM: OMAP: remoteproc: request timers for DRA7xx DSP1 processor

Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agoMerge branch 'rpmsg-linux-3.8.y' of git://git.ti.com/rpmsg/rpmsg into ti2013.04.02...
Suman Anna [Thu, 5 Sep 2013 07:29:32 +0000 (02:29 -0500)]
Merge branch 'rpmsg-linux-3.8.y' of git://git.ti.com/rpmsg/rpmsg into ti2013.04.02-rpmsg-3.8.y

Merge the base rpmsg tree that includes few fixes and enhancements.
The enhancements are primarily about adding a new descriptor field
to the rpmsg channel device, and for processing all the pending
messages on a virtio_vring upon a kick notification.

* 'rpmsg-linux-3.8.y' of git://git.ti.com/rpmsg/rpmsg:
  rpmsg: add a description field
  rpmsg: add api for getting underlying the virtio device
  rpmsg: reset the virtio device after del_vqs
  rpmsg: disable hex dump traces
  drivers/rpmsg/virtio_rpmsg_bus.c: fix error return code in rpmsg_probe()
  rpmsg: process _all_ pending messages in rpmsg_recv_done
  drivers/rpmsg: remove depends on CONFIG_EXPERIMENTAL

Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agoremoteproc: add api for retrieving the rproc platform id
Suman Anna [Fri, 30 Aug 2013 21:12:39 +0000 (16:12 -0500)]
remoteproc: add api for retrieving the rproc platform id

A new api, rproc_get_platform_id, is added to allow remoteproc/rpmsg
clients to be able to retrieve a fixed id associated with a rproc
device. Each of the rproc's is given an ida index as well, but this
is dynamic depending on the order rproc_alloc is called, and also
depends on what remote processor devices are instantiated. The
platform device id is therefore chosen, with the assumption that
a remoteproc device is assigned a static platform device id.

The OMAP remoteproc devices do satisfy this requirement, since
static platform devices are needed anyway for declaring the
corresponding CMA pools.

Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agoarm/dts: omap5: Add gpu supply
Hemant Hariyani [Mon, 19 Aug 2013 04:32:32 +0000 (10:02 +0530)]
arm/dts: omap5: Add gpu supply

Add smps45 as gpu supply

Change-Id: I158095880f715c3fc88e2412d45dddb5befab1b7
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Signed-off-by: Subhajit Paul <subhajit_paul@ti.com>
7 years agoarm: dts: omap5: Add gpu data
Hemant Hariyani [Mon, 19 Aug 2013 04:29:10 +0000 (09:59 +0530)]
arm: dts: omap5: Add gpu data

GPU DT entry for OMAP5.

Change-Id: I892741ae86a092d36dd2d922272ce10172c21d8a
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Signed-off-by: Subhajit Paul <subhajit_paul@ti.com>
7 years agostaging: ti-soc-thermal: Ensure to compute thermal trend
Ranganath Krishnan [Tue, 20 Aug 2013 15:48:44 +0000 (10:48 -0500)]
staging: ti-soc-thermal: Ensure to compute thermal trend

Workaround to compute thermal trend even when update interval
is not set. This patch will ensure to compute the trend when
bandgap counter delay is not set.

Change-Id: I68593c1155751833f4ee8792823db80c6d82a4ce
Signed-off-by: Ranganath Krishnan <ranganath@ti.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
7 years agostatging: ti-soc-thermal: Set the bandgap mask counter delay value
Ranganath Krishnan [Fri, 16 Aug 2013 22:20:54 +0000 (17:20 -0500)]
statging: ti-soc-thermal: Set the bandgap mask counter delay value

Set the bandgap mask counter_delay with the polling_delay value on
registering the thermal zone. This patch will ensure to get the
correct update interval for computing the trend.

Change-Id: I7e6790094f5c553532ff9804238b2de81b596e35
Signed-off-by: Ranganath Krishnan <ranganath@ti.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
7 years agostaging: ti-soc-thermal: Initialize counter_delay field for TI DRA752 sensors
Ranganath Krishnan [Fri, 16 Aug 2013 21:54:51 +0000 (16:54 -0500)]
staging: ti-soc-thermal: Initialize counter_delay field for TI DRA752 sensors

Initialize MPU, GPU, CORE, DSPEVE and IVA thermal sensors of DRA752 bandgap
with the counter delay mask.

Change-Id: Ide1fb1e55d91a85385f7d812872401e0e92c3f60
Signed-off-by: Ranganath Krishnan <ranganath@ti.com>
7 years agorpmsg: add a description field
Ohad Ben-Cohen [Sun, 4 Nov 2012 10:08:21 +0000 (12:08 +0200)]
rpmsg: add a description field

Add a new description field to the rpmsg bus infrastructure
that can be passed onto the rpmsg client drivers for additional
information. The current rpmsg bus client drivers need to have
a fixed id_table for proper matching, this new field can allow
flexibility for the client drivers (eg: like creating unique
cdevs).

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agorpmsg: add api for getting underlying the virtio device
Ido Yariv [Mon, 8 Oct 2012 04:47:38 +0000 (00:47 -0400)]
rpmsg: add api for getting underlying the virtio device

In order to retrieve the remoteproc structure from a rpmsg channel, add
a function for retrieving the virtio device. The associated remoteproc
structure can then be deduced from it.

Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agorpmsg: reset the virtio device after del_vqs
Suman Anna [Thu, 11 Jul 2013 22:37:59 +0000 (17:37 -0500)]
rpmsg: reset the virtio device after del_vqs

The virtio device configuration information for the rpmsg virtio
devices is usually present in a shared memory accessible to the
remote processor when it is running. The rpmsg_remove function
stops a remote processor and frees up all the resources associated
with the remote processor including memory. The remoteproc core
switches to a cached resource table and reconfigures the table
pointer used by virtio config functions once the remote processor
is stopped.

The virtio core touches the virtio device status bits during the
probe and remove of a virtio driver. The switching to the cached
resource table causes a loss of the reset status in the virtio
device configuration, and triggers a WARN_ON in virtio_dev_remove
function. Reset the status later within the rpmsg_remove function
to fix this.

Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agorpmsg: disable hex dump traces
Suman Anna [Tue, 5 Jun 2012 15:30:10 +0000 (10:30 -0500)]
rpmsg: disable hex dump traces

There are couple of print_hex_dump traces used in rpmsg code which
prints the actual byte messages being transferred between host and
the remote processors. These traces cannot be controlled by kernel
printk level. These are quiet verbose and affects performance. This
patch disables them by commenting them out.

They are intentionally not removed since they are core debug traces
and are useful when debugging complex IPC issues. It is easier to
enable them in code when needed rather than having to look up and
add the trace later.

Signed-off-by: Subramaniam Chanderashekarapuram <subramaniam.ca@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agodrivers/rpmsg/virtio_rpmsg_bus.c: fix error return code in rpmsg_probe()
Wei Yongjun [Mon, 29 Apr 2013 23:17:09 +0000 (16:17 -0700)]
drivers/rpmsg/virtio_rpmsg_bus.c: fix error return code in rpmsg_probe()

Return a negative error code from the error handling case instead of 0, as
returned elsewhere in this function.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Cc: Ohad Ben-Cohen <ohad@wizery.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[s-anna@ti.com: cherry-pick commit '3119b48' from upstream]
Signed-off-by: Suman Anna <s-anna@ti.com>
7 years agorpmsg: process _all_ pending messages in rpmsg_recv_done
Robert Tivy [Fri, 5 Apr 2013 14:38:52 +0000 (17:38 +0300)]
rpmsg: process _all_ pending messages in rpmsg_recv_done

Change virtqueue callback function rpmsg_recv_done() to process all
available messages instead of just one message.

Signed-off-by: Robert Tivy <rtivy@ti.com>
[split _recv function instead of adding indentation]
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
[s-anna@ti.com: cherry-pick commit '1aa7d6a' from upstream]
Signed-off-by: Suman Anna <s-anna@ti.com>
Conflicts:
drivers/rpmsg/virtio_rpmsg_bus.c

------
This patch is critical if the BIOS-side does not kick when
there is an already pending mailbox message from a previous
kick, and the Linux-side processes only one message per kick.

7 years agoMerge branch 'p-ti-linux-3.8.y/audio-for-next' of git://git.ti.com/android-sdk/kernel...
Praneeth Bajjuri [Thu, 29 Aug 2013 20:58:34 +0000 (15:58 -0500)]
Merge branch 'p-ti-linux-3.8.y/audio-for-next' of git://git.ti.com/android-sdk/kernel-audio into p-ti-linux-3.8.y

* 'p-ti-linux-3.8.y/audio-for-next' of git://git.ti.com/android-sdk/kernel-audio:
  TEMP: ASoC: DRA7: dra7-evm: Allow CPU DAI less for radio
  ASoC: utils: Add generic parameters to dummy DAI
  ASoC: utils: Prevent overwriting hostless PCM params
  ARM: dts: DRA7xx: Add DATA port to McASP6 node and enable FIFO
  ARM: dts: dra7-evm: Add multichannel sound support
  ASoC: DRA7: dra7-evm: Add support for multichannel
  ASoC: Add support for DAI multicodec
  ASoC: pcm: Refactor DAI compatibility
  ASoC: core: Refactor dai link and aux dev init
  ASoC: core: Refactor ac97 CODEC registration
  ASoC: core: Refactor CODEC/CODEC_DAI search
  ASoC: core: Refactor DAI widgets linking
  ASoC: core: Refactor CODEC DAI probe/remove
  ASoC: core: Get dev from runtime data
  ASoC: dapm: Fix duplicated prefix of DAI link routes
  ASoC: core: Allow setting CODEC conf by DT/OF node
  ASoC: io: Use devm_regmap_* function
  ASoC: tlv320aic3x: Add TDM support

Change-Id: I6596c786a9f3ed9f8d53d41f50e12d45da4d67e3
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
7 years agoTEMP: ASoC: DRA7: dra7-evm: Allow CPU DAI less for radio
Misael Lopez Cruz [Sun, 28 Jul 2013 12:02:16 +0000 (07:02 -0500)]
TEMP: ASoC: DRA7: dra7-evm: Allow CPU DAI less for radio

Radio functionality on dra7-evm is DSP-based, it uses McASP6 but is not
controlled from CPU side but from DSP. From ASoC point of view, this will
be treated as a dummy CPU DAI.

This is meant to address an interim solution as long term plan is to have
the CPU side owning all CPU DAIs.

Change-Id: I1eb1536feae8474315131d929ce178138ef981ed
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
7 years agoASoC: utils: Add generic parameters to dummy DAI
Misael Lopez Cruz [Mon, 29 Jul 2013 23:10:01 +0000 (18:10 -0500)]
ASoC: utils: Add generic parameters to dummy DAI

Add generic playback and capture stream parameters to dummy DAI to
ensure they can match any CPU DAI parameters.

Change-Id: Ic658bcd85a1d42f95b238e2ee21629b13cf2049e
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
7 years agoASoC: utils: Prevent overwriting hostless PCM params
Misael Lopez Cruz [Mon, 29 Jul 2013 02:19:15 +0000 (21:19 -0500)]
ASoC: utils: Prevent overwriting hostless PCM params

Hostless mode support declares its own PCM hardware parameters
which are set at the start of streams marked as no_host_mode.
This parameters may be overwritten if the platform driver is
the dummy driver provided by ASoC utils, this can be prevented
during dummy platform driver open() callback.

Change-Id: I1d548c376d28b08ee00e17ddaa34d1810a70f638
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
7 years agoARM: dts: DRA7xx: Add DATA port to McASP6 node and enable FIFO
Angela Stegmaier [Mon, 5 Aug 2013 23:52:50 +0000 (18:52 -0500)]
ARM: dts: DRA7xx: Add DATA port to McASP6 node and enable FIFO

Update McASP6 node to use the DATA port and enable the FIFO by
setting the tx-num-evt and rx-num-evt to 8.

Change-Id: I046be36e4bb97d1da8444e17a8c65652e662f148
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
7 years agoARM: dts: dra7-evm: Add multichannel sound support
Misael Lopez Cruz [Thu, 18 Jul 2013 19:53:35 +0000 (14:53 -0500)]
ARM: dts: dra7-evm: Add multichannel sound support

Enable multichannel support through McASP6 and 3 tlv320aic3106 instances
available in JAMR3 board. The analog codecs can take up to 6 slots of the
TDM bus, although the bus itself is configured to support up to 8 slots.

Max BCLK frequency supported by tlv320aic3106 codec is 14.2857MHz, so
8 slots is the upper limit in order to support 32-bits/sample, 44.1kHz.

Change-Id: Icf3e1813c1bcb04e5c639ab2a575094d2a91d8a2
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
7 years agoASoC: DRA7: dra7-evm: Add support for multichannel
Misael Lopez Cruz [Tue, 30 Jul 2013 20:30:54 +0000 (15:30 -0500)]
ASoC: DRA7: dra7-evm: Add support for multichannel

DRA7 EVM features a multichannel output that consists of McASP6 connected
to three instances of tlv320aic3106 in the JAMR3 board. This DAI link
is configured in TDM mode, and each stereo CODEC instance receives two
channels of the stream.

               i2s
  McASP3  o-----------o  tlv320aic3106

                   +--o  tlv320aic3106 (Instance A)
              tdm  |
  McASP6  o--------|--o  tlv320aic3106 (Instance B)
                   |
                   +--o  tlv320aic3106 (Instance C)

dra7-evm can record up to 4 channels from a stereo auxiliary input and
two mono line-in/mics.

Change-Id: I0e5c5f28c240d1757553b0ae6fa96ee3ab22ece4
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>