Commit graph

858,570 commits

Author SHA1 Message Date
qctecmdr
7a21e4007b Merge "iommu: iommu-debug: check valid pfn before performing ATOS ops" 2019-10-03 13:17:48 -07:00
qctecmdr
03ea966837 Merge "iommu/arm-smmu: Adopt bitfield model for remaining SMMU registers" 2019-10-03 12:39:41 -07:00
qctecmdr
1578f1693e Merge "ARM: smp: export pending IPI state" 2019-10-03 11:51:41 -07:00
qctecmdr
0bd47772b8 Merge "iommu/arm-smmu: Add reset implementation hook" 2019-10-03 10:39:24 -07:00
qctecmdr
7da1ef4b30 Merge "iommu/arm-smmu: Move Secure access quirk to implementation" 2019-10-03 10:00:03 -07:00
qctecmdr
da9d4994d3 Merge "iommu/arm-smmu: Rename arm-smmu-regs.h" 2019-10-03 09:16:24 -07:00
qctecmdr
88623cbbdd Merge "usb: dwc3: qcom: Use GDSC regulator if available" 2019-10-03 08:31:49 -07:00
qctecmdr
b5d0ace88f Merge "regulator: add verbose error messages for invalid voltage requests" 2019-10-02 19:16:13 -07:00
David Collins
85a85aada0 regulator: add verbose error messages for invalid voltage requests
Add error messages into the regulator_check_voltage() and
regulator_check_consumers() functions which explain exactly what
is not correct about given voltage requests.  This makes
debugging regulator_set_voltage() errors easier.

Change-Id: I8b3ec8d6a78c94b436b57bd2228b8bd5c362cecd
Signed-off-by: David Collins <collinsd@codeaurora.org>
2019-10-02 18:22:14 -07:00
qctecmdr
c78315c521 Merge "defconfig: lahaina-gki: enable rpmh-regulator driver" 2019-10-02 18:08:32 -07:00
qctecmdr
0adc799684 Merge "iommu/arm-smmu: Abstract context bank accesses" 2019-10-02 17:32:25 -07:00
Jack Pham
ae9ad6b5c6 usb: dwc3: qcom: Use GDSC regulator if available
GDSC can be specified as a regulator in device tree as
'USB3_GDSC-supply'. If present, use it and enable it
prior to enabling the clocks.

Change-Id: I50c056dd920b457fe77fd364414657e98413f4d0
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2019-10-02 17:28:02 -07:00
qctecmdr
a75e17c39a Merge "iommu/arm-smmu: Get rid of weird "atomic" write" 2019-10-02 16:59:17 -07:00
qctecmdr
b39f25a096 Merge "iommu/arm-smmu: Rework cb_base handling" 2019-10-02 16:23:24 -07:00
qctecmdr
8063c4d617 Merge "net: qrtr: Make qrtr_port_lookup() use RCU" 2019-10-02 15:47:38 -07:00
qctecmdr
c415245873 Merge "iommu/arm-smmu: Convert GR1 registers to bitfields" 2019-10-02 15:14:20 -07:00
qctecmdr
d14393ebc7 Merge "net: qrtr: Implement outgoing flow control" 2019-10-02 14:38:38 -07:00
David Collins
df8ac4a79d defconfig: lahaina-gki: enable rpmh-regulator driver
Enable the rpmh-regulator driver so that consumers can manage
PMIC regulator states via RPMh.

Change-Id: Ia5ee73dc04d9fcbd6412d49fd82172ff7d006a47
Signed-off-by: David Collins <collinsd@codeaurora.org>
2019-10-02 14:07:31 -07:00
qctecmdr
5d0063a99b Merge "net: qrtr: Stop rx_worker before freeing node" 2019-10-02 14:02:31 -07:00
qctecmdr
566cdcacb2 Merge "iommu/arm-smmu: Convert GR0 registers to bitfields" 2019-10-02 13:29:25 -07:00
qctecmdr
027cf3c126 Merge "rpmsg: Add snapshot of RPMSG drivers for lahaina" 2019-10-02 12:41:22 -07:00
qctecmdr
edb7abf4fb Merge "msm: ipa3: SRAM NAT, DDR NAT, back-and-forth NAT" 2019-10-02 06:47:54 -07:00
qctecmdr
16ee17d4b6 Merge "regulator: add rpmh-regulator driver" 2019-10-01 23:35:15 -07:00
qctecmdr
5426c7c971 Merge "arm64: defconfig: Enable SSR, PIL, Sysmon, and PDR drivers" 2019-10-01 20:50:25 -07:00
qctecmdr
557352c895 Merge "drivers: qcom: rpmh-rsc: add IPC logging support for RSC driver" 2019-10-01 20:02:43 -07:00
qctecmdr
5c4d2e8fa3 Merge "drivers: clksource: add API to return cval" 2019-10-01 19:17:25 -07:00
qctecmdr
a49a3b4be7 Merge "soc: qcom: rpmh: Fix sending incorrect data during rpmh flush" 2019-10-01 19:17:25 -07:00
qctecmdr
97b5ab5509 Merge "iommu/arm-smmu: Fix SMMU derivation in arm_smmu_power_off_atomic" 2019-10-01 18:44:28 -07:00
qctecmdr
91dda46f8b Merge "iommu: iommu-debug: Add support for page table dump" 2019-10-01 18:08:24 -07:00
qctecmdr
bb93ad4d2b Merge "soc: qcom: Fix printk format warnings from subsystem restart" 2019-10-01 17:32:42 -07:00
qctecmdr
ecc7656ce7 Merge "msm: ipa4: Fix to add wake up handle for coalescing pipe" 2019-10-01 17:32:41 -07:00
qctecmdr
6484f51a25 Merge "of: reserved_mem: add missing of_node_put() for proper ref-counting" 2019-10-01 16:53:22 -07:00
qctecmdr
811cdc9fa1 Merge "iommu: iommu-debug: select IOMMU_DEBUGFS for iommu tests" 2019-10-01 16:53:21 -07:00
qctecmdr
bdb2791054 Merge "dt-bindings: regulator: rpmh-regulator: add new intermediate voltage levels" 2019-10-01 16:14:30 -07:00
qctecmdr
c58400efd6 Merge "dt-binding: regulator: rpmh-regulator: define RPMh sets and regulator modes" 2019-10-01 15:38:30 -07:00
Bjorn Andersson
8757d5ff17 net: qrtr: Make qrtr_port_lookup() use RCU
The important part of qrtr_port_lookup() wrt synchronization is that the
function returns a reference counted struct qrtr_sock, or fail.

As such we need only to ensure that an decrement of the object's
refcount happens inbetween the finding of the object in the idr and
qrtr_port_lookup()'s own increment of the object.

By using RCU and putting a synchronization point after we remove the
mapping from the idr, but before it can be released we achieve this -
with the benefit of not having to hold the mutex in qrtr_port_lookup().

Change-Id: Ia9907a9c97a29e92a92e67afa988207f501a2f48
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Patch-mainline: linux-arm-kernel @ 07/05/19, 23:06
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-10-01 15:32:25 -07:00
Bjorn Andersson
332849c5f7 net: qrtr: Implement outgoing flow control
In order to prevent overconsumption of resources on the remote side QRTR
implements a flow control mechanism.

The mechanism works by the sender keeping track of the number of
outstanding unconfirmed messages that has been transmitted to a
particular node/port pair.

Upon count reaching a low watermark (L) the confirm_rx bit is set in the
outgoing message and when the count reaching a high watermark (H)
transmission will be blocked upon the reception of a resume_tx message
from the remote, that resets the counter to 0.

This guarantees that there will be at most 2H - L messages in flight.
Values chosen for L and H are 5 and 10 respectively.

Change-Id: Ifa3c0c5821d31e385c34428d0bd4f5b5eec2fb77
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Patch-mainline: linux-arm-kernel @ 07/05/19, 23:06
[clew@codeaurora.org: Fix uninitialized qrtr_tx_lock mutex]
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-10-01 15:32:25 -07:00
Bjorn Andersson
83e68efe5b net: qrtr: Migrate node lookup tree to spinlock
Move operations on the qrtr_nodes radix tree under a separate spinlock
and make the qrtr_nodes tree GFP_ATOMIC, to allow operation from atomic
context in a subsequent patch.

Change-Id: I8f5ce15edf6043e5b27ef280f1c09f4c64ebe3bb
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Patch-mainline: linux-arm-kernel @ 07/05/19, 23:06
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-10-01 15:32:25 -07:00
Bjorn Andersson
549c20c91a net: qrtr: Move resume-tx transmission to recvmsg
The confirm-rx bit is used to implement a per port flow control, in
order to make sure that no messages are dropped due to resource
exhaustion. Move the resume-tx transmission to recvmsg to only confirm
messages as they are consumed by the application.

Change-Id: Icd990ef9dc46c983c9231fe1e72ba9dcbef5a0c3
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Patch-mainline: linux-arm-kernel @ 07/05/19, 23:06
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-10-01 15:32:25 -07:00
Bjorn Andersson
a1811128de net: qrtr: Stop rx_worker before freeing node
As the endpoint is unregistered there might still be work pending to
handle incoming messages, which will result in a use after free
scenario. The plan is to remove the rx_worker, but until then (and for
stable@) ensure that the work is stopped before the node is freed.

Change-Id: Ic35d1c0f5e5e4f297c7c05dd09c7c8a4d8b23cf4
Fixes: bdabad3e36 ("net: Add Qualcomm IPC router")
Cc: stable@vger.kernel.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Git-commit: 73f0c11d11
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-10-01 15:28:09 -07:00
Jay Jayanna
f1d8e56eb5 rpmsg: Add snapshot of RPMSG drivers for lahaina
This snapshot is taken as of msm-4.19 'commit <d2f41beab007i>
("Merge "msm: npu: Add bandwidth monitor support"")'.

This change brings the rpmsg and rpmsg glink drivers up to date with
the fixes from msm-4.19. In addition, change the copyrights to SPDX format.

Also, irq_set_affinity and sched_setaffinity can not be used when compiling
a driver as a module. Hence, moving to module-friendly APIs.

Change-Id: Id8c0bd13535c91cbecb11445bf798be44083abb6
Signed-off-by: Jay Jayanna <jayanna@codeaurora.org>
2019-10-01 15:16:41 -07:00
qctecmdr
1dbe00d010 Merge "msm: kgsl: Add the kgsl uapi header file" 2019-10-01 14:23:21 -07:00
Prakash Gupta
a9cbc7f9c5 iommu: iommu-debug: check valid pfn before performing ATOS ops
ATOS operation can be fatal when performed on invalid pfn. Validate mapped
entry pfn for validity before performing ATOS operation.

Change-Id: Ie1b118d768c396f91618ee1eb101754cbee5318e
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
[isaacm@codeaurora: Move PFN validity check prior to IOVA assignment]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-10-01 11:02:39 -07:00
Perry Randise
b8da68935f msm: ipa3: SRAM NAT, DDR NAT, back-and-forth NAT
A new application level feature has NAT running out of SRAM, DDR, or
both. The addtion of just this feature's header to the kernel will
allow it to be propagated to older kernels, such that they can be
compatible (in terms of structure size) with the new application level
feature.

Change-Id: I16b5bfaa1156c69e0a6ae0c2ca4be416a283d049
CRs-Fixed: 2437567
Signed-off-by: Perry Randise <prandise@codeaurora.org>
2019-10-01 13:03:44 -04:00
Lina Iyer
72ec76f95c drivers: qcom: rpmh-rsc: add IPC logging support for RSC driver
In addition to logging using FTRACE. let's also log in the IPC logging
for all RPMH transactions.

Change-Id: I2b19006bbc776053f63eee55b447428fdb023ba4
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2019-10-01 18:00:44 +05:30
Lina Iyer
7aa301db5b soc: qcom: rpmh-rsc: log interrupt status when TCS is busy
To debug issues when TCS is busy, report interrupt status as well. If
the interrupt line is pending at GIC, then Linux was too busy to process
the interrupt and if not pending then AOSS was too busy to handle the
request.

Change-Id: I8fd8289c74a8e1d6c771b77c2800a52f18c3a0b2
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2019-10-01 18:00:44 +05:30
Lina Iyer
d1c7802611 soc: qcom: rpmh: Fix sending incorrect data during rpmh flush
During flush of current cached data, Sleep and Wake TCSes have
previously programmed data present. Due to this incorrect data
is sent.

Fix this by cleaning TCSes and freshly program current cached
sleep and wake data.

Change-Id: I8f1cb9925a7800aad65d665192d3b129c76dd9de
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2019-10-01 18:00:35 +05:30
Lina Iyer
2f5cb5c667 ARM: smp: export pending IPI state
Record and export if an IPI is pending on the current CPU. Knowing if an
IPI is pending helps make better idle state determinations.

Change-Id: I92ab0aaeb3162cd312aa00a4e3eb978be2ad8efc
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2019-10-01 17:56:59 +05:30
Channagoud Kadabi
8790fa13c4 drivers: clksource: add API to return cval
Sleep driver needs to program the absolute clock value for next expiry
into pdc register for system wake up. Add an API to read the cval low
and high counters.

Change-Id: I3f08b3320ea281894d46f3c4bb0862784cc337a1
Signed-off-by: Channagoud Kadabi <ckadabi@codeaurora.org>
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2019-10-01 17:56:44 +05:30
Ashok Vuyyuru
6f2b5a7729 msm: ipa4: Fix to add wake up handle for coalescing pipe
Changes to add wake up handle for coalescing pipe.

Change-Id: I0cfc38c91a6a5b93211933f0af87640cbec8a4bf
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2019-10-01 00:08:58 -07:00