OSDN Git Service

sagit-ice-cold/kernel_xiaomi_msm8998.git
8 years agosoc: qcom: glink: Fix channel migration on fully open channel
Dhoat Harpal [Mon, 18 Apr 2016 15:31:02 +0000 (21:01 +0530)]
soc: qcom: glink: Fix channel migration on fully open channel

If process_open_event is delayed and glink has migrated to new transport,
process open event will be treated as a new open event and migration will
happen on fully open channel.

If channel is fully, open migration will not be allowed as client might
already be using the channel for communication.

Change-Id: I6c1760bc19f52e7d0c1c9834a72e2304f0ae28c8
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
8 years agomsm: clock: clock-gcc-cobalt: Support QSPI clocks on MSMHAMSTER
Deepak Katragadda [Wed, 4 May 2016 19:21:52 +0000 (12:21 -0700)]
msm: clock: clock-gcc-cobalt: Support QSPI clocks on MSMHAMSTER

Add programming support for the qspi_ref and qspi_ahb clocks
in the linux clocks driver.

CRs-Fixed: 1011840
Change-Id: Ic67b72b1e9341fec33bcdbde67f9e2c7e8045ec1
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
8 years agoASoC: msmcobalt: add BT/FM audio support with WCN3990
Banajit Goswami [Sat, 9 Apr 2016 02:49:50 +0000 (19:49 -0700)]
ASoC: msmcobalt: add BT/FM audio support with WCN3990

Add machine driver code to support audio on MSMCOBALT based
boards with WCN3990 BT/FM chipset.

Change-Id: Ia23572f44775a04c8f8c67e9a61d6b9be8869b82
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
8 years agoASoC: msm: qdsp6v2: add loopback volume control for SLIMBUS_8_TX
Banajit Goswami [Wed, 2 Mar 2016 01:05:56 +0000 (17:05 -0800)]
ASoC: msm: qdsp6v2: add loopback volume control for SLIMBUS_8_TX

Add a new mixer control for volume control for SLIMBUS_8_TX AFE port
loopback.

Change-Id: Ifbf1778255edbe4901bd0860216ba1dd5a786047
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
8 years agoASoC: msm: q6dspv2: add routes for SLIMBUS_7 and SLIMBUS_8
Banajit Goswami [Tue, 24 Nov 2015 18:14:23 +0000 (10:14 -0800)]
ASoC: msm: q6dspv2: add routes for SLIMBUS_7 and SLIMBUS_8

SLIMBUS_7 and SLIMBUS_8 would be used for BT-SCO and FM use
cases when using the second Slimbus instance. Add routes
to support voice call over BT-SCO and FM playbacki and capture
with these ports.

Change-Id: I5c558ee2dbe2de20b9ac3f042ae45a9431590778
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
8 years agoASoC: msm: add Hostless DAI with SLIMBUS_8
Banajit Goswami [Tue, 24 Nov 2015 07:44:34 +0000 (23:44 -0800)]
ASoC: msm: add Hostless DAI with SLIMBUS_8

SLIMBUS_8 ports can be used for hostless audio playback and
capture use cases. Add Hostless Front-end DAI definitions
with Slimbus 8 ports.

Change-Id: Idc56625bb8fea263c3d530c8a9488eeb81fdd7e5
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
8 years agoASoC: msm: q6dspv2: add support for Slimbus 7 and 8 ports
Banajit Goswami [Tue, 24 Nov 2015 17:49:29 +0000 (09:49 -0800)]
ASoC: msm: q6dspv2: add support for Slimbus 7 and 8 ports

Add support for SLIMBUS_7 and SLIMBUS_8 Rx and Tx ports for
MSM audio drivers.

Change-Id: I839ac07a3ee1e1e778c4d1e43d0bac89f01bd21a
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
8 years agoARM: dts: msm: increase OSM LLM frequency and voltage hysteresis timers
Osvaldo Banuelos [Thu, 28 Apr 2016 00:08:06 +0000 (17:08 -0700)]
ARM: dts: msm: increase OSM LLM frequency and voltage hysteresis timers

Increase the OSM LLM frequency and voltage vote hysteresis timers
to the maximum allowed value of 327675 ns. This is necessary
to ensure stable operation when LLM port is enabled as client of
OSM.

Change-Id: I6b53b5a6187f0ac0e68f4ed54c7ae3ba0b062222
CRs-Fixed: 1009097
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
8 years agoclk: msm: osm: increase timer resolution programming to nanoseconds
Osvaldo Banuelos [Fri, 22 Apr 2016 23:25:48 +0000 (16:25 -0700)]
clk: msm: osm: increase timer resolution programming to nanoseconds

OSM clock period is 5 ns. Therefore, the various hysteresis
timers used by OSM can be fine tuned with a granularity of
5 ns. Allow specification of timers in units of nanoseconds
to prevent losing valid timer setpoints.

Change-Id: Ice93347aaf81fe41ea7862752ac0d2d4e82d838c
CRs-Fixed: 1009097
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
8 years agoASoC: msm: audio-effects: fix stack overread and heap overwrite
Weiyin Jiang [Wed, 16 Mar 2016 04:51:03 +0000 (12:51 +0800)]
ASoC: msm: audio-effects: fix stack overread and heap overwrite

Fix overwrite of updt_params allocated in heap, and stack overread
where param pointer is passed from user space.

CRs-Fixed: 989628
Change-Id: Ida8bdb7da2fcb97023dce3b6eafe4b899a51cb66
Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
8 years agoclk: msm: clock-osm: increase refcount of CPU clocks at probe time
Osvaldo Banuelos [Mon, 21 Mar 2016 22:29:39 +0000 (15:29 -0700)]
clk: msm: clock-osm: increase refcount of CPU clocks at probe time

Increase the refcount of CPU clocks proportionally to the number
of available CPUs to maintain the assumption that each CPU clock
has been prepared and enabled by the time cpufreq takes over.

Change-Id: Icccb28bc7a88dc76cf4ed5710623e992ba62f19c
CRs-Fixed: 994035
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
8 years agoARM: dts: msm: Update the memory map for msmcobalt
Patrick Daly [Tue, 3 May 2016 23:52:40 +0000 (16:52 -0700)]
ARM: dts: msm: Update the memory map for msmcobalt

Increase the size of the peripheral region.

Change-Id: I5af8da01a54dc6f31c93f7ad5201899c0779b661
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
8 years agopower: move QTI charger drivers to a new sub-directory again
Nicholas Troast [Mon, 28 Mar 2016 17:35:32 +0000 (10:35 -0700)]
power: move QTI charger drivers to a new sub-directory again

The original commit was reverted due to conflicts in the kernel upgrade
process. Now that the upgrade is complete we can introduce this commit
again.

Original commit:
commit 8e10bff71301 ("power: move QTI charger drivers to a new
sub-directory qcom-charger")

QTI charger drivers have outgrown their home in power and deserve their
own sub-directory. Move all QTI charger drivers and their dependencies to
a new sub-directory of power called qcom-charger.

CRs-Fixed: 1001767
Change-Id: I5465a944a79f622ddf69534075b067db0fb10c95
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
8 years agopower_supply: add INPUT_SUSPEND power supply property
Nicholas Troast [Fri, 1 Apr 2016 17:48:01 +0000 (10:48 -0700)]
power_supply: add INPUT_SUSPEND power supply property

POWER_SUPPLY_PROP_CHARGING_ENABLED has been used to indicate enabling
the charge path in some drivers and enabling the input path in others.
This leads to confusion of what charging enabled really means.

POWER_SUPPLY_PROP_BATTERY_CHARGING_ENABLED was introduced to indicate
enabling the charge path, and in this case
POWER_SUPPLY_PROP_CHARGING_ENABLED is used to indicate enabling the
input path. Since these are similarly named it leads to even more
confusion.

In an attempt to fix this confusion we introduce a new power supply
property POWER_SUPPLY_PROP_INPUT_SUSPEND which indicates suspending the
input path of the power supply. POWER_SUPPLY_PROP_CHARGING_ENABLED takes
its original definition of enabling the charge path. Then
POWER_SUPPLY_PROP_BATTERY_CHARGING_ENABLED will be retired from use.

CRs-Fixed: 1005389
Change-Id: I1ca8f5748a56a9395caa8ed8ed18f70e69f0cbe8
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
8 years agopower_supply: Add additional USB Type-C properties
Jack Pham [Mon, 29 Feb 2016 19:41:58 +0000 (11:41 -0800)]
power_supply: Add additional USB Type-C properties

Introduce the power_supply_typec_mode enum definitions which
will allow a charger to indicate the type of USB Type-C
connection that is established. Also add additional properties
for indicating CC pin orientation, changing source/sink power
role (useful for dynamic power role swap), and a flag to allow
the charger to expect VBUS changes during USB Power Delivery
power negotiation.

CRs-Fixed: 1005389
Change-Id: Iba9b652335fba4ee4f24a17eba8abdd5c85c21bb
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
8 years agoslim: msm: ngd: Add priority to DSP SSR notifier
Sagar Dharia [Fri, 1 Apr 2016 17:38:23 +0000 (11:38 -0600)]
slim: msm: ngd: Add priority to DSP SSR notifier

Currently SSR framework seems to make callbacks in the order
they were registered, or based on pririties.
Due to this, APR's callback (done in its probe) may be executed
before slimbus driver's callback (only registered after children
are probed). This still works, but may take longer since codec
may try sending some disconnection commands over slimbus if APR
is notified about SSR before codec was notified by slimbus.
This failure may result in some delay in SSR handling which is
more than the KPI numbers expected for this recovery mechanism.
Priority is added to slimbus SSR notifier registration to make
sure its callback is called before APR's.

CRs-Fixed: 996871
Change-Id: Ib7f002d52310dc13b60a18972a6899ebae21ba24
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
8 years agosoc: qcom: q6dspv2: add priority to ADSP SSR notifier for APR
Banajit Goswami [Tue, 29 Mar 2016 20:48:00 +0000 (13:48 -0700)]
soc: qcom: q6dspv2: add priority to ADSP SSR notifier for APR

Currently ADSP SSR notifications to APR come much earlier
than ADSP SSR notifications to SLIMbus. This causes audio
playback resume to take more time than expected, as code in WCD
codec driver has dependency on the sequence at which SSR
notifications are received. Add a priority to the notifier
block for APR, so that the APR has lower priority compared
to SLIMbus.

CRs-fixed: 989828
Change-Id: Idb089ec8d036d441e32bc927d7294121a1d2735d
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
8 years agoASoC: codec: micb ref count decrement check
dojha [Thu, 31 Mar 2016 10:42:44 +0000 (16:12 +0530)]
ASoC: codec: micb ref count decrement check

In SSR with recording, race condition which reduces micb_ref to -1
is seen. SSR sets micb_ref to 0, further recording widgets power
down can reduce it to -1. During power up, it is increased to 0,
micbias is not getting enabled for recording since micb_ref is 0.
To prevent this micb_ref is checked for non zero value before
decrementing it.

CRs-Fixed: 994268
Change-Id: I6ea23fdf8b119cfd178c4f5b79b9d1c01c267a82
Signed-off-by: dojha <dojha@codeaurora.org>
8 years agoASoC: msm8996: Add delay to check ADSP state during SSR
Sudheer Papothi [Mon, 11 Apr 2016 18:16:42 +0000 (23:46 +0530)]
ASoC: msm8996: Add delay to check ADSP state during SSR

During SSR(subsystem restart), add a delay when ADSP state
is not yet ready. This will avoid excessive logging when
ADSP state is not ready.

CRs-Fixed: 1001242
Change-Id: I2f3d1bdb3ca1ba05c014c26bbc87879f549098d8
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
8 years agoASoC: msm: Update the Slmbus6 downlink hostless routing
Kuirong Wang [Wed, 30 Mar 2016 21:58:14 +0000 (14:58 -0700)]
ASoC: msm: Update the Slmbus6 downlink hostless routing

Update the Slmbus6 downlink hostless routing so it can connect
to Slimbus0 Hostess FE.

Change-Id: Iaeb3e148af57e9d484a31820993cf7e5b6466dd2
CRs-fixed: 991759
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
8 years agoASoC: wsa881x-analog: Fix warning in bandgap and clock control
Laxminath Kasam [Fri, 15 Apr 2016 08:11:20 +0000 (13:41 +0530)]
ASoC: wsa881x-analog: Fix warning in bandgap and clock control

During temperature read, resource acquire can fail
if mclk is not enabled successfully. In such case,
clock and bandgap control counters are not incremented.
But resource release is still happening resulting
in counters going negative and warn_on messages.
Fix it by handling resource acquire failure case.

CRs-Fixed: 1003365
Change-Id: If2371e06866a615ca7d7dad64a5d7a17f258b3b6
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
8 years agoASoC: msm: qdsp6v2: DAP: Fix buffer overflow
Ashish Jain [Fri, 15 Apr 2016 10:03:14 +0000 (15:33 +0530)]
ASoC: msm: qdsp6v2: DAP: Fix buffer overflow

Add check to avoid out of bound access.
Check return value of get_user api.

CRs-Fixed: 997025
Change-Id: Ibbace116ac206007fa1928555838285304737737
Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
8 years agoASoC: msm: qdsp6v2: update external EC reference logic
Venkata Narendra Kumar Gutta [Wed, 20 Apr 2016 06:12:46 +0000 (11:42 +0530)]
ASoC: msm: qdsp6v2: update external EC reference logic

VOC_EXT_EC MUX kcontrol, which is being used for external EC
reference, returning incorrect values when requested. Update
the logic to fix this issue.

CRs-Fixed: 999158
Change-Id: If05a54ca2539ef452312548bfcaf7f3fadd1de87
Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
8 years agoARM: dts: msm: Update vrail comp factor for mdp masters
David Dai [Sun, 1 May 2016 08:40:57 +0000 (01:40 -0700)]
ARM: dts: msm: Update vrail comp factor for mdp masters

Use a vrail_comp factor of 25 for clients voting on mdp masters

CRs-Fixed: 1011135
Change-Id: I213bc12a089bdad75934959d0ccc8a6243f6124e
Signed-off-by: David Dai <daidavid1@codeaurora.org>
8 years agoASoC: msm: qdsp6v2: update quinary rx controls for voice path
Venkata Narendra Kumar Gutta [Wed, 6 Apr 2016 11:25:09 +0000 (16:55 +0530)]
ASoC: msm: qdsp6v2: update quinary rx controls for voice path

Voice calls are not working over quinary rx path. Required rx
controls are not present, hence it's not working. Fix this
by updating quinary rx controls and routing map.

CRs-Fixed: 999811
Change-Id: Id566359e381b69acfccff406c7448708701530e7
Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
8 years agoARM: dts: msm: Increase USB BAM device address space on msmcobalt
Mayank Rana [Tue, 3 May 2016 23:18:48 +0000 (16:18 -0700)]
ARM: dts: msm: Increase USB BAM device address space on msmcobalt

USB BAM device is having 4 pipes. USB BAM global register address
space size is 0x13000, whereas each USB BAM pipe register address
space size is 0x1000. Due to insufficient register address space
mapping, there is unpaging related crash seen while trying to
access USB BAM pipe 0 related register. Fix this issue by
increasing size to 0x17000 (i.e. 0x13000 + 4 * 0x1000).

CRs-Fixed: 1011319
Change-Id: I6654d9eec5a849bcce6d812166d6696347458169
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
8 years agoASoC: msm: q6dspv2: initialize private data before using it
Banajit Goswami [Sat, 2 Apr 2016 02:41:16 +0000 (19:41 -0700)]
ASoC: msm: q6dspv2: initialize private data before using it

During Compress offload session open, a private data structure
is allocated and registered as parameter for a callback to the
compressed offload driver. All parameters inside the structure
must be initialized before the structure is passed to ASM driver.
This private data structure is sent back as param to the callback
function registered with ASM. The initialization is needed to avoid
NULL pointer dereference inside the callback function, in case ADSP
SSR is triggered right after registering the callback with ASM and
before rest of the initialization of the private data is complete.

CRs-fixed: 989822
Change-Id: I8a64539a6a64fb8c75d06f933a735c70049bce7b
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
8 years agoASoC: msm: qdsp6v2: Fix mute in WFD playback during ADSP SSR
Venkata Narendra Kumar Gutta [Thu, 31 Mar 2016 10:27:13 +0000 (15:57 +0530)]
ASoC: msm: qdsp6v2: Fix mute in WFD playback during ADSP SSR

Mute observed in WFD playback during ADSP SSR. This is due to
playback session isn't being restarted post SSR. Fix this by
listening to reset events and propagate the appropriate error
back to userspace in case of SSR.

CRs-Fixed: 986757
Change-Id: I4c2fdf70e518310157d81d527afff4436dd42140
Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
8 years agomsm: ultrasound: Various static analysis fixes
Vidyakumar Athota [Thu, 3 Mar 2016 18:05:09 +0000 (10:05 -0800)]
msm: ultrasound: Various static analysis fixes

Remove potential null dereference.
Remove dead code from impossible error check.
Set upper bound for user-provided buffer size.

Change-Id: I212f3edfa31e9168d11e0782da7f3fd8c2b98c5d
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
8 years agoASoC: msm: qdsp6v2: set token for stereo_to_custom_stereo command
Shiv Maliyappanahalli [Thu, 17 Mar 2016 23:31:20 +0000 (16:31 -0700)]
ASoC: msm: qdsp6v2: set token for stereo_to_custom_stereo command

Set token value with port index and copp id so that
correct wait queue handle can be deduced in the
callback of adm_set_stereo_to_custom_stereo command.

Change-Id: Ica4c1442c1143f46de2baa6eaf1890ad0cb4b742
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
8 years agosoundwire: Add API to control slave device data path
Phani Kumar Uppalapati [Wed, 23 Mar 2016 04:16:44 +0000 (21:16 -0700)]
soundwire: Add API to control slave device data path

Add soundwire API to control slave device data path
enable or disable. This gives slave device drivers
more flexibility for data path control during device
path enablement.

CRs-fixed: 996586
Change-Id: Ic0ab015098035418458a5ba7c2ffad9df20f933c
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
8 years agoASoC: msm: qdspv2: Add tertiary MI2S ports support
Deven Patel [Wed, 9 Mar 2016 21:53:26 +0000 (13:53 -0800)]
ASoC: msm: qdspv2: Add tertiary MI2S ports support

APQ8096 target uses tertiary MI2S interface for
voice call. Add this support in routing driver.

CRs-fixed: 987739
Change-Id: Idecbe2f072e4315e180d25583b6d1b1237d06071
Signed-off-by: Deven Patel <cdevenp@codeaurora.org>
8 years agoASoC: msm: qdsp6v2: Fix memory allocation issues in audio_cal_utils
Karthik Reddy Katta [Wed, 24 Feb 2016 06:13:40 +0000 (11:43 +0530)]
ASoC: msm: qdsp6v2: Fix memory allocation issues in audio_cal_utils

Incorrect pointer is used while allocating memory
for 'cal_block' pointer. Use proper pointer in kzalloc().

Memory of 'cal_block->cal_info' is not initialized to ZERO.
Use kzalloc() instead of kmalloc() to initialize this memory.

CRs-Fixed: 983585
Change-Id: Ifbe1d91d68da81d058197af2a403c4b832b019fb
Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
8 years agoASoC: msm: qdsp6v2: compress passthrough fixes
Mingming Yin [Fri, 22 Jan 2016 21:54:32 +0000 (13:54 -0800)]
ASoC: msm: qdsp6v2: compress passthrough fixes

- Ignore stream volume and pp params calls
  for compress passthrough playback.
- Use correct COPP index for compress passthrough
  playback in adm_send_compressed_device_mute.

Signed-off-by: Mingming Yin <mingming@codeaurora.org>
Change-Id: I10d1aaf3bb6cbf6358378667f93970e9eb21be1d

8 years agoASoC: msm: qdsp6v2: Update set_params to avoid use before set
Dhananjay Kumar [Wed, 23 Mar 2016 15:21:33 +0000 (20:51 +0530)]
ASoC: msm: qdsp6v2: Update set_params to avoid use before set

In function msm_compr_set_params few codec parameters are getting
used before being updated with values received in the call.
Prevent usage of incorrect param values by updating params before
they are accessed.

CRs-Fixed: 993882
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
Change-Id: Ia3d3e13d4bd7975a11cbeb96929fb224e8271916

8 years agoASoC: wcd-mbhc: correct headphone detection
Yeleswarapu Nagaradhesh [Wed, 23 Mar 2016 06:40:37 +0000 (12:10 +0530)]
ASoC: wcd-mbhc: correct headphone detection

Characteristics of 3pole extn cable is, MIC is grounded
and HPHL and HPHR are floating. In current SW, if
there is GND_MIC SWAP with button press cable is reported
as unsupported. Hence report cable as headset if there is
GND_MIC SWAP with button press.

CRs-Fixed: 963833
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
Change-Id: Ie6b467292661358699fcab6263653139cda87c33

8 years agoASoC: wcd-mbhc: Fix special headset detection issue
Yeleswarapu Nagaradhesh [Tue, 22 Mar 2016 11:58:02 +0000 (17:28 +0530)]
ASoC: wcd-mbhc: Fix special headset detection issue

Even if the first measurement of hs_comp_result is 0 after
micbias is increased to 2.7v, it should be reported as special
headset. Fix the condition in driver to handle this scenario.

CRs-Fixed: 993103
Change-Id: I859e9de29436af12ef1af0e2ed85bcbb51d2e27a
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
8 years agoASoC: codecs: use correct subsystem status check
Deven Patel [Thu, 10 Mar 2016 01:09:11 +0000 (17:09 -0800)]
ASoC: codecs: use correct subsystem status check

Audio subsystem could reside in different DSP processor based on
architecture design. Use subsystem status check instead of explicitly
check for modem status.

CRs-fixed: 988942
Change-Id: I7c28a11f67517e5072e67c9bc2b99900a79879c1
Signed-off-by: Deven Patel <cdevenp@codeaurora.org>
8 years agomsm: camera: sensor: Validate step_boundary
Rajesh Bondugula [Wed, 13 Apr 2016 21:31:58 +0000 (14:31 -0700)]
msm: camera: sensor: Validate step_boundary

step_boundary can take values upto the total_steps
Validate the step_boundary before consuming it.
Convert the type of step_index and region_index to uint16_t
step_index and region_index cannot be negative.

CRs-Fixed: 1001092
Change-Id: I1f23fd6f28bb897824a1ef99a8873b9f986eee70
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
8 years agodefconfig: enable qseecom and tzlog drivers for msmcobalt
Zhen Kong [Thu, 5 May 2016 22:29:27 +0000 (15:29 -0700)]
defconfig: enable qseecom and tzlog drivers for msmcobalt

Enable qseecom and tzlog drivers on msmcobalt to support
secure communication between HLOS and TZ.

Change-Id: I930b1883e167dcf25c43b417a2e66f5ed86d5ac1
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
8 years agoMerge "ARM: dts: msm: Add tzdbg driver support for msmcobalt" into msm-4.4
Linux Build Service Account [Fri, 6 May 2016 16:56:19 +0000 (09:56 -0700)]
Merge "ARM: dts: msm: Add tzdbg driver support for msmcobalt" into msm-4.4

8 years agoMerge "ARM: dts: msm: add qseecom flag commonlib64-loaded-by-uefi on msmcobalt" into...
Linux Build Service Account [Fri, 6 May 2016 16:56:19 +0000 (09:56 -0700)]
Merge "ARM: dts: msm: add qseecom flag commonlib64-loaded-by-uefi on msmcobalt" into msm-4.4

8 years agoMerge "qseecom: add a new flag commonlib64-loaded-by-uefi" into msm-4.4
Linux Build Service Account [Fri, 6 May 2016 16:56:19 +0000 (09:56 -0700)]
Merge "qseecom: add a new flag commonlib64-loaded-by-uefi" into msm-4.4

8 years agoMerge "ARM: dts: msm: Add qseecom driver support for msmcobalt" into msm-4.4
Linux Build Service Account [Fri, 6 May 2016 16:56:18 +0000 (09:56 -0700)]
Merge "ARM: dts: msm: Add qseecom driver support for msmcobalt" into msm-4.4

8 years agoARM: dts: msm: Add tzdbg driver support for msmcobalt
Zhen Kong [Thu, 7 Apr 2016 18:08:36 +0000 (11:08 -0700)]
ARM: dts: msm: Add tzdbg driver support for msmcobalt

Add tzdbg driver support for msmcobalt, so tzlog and hyplog
can be obtained from hlos side.

Change-Id: I417a2e66f5ed86d5ac1930b1883e167dcf25c43b
Acked-by: Raj Jarang <rjarang@qti.qualcomm.com>
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
8 years agoARM: dts: msm: add qseecom flag commonlib64-loaded-by-uefi on msmcobalt
Zhen Kong [Fri, 25 Mar 2016 00:07:52 +0000 (17:07 -0700)]
ARM: dts: msm: add qseecom flag commonlib64-loaded-by-uefi on msmcobalt

add qseecom dtsi flag commonlib64-loaded-by-uefi to indicate commonlib64
is loaded by uefi already.

Change-Id: I8370cc414d95067d4e30da0f53ddb15070ed4d05
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
8 years agoqseecom: add a new flag commonlib64-loaded-by-uefi
Zhen Kong [Fri, 25 Mar 2016 00:04:31 +0000 (17:04 -0700)]
qseecom: add a new flag commonlib64-loaded-by-uefi

Add flag commonlib64-loaded-by-uefi to indicate commonlib64
is loaded by uefi already.

Change-Id: I9dd3f6bf92e178f1207424b09f39f2e08164df17
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
8 years agoARM: dts: msm: Add qseecom driver support for msmcobalt
Zhen Kong [Thu, 24 Mar 2016 20:21:36 +0000 (13:21 -0700)]
ARM: dts: msm: Add qseecom driver support for msmcobalt

Add qseecom driver support for msmcobalt, which is required
for secure communication between HLOS and Trustzone.

Change-Id: Ia87c3686ad09a80d965545c76f50ce4245d5477f
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
8 years agomsm: kgsl: Remove harmless preemption log message
Harshdeep Dhatt [Fri, 29 Apr 2016 15:25:48 +0000 (09:25 -0600)]
msm: kgsl: Remove harmless preemption log message

This message is logged when we receive a preemption
interrupt after we have already detected that preemption
has been finished in hardware by reading the preemption
status register. This is a harmless condition so remove
it.

CRs-Fixed: 993480
Change-Id: I61a48353428b3faa042fbc85e259b33c7f23bdb0
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
8 years agomsm: kgsl: Fix overflow in sharedmem read/write functions
Sunil Khatri [Fri, 29 Apr 2016 15:22:49 +0000 (09:22 -0600)]
msm: kgsl: Fix overflow in sharedmem read/write functions

There could be possibility of integer overflow on adding
sizeof(uint32_t) with uint64_t maximum offset bytes and result
in a value smaller than uint64_t maximum memdesc size.

CRs-Fixed: 988861
Change-Id: Ifc3ec45297c2a29ad6f7d70dd0bd59238ac8cc3d
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
8 years agomsm: kgsl: Add MMU offset mapping functions
Carter Cooper [Fri, 29 Apr 2016 15:22:39 +0000 (09:22 -0600)]
msm: kgsl: Add MMU offset mapping functions

Allow MMU mappings to take offsets rather than only allowing
full range mappings.

CRs-Fixed: 971174
Change-Id: Iaa113c8414a2d2d8f92b3cb21eaf2e422f273454
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
8 years agomsm: kgsl: Dump 64KB of preemption record in snapshot
Harshdeep Dhatt [Fri, 29 Apr 2016 15:22:29 +0000 (09:22 -0600)]
msm: kgsl: Dump 64KB of preemption record in snapshot

Dumping only the ctxt_record structure in a snapshot
is not enough. For a more meaningful snapshot, dump 64KB
of preempt record. Also, move the code to device specific
snapshot function.

Change-Id: I43e08ccefbf2d3911191b2aad5168979956e1626
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
8 years agomsm: kgsl: Clean up adreno trace code
Carter Cooper [Fri, 29 Apr 2016 15:22:16 +0000 (09:22 -0600)]
msm: kgsl: Clean up adreno trace code

Give trace code for IRQs a simpler format that moves
around where some logic lives.

CRs-Fixed: 971172
Change-Id: If426fb7599be0a79b6f37b8008a2310b1c006e93
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
8 years agomsm: kgsl: Don't spam kmsg due to invalid IOCTL requests
Carter Cooper [Fri, 29 Apr 2016 15:21:03 +0000 (09:21 -0600)]
msm: kgsl: Don't spam kmsg due to invalid IOCTL requests

When the IOCTL is called with invalid data, don't log to kmsg. The
returned error code should be enough to tell the UMD what they did wrong.

CRs-Fixed: 987074
Change-Id: Iae380e0f44dd53bee8ff4cec347a6b9a632b1f84
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
8 years agomsm: kgsl: Remove superfluous NULL checks when reading timestamps
Carter Cooper [Fri, 29 Apr 2016 15:20:49 +0000 (09:20 -0600)]
msm: kgsl: Remove superfluous NULL checks when reading timestamps

There is no way for the UMD to pass in NULL pointers for reading
timestamps. The KGSL driver also always has valid pointers
for storing the readpointer. Remove the checks that are not needed.

Change-Id: Id5f244a57a2b991a10b603ef7236193d4282fd0f
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
8 years agomsm: kgsl: Purge unused #defines
Carter Cooper [Fri, 29 Apr 2016 15:20:13 +0000 (09:20 -0600)]
msm: kgsl: Purge unused #defines

Remove unused #defines, structs and members that are no longer used.

CRs-Fixed: 971156
Change-Id: Ibdf6fef6f3f700f3c5315c228c0473e47fb62163
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
8 years agomsm: kgsl: Use a page pool to reduce allocation time
Deepak Kumar [Fri, 29 Apr 2016 15:16:51 +0000 (09:16 -0600)]
msm: kgsl: Use a page pool to reduce allocation time

Use a mempool to reduce the allocation time. When memory allocated
from pages is freed, put it in a page pool. At allocation time, try
to allocate from the page pool before getting pages from the system.
Make sure that the pool does not grow too big by enforcing a
maximum limit.

Change-Id: Icac7fb4355ee1fd07e7127ea5c2721665e279272
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
8 years agomsm_11ad: keep rf_clk3 on during wil6210 activity
Maya Erez [Wed, 4 May 2016 18:40:07 +0000 (21:40 +0300)]
msm_11ad: keep rf_clk3 on during wil6210 activity

wil6210 FW needs to control rf_clk3 in order
to allow the host to disable it.
Keep rf_clk3 always on, as the current FW code
doesn't support handling of rf_clk3.

Change-Id: I552094c64bd9fb360ddd73022fe21a403c245b2f
CRs-Fixed: 986130
Signed-off-by: Maya Erez <merez@codeaurora.org>
8 years agomsm: thermal: Make boot-up mitigation optional
Ram Chandrasekar [Fri, 29 Apr 2016 15:51:33 +0000 (09:51 -0600)]
msm: thermal: Make boot-up mitigation optional

For the targets with the LMH DCVSh mitigation, HLOS boot-up
mitigation is not required. So make the devicetree properties
related to boot-up mitigation as optional.

CRs-Fixed: 1010111
Change-Id: I7f254f579182effbc1f1a3d49c3c917d3c7af162
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
8 years agomsm: mdss: hdmi: refactor event handler
Ajay Singh Parmar [Tue, 19 Apr 2016 07:12:23 +0000 (00:12 -0700)]
msm: mdss: hdmi: refactor event handler

HDMI driver handles many MDP events. Currently all the events
are handled in one function. Create different functions for
each event for a cleaner approach.

Change-Id: Ib48c02b2b89f7fdb347afd3a02d8b6b7c1c03e85
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
8 years agomsm: mdss: hdmi: refactor initialization of features
Ajay Singh Parmar [Mon, 18 Apr 2016 23:08:47 +0000 (16:08 -0700)]
msm: mdss: hdmi: refactor initialization of features

HDMI driver initializes many features like EDID (Extended Display
Identification Data), CEC (Consumer Electronics Control), HDCP (
Hight-Bandwidth Digital Content Protection) and related sub-modules.
Initialize them in separate functions for cleaner approach.

Change-Id: I5b73d3b558af576b5114c42b63260bb688f2d8d1
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
8 years agoicnss: Enable SMMU BYPASS mode
Yuanyuan Liu [Wed, 4 May 2016 01:38:21 +0000 (18:38 -0700)]
icnss: Enable SMMU BYPASS mode

The plan was to use bypass mode till fastpath API's
are available. Hence enable SMMU BYPASS mode.

Change-Id: I53bcd8293f7587ddba64ed0e019b77eee62b5e72
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
8 years agomsm: mdss: hdmi: add dynamic fps support
Ajay Singh Parmar [Wed, 23 Mar 2016 02:00:52 +0000 (19:00 -0700)]
msm: mdss: hdmi: add dynamic fps support

Add dynamic fps support for hdmi to update the resolution
timings on the interface by either changing the clock rate
or by modifying the porch values or both. Dynamic fps feature
can by used for hdmi to support different use cases like
matching input stream fps with hdmi out.

Change-Id: Ia305e1eb5d3da1dfbf868650e5ee84018255476b
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
8 years agomsm: mdss: fb: reconfigure panel if output format has changed
Ajay Singh Parmar [Fri, 8 Apr 2016 16:49:49 +0000 (09:49 -0700)]
msm: mdss: fb: reconfigure panel if output format has changed

User modules can switch to same resolution with different format like
RGB or YUV. In cases where just the format is changing, reconfigure
the panel to switch to new format.

Change-Id: I52b11f19f576e13e197e8c576a9c5ada54416f5e
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
8 years agomsm: kgsl: Check for failure in coresight initialization
Sunil Khatri [Fri, 29 Apr 2016 15:16:27 +0000 (09:16 -0600)]
msm: kgsl: Check for failure in coresight initialization

We need to check for both NULL pointer and error condition
in coresight initialization and return with proper error.

CR's-Fixed: 971398
Change-Id: Id1e3e0f756ac1c9a0ff4f4e6ce073e80e31473b8
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
8 years agomsm: mdss: hdmi: check for scrambler override
Ajay Singh Parmar [Fri, 8 Apr 2016 16:59:50 +0000 (09:59 -0700)]
msm: mdss: hdmi: check for scrambler override

In some cases, scrambling may need to be forced on or off based on
sink requirements. To support such requirements, scrambler override
may be imposed. If scrambler override has been enabled, use
override value to enable or disable scrambler.

Change-Id: I9556c6457258598e6b6758573bb0263d53e612da
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
8 years agomsm: mdss: hdmi: update switch node on hpd off
Ajay Singh Parmar [Thu, 7 Apr 2016 04:56:15 +0000 (21:56 -0700)]
msm: mdss: hdmi: update switch node on hpd off

During framework reboot, keep the switch nodes in sync with
user modules to make sure hdmi cable notification mechanism
works after reboot.

Change-Id: I22696b17ec6ff11b1a378df9611eb8ab4be01358
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
8 years agodefconfig: msmcortex: Enable workqueue watchdog
Trilok Soni [Sat, 23 Apr 2016 19:15:11 +0000 (12:15 -0700)]
defconfig: msmcortex: Enable workqueue watchdog

Enable workqueue hang detection through workqueue watchdog feature.

CRs-Fixed: 1007459
Change-Id: Ic9dd60923198f38117843e9e087287fac294c197
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
8 years agoworkqueue: implement lockup detector
Tejun Heo [Tue, 8 Dec 2015 16:28:04 +0000 (11:28 -0500)]
workqueue: implement lockup detector

Workqueue stalls can happen from a variety of usage bugs such as
missing WQ_MEM_RECLAIM flag or concurrency managed work item
indefinitely staying RUNNING.  These stalls can be extremely difficult
to hunt down because the usual warning mechanisms can't detect
workqueue stalls and the internal state is pretty opaque.

To alleviate the situation, this patch implements workqueue lockup
detector.  It periodically monitors all worker_pools periodically and,
if any pool failed to make forward progress longer than the threshold
duration, triggers warning and dumps workqueue state as follows.

 BUG: workqueue lockup - pool cpus=0 node=0 flags=0x0 nice=0 stuck for 31s!
 Showing busy workqueues and worker pools:
 workqueue events: flags=0x0
   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=17/256
     pending: monkey_wrench_fn, e1000_watchdog, cache_reap, vmstat_shepherd, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, cgroup_release_agent
 workqueue events_power_efficient: flags=0x80
   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=2/256
     pending: check_lifetime, neigh_periodic_work
 workqueue cgroup_pidlist_destroy: flags=0x0
   pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/1
     pending: cgroup_pidlist_destroy_work_fn
 ...

The detection mechanism is controller through kernel parameter
workqueue.watchdog_thresh and can be updated at runtime through the
sysfs module parameter file.

v2: Decoupled from softlockup control knobs.

CRs-Fixed: 1007459
Change-Id: Id7dfbbd2701128a942b1bcac2299e07a66db8657
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Don Zickus <dzickus@redhat.com>
Cc: Ulrich Obergfell <uobergfe@redhat.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Chris Mason <clm@fb.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Git-commit: 82607adcf9cdf40fb7b5331269780c8f70ec6e35
Git-repo: git://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
8 years agowatchdog: introduce touch_softlockup_watchdog_sched()
Tejun Heo [Tue, 8 Dec 2015 16:28:04 +0000 (11:28 -0500)]
watchdog: introduce touch_softlockup_watchdog_sched()

touch_softlockup_watchdog() is used to tell watchdog that scheduler
stall is expected.  One group of usage is from paths where the task
may not be able to yield for a long time such as performing slow PIO
to finicky device and coming out of suspend.  The other is to account
for scheduler and timer going idle.

For scheduler softlockup detection, there's no reason to distinguish
the two cases; however, workqueue lockup detector is planned and it
can use the same signals from the former group while the latter would
spuriously prevent detection.  This patch introduces a new function
touch_softlockup_watchdog_sched() and convert the latter group to call
it instead.  For now, it just calls touch_softlockup_watchdog() and
there's no functional difference.

CRs-Fixed: 1007459
Change-Id: I6fe77926acd4240458cab29d399f81d8739a16c0
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Ulrich Obergfell <uobergfe@redhat.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Git-commit: 03e0d4610bf4d4a93bfa16b2474ed4fd5243aa71
Git-repo: git://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
8 years agolib: Makefile: Ignore Kasan errors reported from the find_bit
Trilok Soni [Fri, 22 Apr 2016 20:25:10 +0000 (13:25 -0700)]
lib: Makefile: Ignore Kasan errors reported from the find_bit

This is same as commit c836a400dd1e ("lib: Ignore kasan errors from
find_next_bit and last bit") but 4.4 kernel had done the re-org
of the find_next_bit.c and find_last_bit.c files and merged
them as one file find_bit.c.

CRs-Fixed: 1007351
Change-Id: Iff58832a535227ea071ce5b14d537d9993f9dfc2
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
8 years agolib: memtest: Add MEMTEST_ENABLE_DEFAULT option
Trilok Soni [Thu, 21 Apr 2016 22:46:42 +0000 (15:46 -0700)]
lib: memtest: Add MEMTEST_ENABLE_DEFAULT option

As of now memtest remains disabled until we specify the patterns
through the kernel command line. Some platforms have two
different configurations files (one for debug and another for
product) which can use the configuration option to enable the
memtest by default (in the debug configuration file).

CRs-Fixed: 1007344
Change-Id: I0bf7b33c3584f3d6cf5ef58dfe72be46212041da
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
8 years agoirqchip: irq-msm: Delete irq-msm.c
Trilok Soni [Thu, 21 Apr 2016 20:57:28 +0000 (13:57 -0700)]
irqchip: irq-msm: Delete irq-msm.c

There is no need of irq-msm.c since the users of this file have
moved their callbacks to the respective file (like wcdxxx) and
starting 4.4 we don't use the USE_PINCTRL_IRQ.

CRs-Fixed: 1007342
Change-Id: I9016aadac88483c8547ed1a40cb6c55909f347cf
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
8 years agomsm: mdss: update bus scaling macro
Abhijit Kulkarni [Tue, 12 Apr 2016 22:48:52 +0000 (15:48 -0700)]
msm: mdss: update bus scaling macro

msm_bus clients must use CONFIG_QCOM_BUS_SCALING as opposed to
CONFIG_MSM_BUS_SCALING.

Change-Id: Icc6ee5e2ba60d7f619393518b4f06aee6f784f3d
Signed-off-by: Sushil Chauhan <sushilchauhan@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
8 years agomsm: thermal: Prolong KTM mitigation till thermal-engine takesover
Ram Chandrasekar [Wed, 9 Mar 2016 22:47:07 +0000 (15:47 -0700)]
msm: thermal: Prolong KTM mitigation till thermal-engine takesover

KTM stops the boot time mitigation during late init
and thermal engine takes over the mitigation only after
a delay.

Modify KTM to prolong the boot time mitigation till
thermal-engine sends a disable command. This ensures a
safe handover.

CRs-Fixed: 1007266
Change-Id: Icb876f16cac9471c523f3ef5b5fd3ede9d5d597c
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
8 years agomsm: thermal: Reorganize KTM probe function
Ram Chandrasekar [Fri, 29 Apr 2016 00:24:31 +0000 (18:24 -0600)]
msm: thermal: Reorganize KTM probe function

Reorganize KTM probe function by grouping and separating them
based on functionalities. The deferrable properties and sysfs
node creation are grouped into two separate function
calls.

CRs-Fixed: 1010111
Change-Id: If144319371a5c65f193ffac8fb9852a836125966
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
8 years agomsm: thermal: Remove proactive vdd restriction during probe
Ram Chandrasekar [Tue, 3 May 2016 23:21:40 +0000 (17:21 -0600)]
msm: thermal: Remove proactive vdd restriction during probe

Vdd restriction probe will apply mitigation, which will be cleared
later during the KTM boot mitigation. KTM now initializes the
data structures to do this mitigation only after vdd restriction probe.

So remove this pro-active mitigation in the probe function. KTM boot
mitigation will be started immediately after the KTM probe and can take
care of this mitigation.

CRs-Fixed: 1010111
Change-Id: Ica59aeb0c94581e3c37b5b7df16c187ced45c28a
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
8 years agomsm: ipa: Fix memory free issue
Ravinder Konka [Sun, 3 Apr 2016 17:04:31 +0000 (22:34 +0530)]
msm: ipa: Fix memory free issue

When calling dma_free_coherent, there is a possibility that
size 0 is passed as argument which can result into panic.
Make a change to check for the size before calling the API.

Change-Id: Idb248e1270b79b51e53de687793030a047fe6c73
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Sridhar Ancha <sancha@codeaurora.org>
8 years agomsm: ipa: Fix suspend bit clearing on disconnected pipe
Ravinder Konka [Wed, 30 Mar 2016 09:41:23 +0000 (15:11 +0530)]
msm: ipa: Fix suspend bit clearing on disconnected pipe

When the USB pipe is getting disconnected there is a possibility
that suspend bit will be cleared due to resource manager. Make
a change to not to clean the suspend bit when pipe disconnection
is in progress.

Change-Id: I97ff3d53c12ed163ae5dbec184ed9445c901459e
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Sridhar Ancha <sancha@codeaurora.org>
8 years agoipa: Fix holb monitor response handling from Uc
Ravinder Konka [Wed, 30 Mar 2016 09:02:10 +0000 (14:32 +0530)]
ipa: Fix holb monitor response handling from Uc

At the point when ISR routine is triggered, if the IPA
clients are 0, ISR handling will be deferred using
power_mgmt_wq and same workqueue is used to send
holb monitoring command after Uc is loaded. As a result
response to holb monitoring command will not be honored.
Make a change to use a different wq for sending holb
monitoring command.

Change-Id: I611155901e928fa8d9bbcbdf2511cd98aa36df2c
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Sridhar Ancha <sancha@codeaurora.org>
8 years agoARM: dts: msm: enable VDD_APC CPR HW closed-loop operation for msmcobalt
Osvaldo Banuelos [Wed, 27 Apr 2016 21:43:50 +0000 (14:43 -0700)]
ARM: dts: msm: enable VDD_APC CPR HW closed-loop operation for msmcobalt

Enable CPR hardware closed-loop operation for the VDD_APC CPR
devices. This allows CPR hardware to dynamically scale the
VDD_APC0 and VDD_APC1 rail voltages and results in reduced
power utilization.

Change-Id: I6a6cb1096cc91ac995dbc36c8edaaa20c392e6c8
CRs-Fixed: 1009142
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
8 years agoARM: dts: msm: update VDD_APC CPR settings for msmcobalt
Osvaldo Banuelos [Wed, 13 Apr 2016 21:48:13 +0000 (14:48 -0700)]
ARM: dts: msm: update VDD_APC CPR settings for msmcobalt

Update the VDD_APC CPR controller settings to the latest
recommended hardware guidelines for msmcobalt.

Change-Id: Idae5097ee0247589885328c9e55b65f981a261c2
CRs-Fixed: 1009142
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
8 years agoregulator: cprh-kbss-regulator: update corner switch delay time doc
Osvaldo Banuelos [Wed, 27 Apr 2016 21:22:40 +0000 (14:22 -0700)]
regulator: cprh-kbss-regulator: update corner switch delay time doc

The qcom,cpr-corner-switch-delay-time property is used to specify
voltage settling delay per 1 mV of voltage change. Update the
documentation to reflect this.

Change-Id: I6af5a0bd5ddb5fdb22585f9da34524475f49233f
CRs-Fixed: 1009142
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
8 years agoARM: dts: msm: Add JPEG DMA max downscale node for msmcobalt
Gautham Mayyuri [Fri, 29 Apr 2016 02:27:41 +0000 (19:27 -0700)]
ARM: dts: msm: Add JPEG DMA max downscale node for msmcobalt

Add dtsi node capturing JPEG DMA max downscale factor
on msmcobalt.

CRs-Fixed: 1009871
Change-Id: Idb3780f0ce3d8c0b3f659aee2c0806b20c7f1379
Signed-off-by: Gautham Mayyuri <gmayyuri@codeaurora.org>
8 years agomsm: jpeg: Expose JPEG DMA max downscale to user space
Gautham Mayyuri [Fri, 29 Apr 2016 02:55:14 +0000 (19:55 -0700)]
msm: jpeg: Expose JPEG DMA max downscale to user space

This change will retrieve JPEG DMA max downscale factor
from dtsi and expose it to user space.

CRs-Fixed: 1009871
Change-Id: I57496aeb47d907f540a25c854ef7b35c6b5ab399
Signed-off-by: Gautham Mayyuri <gmayyuri@codeaurora.org>
8 years agoRevert "ARM: dts: msm: disable UFS LPM modes for msmcobalt cdp/mtp"
Venkat Gopalakrishnan [Fri, 22 Apr 2016 21:04:50 +0000 (14:04 -0700)]
Revert "ARM: dts: msm: disable UFS LPM modes for msmcobalt cdp/mtp"

This reverts commit b7ac4821c9fa ("ARM: dts: msm: disable
UFS LPM modes for msmcobalt cdp/mtp").
The hibern8 issue has been fixed, so enable UFS LPM modes.

Change-Id: If66039ff752741e44b00175a7cc73681e7ca16ae
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
8 years agomsm: vidc: Allow zero length qbuf
Arun Menon [Wed, 4 May 2016 20:20:13 +0000 (13:20 -0700)]
msm: vidc: Allow zero length qbuf

Video driver expects and supports zero length qbuf.
The v4l2 framework will allow zero length qbuf only if
vb->allow_zero_bytesused is enabled.

Change-Id: Ie94ffce93d28d08610310885e4f257ebdbc15dd1
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
8 years agosoc: qcom: rpm_master_stat: Add additional debug stats
Ramakrishnan Ganesh [Fri, 11 Mar 2016 20:35:18 +0000 (12:35 -0800)]
soc: qcom: rpm_master_stat: Add additional debug stats

Adding support to print additional XO sleep related debug stats
the rpm maintains for each of the masters. The additional stats
include xo_count, xo_last_entered_at, xo_last_exited_at, and
xo_accumulated_duration.

CRs-Fixed: 985182
Change-Id: I39d3d234222b6136ab0e68367e13c1276dce61f6
Signed-off-by: Ramakrishnan Ganesh <ramakris@codeaurora.org>
8 years agodrivers: soc: qcom: rpm_stats: Switch to use arch_counter_get_cntvct()
Mahesh Sivasubramanian [Mon, 2 May 2016 23:21:08 +0000 (17:21 -0600)]
drivers: soc: qcom: rpm_stats: Switch to use arch_counter_get_cntvct()

Upstream kernel has deprecated the use of arch_counter_get_cntpct() and the
drivers are expected to switch to arch_counter_get_cntvct.

Switch to using arch_counter_get_cntvct().

Change-Id: Ie5c9236ad34ea61a375a4a3ae1f1d91fda0a9ccf
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
8 years agoqcom: Port rpm logs and stats driver from 3.18 to 4.4 kernel
Mahesh Sivasubramanian [Tue, 12 Apr 2016 20:46:05 +0000 (14:46 -0600)]
qcom: Port rpm logs and stats driver from 3.18 to 4.4 kernel

Snapshot of rpm status drivers as of msm-3.18 commit
e70ad0cd5ef

Change-Id: Ibceaa8f948e203c39e3df55b135c0a394f39ca5f
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
8 years agomsm: ipa3: Move IPA headers building to IPAHAL
Amir Levy [Mon, 2 May 2016 14:00:13 +0000 (17:00 +0300)]
msm: ipa3: Move IPA headers building to IPAHAL

IPA headers building is a logic related to H/W.
As such, migrating this logic to IPAHAL (H/W abstraction
layer) of IPA driver and adapt the core driver code to use
it. New internal S/W API is added to access IPAHAL for
headers building.

CRs-fixed: 989231
Change-Id: I2cec6c6f9fe7aea0e2276b01133f8c3505b9919f
Signed-off-by: Amir Levy <alevy@codeaurora.org>
8 years agoARM: dts: msm: Set the high bank bit value for MSMcobalt
Harshdeep Dhatt [Mon, 21 Mar 2016 18:23:06 +0000 (12:23 -0600)]
ARM: dts: msm: Set the high bank bit value for MSMcobalt

Set the recommended high bit bank value for A540 that
will be programmed into registers by the kernel and/or the
user mode driver.

CRs-Fixed: 994759
Change-Id: Ib3006067e184bf97adf75971ab96b2c673909eba
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Signed-off-by: Shrenuj Bansal <shrenujb@codeaurora.org>
8 years agomsm: camera: Correct hardware register settings for CSIPHY
Viswanadha Raju Thotakura [Mon, 25 Apr 2016 19:38:34 +0000 (12:38 -0700)]
msm: camera: Correct hardware register settings for CSIPHY

Correct settle_cnt settings in the CSIPHY driver, enable
register value for CSIPHYwq.

CRs-Fixed: 1011110
Change-Id: I2000cab0a56a890cbd5503306a794e6b9b295db6
Signed-off-by: Viswanadha Raju Thotakura <viswanad@codeaurora.org>
8 years agoARM: dts: msm: Correct camera nodes for msmcobalt
Viswanadha Raju Thotakura [Wed, 20 Apr 2016 19:58:12 +0000 (12:58 -0700)]
ARM: dts: msm: Correct camera nodes for msmcobalt

Add clocks, regulators needed for CSID, CSIPHY, CCI camera nodes,
correct pinctrl nodes for camera sensor.

CRs-Fixed: 1011110
Change-Id: Ieee68a709a1f56d53bd2746fa28fbd76195270b0
Signed-off-by: Viswanadha Raju Thotakura <viswanad@codeaurora.org>
8 years agoirqchip: irq-msm: Remove pinctrl_irq_dummy(..) hook
Trilok Soni [Sat, 16 Apr 2016 19:23:56 +0000 (12:23 -0700)]
irqchip: irq-msm: Remove pinctrl_irq_dummy(..) hook

of_mpm_init(..) is now directly called into the pinctrl-msm.c
driver and therefor it is not needed to be present in the irq-msm.c.

This also helps us to not have target specific compatible string
names attached everytime we add new SOC.

Eventually we will remove irq-msm.c altogether.

CRs-Fixed: 1007342
Change-Id: I904ee0b08079972b181f53fdc5a6022871da74e8
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
8 years agodefconfig: msmcortex: Enable PAGE_OWNER and DEBUG_PAGEALLOC
Trilok Soni [Thu, 21 Apr 2016 19:13:15 +0000 (12:13 -0700)]
defconfig: msmcortex: Enable PAGE_OWNER and DEBUG_PAGEALLOC

Even though CONFIG_PAGE_OWNER and CONFIG_DEBUG_PAGEALLOC are enabled
they won't add any debugging information until
CONFIG_PAGE_OWNER_ENABLE_DEFAULT and CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT
are selected as "y".

Another option is to enable/disable them through the kernel
commnad line but since we have two defconfigs(perf and debug) for
the products it will be easier to use the CONFIG_xxx options to
toggle these options.

CRs-Fixed: 1006743
Change-Id: I35602327d75945c35126ce2d657803d786a44121
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
8 years agomm/page_owner: ask users about default setting of PAGE_OWNER
Trilok Soni [Thu, 21 Apr 2016 01:12:51 +0000 (18:12 -0700)]
mm/page_owner: ask users about default setting of PAGE_OWNER

Since this commit 48c96a3685795 ("mm/page_owner: keep track
of page owners") doesn't enable the page_owner by default
even though CONFIG_PAGE_OWNER is enabled.

Add configuration option CONFIG_PAGE_OWNER_ENABLE_DEFAULT to
allow user to enable it by default through the defconfig file.

CRs-Fixed: 1006743
Change-Id: I9b565a34e2068bf575974eaf3dc9f7820bdd7a96
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
8 years agodefconfig: msm: sde: Add config for v4l2 sde rotator driver.
Alan Kwong [Sun, 17 Jan 2016 05:56:27 +0000 (00:56 -0500)]
defconfig: msm: sde: Add config for v4l2 sde rotator driver.

Enable v4l2 sde rotator driver, a replacement for mdss rotator driver.

CRs-Fixed: 972831
Change-Id: I005041820e3721536693c892f5bc1d8d977dd770
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
8 years agousb: gadget: f_diag: Update serial_number with dload_cookie
Mayank Rana [Sat, 30 Apr 2016 00:09:50 +0000 (17:09 -0700)]
usb: gadget: f_diag: Update serial_number with dload_cookie

USB DIAG function driver updates dload_cookie with USB PID and serial
number to avoid port-hopping for DIAG port with bootloader. Now
composite_driver doesn't get updated strings as android.c is
deprecated and configfs is used. Hence use composite device based
strings to find required serial number.

CRs-Fixed: 1010715
Change-Id: I076928436a8b1b4d1c3ee7e48db9b3314ec1fc05
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
8 years agoARM: dts: msm: Add qcom,msm-imem-diag-dload node on msmcobalt
Mayank Rana [Mon, 2 May 2016 23:17:21 +0000 (16:17 -0700)]
ARM: dts: msm: Add qcom,msm-imem-diag-dload node on msmcobalt

The diag dload memory region is part of IMEM. USB Diag driver
queries this DT node for the memory address to access and update
USB PID and serial number. Hence add qcom,msm-imem-diag-dload node
on msmcobalt.

CRs-Fixed: 1010715
Change-Id: I2144bacc11190b92d14b00480dd538e27d13c3e1
Signed-off-by: Mayank Rana <mrana@codeaurora.org>