Commit graph

898,925 commits

Author SHA1 Message Date
qctecmdr
787f7bf33d Merge "char: virtio_fastrpc: read domain number from device tree" 2021-05-12 03:01:03 -07:00
qctecmdr
060901c8f1 Merge "arm64: defconfig: Enable IOMMU related configs on direwolf" 2021-05-12 03:01:03 -07:00
qctecmdr
34a80d7261 Merge "pinctrl: qcom: spmi-pmic: Add "pm5100-gpio" compatible string" 2021-05-12 03:01:03 -07:00
Venkata Rao Kakani
cb9e2e0064 drivers: uart: initialize spin_lock before use
In linux guest restart case, during probe, stop_rx_sequencer is
getting called because of residual state set before restart.

spin_lock which is used in stop_rx_sequencer is not initialized.
To, resolve spin_lock debug mentioned below, initialize spin_lock
early.

		spin_dump+0x84/0x88
		do_raw_spin_lock+0xd4/0x12c
		raw_spin_lock+0x20/0x2c
		handle_rx_dma_xfer+0x44/0x330
		stop_rx_sequencer+0x118/0x420
		start_rx_sequencer+0xc0/0x1a0
		msm_geni_serial_runtime_resume+0x54/0xb8
		pm_generic_runtime_resume+0x44/0x80
		__rpm_callback+0x98/0x208
		rpm_resume+0x458/0x6a4
		__pm_runtime_resume+0x60/0xa0
		__device_attach.llvm.18035772682363603059+0xa0/0x174
		bus_probe_device+0x3c/0xdc
		device_add+0x95c/0xb84
		serdev_controller_add_platform+0x2c/0x1d0
		serdev_tty_port_register+0xf8/0x188
		tty_port_register_device_attr_serdev+0x50/0x90
		uart_add_one_port+0x268/0x60c
		msm_geni_serial_probe+0x630/0x780
		platform_drv_probe+0xac/0xf0
		really_probe+0x210/0x7d8.

Change-Id: I9e139897681ece174a9ead63f57bb999585ff0bf
Signed-off-by: Venkata Rao Kakani <vkakani@codeaurora.org>
2021-05-12 15:18:20 +05:30
Wu Gao
ed263a8db1 defconfig: Add CONFIG_DEBUG_INFO for sdx12
Kernel symbol size is very small after removed CONFIG_DEBUG_INFO, so
add it back. This change adds below kernel configs for SDX12 debug
build:
  CONFIG_SLUB_DEBUG
  CONFIG_DEBUG_PREEMPT
  CONFIG_SCHED_DEBUG
  CONFIG_HAVE_DEBUG_KMEMLEAK
  CONFIG_DEBUG_BUGVERBOSE
  CONFIG_CC_HAS_KASAN_GENERIC

Change-Id: I502dd3800252077838063a0a4c25fe92bdac4c48
Signed-off-by: Wu Gao <wugao@codeaurora.org>
2021-05-12 17:37:27 +08:00
Jagadeesh Kona
f1b10a61e0 clk: qcom: gcc-blair: Add support for USB BCRs
Add support for USB BCRs for USB clients to be
able to apply reset.

Change-Id: If98d96ec6b30b0d9d4d3360ce412840cac166915
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
2021-05-12 12:59:07 +05:30
Jagadeesh Kona
12b3821860 dt-bindings: clock: Add support for BLAIR USB BCRs
Add support for USB BCRs on BLAIR.

Change-Id: I8e71f05b2d75d9148ac00456bb48bf671c0c2377
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
2021-05-12 12:54:19 +05:30
qctecmdr
dc53396363 Merge "cnss2: Dump MHI/PBL/SBL debug data during MHI power on" 2021-05-12 00:07:02 -07:00
Mohammed Siddiq
fb2d33f982 cnss2: Add pci link recovery check after the register dumps
In some scenarios, during force firmware assert handler, the
pci link is going bad once the registers dumps are started.
Add code to do pci link recovery check after register dumps\
collection.

Change-Id: I7388e9bea1ffc789d6c4df4870233bf594e2d488
Signed-off-by: Mohammed Siddiq <msiddiq@codeaurora.org>
2021-05-11 23:24:54 -07:00
Hongwei Ren
b51c567ce3 dt-bindings: clock: Add support for clock ids for SCUBA
Add clock IDs for GCC/GPUCC/DISPCC for clients to be able
to request for clocks from these clock controllers.

Change-Id: Ibd69e800ff6ebd0d59d34605deb8dc092c25b907
Signed-off-by: Hongwei Ren <hongren@codeaurora.org>
2021-05-12 11:48:38 +05:30
Zhiqiang Tu
4f02b73d10 soc: qcom: hab: Add HAB fixes, and workarounds, for GHS
Fix kernel shutdown callback crash in HAB by removing
commdev freeing in pchan free.
Add stub functions for dump_hab_wq and hab_pipe_read_dump.

Change-Id: I176085600e3ec3a40eb2f181491405c6bf4ac7bb
Signed-off-by: Anant Goel <anantg@codeaurora.org>
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
Signed-off-by: Yong Ding <yongding@codeaurora.org>
2021-05-11 21:55:51 -07:00
Vinay Sudra
ca8534289c defconfig: sdmsteppeauto: Add flags to see wakeup inturrupt during LPM
Add flags to see interrupts during suspend process.

Change-Id: Id6e42f1bb7287ab8a62db6d6a248f8c6d418df3f
Signed-off-by: Vinay Sudra <vsudra@codeaurora.org>
2021-05-11 21:10:17 -07:00
qctecmdr
e38c09a5b8 Merge "pci: msm: msm_pcie_iatu_config API clean" 2021-05-11 18:40:45 -07:00
Can Guo
c150d993f3 msm: ep-pcie: Correct two CAP reg offsets
Correct the offsets of L1SUB_CAPABILITY_REG and L1SUB_CONTROL1_REG.

Change-Id: I6130a7eab50d85e34d87c28bde3a48c058ee9eee
Signed-off-by: Can Guo <cang@codeaurora.org>
2021-05-12 07:59:40 +08:00
Can Guo
bab76a95c0 msm: ep-pcie: Allow device enter L1 right after BME is set
Allow device enter L1, i.e. clear PCIE_0_PCIE_PARF_PM_CTRL[REQ_NOT_ENTR_L1]
once we find out BME is set.

Change-Id: I8aca816446a286d02ef51724d157cb7c75057250
Signed-off-by: Can Guo <cang@codeaurora.org>
2021-05-12 07:59:17 +08:00
qctecmdr
e65b513369 Merge "pci: msm: Add dynamic iATU config for ep config space access" 2021-05-11 15:52:29 -07:00
Manaf Meethalavalappu Pallikunhi
6095d843da arm: defconfig: enable thermal drivers for monaco
Enable thermal sensors, governors and cooling device
drivers for monaco.

Change-Id: Iabc1a6501cb953dbfdf2813716022ceac0194d86
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
2021-05-11 22:39:53 +05:30
Suraj Jaiswal
e17d5f184b STMMAC: msm: Add io macro setting for 10Mpbs
IO macro setting for SA6155 for 10Mpbs.

Change-Id: I81238dfef16484197fe364ba6c10b1d47a519793
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2021-05-11 18:17:28 +05:30
Hui Li
fdbcd27bd3 msm: kgsl: set regulator mode before disable it on a640/a680
For a640/a680, we need to actually disable CX GDSC instead of
just return a enable state, the GMU oob set will timeout while
doing gmu idle check, therefor to really turn off CX GDSC
requires to set regulator mode first, and there are several
places to disable cx gdsc, move the set mode to
a6xx_cx_regulator_disable_wait.

Change-Id: Idb7d1b75f17426cc5cb6bb8054b2c2c4400f3db2
Signed-off-by: Hui Li <hul@codeaurora.org>
2021-05-11 05:04:13 -07:00
Udipto Goswami
5a97f31248 usb: dwc3: gadget: handle ep_dequeue in LPM properly
Currently, the driver is relying on remove_requests or
ep_dequeue to giveback the requests to function driver,
but when the stop active transfer is called it will
return with error status and will bail out from remove
request without clearing the requests. At this point
we rely on ep_dequeue to clear those requests, but since
usb is disconnected, it will be in LPM which would
drive dequeue to bailout without clearing the requests.

Fix this by removing the LPM check from dequeue to
stop_active_transfer. Now if dequeue process proceeds
will check in stop_active_transfer, if dwc3 is in lpm
bail out from the process. Dequeue will further proceed
& clean up the request from cancelled list.

Change-Id: I13628ab96059fbae14bed64056ff8d7561cd240f
Signed-off-by: Udipto Goswami <ugoswami@codeaurora.org>
2021-05-11 17:24:32 +05:30
Pankaj Gupta
274824c561 msm: kgsl: Fix snapshot collection for ib1
Sometimes IB1_BASE from register does not match with IB1 of the
ring buffer, this may happen while doing save restore of IB
during preemption. In such case, to dump IB1 in snapshot, check
for overlap between IB1_BASE and IB1 from the ring buffer and
dump IB1 in snapshot as per ring buffer's IB1 base and size.

Change-Id: Ic3af8678a11f20f447fcbcbd3ec209283619b96a
Signed-off-by: Pankaj Gupta <gpankaj@codeaurora.org>
2021-05-11 17:18:11 +05:30
qctecmdr
887e689725 Merge "Fixing the GVM suspend failure due to veth_ipa_suspend" 2021-05-11 04:21:50 -07:00
Minghao Zhang
1b5b05b0ab soc: qcom: ddr_stats: API to read ddr residency
DDR residency can be read using sysfs node.
This change provides an API to get ddr residency so that it
can be read from any kernel drivers.

Change-Id: I6f0d508994a1f5e427e2cbce6f0229013fec387f
Signed-off-by: Minghao Zhang <minghao@codeaurora.org>
2021-05-11 17:35:08 +08:00
Rohith Kollalsi
b67d166243 usb: dt-bindings: Add USB QMP PHY registers definition
Add USB QMP DP Combo PHY registers definition
available on BLAIR.

Change-Id: Ideb35c843f610bd188a1b536f91d6342527d7a4d
Signed-off-by: Rohith Kollalsi <rkollals@codeaurora.org>
2021-05-11 14:53:12 +05:30
Minghao Xue
735d4c5201 char: virtio_fastrpc: read domain number from device tree
domain number could be different between platforms.

Change-Id: I6fa33635305ec71ec2ebaec35f7a68bbe0181609
Signed-off-by: Minghao Xue <mingxue@codeaurora.org>
2021-05-11 16:53:13 +08:00
qctecmdr
8f48489bc2 Merge "clk: qcom: gcc-blair: Add support for AHB clocks" 2021-05-11 01:42:47 -07:00
qctecmdr
b9ca7556ae Merge "drivers: rename_block: Enable A/B support" 2021-05-11 01:42:47 -07:00
Minghao Zhang
89d7b6ef3d soc: qcom: ddr_stats: update driver to get reg in probe
This change optimizes to get reg during probe.
With this change no need to ioremap_nocache() reg for every
ddr_stats_show() call.

Change-Id: Ieb38280d1f03e1d613e638a7532b7b014525fbf1
Signed-off-by: Tushar Nimkar <tnimkar@codeaurora.org>
Signed-off-by: Minghao Zhang <minghao@codeaurora.org>
2021-05-11 16:39:13 +08:00
Veera Vegivada
938bcb66ce arm64: defconfig: Enable IOMMU related configs on direwolf
Enable the ARM SMMU driver as a module for direwolf GKI
and also enable other IOMMU configs for direwolf QGKI.

Change-Id: I3b27eda0efbf64411de22a36a430121356bb79bd
Signed-off-by: Vivek Kumar <vivekuma@codeaurora.org>
Signed-off-by: Veera Vegivada <vvegivad@codeaurora.org>
2021-05-11 10:20:27 +05:30
Vivek Kumar
95dae267d0 arm64: defconfig: Enable IPCC driver as a module for direwolf
Enable IPCC driver as a loadable kernel module for direwolf.

Change-Id: I03bdc05193b9892e99a02c9855dcfe3e6a20a69e
Signed-off-by: Vivek Kumar <vivekuma@codeaurora.org>
Signed-off-by: Shreyas K K <shrekk@codeaurora.org>
2021-05-11 10:19:39 +05:30
Sriharsha Allenki
ef4e7c17dd usb: phy: Drive a pulse on DP on CDP detection
Some USB host PCs switch the downstream port mode from
CDP to SDP if the device does not pull DP up within certain
duration (~2s).
This limits the current drawn by the device to 500mA(or 900mA)
as opposed to the possible 1.5A resulting in slow charging of
the battery.
Fix this by driving a DP pulse when there is a connect
notification from PMIC and detected the charger type as CDP.

Change-Id: I76ac4c33dbbc538f5cb680fd1b5c15f8fb3bfe50
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Signed-off-by: Udipto Goswami <ugoswami@codeaurora.org>
2021-05-11 09:57:01 +05:30
Hemant Kumar
12f060439d pci: msm: msm_pcie_iatu_config API clean
Get rid of access to pciedev_table. Update data type
for bdf from unsigned long to u32. Prevent iATU config
for root port BDF. Do not save config values to rc_shadow
as iATU is configured dynamically.

Change-Id: I9e7254d1e6d91869db71c71f1c5b699a4d6376f4
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2021-05-10 21:12:13 -07:00
Hemant Kumar
5d4e8db03a pci: msm: Refactor endpoint event registration
For endpoint event registration do not depend on
num_ep, active_num_ep and pending_ep_reg variables.
Instead, create a list of registered endpoints and
notify an endpoint by iterating over the list of
registered endpoints with their corresponding
registered event. This also removes dependency on
PCIe device table and simplifies
msm_pcie_config_device_table function. Keep the
handling of upstream port I/O, memory and BME.

Change-Id: I5ab25ef300f0bc59ae5c2d973c662a0f81e44f43
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2021-05-10 21:12:05 -07:00
Hemant Kumar
5d3e24ee00 pci: msm: Use endpoint list to track suspend and resume
Decouple endpoint event registration from link suspend.
Instead of relying on pending_ep_reg and num_active_ep
create an enumerated endpoint list at the time of endpoint
enumeration and move it to suspended endpoint list up
on link suspend. If enumerated endpoint list becomes
empty allow link suspend. Move endpoint back to enumerated
list upon resume. This also removes a race where all
endpoints have not completed their enumeration and one of
the endpoints request to suspend the link.

Change-Id: I22ac6e52a4c93d294d2a365da63cc7292e5e36ce
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2021-05-10 21:12:00 -07:00
Hemant Kumar
3d8ab59065 pic: msm: Clean up msm_pcie_pm_control API
Instead of using global array of msm_pcie_dev use
existing PCIe device pointer in the function. Also
fix the indentation of the debug log strings.

Change-Id: I82eaaf2bfcbd4f588d1970131e0185f51d0f8ea5
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2021-05-10 21:11:54 -07:00
Hemant Kumar
aae80a9b0f pci: msm: Add dynamic iATU config for ep config space access
It possible that EP gets PCI probe and tries to access EP config
space before driver could finish setting up PCIe device table.
Due to this race before driver could populate the config base
address in table, operation config call back from framework
tries to de-reference config base address which is NULL. Fix
this issue by dynamically configuring iATU with config space
address range mapping to the BDF for which config space is
requested for. This prevents access to pcie device table which
is used for static mapping for multiple device config space to
its BDF.

Change-Id: Ie6a83355087912369e46f028d8ffe5e4b5a5fba5
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2021-05-10 21:11:47 -07:00
Hemant Kumar
b492f59d0f pci: msm: Use operation config read/write APIs in AER handler
AER handler is directly using raw read and write APIs to access
endpoint config space. Instead, use PCI framework provided APIs
as well as the register macros to stream line all config space
reads and writes to go through PCI read and write operation.
Also, use PCI framework APIs to find the pci device using BDF
this removes the dependency on local pci device table.

Change-Id: I5b0fa2dc6eb383d9db2dc42f026a2b6cb85b3d71
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2021-05-10 21:11:31 -07:00
Hemant Kumar
4ae8c3a83e pci: msm: Handle AER in threaded irq context
AER handling requires finding the source pci device on
the bus which causes the AER. Source pci device is found
using bus, device and function number. Finding pci device
requires sleeping context because bus is walked by holding
semaphore. Hence move AER handling to threaded irq context.

Change-Id: Ia51b91560326be2a85e17ce98315ea39d25641e2
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2021-05-10 21:11:01 -07:00
qctecmdr
07852f68c9 Merge "srcu: Avoid escaped section names" 2021-05-10 20:12:42 -07:00
qctecmdr
eb6b3094be Merge "pci: msm: Refactor msm_pcie_confirm_linkup function" 2021-05-10 17:29:47 -07:00
Fenglin Wu
c9754b807b input: qcom-hv-haptics: ensure valid pointer when calling kfree
In haptics pattern/fifo/brake debugfs file write operation functions,
strsep() is used iteratively to split the user-passed string into tokens
for setting parameters. However,  strsep() modifies the pointer passed
and hence the same pointer cannot be used in kfree(). Fix this by
copying the pointer originally allocated by kzalloc() and use it in
kfree() as well.

Change-Id: I2baf8db4f7c39e7ab0a83411717e46a29a2e849b
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2021-05-11 07:50:39 +08:00
Mahesh Kumar Kalikot Veetil
beec968224 cnss2: Fix invalid assignment due to type mismatch
The firmware size returned by request_firmware api is size_t which is
unsigned long in some platforms. Typeacast the size to u32 to match with
supported interface definition.

Change-Id: I61a484e74bf7932508295aac2fe7cfd7298d7953
Signed-off-by: Mahesh Kumar Kalikot Veetil <mkalikot@codeaurora.org>
2021-05-10 15:46:29 -07:00
Shyam Kumar Thella
c5600f6ce2 pinctrl: qcom: spmi-pmic: Add "pm5100-gpio" compatible string
Add "pm5100-gpio" compatible string to add support for PM5100
gpios.

Change-Id: I4eceac12880767d72f822d00911ace2295c56f46
Signed-off-by: Shyam Kumar Thella <sthella@codeaurora.org>
2021-05-10 22:37:34 +05:30
qctecmdr
8b02e66e74 Merge "drivers: thermal: Snapshot of lmh cpu VDD driver from msm-4.19" 2021-05-10 07:00:10 -07:00
qctecmdr
22033f03e8 Merge "defconfig: sdmsteppeauto: Enable kenel debug flags" 2021-05-10 07:00:10 -07:00
qctecmdr
5743323a4d Merge "net: qrtr: Use cyclic idr allocator for port assignment" 2021-05-10 07:00:07 -07:00
Udipto Goswami
970a014b7d usb: dwc3: Handle race between remove_request and ep_dequeue
Commit 3ef97296e7 ("usb: dwc3: gadget: Handle race between
remove_request & ep_dequeue") was introduced to fix the race
between remove_requests & dequeue process,but it exposes a new
issue where we see crash on ep_set_halt where the started list
gets corrupted since composite cleanup already did a free_req.

Fix this by reverting the older patch and handling the race
of remove_requests & dequeue in cleanup_cancelled_request
by iterating over the list using while loop which will insure
to access the first node from list_head.

Change-Id: I727ca54e5ac839ceb55efb644a7cd8d514db63b6
Signed-off-by: Udipto Goswami <ugoswami@codeaurora.org>
2021-05-10 19:08:17 +05:30
Chandana Kishori Chiluveru
26f0f2926a serial: msm_geni_serial: Check for dev_port->is_console flag for cosole
If console is disabled with below kernel cmdline arguments
"console=null earlycon=null androidboot.console=null" cons->name
will be set to null and cons->index pointer will not updated for
console. Hence uart_console(uport) check will fail, poxy vote
added by common driver probe on behalf of earlycon won't be
removed. This will not allow device to enter to enter sleep.

Fix this by replacing uart_console(uport)check with dev_port->console
check in probe so that it will remove vote during real console probe
after uart_add_one_port.

Change-Id: If41f588c10546abef247b55d3cd3a1f3e80cafe4
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
2021-05-10 17:31:22 +05:30
Huixian Ma
c1908797dc defconfig: monaco: add stm proto basic
Enable STM_PROTO_BASIC to support to write log to /dev/coresight-stm

Change-Id: I37dc42a5ba1c9a2b973ca5150b66c1354c047a86
Signed-off-by: Huixian Ma <huixma@codeaurora.org>
2021-05-10 19:15:13 +08:00
Jagadeesh Kona
ae78a04c5f clk: qcom: gcc-blair: Add support for AHB clocks
Add support for Camera, Display, GPU and Video
AHB clocks.

Change-Id: I1c60f2f720b57659ab92e770448c1ce1c27a359e
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
2021-05-10 14:09:41 +05:30