Commit graph

1512 commits

Author SHA1 Message Date
Anurag Chouhan
b025cdfd53 icnss: Add check for rejuvenate in fw_down
Currently, fw_down is not getting set in case of rejuvenate
since the qmi server never exit or arrive in case of rejuvenate.
Add ICNSS_REJUVENATE flag to take care of rejuvenate.

Change-Id: If85e8048cbad9a15e1c94af1c8d0012e004e6150
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
2018-12-26 07:53:57 +01:00
liochen
8148b9d900 Synchronize codes for OnePlus5 & 5T OxygenOS 9.0.0
kernel device tree source code for OnePlus 5 & 5T P device

Change-Id: I84f40e66833ea1ce30eb1d9a710d6e1529e9e637
2018-12-26 11:02:39 +08:00
Linux Build Service Account
727593cbf7 Merge "drivers: soc: qcom: qcpe: Fix return values" 2018-09-18 09:44:50 -07:00
Arun Kumar Neelakantam
57efc49c75 soc: qcom: glink: Fix not sending READ_NOTIF command issue
The "tx_blocked_signal_sent" flag is not reset correctly after receiving
the interrupt from the remote side. Hence further READ_NOTIF commands are
not written into FIFO in FIFO full case.

Reset the "tx_blocked_signal_sent" correctly after write space available
in FIFO.

CRs-Fixed: 2175526
Change-Id: I236da2a2b984b3f3cce8400b50f72ce1016d7e40
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2018-09-18 00:26:26 -07:00
Linux Build Service Account
dc0d5979ff Merge "soc: qcom: hab: add IRQF_NO_SUSPEND to irq flags." 2018-09-17 14:15:30 -07:00
Amit Blay
5a586db95c drivers: soc: qcom: qcpe: Fix return values
In some of the SCM APIs implememnted by the QCPE front end,
some return values were not propagated correctly.

Change-Id: I2b0aa7f5511eac384db82a65b380a5d964514e57
Signed-off-by: Amit Blay <ablay@codeaurora.org>
2018-09-17 20:10:15 +03:00
Yimin Peng
faf465d713 soc: qcom: hab: add IRQF_NO_SUSPEND to irq flags.
The virtclk can disable clocks by hab in suspend flow. If hab irq is
disabled then, the power manage task will stick in uninterruptable hab
receive function.

Change-Id: I780ecede7494346953f5f77d665dd77c2cc6d28a
Signed-off-by: Yimin Peng <yiminp@codeaurora.org>
2018-09-17 16:00:56 +08:00
Linux Build Service Account
d90306cf96 Merge "soc: qcom: socinfo: Add support for SDM455 soc-id" 2018-09-14 10:02:34 -07:00
Zhenhua Huang
371698455c soc: qcom: secure_buffer: Fix the parameter passing to dmac_flush_range
For "chunk_list + chunk_list_len", if the chunk_list is type of u32*,
the chunk_list_len will be 4 * of original size. So we flushed a wrong
area size. In some condition like we enabled CONFIG_DEBUG_PAGEALLOC, it
may flush out of page bound of the invalid pte page.

Fix it by manually convert it as void* when doing the addition.

CRs-Fixed: 2309993
Change-Id: I2b88d78ba73d9904fa2bf6106937001715b6037f
Signed-off-by: Zhenhua Huang <zhenhuah@codeaurora.org>
2018-09-13 19:43:51 -07:00
Hardik Arya
1d182aebf4 soc: qcom: glink_spi_xprt: Validate fifo read index of remote side
Since message received from spi cannot be trusted there is possibility
of out-of-bound read if received read_id is not in range of fifo.
The patch validate rx_fifo_read index of edge info for remote side.

Change-Id: I3d3fa749935f477e5f98f986adc24e6e6a682d4d
Signed-off-by: Hardik Arya <harya@codeaurora.org>
2018-09-10 23:05:39 -07:00
Teng Fei Fan
8cfbfe24f1 soc: qcom: socinfo: Add support for SDM455 soc-id
Add socinfo support for SDM455 Soc and update the
bindings fot the same.

Change-Id: I9b30795e202d84ae06020983b2d656772fb4f313
Signed-off-by: Teng Fei Fan <tengfei@codeaurora.org>
2018-09-10 10:36:23 +08:00
Linux Build Service Account
efcfd7d353 Merge "audio: qdsp6v2: check EINTR when retry for habmm_socket_recv" 2018-09-06 07:25:57 -07:00
Tony Han
51139b0339 audio: qdsp6v2: check EINTR when retry for habmm_socket_recv
HAB returns -EINTR instead of -EAGAIN to request a retry from the
habmm_socket_recv() call.

Change-Id: I61bcef5c11048a3947b8079d1591937d7b83602a
Signed-off-by: Tony Han <xiahan@codeaurora.org>
2018-09-06 11:43:52 +08:00
Anant Goel
92d889892a soc: qcom: subsystem_notif_virt: Fix error condition check
An error check casts an integer to a pointer. Fix the error
check so that the integer is not casted to a pointer.

Change-Id: Ib15634745cc2243e4fe54557d6670956d8349e93
Signed-off-by: Anant Goel <anantg@codeaurora.org>
2018-09-05 10:10:32 -07:00
Anurag Chouhan
e7ad20af9a icnss: Add a flag to indicare FW rejuvenate
Add a flag to maintain fw rejuvenate state,
set if fw rejuvenate happens and reset at fw ready.
export an API to the wlan host driver to distinguish the
case of ssr or pdr with the FW rejuventae.

Change-Id: I7a01cc4996f68f78aa13eacf36648331a701882a
Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
2018-08-30 02:21:41 -07:00
Linux Build Service Account
6545aa3c27 Merge "soc: qcom: subsystem_notif_virt: Added support for virtual subsystems" 2018-08-28 04:03:01 -07:00
Anant Goel
cfb0bb1719 soc: qcom: subsystem_notif_virt: Added support for virtual subsystems
The driver is modified to allow communication between a virtual
subsystem, and its native clients.

Change-Id: I40854327431f3691f76df9d781dbd0a24090594e
Signed-off-by: Anant Goel <anantg@codeaurora.org>
2018-08-27 18:45:03 -07:00
Linux Build Service Account
f63b4db1ff Merge "icnss: Clear ICNSS_MSA0_ASSIGNED flag in cap failure case" 2018-08-27 18:28:15 -07:00
Hardik Kantilal Patel
60e1b7e682 icnss: Clear ICNSS_MSA0_ASSIGNED flag in cap failure case
During capability qmi message failure ICNSS_MSA0_ASSIGNED
flag is not getting clear. Due to this after PDR/SSR next
time it is not configuring the MSA0 permission to q6 which
result into NOC error as q6 is not having access permission.

To address above issue clear ICNSS_MSA0_ASSIGNED bit in
failure case.

CRs-Fixed: 2300877
Change-Id: I6aeaedb5a394b843c4f1c8ef1e0be47a6947b331
Signed-off-by: Hardik Kantilal Patel <hkpatel@codeaurora.org>
2018-08-24 14:19:26 +05:30
Yong Ding
8bdbc287ee soc: qcom: hab: fix the incompatible pointer initialization warning
Such warning of "initialization from incompatible pointer type"
is found in the build time, and it's good to fix it.

Change-Id: Iaf820ae7ec4a7851185febbdebaaab3706fb2402
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-08-23 13:22:32 +08:00
Linux Build Service Account
bf2009f9d8 Merge "soc: qcom: pil: Disable a clock to maintain clock state across modem SSR" 2018-08-10 11:08:39 -07:00
Anant Goel
c4273f6c0c soc: qcom: pil: Disable a clock to maintain clock state across modem SSR
A disable and unprepare is called on a clock which is voted for, but never
unvoted for. By disabling and unpreparing this clock, the clock state is
maintained the same across modem restarts.

Change-Id: I4d6cb219ac718de4b7bad593d7f7aa9fd67b1cef
Signed-off-by: Anant Goel <anantg@codeaurora.org>
2018-08-09 23:26:26 -07:00
Anant Goel
cdd6ec91e1 soc: qcom: pil: Remove a register read as it causes an unclocked access
A read of a register during the software fatal error handling is removed.
This read causes an unclocked access which prevents the modem subsystem
from succssfully restarting.

Change-Id: I8338830573e55af2e5c9d0f688756d975a3302af
Signed-off-by: Anant Goel <anantg@codeaurora.org>
2018-08-09 18:46:11 -07:00
Linux Build Service Account
6febdef874 Merge "soc: qcom: hab: add hab statistics support" 2018-08-03 04:05:37 -07:00
Linux Build Service Account
e8848a7c8e Merge "icnss: Remove sending uevent after FW ready" 2018-07-31 09:34:22 -07:00
Yong Ding
4faca7cde5 soc: qcom: hab: add hab statistics support
This allows user to read back hab runtime information.

Change-Id: Id266dd17b9c9d38f0e93aa600510ae1c6b12cca5
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-07-31 14:16:16 +08:00
Yong Ding
769a58cd28 soc: qcom: hab: change the unregistration to be dummy
HAB service should be kept available as long as possible
since it is very fundamental. It can possibly be used in
the GVM(Guest Virtual Machine) shutdown procedure to
talk with the hypervisor. And the unregistration function
will only be left to give a log message.

Change-Id: I0cbc153a68a0fb496d14fc49db6cfee211a01722
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-07-20 17:00:29 +08:00
Linux Build Service Account
582f5092f3 Merge "soc: qcom: hab: check the buffer's pointer before exporting it" 2018-07-16 21:54:09 -07:00
Yong Ding
a16a7501c8 soc: qcom: hab: resolve NULL pointer dereference issues
Some NULL pointer dereference issues are fixed.

Change-Id: I0f7f8ede860c81d451f2105520750692fd4eee50
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-07-12 14:57:44 +08:00
Yong Ding
bacd1e0ae2 soc: qcom: hab: check the buffer's pointer before exporting it
When the buffer's pointer is NULL, -EINVAL will be returned for
its export.

Change-Id: I3fc949c6152974db360dc55d3dfdb0cb24150473
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-07-04 15:08:24 +08:00
Linux Build Service Account
d549a8ee6c Merge "soc: qcom: hab: increase the maximum size of message" 2018-06-28 13:21:37 -07:00
Linux Build Service Account
709f444c2a Merge "soc: qcom: smem: Add secure device check for smem dump" 2018-06-28 13:21:36 -07:00
Yong Ding
57f26563aa soc: qcom: hab: resolve some compilation issues
hab_qvm.h and its relevant stuffs are
only available when CONFIG_MSM_GVM_QUIN is enabled.

Change-Id: I7975f65f0f5bc627b7547c05245a37d4e6500c81
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-06-28 11:51:07 +08:00
Yong Ding
ad106a695e soc: qcom: hab: increase the maximum size of message
Previously, the supported maximum size of message sent
over hab was 4K bytes. Now, it is increased to 0xFFFF
bytes.

Change-Id: I3b539e42df2f5c5d3be4bbac7084adeb198c9a0b
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-06-26 14:49:59 +08:00
Linux Build Service Account
bc1a163d5d Merge "msm: watchdog: Add hibernation support" 2018-06-23 05:19:52 -07:00
Linux Build Service Account
946085b74b Merge "soc: qcom: hab: make LA compilation pass" 2018-06-23 05:19:49 -07:00
Venkata Rao Kakani
4b5f10b9f9 msm: watchdog: Add hibernation support
During hibernation, freeze/thaw/restore dev_pm_ops
are called instead of suspend/resume.
Hook up the hibernation ops using macro
SET_NOIRQ_SYSTEM_SLEEP_PM_OPS.

Change-Id: Ic4cb9f5aec1a0a1d66cf2cea9946a4a3aae37671
Signed-off-by: Atul Raut <araut@codeaurora.org>
2018-06-22 10:56:18 -07:00
Arun Kumar Neelakantam
44154c0e03 soc: qcom: smem: Add secure device check for smem dump
In peripheral SSR case SMEM dump is collected and stored which
is not expected on secude devices.

Add a check and avoid dumping SMEM on secure device.

CRs-Fixed: 2264360
Change-Id: I2895aeb86d97b45dcb3ea293aa79a06174b8ac0b
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2018-06-22 15:30:26 +05:30
Chao Bi
50c959b25e soc: qcom: hab: make LA compilation pass
Due to GCC problem
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119),
it cause a warning in hab test code, this patch is a workaround
to avoid this warning. This can be reverted once the GCC issue is fixed.

Change-Id: I4d01920ef36cb42bae4dd9f331c518a38dfd9a5a
Signed-off-by: Chao Bi <chaobi@codeaurora.org>
2018-06-21 17:07:05 -04:00
Linux Build Service Account
08471334bf Merge "msm: msm_bus: Fix error handling in msm_bus_device_init" 2018-06-21 04:03:33 -07:00
Yong Ding
3a1f559efa soc: qcom: hab: clean the compilation issues
This fixes the hab compilation issues found when
CONFIG_GHS_VMM is enabled.

Change-Id: Ie4b6aca5f0a7f549273d939dd6069e55db7877c4
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-06-19 01:56:29 -07:00
Yong Ding
333c319df3 soc: qcom: hab: return -EINTR if woken up by a signal
The standard -EINTR will be returned if the hab open
blocking call is woken up by a signal.

Change-Id: I0329c3b3a70241a31a64eab6872808e0f7d21013
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-06-19 01:54:02 -07:00
Soumya Managoli
62d95ed05b ASoC: apr: Add separate initial boot flag for ADSP and Modem
apr ignores initial PDR_DOWN event from ADSP/Modem during
boot up. ADSP_DOWN event is wrongly sent to audio drivers
during boot up if it gets MODEM_UP event before ADSP_DOWN.

Added separate flags for both ADSP and Modem events to avoid
this issue.

CRs-Fixed: 2232315
Change-Id: I2c6084ac03e3867009f36be36631f881124f59ba
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
2018-06-18 04:48:09 -07:00
Linux Build Service Account
2df3743287 Merge "soc: qcom: subsystem_restart: Add checks to verify validity of a device" 2018-06-16 18:58:01 -07:00
Anant Goel
a6672f6af9 soc: qcom: subsystem_restart: Add checks to verify validity of a device
Extra checks are added to ensure a subsystem device is valid before
accessing any of its fields.

Change-Id: Ia8e3dced005485b1edb5d6ccf9429f90d31fa613
Signed-off-by: Anant Goel <anantg@codeaurora.org>
2018-06-15 13:32:42 -07:00
Yong Ding
0f3634fa2f soc: qcom: hab: add support for multiple hypervisors
HAB(Hypervisor ABstraction) is used for message transaction
and buffer sharing among different virtual machines with the
underlying hypervisor support. Here is the change to add HAB
support for linux running in multiple hypervisors.

Change-Id: I0747b2fa0f16c7cc0ab662369d45467ac6ba62e5
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-06-12 19:28:48 -04:00
David Dai
0fa26966ff msm: msm_bus: Fix error handling in msm_bus_device_init
Correctly free pointers allocated by kzalloc. Remove devm_kfree
in error handling as device associated memory is automatically
freed upon destruction of device. Always use put_device instead
of kfree on initialized device.

Change-Id: Icbd88e9ccd42fedb4fbce5eff69248c3fceffc02
Signed-off-by: David Dai <daidavid1@codeaurora.org>
2018-06-12 11:24:22 -07:00
Yong Ding
7cecb53b50 soc: qcom: scm_qcpe: use uninterruptible habmm_socket_recv()
This is necessary to support scm call in system shutdown
procedure. With interruptible habmm_socket_recv(), it will
return immediately without blocking until the response
arrives.

Change-Id: Ia7ef95e4c6878a149ec373c8d2b5ae19a36f4125
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2018-06-06 03:38:46 -07:00
Linux Build Service Account
68745c46c6 Merge "soc: qcom: boot_marker: add mpm timer interface" 2018-06-04 04:30:57 -07:00
Linux Build Service Account
c053ae31b8 Merge "soc: qcom: hab: add performance test mechanism for HAB" 2018-06-04 04:30:53 -07:00