Commit Graph

1155109 Commits

Author SHA1 Message Date
Shubham Diwane
b4be79c752 interconnect: qcom: Add lemans interconnect provider driver
Introduce QTI lemans specific provider driver using the
interconnect framework.

Change-Id: I475b6ed458f7b079e90a235ba46079d0fdfb19ec
Signed-off-by: Shubham Diwane <quic_sanantad@quicinc.com>
2023-08-07 12:03:47 +05:30
qctecmdr
8a32dea381 Merge "defconfig: Enable PWRKEY and REBOOT drivers for BLAIR" 2023-08-05 09:40:16 -07:00
qctecmdr
ce16d31c82 Merge "input: misc: qcom-hv-haptics: adjust VMAX headroom according to VMAX" 2023-08-05 09:40:16 -07:00
qctecmdr
ccd0936350 Merge "regulator: rpm-smd: Update sync_state call" 2023-08-05 09:40:16 -07:00
qctecmdr
773c65410c Merge "ufs: host: qcom: Add quirk to avoid OCP issue during shutdown" 2023-08-05 09:40:16 -07:00
qctecmdr
f21c1b6275 Merge "usb: dwc3: msm: add debug entry of pm qos latency" 2023-08-05 09:40:15 -07:00
qctecmdr
6edaf19853 Merge "modules.list.msm.blair: Add nvmem qfprom module for Blair" 2023-08-04 22:40:29 -07:00
qctecmdr
52b3abbb1d Merge "modules.blocklist: Add limits_stress driver to block list for pineapple" 2023-08-04 16:49:12 -07:00
qctecmdr
74566ae4df Merge "soc: qcom: mem-hooks: Install hooks for multiple kswapd threads" 2023-08-04 16:49:12 -07:00
qctecmdr
14e75cbcfa Merge "usb: dwc3: dwc3-msm-core: Avoid updating pre/post reset if no actconfig" 2023-08-04 16:49:12 -07:00
qctecmdr
9139a68cbd Merge "defconfig: Enable QCOM_QFPROM_SYS on pineapple" 2023-08-04 16:49:11 -07:00
qctecmdr
23e3b05163 Merge "driver: usb : hs-phy: Limit USB operations for FET" 2023-08-04 16:49:11 -07:00
qctecmdr
285f1aa0de Merge "uio: msm_sharedmem: Added checks to catch failed kcalloc calls" 2023-08-04 16:49:11 -07:00
qctecmdr
644719c35c Merge "ANDROID: abi_gki_aarch64_qcom: Update symbol list" 2023-08-04 16:49:09 -07:00
qctecmdr
3b5918197f Merge "drivers: thermal: qmi_sensors: Add support for modem beamer sensors" 2023-08-04 16:49:09 -07:00
qctecmdr
9c96043a00 Merge "defconfig: Enable DCVS drivers for gen4auto" 2023-08-04 16:49:08 -07:00
qctecmdr
2e9c8fbb64 Merge "defconfig: Enable qrng for sdmsteppeauto" 2023-08-04 16:49:07 -07:00
qctecmdr
7cf19bf953 Merge "sched/walt: Fix issue caused by incorrect ws setting" 2023-08-03 18:25:40 -07:00
qctecmdr
745444b04c Merge "sched/walt: Improve the scheduler" 2023-08-03 18:25:40 -07:00
qctecmdr
9f94b1f41a Merge "soc: qcom: Check if subsystem recovery enabled in SHM restart worker" 2023-08-03 18:25:39 -07:00
qctecmdr
8578f05924 Merge "sched/walt: Switch to using new api for state1/2 determination" 2023-08-03 18:25:38 -07:00
qctecmdr
93655eb27d Merge "sched/walt: Use softaffinity for RT tasks" 2023-08-03 18:25:38 -07:00
qctecmdr
843dc11a1b Merge "sched/walt: single-big-thread code passes global variable to halt" 2023-08-03 18:25:37 -07:00
qctecmdr
5366a12273 Merge "sched/walt: Force pipeline promotion to prime if prime worthy" 2023-08-03 18:25:37 -07:00
qctecmdr
005b1186e5 Merge "Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (8f361f1) into qcom-6.1" 2023-08-03 17:07:58 -07:00
Stephen Dickey
6bb50d6b0d sched/walt: single-big-thread code passes global variable to halt
There is a single global variable used for a mask of which cpus
to manipulate for single-big-thread (sbt) purposes. This mask is
passed into the halt and resume apis.

This is incorrect, because the halt/resume apis can manipulate the
passed mask, indicating which cpus were actually halted or unhalted
in a given operation. Since the mask gets changed, the code forgets
which cpus to use for sbt.

Update the main sbt check routine such that a local copy of the
cpus to be used for sbt is made, and that local copy passed to
the halt/resume routines.

Change-Id: I9280f1bf600565dc63f0a9d9f84536d50e31fbd6
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-08-01 16:06:46 -07:00
Stephen Dickey
6896fa5076 sched/walt: core control sbt trace
Add tracepoint to see current state of sbt, as well as critical
decision making criteria.

Change-Id: Id24a14714ec9e28469f78be48f12b71725cc8bba
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-08-01 16:06:38 -07:00
Stephen Dickey
06dde6c45f sched/walt: Force pipeline promotion to prime if prime worthy
For automatic (heavy) pipeline searching the prime cpu will
not get used when there are only a few pipeline entries. This
will leave the prime cpu unoccupied, when one of the pipeline
tasks may be prime worthy.

To handle this, detect if there are any heavy tasks that are
prime worthy already, and promote the prime worthy tasks to
prime. Since pipeline cpus are reassigned every window rollover,
and automatic detection assigns cpus from lowest to highest,
it is unnecessary to demote a task from prime as this will
regardless.

For pipeline (manual) searching the same issue exists and must
be handled.

For the manual case, when the number of pipeline tasks is few,
but a prime_wts has been found, determine if the task on prime
is prime worthy. If it isn't, it must be demoted to non-prime.
Any remaining prime worthy task must then be found.

Change-Id: I15c9417a14c5860bf48edc1c3443fdc0b1255f42
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-07-31 14:46:10 -07:00
Stephen Dickey
f56bc00a2c sched/walt: move code to find prime and other wts to common
In preparation for finding and promoting (and demoting) prime
worth (and unworthy) tasks, create an api that can be
reused to find the pipeline task currently assigned to prime
and the pipeline task that is max demand.

Change-Id: I3b2334482b74c62598a2449e8938c920cfda85b2
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-07-31 14:45:55 -07:00
Shaleen Agrawal
3ee1a9ef9b sched/walt: add window based hysteresis
Ensure that pipeline tasks which have a demand greater than another
pipeline task running on prime only swap with prime after 4 windows.

Change-Id: I28b3e46f476f4f09682ae2caffc2cae04d76fae5
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-07-31 14:45:04 -07:00
Shaleen Agrawal
d0e8a6729a sched/walt: Generalize pipeline types enum
Clean up the enum of pipeline types, in an effort to
simplify usage in followup changes.

Change-Id: I451f04fc0b0f4d5f4cf98f071961e1ed451e94cc
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-07-31 14:44:42 -07:00
Shaleen Agrawal
71c0eb4846 sched/walt: Use coloc demand for pipeline task swaps
Since coloc demand represents averaged demand across history of past few
windows, the growth of pipeline task demands will be steadier,
theoretically resulting in less bouncing between prime and other CPUs.

Change-Id: I9a5c92fbc1c26591889e51be1e65273ebe2d27b4
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-07-31 14:44:17 -07:00
Stephen Dickey
395e904279 sched/walt: pipeline_set_boost must handle auto and manual pipeline
pipeline_set_boost does not handle the case properly, where both
manual and auto pipeline hinting are enabled or disabled, independently.
For example, this series of events

 pipeline_set_boost(true, MANUAL_PIPELINE);
  - auto pipeline enabled
 pipeline_set_boost(true, AUTO_PIPELINE);
  - auto pipeline disabled\
 pipeline_set_boost(false, MANUAL_PIPELINE);

With the above, pipeline boost will be enabled, even though manual
pipeline is no longer requesting it be enabled, and auto pipeline
is disabled.

Correct the code to independently track state of the AUTO or MANUAL
pipeline, and using that information to decide if boost is currently
requested or not.

Change-Id: Ia31eb8cd45b417f55f1e6827953073f708820ce6
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-07-31 14:43:43 -07:00
qctecmdr
814b2ee66e Merge "defconfig: gen4auto: Add CONFIG support for KRETPROBES" 2023-07-31 07:04:38 -07:00
qctecmdr
a32c14eced Merge "sched/walt: Adjust cpu clusters for mid cap CPUs" 2023-07-31 07:04:38 -07:00
qctecmdr
c3df210c6c Merge "qseecom_proxy: Add qseecom_proxy entry to GKI config" 2023-07-31 07:04:38 -07:00
qctecmdr
c91cd53a83 Merge "mmc: sdhci_msm: Add ipc logging to sdhci_msm" 2023-07-31 07:04:38 -07:00
qctecmdr
754e1b878c Merge "drivers: soc: qcom_stats: Export function qcom_stats_ddr_freqsync_msg()" 2023-07-31 07:04:37 -07:00
qctecmdr
28beeb6d3f Merge "phy: ufs-qcom: Update UFS PHY setting for pineapple" 2023-07-31 07:04:37 -07:00
qctecmdr
507a9fcf40 Merge "rpm-smd: Flush the sleep sets in suspend prepare stage" 2023-07-31 07:04:37 -07:00
Manish Pandey
4f29848763 modules.list.msm.blair: Add nvmem qfprom module for Blair
Add nvmem qfprom module for Blair.

Change-Id: Ib9a87c465b42e09ff16cf1eb68b8ce577e46e960
Signed-off-by: Manish Pandey <quic_mapa@quicinc.com>
2023-07-31 03:05:45 -07:00
Rakesh Kota
2ac87efc2c regulator: rpm-smd: Update sync_state call
Due to below upstream change, the sync_state functionality
of our RPM-SMD regulator driver has been broken:

Upstream commit 3a2dbc510c43 ("driver core: fw_devlink:
Don't purge child fwnode's consumer links")

With this change, consumers of the child node (rpm-smd regulator)
are now marked as consumers of the parent node (rpm-smd resource).
Since those consumers use the child node's phandle, but sync_state
is defined for the parent node, sync_state will not get called
as expected when the child node's last consumer is probed,
which could cause issues for regulator clients depending
on proxy votes.

Define sync_state call for proxy votes under regulator device
rather than resource to ensure it gets called and also register
regulator device for proxy voting rather than regulator resource.

Change-Id: Ic9943585657190d8808f4b8608dd82df228d381e
Signed-off-by: Rakesh Kota <quic_kotarake@quicinc.com>
2023-07-31 15:08:25 +05:30
Rakesh Kota
c29e30afc4 defconfig: Enable PWRKEY and REBOOT drivers for BLAIR
Enable PM8941_PWRKEY and REBOOT_MODE drivers for
BLAIR platform.

Change-Id: If898ed5df0c24ae02af37dcd4888912ebad69794
Signed-off-by: Rakesh Kota <quic_kotarake@quicinc.com>
2023-07-31 14:24:34 +05:30
Naman Jain
a6ef6629df defconfig: Enable QCOM_QFPROM_SYS on pineapple
QFPROM SYS driver provides access to the child nodes
of QFPROM to user space. Enable it on chipsets using
pineapple defconfig.

Change-Id: I2a8175ec1dfc116e803058ee574f9db0356ac2c0
Signed-off-by: Naman Jain <quic_namajain@quicinc.com>
2023-07-31 10:25:00 +05:30
Priyansh Jain
9a303ff093 modules.blocklist: Add limits_stress driver to block list for pineapple
limits_stress driver doesn't need to be probed at boot time.
It is a limits stress module and needs to be probed
on need basis for thermal stress testing.

Change-Id: I633c052a0b808bcfc34b8d2ba846948009e6eecc
Signed-off-by: Priyansh Jain <quic_priyjain@quicinc.com>
2023-07-31 09:46:26 +05:30
qctecmdr
b506a4c492 Merge "ufs: host: qcom: Add gear check in BER monitor" 2023-07-30 18:44:24 -07:00
qctecmdr
df50aff64b Merge "Revert "Revert "mem-buf: Properly track which VMs have access to buffer""" 2023-07-30 11:52:12 -07:00
qctecmdr
084d650785 Merge "usb : f_cdev : CDEV string interface in 90DB" 2023-07-30 09:17:15 -07:00
qctecmdr
118ddfb391 Merge "defconfig: steppeauto: Add support for BWMON for SM6150" 2023-07-29 12:42:34 -07:00
qctecmdr
f2318d7de7 Merge "haptics: qcom-hv-haptics: Move all debugfs code to qcom-hv-haptics-debugfs" 2023-07-29 12:42:33 -07:00