Commit graph

894,682 commits

Author SHA1 Message Date
Deepak Kumar
16ac4605eb msm: kgsl: Configure UCHE GMEM base address based on GMEM size
Different GPU can have a different GMEM size so need to configure
UCHE GMEM base address accordingly. Having a fix base as 0x100000
results in RB and UCHE GMEM range overlap on GPUs with GMEM size >1MB.
Also, adjust SVM 32bit base based on GMEM UCHE range end to prevent
GMEM UCHE and SVM 32bit range overlap.

Change-Id: I41330a33b79bf8c79b593ecd89593a796230b074
Signed-off-by: Deepak Kumar <[email protected]>
2021-03-10 15:55:02 +05:30
Yong Ding
221c0934b7 soc: qcom: hab: fix some issues in the remote open cancelling case
The version numbers shall be copied into the local variables for
any potential version comparison.

Change-Id: I08ac6359df0890a2605dbb6279b73abe09060ec8
Signed-off-by: Yong Ding <[email protected]>
2021-03-10 18:21:13 +08:00
Yong Ding
0f22667ec0 soc: qcom: hab: avoid printk storm in the pipe read retry
The prink() could consume enough CPU when the retry eventually takes
a lot of times before it could succeed.

Change-Id: I4f49d0650ee3ae06700d2ce592acd0532bbf38cd
Signed-off-by: Yong Ding <[email protected]>
2021-03-10 01:57:53 -08:00
Chaoli Zhou
75e8fd3e51 cnss2: Fix 60s timeout while search regdb.bin failure
Since for the Genoa or the SP that doesn't need
regdb.bin for Hasting, it should happen search
regdb.bin failure issue that cause 60s timeout.
So add one compile macro CNSS_REQ_FW_DIRECT to
replace request_firmware_direct with request_
firmware for regdb.bin and only search the folder
that set by fw_path, which can avoid 60s timeout
while search file failure in the user space.
static const char * const fw_path[] = {
	fw_path_para,
	"/lib/firmware/updates/" UTS_RELEASE,
	"/lib/firmware/updates",
	"/lib/firmware/" UTS_RELEASE,
	"/lib/firmware"
};
Above piece of code is the definition of fw_path
from drivers/base/firmware_loader/main.c.

Change-Id: I79c2fce33a8befecb0242a70b7eee1eef9a76e9b
Signed-off-by: Chaoli Zhou <[email protected]>
Signed-off-by: Kuichu Ni <[email protected]>
2021-03-09 23:32:50 -08:00
Kaustubh Pandey
da87cac517 defconfig: monaco: Enable data/net related configs
Enable modules for monaco target required for dataservices.

Change-Id: I7f61435ca21b521b327e6ff0a9086cd9b60d5bd8
Signed-off-by: Kaustubh Pandey <[email protected]>
2021-03-10 12:57:01 +05:30
Kavya Nunna
c28831d054 power: smb5-lib: Fix race conditions for typec power role
Currently power_role is accessed by set_prop and get_prop
functions of typec_power_role without any locking mechanism,
there can be a scenario where both function calls were invoked
simultaneously and power_role variable is not correctly
updated, and it leads to enumeration issues when connected to PC.

Fix it by adding locking mechanism to power_role.

Change-Id: I4f5dc38a9536b535510dc2b112712a5cbd2b3f84
Signed-off-by: Kavya Nunna <[email protected]>
2021-03-10 12:16:48 +05:30
Huashan Qu
099d24dee6 cnss2: Check CNSS_MHI_POWER_OFF state in cnss_pci_suspend_bus()
In the process of idle shutdown, cnss_pci_power_off_mhi()
already done with CNSS_MHI_POWER_OFF state set, but
cnss_suspend_pci_link() doesn't complete yet, so PCI_LINK_DOWN
won't be set, at the same time system suspend comes, it will be
failed with CNSS_MHI_SUSPEND state set checking at
cnss_pci_suspend_bus()/cnss_pci_set_mhi_state().

When mhi state is already CNSS_MHI_POWER_OFF,  no need to do pci
suspend link related operation while such actions also will be done
through cnss_qca6290_shutdown()/cnss_suspend_pci_link(). Fix is to
check CNSS_MHI_POWER_OFF state in cnss_pci_suspend_bus().

Change-Id: I2e03dffdc29b5c9743209cbd29c16345d414af35
Signed-off-by: Huashan Qu <[email protected]>
2021-03-10 14:39:14 +08:00
Anuj Garg
d0f8a955d6 defconfig: autogvm: Enable VIRTIO FASTRPC driver
Enable virtio fastrpc driver config for quin virtual
machine.

Change-Id: Ic496e7b1ad06fa50075a1b485b3db05007a85cb6
Signed-off-by: Anuj Garg <[email protected]>
2021-03-10 10:48:39 +05:30
qctecmdr
bb168a0f46 Merge "msm: msi: set enable_irq_wake for PCIe MSI IRQ" 2021-03-09 20:30:11 -08:00
Lin Bai
d00e6c6b34 cnss2: Only send host IOVA range to firmware when SMMU enabled
Only when SMMU S1 enabled, CNSS driver will send IOVA range in
HOST_CAP message, and let firmware to configure ATU.

Change-Id: Idd19063da975c0105d91e0e31575d0b0d1edd8e2
Signed-off-by: Lin Bai <[email protected]>
2021-03-09 20:21:51 -08:00
wei yang
b95e50426d cnss2: Update driver to support multiple devices
Currently CNSS2 driver does not support multi chips. This is a update of
the CNSS2 driver to support multi chips with converged dts.

Change-Id: Ie3efb526220c2de21e021320322d46c345d770bc
Signed-off-by: wei yang <[email protected]>
Signed-off-by: Kuichu Ni <[email protected]>
2021-03-09 20:00:52 -08:00
Jay Jayanna
bb6bd7c418 soc: qcom: qmp-debugfs-client: Remove leading and trailing whitespaces
Remove all the leading and trailing whitespaces in the string copied
from userspace.

Change-Id: I627416dcdb1155303ad6a8ed172910a8653dd67b
Signed-off-by: Jay Jayanna <[email protected]>
2021-03-09 17:24:13 -08:00
qctecmdr
39d25940c8 Merge "net: stmmac: Fix gpio reset & other issue" 2021-03-09 16:39:18 -08:00
Karthik Rudrapatna
6bb9c2a480 defconfig: sdxlemur: Realtek IOSS glue driver switch to v2
Switch Realtek IOSS glue driver to IOSS v2.

Change-Id: I2c14d6e5fd96a130061cf37131cfe50951f7f1a8
Signed-off-by: Karthik Rudrapatna <[email protected]>
2021-03-09 14:52:08 -08:00
qctecmdr
95755ee91b Merge "drivers: pinctrl: sdxlemur: Add ebi2 support to GPIO 89 and 90" 2021-03-09 12:52:04 -08:00
qctecmdr
fb1a93ae61 Merge "defconfig: Re-enable qcom_edac driver as a module" 2021-03-09 12:52:03 -08:00
qctecmdr
c865ae26b3 Merge "usb: dwc3-msm: Do not powerdown SSPHY if auto suspend is disabled" 2021-03-09 12:52:03 -08:00
Suraj Jaiswal
edd74d465b net: stmmac: Fix gpio reset & other issue
Add support for proper GPIO reset & qcom
specific changes.

Change-Id: Iad7a40d896c6847e06f775449f5c54dd828815b8
Acked-by: Nagarjuna Chaganti <[email protected]>
Signed-off-by: Suraj Jaiswal <[email protected]>
2021-03-09 23:25:13 +05:30
Lakshit Tyagi
aa1c5351df defconfig: sdxlemur: AQC IOSS glue driver switch to v2
Switch AQC IOSS glue driver to IOSS v2.

Change-Id: I82b75bee27e385d67f8cc80afbe254023489c9c7
Signed-off-by: Lakshit Tyagi <[email protected]>
2021-03-09 09:03:58 -08:00
qctecmdr
42270f30bf Merge "sched: Enable PELT8 by default" 2021-03-09 09:03:53 -08:00
qctecmdr
b655fdb315 Merge "power: reset: Add snapshot of vm power off driver" 2021-03-09 09:03:53 -08:00
qctecmdr
f73698b6bf Merge "defconfig: Enable TLMM pincontrol for Direwolf" 2021-03-09 09:03:53 -08:00
Neeraj Upadhyay
004d05d42a soc: qcom: Improve msm_minidump_remove_region api
Improve the api to better handle certain error scenarios
and move console prints outside of irq/locked code
sections.

Change-Id: I0ec6f37400949c014ea2e94f61a239294c954bf5
Signed-off-by: Neeraj Upadhyay <[email protected]>
2021-03-09 22:02:28 +05:30
Aniket Randive
bebc6b630d usb: dwc3-msm: Do not powerdown SSPHY if auto suspend is disabled
On certain platforms, due to a HW issue, the SSPHY keeps
transitioning in and out of p3 whenever we perform any HS
transfers. This leads to a storm of PWR_EVNT irgs.
Fix this by disabling SSPHY autosuspend on such platforms.
Autosuspend will be enabled as part of dwc3_msm_prepare_suspend
so that SSPHY gets a chance to go into P3.

Change-Id: I4e674f780a72a8c4abcb3e6c9f083f23b1faa196
Signed-off-by: Aniket Randive <[email protected]>
2021-03-09 05:08:30 -08:00
Ajay Agarwal
805c7cc16e usb: dwc3: Write necessary registers for dual port enablement
In line with the sequence for primary port, update proper fields
of DWC3_GUSB2PHYCFG and DWC3_GUSB3PIPECTL registers for the
second port of the dual port controller. Update other registers
as required.
While at it, also avoid enabling SSPHY autosuspend if
dis_u3_susphy_quirk is set.

Change-Id: Ib79dba4c6d854fa2bf33a1b7cecf06f988250662
Signed-off-by: Ajay Agarwal <[email protected]>
Signed-off-by: Harsh Agarwal <[email protected]>
2021-03-09 04:14:56 -08:00
Ajay Agarwal
76c3eb34d1 usb: dwc3-msm: Add support for 2nd set of wakeup IRQs
Certain targets may have a dual port capable host controller.
Add support for the PHY IRQs for the second port. Since the SSPHY
autosuspend will be disabled for such controllers, remove the
support of pwr_evnt_irq as a mandatory IRQ and allow SSPHY to go
into P3 as a part of suspend sequence. Handle the logic
gracefully to maintain single port controllers.

Change-Id: I5a53d6e23f64bec7ae940d23923df310309a28da
Signed-off-by: Ajay Agarwal <[email protected]>
Signed-off-by: Harsh Agarwal <[email protected]>
2021-03-09 04:14:30 -08:00
Ajay Agarwal
3081acb9e8 usb: dwc3: Add support for 4 PHYs for dual port controller
Add 2 new PHY instances (HS and SS) in dwc3 and dwc3-msm
structures. Probe and initialize them when the controller is
dual port capable. This capability is advertised by cores
supporting only host mode using the DT flag 'qcom,dual-port'.

Update PHY1 flags wherever applicable while maintaining single
port controller support.

Avoid workaround of SSPHY powerdown as a part of HS device
connect because of the known HW issue of the other SSPHY going in
and out of P3 when data transfers are being done.

Change-Id: If52fd6383cc2da8b763c774d2ad688448f90aea0
Signed-off-by: Ajay Agarwal <[email protected]>
Signed-off-by: Harsh Agarwal <[email protected]>
2021-03-09 17:34:58 +05:30
Sandeep Singh
e67f869ac6 cnss2: Download qdss cfg file at end of fw mem ready handler
Download qdss cfg file at end of fw mem ready handler instead
of downloading cfg file after fw init done. Wlan fw expects
qdss mem req/resp from host before mode on request from it.
Wlan fw will wait for qdss memory sync qmi exchange from
host before sending fw init done to it to avoid receiving
qdss memory sync after mode on request.

Change-Id: If4e752c398821a5cdfeb1b5aeaf735f1973b5635
Signed-off-by: Sandeep Singh <[email protected]>
2021-03-09 17:02:21 +05:30
qctecmdr
cc81b9bed6 Merge "net: stmmac: Add support for Micrel PHY interrupt" 2021-03-09 03:08:56 -08:00
qctecmdr
0bf3d44552 Merge "cnss2: Remove deprecated wake_event" 2021-03-09 03:08:56 -08:00
qctecmdr
9079b45e60 Merge "msm: kgsl: configure macrotiling channels for A680" 2021-03-09 03:08:56 -08:00
qctecmdr
53bc990734 Merge "msm: kgsl: increase GPU snapshot size on A680" 2021-03-09 03:08:55 -08:00
qctecmdr
b011d942a3 Merge "defconfig: sdmsteppe: move DEBUG_FS from perf to debug config" 2021-03-09 03:08:55 -08:00
qctecmdr
087892be64 Merge "Merge android11-5.4.61+ (1d9c43f) into msm-5.4" 2021-03-09 03:08:55 -08:00
qctecmdr
6a0a03bd7e Merge "pci_iomap: fix page fault issue on vmalloc with section mapping" 2021-03-09 03:08:55 -08:00
qctecmdr
a1cfa2594c Merge "cnss2: Check for BT Enable GPIO in QCA6390" 2021-03-09 02:40:38 -08:00
Vivek Kumar
2b22991404 defconfig: Enable TLMM pincontrol for Direwolf
Enable TLMM pincontrol as module for Direwolf target.

Change-Id: I5a82c4ea55b8f34b931cb45eab81927924052521
Signed-off-by: Vivek Kumar <[email protected]>
Signed-off-by: Shreyas K K <[email protected]>
2021-03-09 14:52:36 +05:30
Shreyas K K
0f8c4da74b drivers: pinctrl: qcom: Add Pinctrl driver for Direwolf
Add initial driver to support pin configuration with
pinctrl framework for Direwolf SoC.

Change-Id: I7fd92e716eec71fc0cbdced54902f2ddfadedcc0
Signed-off-by: Shreyas K K <[email protected]>
2021-03-09 14:52:19 +05:30
Ritesh Kumar
680f7f3582 input: touchscreen: nt36xxx: Cancel pending firmware update
Before initiating trusted touch, cancel pending firmware
update.

Change-Id: Ied0973e891fce10ec52135882bfb9fde220af8e7
Signed-off-by: Ritesh Kumar <[email protected]>
2021-03-09 14:11:34 +05:30
Ping Jiang
bacd2262eb power: reset: Add snapshot of vm power off driver
Add snapshot of vm power off driver as of msm-4.14
'commit 77a20e0a50e1
("power: reset: cache flush before VM restart")'.

Change-Id: I380b16f46429711284bb6717847a1eef5d8ee9b1
Signed-off-by: Ping Jiang <[email protected]>
2021-03-09 15:45:57 +08:00
Deepak Kumar
ff9b4c4a53 msm: kgsl: Avoid copying aux_command_generic struct twice
In kgsl_ioctl_gpu_aux_command, kgsl_gpu_aux_command_generic struct
is copied to kernel before calling into kgsl_drawobj_add_timeline
and it is copied again inside kgsl_drawobj_add_timeline as part of
get_aux_command. Avoid this by directly passing user pointer and
size need by kgsl_drawobj_add_timeline to get the timeline command
struct.

Change-Id: Ic6e4e8a79484c85070f1feda516bbb0c0ace83eb
Signed-off-by: Deepak Kumar <[email protected]>
2021-03-09 12:57:26 +05:30
Ashish Kori
284d25d5b6 defconfig: gen3auto: disable GLINK config
disable CONFIG_RPMSG_QCOM_GLINK_SPI config for auto target.

Change-Id: I762e5edafc39f5c2ff4a082e2b254b12a9a5fa13
Signed-off-by: Ashish Kori <[email protected]>
2021-03-09 12:35:35 +05:30
Chandana Kishori Chiluveru
898effb600 slim-msm-ngd: Do not enable/disable core irq in SSR/PDR notifications
During SSR testing, subsystem and qmi notifications for SSR/PDR
sequence is missing sometimes. We are seeing 2 times DOWN notification
without UP. This will lead to imbalance in disabling and enabling of
core IRQ and capability exchange is timing out.

If interrupt line is not enabled, during retry-capability exchange
request is timing out and leading to freed memory access
inside ngd_xfer_msg.

Fix this issue by removing enabling and disabling from ngd_slim_enable
enable it only once during probe.

Change-Id: I15616c6e284848ed1f2aca00d251b82f79feb803
Signed-off-by: Chandana Kishori Chiluveru <[email protected]>
2021-03-09 11:31:10 +05:30
Vinay Sudra
daa90e8b8c defconfig: sdmsteppe: move DEBUG_FS from perf to debug config
Move CONFIG_DEBUG_FS from qgki config to debug config to
avoid android compilation issues.

Change-Id: Idf2f3ea4d3c0fbd837bad9de9de53f42e690d58b
Signed-off-by: Vinay Sudra <[email protected]>
2021-03-09 10:33:15 +05:30
Qingqing Zhou
399e44118e pci_iomap: fix page fault issue on vmalloc with section mapping
In this case, CONFIG_SMP and CONFIG_LPAE are both not enabled,
CONFIG_ENABLE_VMALLOC_SAVING is enabled. The paddr|size|addr
satisfies PMD_SIZE alignment, will create section mapping not
page mapping, non-LPAE arm32 uses 2-level page table, including
pgd and pte, before remapping it will do unmapping which clears
init_mm->pgd of corresponding addr and memcpy into [VMALLOC_START,
VMALLOC_END) part of current->active_mm->pgd, but this memcpy misses
to sync other vmalloc areas outside [VMALLC_START, VMALLOC_END) with
vmalloc saving feature, the pgd part of addr in other vmalloc
areas is not synced and still holds the stale mappings, if request
addrs fall into other vmalloc areas, then page fault happens for them.

So need to consider other vmalloc areas outside [VMALLOC_START,
VMALLOC_END) with vmalloc saving feature, change into [PAGE_OFFSET,
VMALLOC_END) to include all vmalloc areas, then all pgds of vmalloc
addrs in current->active_mm->pgd will be synced on unmapping, the
pgds of request addrs are cleared, then do_traslation_fault will
be called for zero pgd value, it calls copy_pmd to sync the pgds
from init_mm->pgd to current->active_mm->pgd for request addrs on
remapping.

Change-Id: Ia283d409a20c8fc9951434078332a3badf0f9ed0
Signed-off-by: Qingqing Zhou <[email protected]>
2021-03-08 18:15:04 -08:00
Fenglin Wu
ba6fb533f2 hwmon: qti_amoled_ecm: return avg_current as 0 upon error exceptions
Avg_current is an unsigned 16-bit data and assigning it a negative
value would make it being shown as a very big positive value which
doesn't make sense for ECM current measurement. Instead, assign it
to 0 upon error exceptions and print out corresponding messages.

Change-Id: I438667e40d63e4142860b7de4e7cf7495d3c424e
Signed-off-by: Fenglin Wu <[email protected]>
2021-03-09 09:35:43 +08:00
Melody Olvera
3981ad625f drivers: pinctrl: sdxlemur: Add ebi2 support to GPIO 89 and 90
Add ebi2 support to GPIO 89 and 90 and add an ebi2_a function.

Change-Id: I1854aea3011b1d1cf67ebfebddb1c6b60a34a1b1
Signed-off-by: Melody Olvera <[email protected]>
2021-03-08 14:49:27 -08:00
Mohammed Siddiq
712e346e96 cnss2: Check for BT Enable GPIO in QCA6390
QCA6390 requires synchronization between BT and WLAN enable gpio
to avoid power up issue. Add support for QCA6390 in gpio sync
code.

Change-Id: Id2183ff324c9c3059ea81e9137fa49c803feb183
Signed-off-by: Mohammed Siddiq <[email protected]>
2021-03-08 12:35:45 -08:00
Shreyas K K
7ceab32885 defconfig: sdmsteppeauto: Enable SCHED_WALT
Enable SCHED_WALT to add support for scheduler
features like WALT, core_ctl, etc.

Change-Id: I7a3c4494b5c2e6545821491e1aee8bf6c4ac3345
Signed-off-by: Shreyas K K <[email protected]>
2021-03-09 00:29:02 +05:30
Shreyas K K
26a1ed16aa defconfig: gen3auto: Enable SCHED_WALT
Enable SCHED_WALT to add support for scheduler
features like WALT, core_ctl, HMP, etc.

Change-Id: I0b4efd6e2127771be65c754fa35770ba359576bd
Signed-off-by: Shreyas K K <[email protected]>
2021-03-09 00:26:43 +05:30