Commit graph

892,022 commits

Author SHA1 Message Date
Isaac J. Manjarres
8ffa6450ba iommu/arm-smmu: Add support for not removing SMMU power votes
The SMMU driver will vote for the resources it needs before performing
a particular operation, and will remove its votes after the operation
is complete.

When power resources are not currently enabled by other drivers,
the SMMU driver's requests to enable its devices' power resources
go through the slow paths where the hardware power resources
get turned on. So, in a scenario where the SMMU driver is constantly
performing work and having to toggle the state of the power resources,
the SMMU driver operations take more time.

On GKI, the upstream implementation of the IOMMU page table management
code is used, which doesn't have the optimizations we have downstream,
which improve the performance of the SMMU driver when unmapping memory.

The GPU can go into slumber if it is not active, and can relinquish its
votes for the power resources that the SMMU driver votes for when
unmapping memory. This requires the SMMU driver to take the slowpath
of enabling all of these power resources and then disabling them
on every call to unmap memory, which can incur a considerable amount
of delay.

This delay, along with the usage of the unoptimized IOMMU page table
management code in GKI results in slow unmap calls.

Thus, add support for the SMMU driver to never remove its power votes,
so that it doesn't have to spend time voting for power resources while
it is operating.

Change-Id: Id93aafef18f69e377391875e2a7b340b34b4b3e8
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-11-05 15:36:09 -08:00
Isaac J. Manjarres
be81ead736 Revert "iommu/arm-smmu: Leave power resources enabled across unmap and sync ops"
This reverts commit fc6d479bac4c756359388647d45f39f08d0c8534. The
functionality offered by this change was not implemented correctly,
so revert it in favor of a different way of addressing the issue
that was supposed to be fixed.

Change-Id: Id061372026dea2960758c4dad0a5e37c2604576e
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-11-05 09:21:13 -08:00
qctecmdr
8543fd31f2 Merge "interconnect: qcom: sdxlemur: Set keepalive for important BCMs" 2020-11-05 01:57:25 -08:00
qctecmdr
0a416b51c7 Merge "checkpatch: Handle quotes within commit reference descriptions" 2020-11-05 01:57:25 -08:00
qctecmdr
d3e347cf5c Merge "serial: msm_geni_serial: Add new UART IPC log file in DMA mode" 2020-11-05 01:57:24 -08:00
qctecmdr
3d62af2882 Merge "defconfig: enable CPUCP drivers for yupik" 2020-11-05 01:57:24 -08:00
qctecmdr
7c87f5b6eb Merge "Netfilter: IRC: Copy nickname to proper address" 2020-11-05 01:57:24 -08:00
qctecmdr
49ab2ae400 Merge "ARM: msm: Add board config support for 32 bit NIGHTJAR" 2020-11-05 01:57:23 -08:00
qctecmdr
bcbbc3a54a Merge "devfreq: delete l2wb feature pmu events during governor stop" 2020-11-05 01:57:23 -08:00
qctecmdr
c9d2eaf4a6 Merge "cpufreq: schedutil: Queue sugov irq work on policy online cpu" 2020-11-04 14:57:12 -08:00
qctecmdr
64d7b4bd9b Merge "drivers: soc: qcom: initial support for plh scmi client driver" 2020-11-04 14:57:12 -08:00
qctecmdr
f546de6b43 Merge "scsi: ufs: Fix ufs power down/on specs violation" 2020-11-04 14:57:11 -08:00
qctecmdr
06a7c1dba5 Merge "linux: rmnet: add RMNET IOCTL for set MTU" 2020-11-04 06:07:47 -08:00
qctecmdr
ee912b37f3 Merge "msm: kgsl: Add support for RDPM frequency register writes" 2020-11-04 06:07:46 -08:00
qctecmdr
47bb7dd59c Merge "cnss2: Control ADSP power collapse based on WLAN state" 2020-11-04 06:07:46 -08:00
qctecmdr
92bbd73111 Merge "cnss2: Overload QDSS trace save indication for generic mem dump" 2020-11-04 06:07:46 -08:00
qctecmdr
8693b60144 Merge "usb: gadget: qdss: Add NULL check against channel with usb_qdss_free_req()" 2020-11-04 06:07:46 -08:00
qctecmdr
9d8a1b1f7a Merge "sched: fix compile issue" 2020-11-04 06:07:45 -08:00
Chandana Kishori Chiluveru
8f9bea1d7c serial: msm_geni_serial: Add new UART IPC log file in DMA mode
This patch adds new IPC log file to dump IRQ registers to know
the interrupt status in dma mode. This will help in debugging
interrupt storm issues in dma mode.

Also increase the IPC log buffer size.

Change-Id: I33a32e8d237769808a9c7553c9c3e6d1024d9f50
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
2020-11-04 12:06:44 +05:30
Chandana Kishori Chiluveru
de89e43ada serial: msm_geni_serial: Add delay for rx invalid transfer
Check for RX data in rx buffer for faulty transfer and add
delay of 2 msecs delay in order for dma rx transfer
to be actually completed.

Also dump required qup registers when the uart dma rx data is
seen as all zeros.

Change-Id: Ifaa0cb7d22b8419ffacfee7212b0a28ed8ebf2a1
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
2020-11-04 11:54:34 +05:30
Santosh Mardi
25253a2705 devfreq: delete l2wb feature pmu events during governor stop
Delete l2wb and l3 access pmu events when the governor
is stopped.

Change-Id: If443cb6b53e2ad43ebee04a1fc3274a31b05e5b9
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2020-11-04 11:50:26 +05:30
Santosh Mardi
73ee91fc44 drivers: soc: qcom: read current counter value before PMU save
Call perf_event_read_local() to update current counter value
in hw_perf_event structure before saving PMU snapshot to
shared memory.

Change-Id: Id5945cd6b6c9fab6f87917224b5b5f54dca5ef9c
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2020-11-04 11:32:18 +05:30
Santosh Mardi
273a638613 defconfig: enable CPUCP drivers for yupik
Enable required drivers for CPUCP communication on
yupik target.

Change-Id: Ia47a867118e3eadf011228ef21c6a2c87ac7efa4
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2020-11-03 20:03:24 -08:00
Paras Singh Jain
a809d69a40 Netfilter: IRC: Copy nickname to proper address
Fix to copy nickname to address provided by
nickname pointer and avoid overwriting
pointer value.

Change-Id: I8746d8249e807299ae3bec36f6ed9934d8c1628a
Signed-off-by: Paras Singh Jain <parassin@codeaurora.org>
2020-11-03 10:25:10 -08:00
Gaurav Singh
1a96b0ead8 drivers: soc: qcom: initial support for plh scmi client driver
Add initial support for plh scmi client driver which registers
into scmi framework for plh vendor protocol extension.
Also registers with plh interface driver msm_performance.

Change-Id: I448a714486ff4c7ea38cbeeec1ddb5e183b76e65
Signed-off-by: Gaurav Singh <sgaurav@codeaurora.org>
2020-11-03 06:44:11 -08:00
Gaurav Singh
1efbc7e966 Firmware: arm_scmi: initial support for plh vendor protocol
The perf lock hardening protocol is intended for the management
of perf lock hardening on RIMPS.
The commands in this protocol provide functionality to configure
plh details, plh tunables, configuring the log levels and
debugging support.

Change-Id: I9f5292ee3e32a038160e66d38ec15637a55458fd
Signed-off-by: Gaurav Singh <sgaurav@codeaurora.org>
2020-11-03 06:43:46 -08:00
qctecmdr
8c86f95982 Merge "drm/bridge: lt9611uxc: add hpd support for lt9611uxc" 2020-11-02 20:59:38 -08:00
qctecmdr
c0d9738fcd Merge "Merge android11-5.4.61+ (874de1d) into msm-5.4" 2020-11-02 20:59:38 -08:00
qctecmdr
160bf6e6d6 Merge "pci: msm: Add support to handle DRV power collapse" 2020-11-02 20:59:38 -08:00
qctecmdr
770c7141e8 Merge "arm: defconfig: Enable TSENS driver for sdxlemur" 2020-11-02 20:59:37 -08:00
qctecmdr
6da09c4559 Merge "clk: qcom: gdsc-regulator: Extend the support for ACD reset" 2020-11-02 20:59:37 -08:00
qctecmdr
e43996e3bb Merge "msm: kgsl: Don't skip gmufw preallocations during firmware read" 2020-11-02 20:59:37 -08:00
qctecmdr
69a33a0555 Merge "mtd: msm_qpic_nand: Add a check to read an ONFI parameter page" 2020-11-02 20:59:36 -08:00
Biao Long
cebe8679d5 sched: fix compile issue
Root_task_group is acessed outside CONFIG_SCHED_CGROUP
and it results in compilation error.so add macro check
here to avoid compile issue.

Change-Id: Ic3ce1962236f8114f8b03aca8ebd1c8fbd42a076
Signed-off-by: Biao Long <blong@codeaurora.org>
2020-11-03 10:20:17 +08:00
Ziqi Chen
8586ea7063 scsi: ufs: Fix ufs power down/on specs violation
As per specs, while powering off/on the ufs device, RST_N signal and
REF_CLK signal should be between VSS(Ground) and VCCQ/VCCQ2.

Power down:
1. Assert RST_N low
2. Turn-off REF_CLK
3. Turn-off VCC
4. Turn-off VCCQ/VCCQ2.
power on:
1. Turn-on VCC
2. Turn-on VCCQ/VCCQ2
3. Turn-On REF_CLK
4. Deassert RST_N high.

Change-Id: I602e632d284a9d78431bf897558a4b8300ad3611
Signed-off-by: Ziqi Chen <ziqichen@codeaurora.org>
2020-11-03 09:22:56 +08:00
qctecmdr
b728422299 Merge "usb: gadget: configfs: Correct usb functions order for UDC gadget bind" 2020-11-02 17:15:19 -08:00
qctecmdr
19a1e02a64 Merge "coresight-tmc-etr: Check if page is valid before dma_map_page" 2020-11-02 17:15:19 -08:00
qctecmdr
c648646142 Merge "msm: kgsl: Granule Fill Override Enable" 2020-11-02 17:15:18 -08:00
Mayank Rana
8b51dad4aa usb: gadget: qdss: Add NULL check against channel with usb_qdss_free_req()
USB requests are being freed from 2 context from Linux QDSS driver:
1. usb_qdss_close()
2. explicitly calling usb_free_request() on receiving USB_QDSS_DISCONNECT

usb_qdss_close() is setting drvdata->usbch to NULL. Hence it ends up
passing usbch as NULL while calling usb_free_request() when handling
USB_QDSS_DISCONNECT. Fix this NULL pointer dereference issue by explicitly
checking USB channel against NULL with usb_qdss_free_req().

Change-Id: Ia55a30b09ab1f94db15947b984fd232a33da7788
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2020-11-02 16:32:09 -08:00
Michael Adisumarta
7fd9068d97 linux: rmnet: add RMNET IOCTL for set MTU
Add a new define for rmnet ioctl for setting MTU.

Change-Id: Ia3575605fc5066d0b98f1da252742e52ecbc3f11
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2020-11-02 14:43:37 -08:00
qctecmdr
244ab508be Merge "cnss2: Donot reserve TCS register space for WLAN" 2020-11-02 14:03:14 -08:00
qctecmdr
bad0254793 Merge "Bluetooth: Don't reserve TCS register address" 2020-11-02 14:03:12 -08:00
qctecmdr
eb72ab27a7 Merge "mmc: core: Fix clk scaling deadlock with irqsave" 2020-11-02 07:48:27 -08:00
qctecmdr
b5b0299091 Merge "usb: dwc3: Stop active transfer on control endpoints" 2020-11-02 07:48:27 -08:00
qctecmdr
30a9d161da Merge "qcom: qcom_ipcc: request ipcc irq IRQF_NO_SUSPEND" 2020-11-02 07:48:27 -08:00
qctecmdr
a40869b2ca Merge "defconfig: holi: Enable Incremental FS as module" 2020-11-02 07:48:26 -08:00
qctecmdr
6e0ca20610 Merge "serial: msm_geni_serial: memset RX buffer to Zero" 2020-11-02 07:48:26 -08:00
qctecmdr
bf4800b509 Merge "input: qcom-hv-haptics: switch API to trigger PBS for ISC configuration" 2020-11-02 07:48:26 -08:00
qctecmdr
67a8905131 Merge "mm: oom: wait for exit of killed current task" 2020-11-02 07:48:26 -08:00
qctecmdr
e2ad70a354 Merge "NFC: Add fix for CTS issue of IPC log file creation failed" 2020-11-02 07:48:25 -08:00