Commit graph

873,130 commits

Author SHA1 Message Date
qctecmdr
0bf6e00a01 Merge "spmi: spmi-pmic-arb: Fix hw_irq overflow" 2019-11-05 08:00:33 -08:00
qctecmdr
9dc21ae1ee Merge "spmi: pmic-arb: support updating interrupt type flags" 2019-11-05 07:25:21 -08:00
qctecmdr
63124eda77 Merge "spmi: spmi-pmic-arb: increase SPMI transaction timeout delay" 2019-11-05 06:49:22 -08:00
qctecmdr
6d9138d666 Merge "spmi: spmi-pmic-arb: block access for invalid PMIC arbiter v5 SPMI writes" 2019-11-05 06:10:35 -08:00
qctecmdr
b92915d4e6 Merge "spmi: spmi-pmic-arb: correct duplicate APID to PPID mapping logic" 2019-11-05 05:31:41 -08:00
qctecmdr
e2b87b2af2 Merge "spmi-pmic-arb: add support to dispatch interrupt based on IRQ status" 2019-11-05 04:55:46 -08:00
qctecmdr
ddb423b140 Merge "spmi: spmi-pmic-arb: check apid against limits before calling irq handler" 2019-11-05 04:21:59 -08:00
qctecmdr
6959573834 Merge "spmi: pmic-arb: do not ack and clear peripheral interrupts in cleanup_irq" 2019-11-05 03:39:05 -08:00
qctecmdr
5c0346b227 Merge "spmi: pmic_arb: add a print in cleanup_irq" 2019-11-05 02:52:08 -08:00
qctecmdr
0eab2b4f32 Merge "spmi: pmic-arb: instantiate spmi_devices at arch_initcall" 2019-11-05 02:12:34 -08:00
qctecmdr
96d88a9dda Merge "spmi: pmic-arb: Use asynchronous probe" 2019-11-05 01:34:05 -08:00
qctecmdr
0690498f5c Merge "arm64: defconfig: Enable SPSS GLINK driver on Lahaina" 2019-11-04 23:17:50 -08:00
qctecmdr
2d981d128a Merge "defconfig: lahaina-gki: enable USB_DWC3_MSM" 2019-11-04 22:33:32 -08:00
qctecmdr
c4322dbb0e Merge "bluetooth: Add bluetooth slimbus slave drivers" 2019-11-04 21:24:32 -08:00
qctecmdr
2f017747a9 Merge "clk: qcom: Add cam cc clock driver for Lahaina" 2019-11-04 20:40:23 -08:00
qctecmdr
fbd3d320a7 Merge "msm: adsprpc: Don't check for NULL before ipc_log_string()" 2019-11-04 20:00:20 -08:00
qctecmdr
c8bffd65df Merge "usb: dwc3: Fix string format warnings" 2019-11-04 19:16:16 -08:00
qctecmdr
e69521989b Merge "iommu/arm-smmu: Fix string format warnings" 2019-11-04 18:35:54 -08:00
qctecmdr
dab37a02fd Merge "regulator: Fix formatting warnings in rpmh-regulator" 2019-11-04 15:49:45 -08:00
Jay Jayanna
0b32d1ebc5 arm64: defconfig: Enable SPSS GLINK driver on Lahaina
Enable glink driver for SPSS on Lahaina.

Change-Id: Ifdb3df82dcddb557a269ed271ef8c0d51abad07b
Signed-off-by: Jay Jayanna <jayanna@codeaurora.org>
2019-11-04 11:20:24 -08:00
Raghavendra Rao Ananta
566cf3462f soc: qcom: SSR: Fix registration order for wakeup source
wakeup_source_register() expects a registered struct device *.
But in the subsys_register() path, device_register() is called
after wakeup_source_register(), which is incorrect. Hence,
flip the order of registrations. Also as an extension, reorder
the error-handling path of subsys_register() and the cleanup
sequence in subsys_unregister().

Change-Id: I976951ddcf5635ec7931253bfcda834ef30c3898
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
2019-11-03 09:56:03 -08:00
Vivek Aknurwar
cccaebcf74 clk: qcom: Add cam cc clock driver for Lahaina
Add camera clock driver to support camera
peripheral clocks.

Change-Id: I9d87129e9b08c884f75f0625d0edd83e339a4f9d
Signed-off-by: Vivek Aknurwar <viveka@codeaurora.org>
2019-11-02 16:14:09 -07:00
qctecmdr
812f0991f0 Merge "msm: ipa : Fix update of buffer recycle stats" 2019-11-02 04:16:39 -07:00
qctecmdr
31de1b639a Merge "scsi: qcom-ufs: Add support for bus voting using ICB framework" 2019-11-02 03:28:15 -07:00
qctecmdr
a45dd7ba9b Merge "coresight: byte-cntr: Add support for streaming interface for ETR" 2019-11-02 01:40:31 -07:00
qctecmdr
e62fdd4a18 Merge "Coresight: byte-cntr: Don't read byte-cntr when etr is diasbled" 2019-11-02 00:53:49 -07:00
qctecmdr
c517e81542 Merge "coresight: Add snapshot of Coresight byte counter driver" 2019-11-02 00:14:04 -07:00
qctecmdr
1693a05458 Merge "coresight: tmc: migrate byte counter to new tmc framework" 2019-11-01 23:26:52 -07:00
qctecmdr
1f695d7a99 Merge "coresight: tmc: Read the TMC mode register only if clk is enabled" 2019-11-01 22:47:53 -07:00
qctecmdr
706967db49 Merge "serial: msm_geni_serial: Double clock-divider for kona based hw" 2019-11-01 22:11:43 -07:00
qctecmdr
2b7be99444 Merge "clk: qcom: Set BRANCH_HALT_SKIP for clocks controlled by PMU" 2019-11-01 21:32:08 -07:00
qctecmdr
7ac2a92541 Merge "clk: dt-bindings: gcc: Add PCIE AXI clocks" 2019-11-01 20:53:44 -07:00
qctecmdr
0e46785388 Merge "clk: qcom: Update gcc clk parent mappings and hw ctrl flag" 2019-11-01 20:06:43 -07:00
qctecmdr
b58a50349a Merge "msm: ipa: Retry gsi channel stop for producer channels" 2019-11-01 19:21:06 -07:00
qctecmdr
c2157915a1 Merge "msm: ipa: Disable csum offload and status for ODL pipe" 2019-11-01 18:37:35 -07:00
qctecmdr
2b33271cfb Merge "dcc_v2: Remove duplicate function" 2019-11-01 17:55:20 -07:00
qctecmdr
f15a282d80 Merge "msm:ipa: unvote PCIe clock only if it was voted before" 2019-11-01 17:08:28 -07:00
qctecmdr
cd32660da5 Merge "msm: ipa: fix race condition between USB connect and modem SSR" 2019-11-01 16:23:41 -07:00
qctecmdr
ab15b23ddd Merge "msm: gsi: Set cookie correctly for GCI channel TREs" 2019-11-01 15:38:23 -07:00
qctecmdr
db2c2903f4 Merge "msm: ipa3: Change smmu mapping logs to low priority" 2019-11-01 14:55:59 -07:00
Bojun Pan
791e8ab19a msm: ipa : Fix update of buffer recycle stats
The stats for tmp allocs should be updated only if additional
buffers are available.

Change-Id: Ic064f87a54e37ef046d6761c79664e1ea830d04c
Acked-by: Priyadarshini Rajagopal <prajagop@qti.qualcomm.com>
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2019-11-01 14:49:31 -07:00
Subbaraman Narayanamurthy
ff2fb11b08 spmi: spmi-pmic-arb: Fix hw_irq overflow
Currently, when handling the SPMI summary interrupt, the hw_irq
number is calculated based on SID, Peripheral ID, IRQ index and
APID. This is then passed to irq_find_mapping() to see if a
mapping exists for this hw_irq and if available, invoke the
interrupt handler. Since the IRQ index uses an "int" type, hw_irq
which is of unsigned long data type can take a large value when
SID has its MSB set to 1 and the type conversion happens. Because
of this, irq_find_mapping() returns 0 as there is no mapping
for this hw_irq. This ends up invoking cleanup_irq() as if
the interrupt is spurious whereas it is actually a valid
interrupt. Fix this by using the proper data type (u32) for id.

CRs-Fixed: 2357600
Change-Id: I451e33d61e063d3a9381c2b43767946117a5bbb9
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2019-11-01 14:20:32 -07:00
Yimin Peng
ac4ae512b2 spmi: pmic-arb: support updating interrupt type flags
Have the qpnpint_irq_set_type function clear unwanted high/low
trigger bits when updating the interrupt flags.

Change-Id: Ie55d6178ea94350ecf8c79714cb863ea63d76ea6
Signed-off-by: Yimin Peng <yiminp@codeaurora.org>
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2019-11-01 14:20:31 -07:00
David Collins
e4f7eef56d spmi: spmi-pmic-arb: increase SPMI transaction timeout delay
Increase the SPMI transaction timeout delay from 100 us to
1000 us in order to account for the slower execution time
found on some simulator targets.

Change-Id: I5805fa77131336e56db35ae7948012e072c15746
Signed-off-by: David Collins <collinsd@codeaurora.org>
2019-11-01 14:20:29 -07:00
David Collins
0cf5f1b07b spmi: spmi-pmic-arb: block access for invalid PMIC arbiter v5 SPMI writes
The system crashes due to an access permission violation when
writing to a PMIC peripheral which is not owned by the current
ee.  Add a check for PMIC arbiter version 5 for such invalid
write requests and return an error instead of crashing the
system.

Change-Id: If601a8c737f10be2a7d1e894f7285cf0de4eb4a5
Signed-off-by: David Collins <collinsd@codeaurora.org>
2019-11-01 14:20:28 -07:00
David Collins
27abf44b3c spmi: spmi-pmic-arb: correct duplicate APID to PPID mapping logic
Correct the way that duplicate PPID mappings are handled for PMIC
arbiter v5.  The final APID mapped to a given PPID should be the
one which has write owner = APPS EE, if it exists, or if not
that, then the first APID mapped to the PPID, if it exists.

Change-Id: I387e25d5e0d29434a6191faaf887db1e1a90243d
Signed-off-by: David Collins <collinsd@codeaurora.org>
2019-11-01 14:20:20 -07:00
Ashay Jaiswal
12684b27b8 spmi-pmic-arb: add support to dispatch interrupt based on IRQ status
Current implementation of SPMI arbiter dispatches interrupt based on the
Arbiter's accumulator status, in some cases the accumulator status may
remain zero and the interrupt remains un-handled. Add logic to dispatch
interrupts based Arbiter's IRQ status if the accumulator status is zero.

Change-Id: I068f5c7d33758063878721d7cce1308fa803e3bd
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: David Collins <collinsd@codeaurora.org>
2019-11-01 14:18:11 -07:00
David Collins
1783d5b87c spmi: spmi-pmic-arb: check apid against limits before calling irq handler
Check that the apid for an SPMI interrupt falls between the
min_apid and max_apid that can be handled by the APPS processor
before invoking the per-apid interrupt handler:
periph_interrupt().

This avoids an access violation in rare cases where the status
bit is set for an interrupt that is not owned by the APPS
processor.

Change-Id: Ib74cb4ae7be9849f0243659bb4c1435340e1e087
Signed-off-by: David Collins <collinsd@codeaurora.org>
2019-11-01 14:15:25 -07:00
Subbaraman Narayanamurthy
3d5821adf6 spmi: pmic-arb: do not ack and clear peripheral interrupts in cleanup_irq
Currently, cleanup_irq() is invoked when a peripheral's interrupt
fires and there is no mapping present in the interrupt domain of
spmi interrupt controller.

The cleanup_irq clears the arbiter bit, clears the pmic interrupt
and disables it at the pmic in that order. The last disable in
cleanup_irq races with request_irq() in that it stomps over the
enable issued by request_irq. Fix this by not writing to the pmic
in cleanup_irq. The latched bit will be left set in the pmic,
which will not send us more interrupts even if the enable bit
stays enabled.

When a client wants to request an interrupt, use the activate
callback on the irq_domain to clear latched bit. This ensures
that the latched, if set due to the above changes in cleanup_irq
or when the bootloader leaves it set, gets cleaned up, paving way
for upcoming interrupts to trigger.

With this, there is a possibility of unwanted triggering of
interrupt right after the latched bit is cleared - the interrupt
may be left enabled too. To avoid that, clear the enable first
followed by clearing the latched bit in the activate callback.

Change-Id: If126d6f6cdf6c944ca513c53a71a91e225ee63e2
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
[collinsd@codeaurora.org: fix merge conflict]
Signed-off-by: David Collins <collinsd@codeaurora.org>
2019-11-01 14:08:58 -07:00
qctecmdr
ec0f991d2f Merge "msm: ipa: Add stats for page recycling" 2019-11-01 14:06:04 -07:00