]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/log
mirror_ubuntu-zesty-kernel.git
7 years agowcn36xx: eliminate the warning for unsupported SMD_EVENT
Yin, Fengwei [Wed, 14 Oct 2015 14:15:25 +0000 (22:15 +0800)]
wcn36xx: eliminate the warning for unsupported SMD_EVENT

  188 and 259.

Signed-off-by: Yin, Fengwei <fengwei.yin@linaro.org>
7 years agowcn36xx: Update the smd client driver to use new smd channel
Yin, Fengwei [Fri, 23 Oct 2015 08:07:42 +0000 (16:07 +0800)]
wcn36xx: Update the smd client driver to use new smd channel
match method.

Signed-off-by: Yin, Fengwei <fengwei.yin@linaro.org>
7 years agoBluetooth: btqcomsmd: Qualcomm WCNSS HCI driver
Bjorn Andersson [Tue, 20 Oct 2015 02:48:21 +0000 (10:48 +0800)]
Bluetooth: btqcomsmd: Qualcomm WCNSS HCI driver

The Qualcomm WCNSS chip provides two SMD channels to the BT core; one
for command and one for event packets. This driver exposes the two
channels as a hci device.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoBluetooth: Add HCI device identifier for Qualcomm SMD
Bjorn Andersson [Tue, 20 Oct 2015 02:46:25 +0000 (10:46 +0800)]
Bluetooth: Add HCI device identifier for Qualcomm SMD

This patch assigns the next free HCI device identifier to Bluetooth
devices based on the Qualcomm Shared Memory channels.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoMigrate the wifi driver from old smd driver to new smd driver.
Yin, Fengwei [Tue, 28 Jul 2015 07:21:54 +0000 (15:21 +0800)]
Migrate the wifi driver from old smd driver to new smd driver.

Signed-off-by: Yin, Fengwei <fengwei.yin@linaro.org>
Conflicts:
arch/arm64/boot/dts/qcom/msm8916.dtsi

7 years agoUpdate the initialization sequence to enable DB410c.
Yin, Fengwei [Sun, 13 Sep 2015 14:00:06 +0000 (22:00 +0800)]
Update the initialization sequence to enable DB410c.

The soc on DB410c board is not same as MTP8916. It doesn't support
48M operation frequency.

Signed-off-by: Yin, Fengwei <fengwei.yin@linaro.org>
7 years agoSet the dma mask for platform device which is not created from DT.
Yin, Fengwei [Thu, 23 Apr 2015 05:15:59 +0000 (13:15 +0800)]
Set the dma mask for platform device which is not created from DT.

Signed-off-by: Yin, Fengwei <fengwei.yin@linaro.org>
7 years agoGot workable wireless driver.
Yin, Fengwei [Fri, 17 Apr 2015 03:48:24 +0000 (11:48 +0800)]
Got workable wireless driver.

Signed-off-by: Yin, Fengwei <fengwei.yin@linaro.org>
7 years agowcn36xx: add later fw capabilities
Andy Green [Mon, 19 Jan 2015 04:33:42 +0000 (12:33 +0800)]
wcn36xx: add later fw capabilities

wcn3620 prima firmware exposes more capabilities than known about
in the mainline driver, they're reported as "unknown" at probe.

This adds the extra capabilities so they can at least be reported
correctly.

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agonet wireless wcn36xx adapt wcnss platform to select module by DT
Andy Green [Sat, 17 Jan 2015 03:20:49 +0000 (11:20 +0800)]
net wireless wcn36xx adapt wcnss platform to select module by DT

Simplify the resource handling and use DT to indicate which chip type
we are dealing with

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agonet wireless wcn36xx add wcnss platform code
Eugene Krasnikov [Sat, 17 Jan 2015 02:58:30 +0000 (10:58 +0800)]
net wireless wcn36xx add wcnss platform code

AG modified to remove regulator handling not needed on msm8916-qrd

Signed-off-by: Eugene Krasnikov <k.eugene.e@gmail.com>
Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agowcn3620: use new response format for wcn3620 remove_bsskey
Andy Green [Mon, 19 Jan 2015 04:44:30 +0000 (12:44 +0800)]
wcn3620: use new response format for wcn3620 remove_bsskey

On wcn3620, firmware response to remove_bsskey uses the new, larger
"v2" format

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agowcn3620: use new response format for wcn3620 trigger_ba
Andy Green [Mon, 19 Jan 2015 04:52:37 +0000 (12:52 +0800)]
wcn3620: use new response format for wcn3620 trigger_ba

On wcn3620, firmware response to trigger_ba uses the new, larger
"v2" format

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agowcn36xx: handle new hal response format
Andy Green [Mon, 12 Jan 2015 15:01:26 +0000 (23:01 +0800)]
wcn36xx: handle new hal response format

wcn3620 has a new message structure for the reply to some hal
commands.  This patch adds the struct and helper routine that
uses it if the chip is wcn3620, or falls back to the old
helper routine.

We don't know what to do with the candidate list he sends back,
but we can at least accept and ignore it nicely instead of dying.

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agowcn36xx: remove powersaving for wcn3620
Andy Green [Mon, 12 Jan 2015 14:08:45 +0000 (22:08 +0800)]
wcn36xx: remove powersaving for wcn3620

WCN3620 powersaving mode is not stable.  Disable it if we're
on a wcn3620 chip type.

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agowcn36xx: swallow two wcn3620 IND messages
Andy Green [Sat, 17 Jan 2015 03:11:40 +0000 (11:11 +0800)]
wcn36xx: swallow two wcn3620 IND messages

WCN3620 can asynchronously send two new kinds of indication message,
since we can't handle them just accept them quietly.

v2: used one break for both in the second stanza

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agowcn36xx: introduce WCN36XX_HAL_AVOID_FREQ_RANGE_IND
Andy Green [Sat, 17 Jan 2015 03:07:02 +0000 (11:07 +0800)]
wcn36xx: introduce WCN36XX_HAL_AVOID_FREQ_RANGE_IND

WCN3620 firmware introduces a new async indication, we need to
add it as a known message type so we can accept it

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agowcn36xx: use 3680 dxe regs for 3620
Andy Green [Sat, 17 Jan 2015 03:02:00 +0000 (11:02 +0800)]
wcn36xx: use 3680 dxe regs for 3620

Between 3620, 3660 and 3680, only 3660 has a different dxe register

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agowcn36xx: get chip type from platform ops
Andy Green [Sat, 17 Jan 2015 04:39:15 +0000 (12:39 +0800)]
wcn36xx: get chip type from platform ops

Autodetecting the chip type does not work well.
Stop attempting to do it and require a platform op
that tells us what the chip is.

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agowcn36xx: add wcn3620 chip type definition
Andy Green [Sat, 17 Jan 2015 03:03:45 +0000 (11:03 +0800)]
wcn36xx: add wcn3620 chip type definition

Convert the list of chip types to an enum, add the default
UNKNOWN type and a type for WCN3620 chip

Signed-off-by: Andy Green <andy.green@linaro.org>
7 years agofirmware: scm: add proc restart support
Srinivas Kandagatla [Tue, 24 Nov 2015 16:55:32 +0000 (16:55 +0000)]
firmware: scm: add proc restart support

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agofirmware: qcom: scm: Fixup arm64 asm
Andy Gross [Thu, 6 Aug 2015 03:52:44 +0000 (22:52 -0500)]
firmware: qcom: scm: Fixup arm64 asm

This fixes an issue with x6 usage in scm calls.

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agofirmware: qcom: scm: add video (vidc) scm calls
Stanimir Varbanov [Tue, 28 Apr 2015 14:20:09 +0000 (17:20 +0300)]
firmware: qcom: scm: add video (vidc) scm calls

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Conflicts:
drivers/firmware/qcom_scm.c

7 years agofirmware: qcom: scm: Support IOMMU scm calls
Stanimir Varbanov [Tue, 28 Apr 2015 11:05:33 +0000 (14:05 +0300)]
firmware: qcom: scm: Support IOMMU scm calls

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Conflicts:
drivers/firmware/qcom_scm-64.c
drivers/firmware/qcom_scm.c

7 years agofirmware: qcom: scm: Support PIL SCMs
Stanimir Varbanov [Mon, 27 Apr 2015 12:59:43 +0000 (15:59 +0300)]
firmware: qcom: scm: Support PIL SCMs

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Conflicts:
drivers/firmware/qcom_scm-32.c
drivers/firmware/qcom_scm.c
drivers/firmware/qcom_scm.h

Conflicts:
drivers/firmware/qcom_scm-32.c
drivers/firmware/qcom_scm-64.c
drivers/firmware/qcom_scm.c

7 years agofirmware: qcom: scm: Split out 32-bit specific SCM code
Kumar Gala [Wed, 11 Mar 2015 21:28:10 +0000 (16:28 -0500)]
firmware: qcom: scm: Split out 32-bit specific SCM code

Split out the 32-bit SCM implementation into its own file to prep for
supporting a 64-bit/ARM64 implementation as well.  We create a simple shim
to ensure both versions conform to the same interface.

Signed-off-by: Kumar Gala <galak@codeaurora.org>
7 years agofirmware: qcom: scm: Fix NULL coherent device
Andy Gross [Fri, 10 Jul 2015 17:35:29 +0000 (12:35 -0500)]
firmware: qcom: scm: Fix NULL coherent device

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agofirmware: qcom: scm: Add 64 bit PAS APIs
Andy Gross [Fri, 3 Jul 2015 20:44:05 +0000 (15:44 -0500)]
firmware: qcom: scm: Add 64 bit PAS APIs

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agofirmware: qcom: scm: Peripheral Authentication Service
Bjorn Andersson [Tue, 30 Jun 2015 19:46:19 +0000 (12:46 -0700)]
firmware: qcom: scm: Peripheral Authentication Service

This adds the Peripheral Authentication Service (PAS) interface to the
Qualcomm SCM interface. The API is used to authenticate and boot a range
of external processors in various Qualcomm platforms.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agofirmware: qcom: scm: Add boot APIs
Andy Gross [Thu, 2 Jul 2015 22:09:09 +0000 (17:09 -0500)]
firmware: qcom: scm: Add boot APIs

This patch adds the warm/cold boot and cpu shutdown APIs.

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agofirmware: qcom: scm: Generalize shared error map
Andy Gross [Thu, 2 Jul 2015 21:56:27 +0000 (16:56 -0500)]
firmware: qcom: scm: Generalize shared error map

This patch moves the qcom_scm_remap_error function to the include file where it
can be used by both the 32 and 64 bit versions of the code.

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agofirmware: qcom: scm: Add support for ARM64 SoCs
Kumar Gala [Wed, 8 Apr 2015 19:34:02 +0000 (14:34 -0500)]
firmware: qcom: scm: Add support for ARM64 SoCs

Add an implementation of the SCM interface that works on ARM64/64-bit SoCs

Signed-off-by: Kumar Gala <galak@codeaurora.org>
Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agocpufreq-dt: Add L2 frequency scaling support
Georgi Djakov [Tue, 8 Sep 2015 08:24:41 +0000 (11:24 +0300)]
cpufreq-dt: Add L2 frequency scaling support

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Conflicts:
drivers/cpufreq/cpufreq-dt.c

7 years agopwer:avs: cpr: fix with new reg_sequence structures
Srinivas Kandagatla [Wed, 16 Sep 2015 15:55:12 +0000 (16:55 +0100)]
pwer:avs: cpr: fix with new reg_sequence structures

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agopower: avs: cpr: Fix Duplicate OPPs warning
Georgi Djakov [Fri, 11 Sep 2015 13:26:31 +0000 (16:26 +0300)]
power: avs: cpr: Fix Duplicate OPPs warning

Change the sequence to get the regulators first
and then add OPPs as regulators can defer probe
in the middle and leave us with only partially
added OPPs.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
7 years agopower: avs: Register CPR with cpufreq-dt
Georgi Djakov [Mon, 15 Jun 2015 06:44:42 +0000 (09:44 +0300)]
power: avs: Register CPR with cpufreq-dt

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
7 years agopower: avs: cpr: Use raw mem access for qfprom
Georgi Djakov [Sun, 14 Jun 2015 19:22:47 +0000 (22:22 +0300)]
power: avs: cpr: Use raw mem access for qfprom

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
7 years agopower: avs: Add support for CPR (Core Power Reduction)
Stephen Boyd [Tue, 2 Jun 2015 01:47:59 +0000 (18:47 -0700)]
power: avs: Add support for CPR (Core Power Reduction)

RBCPR (RapidBridge Core Power Reduction) is a technology to reduce
core power on a CPU or other device. It reads voltage settings in
efuse from product test process as initial settings and populates OPPs
for the device being "monitored". Each OPP corresponds to a "corner"
that has a range of valid voltages for a particular frequency. While
the device is running at a particular frequency, CPR monitors dynamic
factors such as temperature, etc. and adjusts the voltage for that
frequency accordingly to save power and meet silicon characteristic
requirements.

This driver is based on work by others on codeaurora.org[1].

TODO:
* DT binding documentation

[1] https://www.codeaurora.org/cgit/quic/la/kernel/msm-3.10/tree/drivers/regulator/cpr-regulator.c?h=msm-3.10

Cc: David Collins <collinsd@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
7 years agocpufreq-dt: Handle OPP voltage adjust events
Stephen Boyd [Tue, 2 Jun 2015 01:47:58 +0000 (18:47 -0700)]
cpufreq-dt: Handle OPP voltage adjust events

On some SoCs the Adaptive Voltage Scaling (AVS) technique is
employed to optimize the operating voltage of a device. At a
given frequency, the hardware monitors dynamic factors and either
makes a suggestion for how much to adjust a voltage for the
current frequency, or it automatically adjusts the voltage
without software intervention.

In the former case, an AVS driver will call
dev_pm_opp_modify_voltage() and update the voltage for the
particular OPP the CPUs are using. Add an OPP notifier to
cpufreq-dt so that we can adjust the voltage of the CPU when AVS
updates the OPP.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
7 years agoOPP: Allow notifiers to call dev_pm_opp_get_{voltage, freq} RCU-free
Stephen Boyd [Tue, 2 Jun 2015 01:47:57 +0000 (18:47 -0700)]
OPP: Allow notifiers to call dev_pm_opp_get_{voltage, freq} RCU-free

We pass the dev_pm_opp structure to OPP notifiers but the users
of the notifier need to surround calls to dev_pm_opp_get_*() with
RCU read locks to avoid lockdep warnings. The notifier is already
called with the dev_opp's srcu lock held, so it should be safe to
assume the devm_pm_opp structure is already protected inside the
notifier. Update the lockdep check for this.

Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
7 years agoPM / OPP: Support adjusting OPP voltages at runtime
Stephen Boyd [Tue, 2 Jun 2015 01:47:56 +0000 (18:47 -0700)]
PM / OPP: Support adjusting OPP voltages at runtime

On some SoCs the Adaptive Voltage Scaling (AVS) technique is
employed to optimize the operating voltage of a device. At a
given frequency, the hardware monitors dynamic factors and either
makes a suggestion for how much to adjust a voltage for the
current frequency, or it automatically adjusts the voltage
without software intervention. Add an API to the OPP library for
the former case, so that AVS type devices can update the voltages
for an OPP when the hardware determines the voltage should
change. The assumption is that drivers like CPUfreq or devfreq
will register for the OPP notifiers and adjust the voltage
according to suggestions that AVS makes.

Cc: Nishanth Menon <nm@ti.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
7 years agoMove to new qcom_smem_get() api
Srinivas Kandagatla [Fri, 8 Jan 2016 18:04:15 +0000 (18:04 +0000)]
Move to new qcom_smem_get() api

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoFix: Make it buildable on v4.3
Srinivas Kandagatla [Tue, 8 Dec 2015 11:38:31 +0000 (11:38 +0000)]
Fix: Make it buildable on v4.3

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agosoc: qcom: Stub IPCRTR client driver
Bjorn Andersson [Wed, 10 Dec 2014 19:27:51 +0000 (11:27 -0800)]
soc: qcom: Stub IPCRTR client driver

The IPCRTR channel needs to come up for the pronto block to be happy and
continue communication, so this driver does just that (and dumps
incoming data in the log).

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Conflicts:
drivers/soc/qcom/Kconfig
drivers/soc/qcom/Makefile

7 years agosoc: qcom: rpm_log: Add rpm log driver
Andy Gross [Tue, 3 Nov 2015 21:02:23 +0000 (15:02 -0600)]
soc: qcom: rpm_log: Add rpm log driver

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agosoc: qcom: Add msm_bus driver
Andy Gross [Tue, 13 Oct 2015 03:59:55 +0000 (22:59 -0500)]
soc: qcom: Add msm_bus driver

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agoremoteproc: tz: Allow no scm clocks support
Srinivas Kandagatla [Mon, 7 Dec 2015 11:56:24 +0000 (11:56 +0000)]
remoteproc: tz: Allow no scm clocks support

On APQ8064 I could not find any scm clocks related to scm and Q6, so
this patch is a temporary workaround to get the q6 loading working on
ifc6410.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoWIP: remoteproc: HACK to get it working on DB410c
Srinivas Kandagatla [Thu, 26 Nov 2015 13:11:41 +0000 (13:11 +0000)]
WIP: remoteproc: HACK to get it working on  DB410c

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoWIP: remoteproc: q6: add support to scm restart
Srinivas Kandagatla [Tue, 24 Nov 2015 17:47:45 +0000 (17:47 +0000)]
WIP: remoteproc: q6: add support to scm restart

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoWIP: remoteproc: q6: add support to memory-region
Srinivas Kandagatla [Tue, 24 Nov 2015 17:46:09 +0000 (17:46 +0000)]
WIP: remoteproc: q6: add support to memory-region

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoWIP:remoteproc:q6pil: add segment_is_loadable and segment_is_relocatable macros
Srinivas Kandagatla [Tue, 24 Nov 2015 17:30:25 +0000 (17:30 +0000)]
WIP:remoteproc:q6pil: add segment_is_loadable and segment_is_relocatable macros

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoWIP: remoteproc: q6: remove some commented out code
Srinivas Kandagatla [Tue, 24 Nov 2015 17:18:16 +0000 (17:18 +0000)]
WIP: remoteproc: q6: remove some commented out code

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agosoc: qcom: smd: Support opening additional channels
Bjorn Andersson [Tue, 20 Oct 2015 02:46:15 +0000 (10:46 +0800)]
soc: qcom: smd: Support opening additional channels

With the qcom_smd_open_channel() API we allow SMD devices to open
additional SMD channels, to allow implementation of multi-channel SMD
devices - like Bluetooth.

Channels are opened from the same edge as the calling SMD device is tied
to.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agosoc: qcom: smd: Support multiple channels per sdev
Bjorn Andersson [Tue, 20 Oct 2015 02:45:43 +0000 (10:45 +0800)]
soc: qcom: smd: Support multiple channels per sdev

This patch allows chaining additional channels to a SMD device, enabling
implementation of multi-channel SMD devies - like Bluetooth.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agosoc: qcom: smd: Refactor channel open and close handling
Bjorn Andersson [Tue, 20 Oct 2015 02:44:16 +0000 (10:44 +0800)]
soc: qcom: smd: Refactor channel open and close handling

Refactor opening and closing of channels into two separate functions
instead of open coding this in the various places.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agosoc: qcom: smd: Split discovery and state change work
Bjorn Andersson [Tue, 20 Oct 2015 02:43:44 +0000 (10:43 +0800)]
soc: qcom: smd: Split discovery and state change work

Split the two steps of channel discovery and state change handling into
two different workers. This allows for new channels to be found while
we're are probing, which is required as we introduce multi-channel
support.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agosoc: qcom: smd: Introduce callback setter
Bjorn Andersson [Tue, 20 Oct 2015 02:42:56 +0000 (10:42 +0800)]
soc: qcom: smd: Introduce callback setter

Introduce a setter for the callback function pointer to clarify the
locking around the operation and to reduce some duplication.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agosoc: smd: Migrate the wifi driver from old smd driver to new smd driver.
Yin, Fengwei [Tue, 17 Nov 2015 16:51:01 +0000 (16:51 +0000)]
soc: smd: Migrate the wifi driver from old smd driver to new smd driver.

Signed-off-by: Yin, Fengwei <fengwei.yin@linaro.org>
7 years agoqcom-smd-rpm: Add MSM8916 support
Andy Gross [Wed, 22 Apr 2015 20:35:39 +0000 (15:35 -0500)]
qcom-smd-rpm: Add MSM8916 support

This patch adds SMD/RPM support for the MSM8916.

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agogpio:smp2p:qcom: kill set_irq_flags and use genirq
Srinivas Kandagatla [Thu, 24 Sep 2015 18:01:47 +0000 (19:01 +0100)]
gpio:smp2p:qcom: kill set_irq_flags and use genirq

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoremoteproc: tz_pil: skip waiting ready irq if it not provided
Stanimir Varbanov [Fri, 21 Aug 2015 14:34:05 +0000 (17:34 +0300)]
remoteproc: tz_pil: skip waiting ready irq if it not provided

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
7 years agoremoteproc: tz_pil: take relocation flag into account
Stanimir Varbanov [Fri, 21 Aug 2015 13:37:57 +0000 (16:37 +0300)]
remoteproc: tz_pil: take relocation flag into account

when setup memory by scm call

Signed-off-by: Andy Gross <agross@codeaurora.org>
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
7 years agoremoteproc: tz_pil: make irqs, smd edge & crash-reason optional properties
Stanimir Varbanov [Wed, 19 Aug 2015 13:54:46 +0000 (16:54 +0300)]
remoteproc: tz_pil: make irqs, smd edge & crash-reason optional properties

the wdog, fatal, ready, handover and stop-ack irqs does not
exist for vidc (venus) remote processor, so make them optional.

Also crash-reason id and smd edge ditto.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
7 years agoregulator: smd: remove left over debug statement
Nicolas Dechesne [Mon, 7 Sep 2015 08:56:03 +0000 (10:56 +0200)]
regulator: smd: remove left over debug statement

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
7 years agoregulator: smd: Add correct ifdef flag for stubs
Srinivas Kandagatla [Wed, 22 Jul 2015 14:30:02 +0000 (15:30 +0100)]
regulator: smd: Add correct ifdef flag for stubs

If built as module would throw up with
drivers/regulator/qcom_smd-regulator.c:67:5: error: redefinition of 'qcom_rpm_set_floor'
drivers/regulator/qcom_smd-regulator.c:89:5: error: redefinition of 'qcom_rpm_set_corner'

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoregulator: smd: Make set_{corner,floor} work with regulator struct
Georgi Djakov [Mon, 1 Jun 2015 16:23:00 +0000 (19:23 +0300)]
regulator: smd: Make set_{corner,floor} work with regulator struct

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
7 years agoregulator: smd: Add floor and corner operations
Andy Gross [Tue, 19 May 2015 06:44:28 +0000 (01:44 -0500)]
regulator: smd: Add floor and corner operations

This patch addes the Qualcomm specific functions for setting the floor and
corner voltages on the regulators.

Signed-off-by: Andy Gross <agross@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Conflicts:
drivers/regulator/qcom_smd-regulator.c

7 years agoHACK: soc: qcom: smd: Add debug to fix timing
Andy Gross [Wed, 15 Jul 2015 03:54:43 +0000 (22:54 -0500)]
HACK: soc: qcom: smd: Add debug to fix timing

Hack to fix crashes

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agoremoteproc: tz_pil: Fixes to support 8916
Andy Gross [Wed, 15 Jul 2015 03:03:52 +0000 (22:03 -0500)]
remoteproc: tz_pil: Fixes to support 8916

This patch adds a few things to support the MSM8916 PIL.

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agogpio: qcom-smp2p: Fix compile issues
Andy Gross [Tue, 14 Jul 2015 03:48:17 +0000 (22:48 -0500)]
gpio: qcom-smp2p: Fix compile issues

This patch fixes 64 bit compile issues

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agodt-binding: gpio: Introduce qcom,smp2p binding documentation
Bjorn Andersson [Tue, 30 Jun 2015 01:06:42 +0000 (18:06 -0700)]
dt-binding: gpio: Introduce qcom,smp2p binding documentation

Introduce binding documentation for the Qualcomm Shared Memory Point 2 Point
protocol implemented as gpio and interrupt controllers.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agogpio: qcom-smp2p: Qualcomm Shared Memory Point to Point
Bjorn Andersson [Thu, 25 Sep 2014 23:03:26 +0000 (16:03 -0700)]
gpio: qcom-smp2p: Qualcomm Shared Memory Point to Point

Introduce the Qualcomm Shard Memory Point to Point driver, exposing bits
from the SMP2P protocol as gpio and interrupt controllers.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Conflicts:

drivers/gpio/Kconfig
drivers/gpio/Makefile

7 years agosoc: qcom: smd: Use correct smem id
Andy Gross [Mon, 13 Jul 2015 21:35:56 +0000 (16:35 -0500)]
soc: qcom: smd: Use correct smem id

This patch fixes the incorrect table and smem id usage

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agogpio: smsm: Fix compiler warnings
Andy Gross [Wed, 15 Jul 2015 04:24:13 +0000 (23:24 -0500)]
gpio: smsm: Fix compiler warnings

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agogpio: smsm: Update smem prototypes
Bjorn Andersson [Fri, 3 Apr 2015 20:24:54 +0000 (13:24 -0700)]
gpio: smsm: Update smem prototypes

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agogpio: qcom-smsm: Add driver for Qualcomm SMSM
Bjorn Andersson [Thu, 25 Sep 2014 22:59:58 +0000 (15:59 -0700)]
gpio: qcom-smsm: Add driver for Qualcomm SMSM

This driver exposed the Qualcomm Shared Memory State Machine bits as
GPIOs to the system.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoregulator: qcom: smd: Regulator driver for the Qualcomm RPM
Bjorn Andersson [Mon, 13 Apr 2015 21:58:02 +0000 (14:58 -0700)]
regulator: qcom: smd: Regulator driver for the Qualcomm RPM

Driver for regulators exposed by the Resource Power Manager (RPM) found
in devices based on Qualcomm 8974 and newer platforms.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: qcom_q6v5_pil: Fix 64 bit
Andy Gross [Fri, 3 Jul 2015 23:48:06 +0000 (18:48 -0500)]
remoteproc: qcom_q6v5_pil: Fix 64 bit

This patch fixes some 64 bit issues with compilation.

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agoremoteproc: qcom_tz_pil: Fix compiler issues
Andy Gross [Fri, 3 Jul 2015 21:33:01 +0000 (16:33 -0500)]
remoteproc: qcom_tz_pil: Fix compiler issues

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agoremoteproc: qcom: Extract PAS and fix compilation for 4.1
Bjorn Andersson [Tue, 30 Jun 2015 18:26:23 +0000 (11:26 -0700)]
remoteproc: qcom: Extract PAS and fix compilation for 4.1

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: qcom-tz: Drop smd reset stuff for now
Bjorn Andersson [Wed, 8 Apr 2015 21:25:31 +0000 (14:25 -0700)]
remoteproc: qcom-tz: Drop smd reset stuff for now

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: qcom-tz: Update smem prototypes
Bjorn Andersson [Fri, 3 Apr 2015 20:25:39 +0000 (13:25 -0700)]
remoteproc: qcom-tz: Update smem prototypes

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: qcom-tz: Update to match smem api changes
Bjorn Andersson [Tue, 17 Feb 2015 20:50:20 +0000 (12:50 -0800)]
remoteproc: qcom-tz: Update to match smem api changes

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: qcom: q6v5 pil: Initial hack to boot mss
Bjorn Andersson [Mon, 5 Jan 2015 18:10:08 +0000 (10:10 -0800)]
remoteproc: qcom: q6v5 pil: Initial hack to boot mss

This initial hack powers the q6v5, boots and authenticate the mba and
use that to load the mdt and subsequent bXX files.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: Support loading firmware from lately mounted fs (HACK)
Courtney Cavin [Mon, 5 Jan 2015 18:07:57 +0000 (10:07 -0800)]
remoteproc: Support loading firmware from lately mounted fs (HACK)

If the firmware isn't available during boot then table_ptr will be NULL
and subsequent attempts to load the firmware will fail. Move things
around and reattempt the load upon trying to boot the rproc.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: qcom: tz-pil: Round up max address
Bjorn Andersson [Mon, 5 Jan 2015 18:07:02 +0000 (10:07 -0800)]
remoteproc: qcom: tz-pil: Round up max address

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: qcom-tz: Finish shutdown on timeout
Bjorn Andersson [Wed, 10 Dec 2014 19:42:18 +0000 (11:42 -0800)]
remoteproc: qcom-tz: Finish shutdown on timeout

When the remote processor have hit an fatal error, it will not perform
the stop-ack handshake. So we have to finish the shutdown process to not
leave the remote processor in a dangling state (stopping us from
bringing it up again).

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: qcom-tz: Inform SMD about crashing remotes
Bjorn Andersson [Wed, 10 Dec 2014 19:41:12 +0000 (11:41 -0800)]
remoteproc: qcom-tz: Inform SMD about crashing remotes

When a remote processor crashes there is no indication in SMD, so we
need to inform the SMD driver that it should reset all open channels
associated with the remote processor.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: qcom-tz-pil: Add interrupts and gpio hooks
Bjorn Andersson [Fri, 21 Nov 2014 18:34:02 +0000 (10:34 -0800)]
remoteproc: qcom-tz-pil: Add interrupts and gpio hooks

Add the necessary interrupt and gpio hooks to be informed about events
on the remote processor as well as being able to shut it down
gracefully.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: Add additional crash reasons
Bjorn Andersson [Fri, 21 Nov 2014 18:33:30 +0000 (10:33 -0800)]
remoteproc: Add additional crash reasons

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: qcom-pil: Implementation of Qualcomm TZ backed PIL
Bjorn Andersson [Thu, 27 Feb 2014 23:52:47 +0000 (15:52 -0800)]
remoteproc: qcom-pil: Implementation of Qualcomm TZ backed PIL

This implements the TrustZone based Peripheral Image Loader used in
Qualcomm platforms for loading and boot audio, video and wifi/bt remote
processors.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agoremoteproc: core: Make the loaded resource table optional
Bjorn Andersson [Tue, 11 Nov 2014 01:25:53 +0000 (17:25 -0800)]
remoteproc: core: Make the loaded resource table optional

Remote processors like the ones found in the Qualcomm SoCs does not have
a resource table passed to them, so make it optional and only populate
it if it exists.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
7 years agosoc: qcom: smem: Add debugfs
Andy Gross [Fri, 10 Jul 2015 17:36:46 +0000 (12:36 -0500)]
soc: qcom: smem: Add debugfs

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agoarm64: add qcom_defconfig
Kumar Gala [Tue, 20 Jan 2015 19:36:03 +0000 (13:36 -0600)]
arm64: add qcom_defconfig

7 years agoregulator: qcom-smd: Add support for PMA8084
Andy Gross [Tue, 15 Dec 2015 05:30:45 +0000 (23:30 -0600)]
regulator: qcom-smd: Add support for PMA8084

This patch adds support and documentation for the PMA8084 regulators
found on APQ8084 platforms.

Signed-off-by: Andy Gross <agross@codeaurora.org>
Acked-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
7 years agoregulator: qcom-smd: Add PM8916 support
Andy Gross [Tue, 15 Dec 2015 05:30:44 +0000 (23:30 -0600)]
regulator: qcom-smd: Add PM8916 support

This patch adds support and documentation for the PM8916 regulators
found on MSM8916 platforms.

Acked-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <agross@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
7 years agodrivers/soc/qcom/smd.c: use __ioread32_copy() instead of open-coding it
Stephen Boyd [Tue, 5 Jan 2016 23:49:31 +0000 (10:49 +1100)]
drivers/soc/qcom/smd.c: use __ioread32_copy() instead of open-coding it

Now that we have a generic library function for this, replace the
open-coded instance.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Cc: <zajec5@gmail.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
7 years agoARM: 8485/1: cpuidle: remove cpu parameter from the cpuidle_ops suspend hook
Lorenzo Pieralisi [Thu, 17 Dec 2015 10:22:45 +0000 (11:22 +0100)]
ARM: 8485/1: cpuidle: remove cpu parameter from the cpuidle_ops suspend hook

The suspend() hook in the cpuidle_ops struct is always called on
the cpu entering idle, which means that the cpu parameter passed
to the suspend hook always corresponds to the local cpu, making
it somewhat redundant.

This patch removes the logical cpu parameter from the ARM
cpuidle_ops.suspend hook and updates all the existing kernel
implementations to reflect this change.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Lina Iyer <lina.iyer@linaro.org>
Tested-by: Lina Iyer <lina.iyer@linaro.org>
Tested-by: Jisheng Zhang <jszhang@marvell.com> [psci]
Cc: Lina Iyer <lina.iyer@linaro.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
7 years agosoc: qcom: smd-rpm: Add existing platform support
Andy Gross [Thu, 24 Sep 2015 19:18:51 +0000 (14:18 -0500)]
soc: qcom: smd-rpm: Add existing platform support

This patch adds support for all current Qualcomm platforms which utilize
RPM over SMD.  This includes both MSM8916 and APQ8084.

Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agosoc: qcom: Introduce WCNSS_CTRL SMD client
Bjorn Andersson [Mon, 21 Sep 2015 17:52:55 +0000 (10:52 -0700)]
soc: qcom: Introduce WCNSS_CTRL SMD client

The WCNSS_CTRL SMD client is used for among other things upload nv
firmware to a newly booted WCNSS chip.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <agross@codeaurora.org>