]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/log
mirror_ubuntu-zesty-kernel.git
7 years agowcn36xx: Remove sta pointer in private vif struct
Pontus Fuchs [Mon, 17 Feb 2014 20:34:53 +0000 (21:34 +0100)]
wcn36xx: Remove sta pointer in private vif struct

This does not work with multiple sta's in a vif.

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
7 years agowcn36xx: Add helper macros to cast sta to priv
Pontus Fuchs [Mon, 17 Feb 2014 20:20:53 +0000 (21:20 +0100)]
wcn36xx: Add helper macros to cast sta to priv

While poking at this I also change two related things. I rename one
variable to make the names consistent. I also move one assignment of
priv_sta to the declaration to save a few lines.

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
7 years agowcn36xx: Fetch private sta data from sta entry instead of from vif
Pontus Fuchs [Tue, 18 Feb 2014 12:28:14 +0000 (13:28 +0100)]
wcn36xx: Fetch private sta data from sta entry instead of from vif

For consistency with other code.

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
7 years agowcn36xx: Use define for invalid index and fix typo
Pontus Fuchs [Sat, 15 Feb 2014 20:21:11 +0000 (21:21 +0100)]
wcn36xx: Use define for invalid index and fix typo

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
7 years agowcn36xx: Use consistent name for private vif
Pontus Fuchs [Wed, 12 Feb 2014 21:04:35 +0000 (22:04 +0100)]
wcn36xx: Use consistent name for private vif

Some code used priv_vif and some used vif_priv. Convert all to vif_priv
for consistency.

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
7 years agowcn36xx: Add helper macros to cast vif to private vif and vice versa
Pontus Fuchs [Wed, 12 Feb 2014 20:52:12 +0000 (21:52 +0100)]
wcn36xx: Add helper macros to cast vif to private vif and vice versa

Makes the code a little easier to read.

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
7 years agowcn36xx: Pad TIM PVM if needed
Pontus Fuchs [Mon, 10 Feb 2014 20:33:54 +0000 (21:33 +0100)]
wcn36xx: Pad TIM PVM if needed

The wcn36xx FW expects a fixed size TIM PVM in the beacon template. If
supplied with a shorter than expected PVM it will overwrite the IE
following the TIM.

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
7 years agowcn36xx: Clean up wcn36xx_smd_send_beacon
Pontus Fuchs [Mon, 10 Feb 2014 20:32:11 +0000 (21:32 +0100)]
wcn36xx: Clean up wcn36xx_smd_send_beacon

Needed for coming improvements. No functional changes.

Signed-off-by: Pontus Fuchs <pontus.fuchs@gmail.com>
7 years agowcn36xx: split DMA mask register writing.
Fengwei Yin [Sun, 20 Dec 2015 13:20:41 +0000 (21:20 +0800)]
wcn36xx: split DMA mask register writing.

Per comments from Bjorn Andersson <bjorn.andersson@sonymobile.com>,
split DMA mask register writing as seperate patch in case we need
bi-sect in the furture.

Signed-off-by: Fengwei Yin <fengwei.yin@linaro.org>
7 years agowcn36xx: handle rx skb allocation failure to avoid system crash
Fengwei Yin [Sun, 20 Dec 2015 13:20:40 +0000 (21:20 +0800)]
wcn36xx: handle rx skb allocation failure to avoid system crash

Lawrence reported that git clone could make system crash on a
Qualcomm ARM soc based device (DragonBoard, 1G memory without
swap) running 64bit Debian.

It's turned out the crash is related with rx skb allocation
failure. git could consume more than 600MB anonymous memory.
And system is in extremely memory shortage case.

But driver didn't handle the rx allocation failure case. This patch
doesn't submit skb to upper layer if rx skb allocation fails.
Instead, it reuse the old skb for rx DMA again. It's more like
drop the packets if system is in memory shortage case.

With this change, git clone is OOMed instead of system crash.

Reported-by: King, Lawrence <lking@qti.qualcomm.com>
Signed-off-by: Fengwei Yin <fengwei.yin@linaro.org>
7 years agofixup! ARM: qcom_defconfig: Add QCOM specific drivers
Nicolas Dechesne [Mon, 25 Jan 2016 14:29:41 +0000 (15:29 +0100)]
fixup! ARM: qcom_defconfig: Add QCOM specific drivers

7 years agokernel: configs: add CONFIG_INPUT_JOYDEV in distro.config
Nicolas Dechesne [Tue, 15 Dec 2015 13:31:49 +0000 (14:31 +0100)]
kernel: configs: add CONFIG_INPUT_JOYDEV in distro.config

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
7 years agokernel: configs: add I2C_CHARDEV in distro.config
Nicolas Dechesne [Fri, 25 Sep 2015 19:15:41 +0000 (12:15 -0700)]
kernel: configs: add I2C_CHARDEV in distro.config

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
7 years agokernel: add DRM_LOAD_EDID_FIRMWARE in distro.config
Nicolas Dechesne [Wed, 23 Sep 2015 06:35:58 +0000 (23:35 -0700)]
kernel: add DRM_LOAD_EDID_FIRMWARE in distro.config

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
7 years agomulti_v7_defconfig: add msm iommu kconfig
Srinivas Kandagatla [Thu, 14 Jan 2016 12:50:11 +0000 (12:50 +0000)]
multi_v7_defconfig: add msm iommu kconfig

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agocpufreq-dt: Add missing rcu_read_lock() for find_device_opp()
Georgi Djakov [Wed, 13 Jan 2016 13:10:25 +0000 (15:10 +0200)]
cpufreq-dt: Add missing rcu_read_lock() for find_device_opp()

The function dev_pm_opp_get_notifier() must be called with held
rcu_read_lock. In order to keep the pointer valid, add rcu_read_lock().

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
7 years agoarm: dts: remove duplicate entires
Srinivas Kandagatla [Thu, 14 Jan 2016 16:01:37 +0000 (16:01 +0000)]
arm: dts: remove duplicate entires

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoASoC: qcom: use correct device pointer in dma allocation
Srinivas Kandagatla [Mon, 11 Jan 2016 14:36:00 +0000 (14:36 +0000)]
ASoC: qcom: use correct device pointer in dma allocation

dev pointer in struct snd_soc_pcm_runtime does not have dma_ops set. In
v4.4 kernel dma_ops would end up pointing to dummy_dma_ops in such cases.
So attempting to use such device in allocating coherent memory on aarch64
would fail.

According to commit 1dccb598df549d892b6450c261da54cdd7af44b4 ("arm64:
simplify dma_get_ops") The current behavior of dma_get_ops is to fall
back to the global dma_ops when a device has not set its own dma_ops,
but only for DT based systems.

So, this patch fixes the driver to use correct device pointer while
allocating coherent memory, and also deletes un-necessary dma_mask setup
on soc_runtime->dev.

Without this patch lpass driver would fail with below log:
...
[    6.541542]  ADV7533: lpass_platform_alloc_buffer: Could not allocate DMA buffer
[    6.541914] apq8016-lpass-cpu 7708000.lpass-cpu: ASoC: pcm constructor failed: -12
[    6.548216] qcom-apq8016-sbc 7702000.sound: ASoC: can't create pcm ADV7533 :-12
[    6.555581] qcom-apq8016-sbc 7702000.sound: ASoC: failed to instantiate card -12
[    6.566072] qcom-apq8016-sbc: probe of 7702000.sound failed with error -12
...

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoWIP: drm: msm: add proper hdmi codec driver.
Srinivas Kandagatla [Thu, 14 Jan 2016 10:37:16 +0000 (10:37 +0000)]
WIP: drm: msm: add proper hdmi codec driver.

This patch adds proper hdmi-codec driver using hdmi-codec support in
asoc.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agosound: qcom: add dsp support to apq8064
Srinivas Kandagatla [Mon, 7 Dec 2015 12:01:09 +0000 (12:01 +0000)]
sound: qcom: add dsp support to apq8064

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agosound: codec: Add support to msm8x16_wcd codec.
Srinivas Kandagatla [Wed, 14 Oct 2015 10:26:46 +0000 (11:26 +0100)]
sound: codec: Add support to msm8x16_wcd codec.

On msm8x16 SOCs the codec integration is split into digital and analog
parts, digitial part is integrated with SOC and the analog part is
integrated as part of pmic chip pm8916.

This driver provides basic playback support with lot of todos:
1> Capture support
2> Cleanup
3> Multi button head set support.
4> Impedenace matching logic.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoALSA: pcm: add IEC958 channel status helper for hw_params
Jyri Sarha [Fri, 18 Sep 2015 11:06:39 +0000 (14:06 +0300)]
ALSA: pcm: add IEC958 channel status helper for hw_params

Add IEC958 channel status helper that gets the audio properties from
snd_pcm_hw_params instead of snd_pcm_runtime. This is needed to
produce the channel status bits already in audio stream configuration
phase.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
7 years agoASoC: hdmi-codec: Add hdmi-codec for external HDMI-encoders
Jyri Sarha [Fri, 18 Sep 2015 11:06:40 +0000 (14:06 +0300)]
ASoC: hdmi-codec: Add hdmi-codec for external HDMI-encoders

The hdmi-codec is a platform device driver to be registered from
drivers of external HDMI encoders with I2S and/or spdif interface. The
driver in turn registers an ASoC codec for the HDMI encoder's audio
functionality.

The structures and definitions in the API header are mostly redundant
copies of similar structures in ASoC headers. This is on purpose to
avoid direct dependencies to ASoC structures in video side driver.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Conflicts:
sound/soc/codecs/Makefile

Conflicts:
sound/soc/codecs/Makefile

7 years agodrivers: usb: Add bus scaling suppport
Rajendra Nayak [Tue, 13 Oct 2015 12:08:52 +0000 (17:38 +0530)]
drivers: usb: Add bus scaling suppport

Add msm bus scaling support and hack to request
max bandwith at probe

Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
7 years agousb: host: ehci-msm: Use posted data writes on AHB
Andy Gross [Thu, 5 Nov 2015 21:24:59 +0000 (15:24 -0600)]
usb: host: ehci-msm: Use posted data writes on AHB

This patch sets the AHBMODE to allow for posted data writes.  This
results in higher performance.

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agousb: chipidea: msm: Use posted data writes on AHB
Andy Gross [Thu, 5 Nov 2015 21:18:25 +0000 (15:18 -0600)]
usb: chipidea: msm: Use posted data writes on AHB

This patch sets the AHBMODE to allow for posted data writes.  This results in
higher performance.

Signed-off-by: Andy Gross <agross@codeaurora.org>
7 years agousb: phy: msm: Ensure that workers are initialized before use
Ivan T. Ivanov [Wed, 13 May 2015 12:20:12 +0000 (15:20 +0300)]
usb: phy: msm: Ensure that workers are initialized before use

Charger detect and USB state detect workers could be triggered from
USB-HOST and USB cable detect notifiers. Ensure that workers are
initialized before driver register its interest for cable events.

Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org>
7 years agousb: phy: msm: Disable driver runtime PM
Ivan T. Ivanov [Wed, 13 May 2015 12:11:14 +0000 (15:11 +0300)]
usb: phy: msm: Disable driver runtime PM

Currently runtime PM for this driver is broken. Disable it until
proper fix is developed.

Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org>
7 years agousb: phy: msm: HACK: Make Vddc configuration optional
Ivan T. Ivanov [Fri, 8 May 2015 09:54:47 +0000 (12:54 +0300)]
usb: phy: msm: HACK: Make Vddc configuration optional

Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org>
7 years agoarm: dts: apq8064: fix clock names according to new rpmcc
Srinivas Kandagatla [Thu, 10 Dec 2015 12:00:23 +0000 (12:00 +0000)]
arm: dts: apq8064: fix clock names according to new rpmcc

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agodts: qcom: Add CoreSight components for APQ8064
Ivan T. Ivanov [Fri, 11 Sep 2015 11:48:23 +0000 (14:48 +0300)]
dts: qcom: Add CoreSight components for APQ8064

Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org>
7 years agoARM: dts: ERAGON: fix uart pinctrl
Srinivas Kandagatla [Mon, 7 Dec 2015 16:45:15 +0000 (16:45 +0000)]
ARM: dts: ERAGON: fix uart pinctrl

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoarm: dts: qcom: apq8064: Add fixed rate on-board oscillators
Georgi Djakov [Mon, 7 Dec 2015 15:24:10 +0000 (15:24 +0000)]
arm: dts: qcom: apq8064: Add fixed rate on-board oscillators

Currently the rates of the xo and sleep clocks are hard-coded in the
GCC driver, but this is a board layout description that actually should
be in the DT. Moving them into DT also allows us to insert the RPM
controlled clocks between the DT and GCC clocks.

7 years agoarm: dts: qcom: apq8064: Add RPMCC DT node
Georgi Djakov [Thu, 3 Dec 2015 14:02:56 +0000 (16:02 +0200)]
arm: dts: qcom: apq8064: Add RPMCC DT node

Add the RPM Clock Controller DT node.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
7 years agodts: arm: add support to digital audio via dsp
Srinivas Kandagatla [Thu, 3 Dec 2015 14:56:45 +0000 (14:56 +0000)]
dts: arm: add support to digital audio via dsp

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoarm: dts: apq8064: add support to smd apr_audio svc channel
Srinivas Kandagatla [Thu, 3 Dec 2015 10:42:02 +0000 (10:42 +0000)]
arm: dts: apq8064: add support to smd apr_audio svc channel

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agodts: arm: apq8064: add support to q6 pil via pil-tz
Srinivas Kandagatla [Thu, 3 Dec 2015 10:37:04 +0000 (10:37 +0000)]
dts: arm: apq8064: add support to q6 pil via pil-tz

This patch adds support to q6 firmware loading using the tz-pil driver.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agoiommu: qcom: v1: move iommu-sec pgtable allocation
Stanimir Varbanov [Tue, 12 Jan 2016 13:07:55 +0000 (15:07 +0200)]
iommu: qcom: v1: move iommu-sec pgtable allocation

move the allocation of iommu-sec page table into msm_iommu_dev
in order to use properly initialised struct device.
The dma_alloc_attrs would fail to allocate memory with the fake
struct device which was the case before this change.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
7 years agomedia: vidc: venc/vdec: vb2 structure reorganisation
Stanimir Varbanov [Mon, 11 Jan 2016 10:48:28 +0000 (12:48 +0200)]
media: vidc: venc/vdec: vb2 structure reorganisation

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
7 years agomedia: vidc: debug: fix build warnings
Stanimir Varbanov [Tue, 12 Jan 2016 13:27:58 +0000 (15:27 +0200)]
media: vidc: debug: fix build warnings

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
7 years agokernel: configs: Enable input misc device drivers
Ivan T. Ivanov [Fri, 18 Sep 2015 08:50:08 +0000 (11:50 +0300)]
kernel: configs: Enable input misc device drivers

Enable drivers which handle PMIC's input events.

Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org>
7 years agokernel: configs: update distro config from release branch
Srinivas Kandagatla [Wed, 16 Sep 2015 16:08:51 +0000 (17:08 +0100)]
kernel: configs: update distro config from release branch

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
7 years agokernel: configs: improve distro.config, mostly for systemd
Nicolas Dechesne [Wed, 29 Jul 2015 13:03:15 +0000 (15:03 +0200)]
kernel: configs: improve distro.config, mostly for systemd

* add missing options required/optional for systemd
http://cgit.freedesktop.org/systemd/systemd/tree/README
Some options were enabled by default in arch/arm64/defconfig, but not in
arch/arm/multi_v7_defconfig..

* rework/move the options to separate out systemd configs

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
7 years agokernel: configs: update distro.config
Nicolas Dechesne [Wed, 29 Jul 2015 12:26:49 +0000 (14:26 +0200)]
kernel: configs: update distro.config

Add recent updates from 15.07 release.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
7 years agokernel: configs: move linaro distro.conf as proper %.config fragment
Nicolas Dechesne [Wed, 29 Jul 2015 08:47:06 +0000 (10:47 +0200)]
kernel: configs: move linaro distro.conf as proper %.config fragment

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
7 years agolinaro: add defconfig fragment with basic linaro config
Nicolas Dechesne [Mon, 6 Jul 2015 08:51:25 +0000 (10:51 +0200)]
linaro: add defconfig fragment with basic linaro config

In order to ease kernel configuration, we are now using kernel config
fragments. In the folder linaro/configs, we will add fragments as needed with
all configurations that are required when using the Linaro kernel releases.

Users are expected to run the following command to properly configure their
kernel tree prior to the build:

./scripts/kconfig/merge_config.sh arch/arm64/configs/defconfig \
                                  linaro/configs/distro.conf \
                                  [-O <build-dir>]

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
7 years agowcn36xx: avoid alloc mem with GFP_KERNEL in smd callback.
Yin, Fengwei [Wed, 16 Sep 2015 15:37:31 +0000 (23:37 +0800)]
wcn36xx: avoid alloc mem with GFP_KERNEL in smd callback.

which will trigger warning when lockdep debugging is enabled.

Signed-off-by: Yin, Fengwei <fengwei.yin@linaro.org>
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>