Commit graph

580480 commits

Author SHA1 Message Date
Neeraj Upadhyay
d3071e2565 ARM: dts: msm: Add initial device tree for SDM658
Add initial device tree and socinfo support for SDM658 SoC.
Also add device tree and socinfo support for SDA variant.

Change-Id: I3d8860ed57c859d35eaf4d77f0064091993a1bcf
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
2017-01-03 10:12:09 +05:30
Amit Nischal
5d81681e1e clk: qcom: Add handoff support for smd-rpm and voter rpm clocks
Some smd-rpm and voter rpm clocks are critical for system booting
and should not be gated until a unused clock tree late_init level.
So add support for handoff functionality for system critical rpm
clocks by using CLK_ENABLE_HAND_OFF flag.

Change-Id: I9f9674a25fc5f7a2bc9b5672b00716b82223b06b
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
2017-01-03 10:01:29 +05:30
Linux Build Service Account
2f817b68f0 Merge "mmc: core: Remove flag MMC_PM_WAKE_SDIO_IRQ in mmc_resume_host" 2017-01-02 14:25:03 -08:00
Linux Build Service Account
d14f6599ce Merge "mmc: core: add deferred resume support" 2017-01-02 14:25:02 -08:00
Linux Build Service Account
b6579def54 Merge "ARM: dts: msm: add support of PM660a based SDM630 platform" 2017-01-02 14:25:01 -08:00
Linux Build Service Account
eb0ef42d3a Merge "mmc: sdhci: Ignore data end bit error interrupts." 2017-01-02 14:25:00 -08:00
Linux Build Service Account
4509e16fc9 Merge "mmc: core: Avoid frequent enable/disable of Auto BKOPS" 2017-01-02 14:25:00 -08:00
Linux Build Service Account
39d46f4b21 Merge "rmnet_data: queue QMAP control packets if start_xmit fails" 2017-01-02 14:24:59 -08:00
Linux Build Service Account
83dbf65a2d Merge "defconfig: msm: Enable CONFIG_MMC_CQ_HCI for sdm660" 2017-01-02 04:48:52 -08:00
Linux Build Service Account
1537b3e7ea Merge "msm: vidc: Cache invalidate performance fix" 2017-01-02 04:48:51 -08:00
Linux Build Service Account
d6dc904e21 Merge "clk: qcom: smd-rpm: Update the number of rpm clocks for sdm660" 2017-01-02 04:48:50 -08:00
Linux Build Service Account
048afaa352 Merge "regulator: qpnp-labibb: Add support for PM660A" 2017-01-02 04:48:50 -08:00
Linux Build Service Account
fff9b2fc21 Merge "scripts: build_all: build sdm defconfigs" 2017-01-02 04:48:49 -08:00
Shankar Ravi
aaa8d813c2 ARM: dts: msm: Camera clock changes for sdm660
1. Add CSIPHY_AHB2CRIF clock to csiphy node.
2. Correct the  JPEG clocks to vote clock.
3. Correct the cpp clock rates.
4. remove fd mapping from smmu.
5. Correct the Vfe clock rates.

Change-Id: I9925c29df77ab8d4cf5f3cc67613f4682d2ffe3e
Signed-off-by: Shankar Ravi <rshankar@codeaurora.org>
2017-01-02 18:12:17 +05:30
Utkarsh Saxena
053b0dcf11 msm: ipa: add ipc logging for ipa driver
Add ipc logging for ipa driver for different use cases
such that ipa driver can direct messages to ipc logging
buffer which can be found in crashdump.

Allocate ipa_low IPC only when needed,
for data path and other frequent log prints to avoid
performance penalty.

Change-Id: I5350a015b587b6cbcbfdcebe523376a8e50fc06c
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
2017-01-02 17:41:12 +05:30
Pavan Anamula
11536b8f25 mmc: block: Add check to mmc_blk_part_switch
Sometimes after failing RPMB access due to card in bad voltgae state,
If issue USER parition access request,it fails as card is already in
bad state. Fix this by adding error handling to mmc_blk_part_switch()
and by resetting the block whenever partition switch fails.

Change-Id: I245683b0b0a06b13938036dbc37e87ed1ef70b89
Signed-off-by: Pavan Anamula <pavana@codeaurora.org>
2017-01-02 04:05:16 -08:00
Rajesh Kemisetti
5cb2ca205f msm: kgsl: Enable Content Protection for A512 GPU
Enable CPZ feature for A512 GPU on sdm660.
This is required to process secure conent by GPU.

Change-Id: Iaaedde4e56e331379be0b44b23527df0d5807f55
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
2017-01-02 16:12:06 +05:30
Ritesh Harjani
10803b9f2e mmc: core: Remove flag MMC_PM_WAKE_SDIO_IRQ in mmc_resume_host
MMC_PM_WAKE_SDIO_IRQ flag is used by platform driver(sdhci-msm
here) to determine if SDIO wakeup IRQ needs to be enabled
or not. If this flag is not removed in every mmc_resume_host,
then while suspend, platform driver will configure the sdio
wakeup IRQ even though wlan is disabled from UI.
This flag can be enabled by wlan driver before entring into suspend.
In this case since Wlan is not enable and thus not entering WoW mode,
pull up present on this SDIO GPIO line will pull the line high (which
otherwise is pulled low by wlan firmware in WoW mode and triggers
interrupt by pulling it high in WoW mode) which eventually will
trigger a false SDIO wakeup interrupt thus breaking the suspend
everytime.
Hence disable the flag everytime in mmc_sdio_resume and let
wlan driver enables it (-by sdio_set_host_pm_flags)
before entering into suspend if needed
for sdio wakeup part.

Change-Id: Iecf9eef4d91a741116bc8b8bb59c49ae7f2891fd
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
2017-01-02 01:44:13 -08:00
Asutosh Das
3059e03a6b mmc: core: add deferred resume support
This patch enables the deferred resume support which would
prevent initialization of the card each time the system resumes.
With this change, the resume process would only be initiated if
a request is received.

Following scenario can occur:
1. device runtime suspended, system suspend is triggered
   When resumed, the device would not be resumed until a
   request is received.
2. device is runtime active, system suspend is triggered
   When resumed, the device would be marked as BUS_NEEDS_RESUME
   and actual resume would happen, when a request is received.
   At this point, the device may also enter runtime-suspend or
   system suspend may also occur. In both the cases, since the
   device has not been resumed, it won't be suspended again.
   However, the platform device would be runtime suspended
   and resumed as before.
   It can so happen that the card is removed even before a
   request is received. In this case the device would be
   resumed and card would be removed from core layer and
   upper layers would be notified.
In case of SDIO cards, this change would not have any effect
since manual resume would be enabled for devices supporting
a block read/write commands.

CRs-Fixed: 561382
Change-Id: Id39befea109ee24864dfde0898395b972d0a1b3a
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
2017-01-02 01:31:34 -08:00
Dhoat Harpal
52bda664e5 soc: qcom: glink: Fix queue intent after glink close
Glink pkt client is calling glink_queue_rx_intent even after calling
glink_close, this result in calling with invalid handle.

glink_queue_rx_intent is called with mutex lock and dev handle is
set to NULL right after call to glink_close.

CRs-Fixed: 1098097
Change-Id: I6fc8e7d91a6d27fe6602e8aabcffcdbfb1316c97
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
2017-01-02 15:00:11 +05:30
Dhoat Harpal
c83c5f7406 soc: qcom: smem: Fix uninitialized usage of a stack variable
variable size is output variable and is not initialized,
printing it can lead to information leak.

variable size is removed from log message.

CRs-Fixed: 1093837
Change-Id: I95cf227bb82a2ee7c6f43db151f75a942e8e55ce
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
2017-01-02 14:51:45 +05:30
Pavan Anamula
fa5e1372df mmc: sdhci: Ignore data end bit error interrupts.
Avoid printing of the error messages and register dumps,
incase of data endbit errors like other data errors.

Change-Id: If8ed082cc97a895cfbf959201c579914d5768b23
Signed-off-by: Pavan Anamula <pavana@codeaurora.org>
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
2017-01-01 23:46:13 -08:00
Sarada Prasanna Garnayak
72f739bbe7 icnss: Provide API to check the firmware ready status
API check the wlan firmware ready status in icnss platform
data and return the status(true/false) to caller.

CRs-Fixed: 1106520
Change-Id: I1246e6c213011d73ade5078c07bb2190135e54ec
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2017-01-01 23:07:41 -08:00
Vijay Viswanath
f649debf15 mmc: core: Avoid frequent enable/disable of Auto BKOPS
During suspend/resume, the driver writes to AUTOBKOPS_EN bit in
EXT_CSD register of eMMC which is R/W/E. Even after power off
R/W/E bit will retain it's value, as it will be stored in NAND
flash. Multiple writes can wear out the specific NAND block which
store the system data(AUTO BKOPS bit in this case). So to avoid
this, enabling/disabling of autobkops has been removed from
suspend and resume. The background operations, if any, will stop
when sleep command is sent during suspend process.

Change-Id: I8aa7eda86beafacb3337be81c5a7f1f1e86f4998
Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
2017-01-01 22:58:15 -08:00
Krishna Manikandan
32c1a32691 msm: mdss: Set default fps for dedicated WB
In targets with dedicated writeback paths, the FPS isn't
set properly for BW calculations for WB cases. Setting
the FPS to default frame rate, for such cases.

Change-Id: I83c545f3344ee5fc3d356f0e08d3c20453e22b31
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:48:27 +05:30
Krishna Manikandan
9efdd2ca23 msm: mdss: protect iommu attached status variable with iommu_lock
Commit dd7ad27eb3de6b088b6525b066c40f5a29ac4c60 ("msm: mdss: fix
race condition between iommu attach and sending DCS cmds") protected
the iommu attach/detach to fix possible race condition between the
display thread and DCS cmd sending from ESD or some other thread with
iommu_lock. But this still leaves possibility of race condition based
on iommu_attached status flag.
  -> Display thread finishes the attach and releases the iommu lock
  -> DCS cmd thread gets the iommu lock and checks iommu_attached
     status before display thread could change it.
Protect the iommu_attached status variable along with iommu
attach/detach to avoid such cases.

Change-Id: I42d0ced5cbfd741cf02ad71c80c4f01dde37f647
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:47:37 +05:30
Krishna Manikandan
42507841e7 msm: mdss: Memset commit structure in compat path
Memset commit structure in compat path ioctl as some
of the pointer variables might go uninitialized, if not
explicitly initialized by the userspace. These uninitialized
variables contain garbage values which can further result
in kernel crash.

Change-Id: I09518a43438e27751f2b918d682f551550c4342e
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:44:36 +05:30
Krishna Manikandan
90fd65ba93 msm: mdss: Add sysfs node for mdss to give runtime fps
Added sysfs node on mdss to get fps value at runtime.
The calculation is time based where in mdss driver
counts number of frames transferred for every 1 second.

Change-Id: I6f38298d066852d1a41cb90167aa41f594eec9c0
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:40:40 +05:30
Krishna Manikandan
134572d905 msm: mdss: Allow WB to use first available control path
WB timeouts are seen when WB is connected after 4k HDMI
use case. This was seen when WB is using the same mixer
which was earlier used by HDMI, with 3D Mux enabled.
Since 3D Mux registers are double buffered, the best way
to clear control operations is to re-use the control path.
Hence allowing WB to choose the first available control
path.

Change-Id: Ie599a6d58f461ee7905402bf0a948ac829d8de12
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:39:41 +05:30
Sandeep Panda
223488d48f msm: mdss: rename dsi phy version for msm8996 and sdm660
DSI phy v2 is used on msm8996 and sdm660. Update the phy
timing device node property to mention the correct DSI PHY
version. This will ensure that proper naming convention is
followed across msm8996 and sdm660 target.

Change-Id: Idd88110ddebf2dd38cfe375ac1bf3804ce4bb4d0
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
2017-01-02 10:37:49 +05:30
Krishna Manikandan
461809cfed msm: mdss: Fix potential NULL pointer dereference in mdss smmu driver
FB driver will call this function even if there is no MDP.
mdss_mdp_get_mdata will return NULL in that scenario and needs to be
checked.

Change-Id: Icebed1bc9b4da214fec2ca924590403d1656fa5d
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:34:02 +05:30
Krishna Manikandan
2616ef2bb0 msm: mdss: print fence name during sync fence timeouts
Add fence name to the warning message instead of sync pt
data fence, to help in debugging sync fence timeout issues.

Change-Id: I4bee08786ff3fc7f6109afcf923df46e76ad1619
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:32:53 +05:30
Krishna Manikandan
b3e5488a19 msm: mdss: Fix compat IOCTLS in rotator and primary
Update structures in mdss compat layer with the new
interface changes in mdss headers, so that 32_to_64
backward compatibility is maintained.

Change-Id: I1b75ee6d0d13438fedbaf045a3cdc7f47bf32ba2
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:30:38 +05:30
Santosh Mardi
b1213275c8 ARM: dts: msm: add cpufreq node for SDM660
Add cpufreq device node for SDM660 target which
helps cpu core frequency scaling.

Change-Id: Idca3fd5959ac83bfd9abaf929f4c6fc405a6bf10
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2017-01-02 10:30:08 +05:30
Krishna Manikandan
7d62d1df16 msm: mdss: configure the dynamic fps correctly
Dynamic fps should be set to max fps supported if it is out of
range. Configure the clocks based on the max fps set.

Change-Id: Ied2d4803c0840be00929b7093601aab39930b3e9
Signed-off-by: Ashish Garg <ashigarg@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:29:22 +05:30
Krishna Manikandan
46332069e9 msm: mdss: add cmd_off_mtx for synchronizing vsync handler and off sequence
At present the ctl->offlock mutex is used for synchronization
between ESD thread and OFF sequence. Using the same mutex
for synchronization between add_vsync_handler() and OFF
sequence was causing unnecessary synchronization between
ESD thread and add_vsyc_handler(). To improve performance
a new mutex, cmd_off_mtx is used for the second case.

Change-Id: I7d0b0690672869937d82df68ea9f571023fc88d1
Signed-off-by: Shalini Krishnamoorthi <shakri@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:28:21 +05:30
Krishna Manikandan
efd66e0283 msm: mdss: Fix potential NULL pointer dereferences
Fixing potential NULL pointer dereferences in MDSS driver.

Change-Id: Ibaa6b8adec966737b41c36f530ae88a968d5d5ed
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:27:05 +05:30
Krishna Manikandan
cb31d17385 msm: mdss: Initialize pan_name array to 0 and handle error case
Initialize the pan_name array to 0 before trying to copy
data from mdss_mdp_panel array to prevent junk values
being wrongly parsed by strnstr function and return error
when panel name is '0', this would let us read the primary
panel interface from device tree.

Change-Id: I07bfc1f7195f6cc61dfd3e470d2e3e3e43c0049d
Signed-off-by: Shalini Krishnamoorthi <shakri@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:25:41 +05:30
Krishna Manikandan
64f1b2153f msm: mdss: check for split display enable in multiple displays
'commit 3bf808d38b78b55eb2bf686555a0c2f371eccdf2 ("msm:
fb: add mdp foot switch for multiple splash displays")'
considers DSI0 and DSI1 as separate displays even if
split display is enabled. So the number of displays
are calculated as 2 whereas the driver considers this
as a single display. This causes MDP clocks to remain
ON. This change corrects number of displays calculated
by checking for split display.

Change-Id: Ie0d3dbbcb93cc86b88a8b903fd1f7ccd89a8a871
Signed-off-by: Krishna Srinivas <krisrini@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:23:48 +05:30
Krishna Manikandan
a951692bfe msm: fb: add mdp foot switch for multiple splash displays
If there are multiple splash displays enabled in LK, mdp foot switch
needs to perform multiple times. Otherwise, clock resources are not
enabled/disabled symmetrically.

Change-Id: Iaca1163f44883be9e027460c48bd0ebc0ec2266a
Signed-off-by: Camus Wong <camusw@codeaurora.org>
Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
2017-01-02 10:22:03 +05:30
Amit Nischal
90fc047ad7 ARM: dts: msm: Add hw trigger for CPP GDSC on SDM/8998/8996
Camera cpp node need to trigger/de-trigger HW mode for CPP GDSC
so add support for the same for the required targets.

Change-Id: I92eb57e51b2078c493fb9acc8dfc3dff1a02ef84
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
2017-01-02 09:57:34 +05:30
Ashay Jaiswal
0efed03409 ARM: dts: msm: add support of PM660a based SDM630 platform
SDM630 platform can support either PM660l or PM660a PMICs,
add support for the same.

CRs-Fixed: 1106556
Change-Id: I82e35ef278ea5900c4023ab714cbf31f8c01151f
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-01-02 09:52:33 +05:30
Linux Build Service Account
c88fe01f9a Merge "clk: Fix handoff counts for parent of handoff enabled clocks" 2017-01-01 20:19:53 -08:00
Taniya Das
26622264a3 defconfig: msm: Enable MMCC/GPUCC and OSM clocks for sdm660
Multimedia and Graphics clock controller is required to be enabled for perf
defconfig. Also enable OSM clock controller for CPU clocks.

Change-Id: I6d9f7b6a40e5899af4104949c59a9b9fee87587c
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2017-01-02 09:08:47 +05:30
Taniya Das
e88c34c32c clk: qcom: smd-rpm: Update the number of rpm clocks for sdm660
The total number of rpm clocks are required to be updated to the correct
index else it would not send RPM the first vote. Also update the bimc mux
sel value. Add an extra mmssnoc_axi active vote of 19.2MHz.

Change-Id: I502c72a18a3e3493f44cdf72f48efcbae41efb7b
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2017-01-02 09:01:06 +05:30
Pavankumar Kondeti
8bbfeb52e0 ARM: dts: msm: Add CPU efficiency values for sdm630
The values passed from device tree overrides the default values
defined in the topology code.

Change-Id: I323b43a228f9bc61cad079d1ac76940af209a1c5
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
2017-01-02 08:59:08 +05:30
Neeraj Upadhyay
24d5515b41 scripts: build_all: build sdm defconfigs
Add support for building new sdm defconfigs.

Change-Id: I7d1ae9fb0a3888a92ee4df850061afe3d2e378c6
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
2017-01-01 21:01:10 +05:30
Linux Build Service Account
6137652043 Merge "defconfig: arm64: Add OLEDB regulator support" 2017-01-01 00:29:58 -08:00
Linux Build Service Account
046e487756 Merge "staging: android: ion: fix up file mode" 2016-12-31 02:17:47 -08:00
Linux Build Service Account
89c77097ad Merge "ARM: dts: msm: Add GFX CPR device configuration for sdm660" 2016-12-31 02:17:46 -08:00