This will update the freq as soon the rqlock is dropped and also avoids
us from acquiring a rq lock as enqueue is called with rq lock held.
Change-Id: I24b91309b753f61a38d1eb8e26af451544fa3f52
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
Update to prefer low_latency and pipeline as having higher priority than
others.
Change-Id: Ib5ba973d483cf923f886a906a158907335ccab9b
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
When sysctl_sched_idle_enough is not set, the current code still finds a
pakcing cpu only to reject it later. Fix this i.e. don't even bother
finding a packing cpu when idle_enough is zero.
Change-Id: I5cdce5e06072eee75593aa1e36953a2946e20efa
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
In the event where a task is being dequeued from a CPU other than the
CPU WALT has recorded as the previous enqueue cpu, a crash is induced.
However, it could be the case during WALT initialization that due to a
race where task is in the middle of being forked, an attempt is made to
dequeue a task where the prev_on_cpu_rq member is not properly
initialized.
Change-Id: I3a52da5d6cc5ae5b71800d0f8097e6debb3b7187
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
This change is for general scheduler improvement.
Change-Id: Ifa74c7c827ed5a5a8b23fcb9d6de2325dfeb788f
Signed-off-by: Stephen Dickey <dickey@codeaurora.org>
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
Ensure that all thermal pressure gets accounted in capacity_orig
within the window rollover period.
Change-Id: I3858c21aff31ff517f5e521df765b119bf5d3244
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
Currently the code simply pulls the last task in the rq. Instead make it
visit at least 5 tasks in the RQ and find a suitable util task to pull.
Change-Id: Ied5fa689ec94296f8655232cef5a3301f0cbc813
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
When rotation is enabled, the system is under heavy load, allow farthest
cluster to help each other.
Change-Id: Idd402fa120baa47e8506d7dc2439765dd6d5bcc9
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
There is a case where when big cluster(Gold/Prime) is entering idle it
fails to pull task from lower cluster if lower cluster is only having a
single big task in it's runqueue.
The reason for failure is, walt skips newidle balance for above condition
if "idle_cpu" check fails for destination core and for newidle balance
destination core is entering idle (not yet idle) thus "idle_cpu" returns
false. Fix this by skipping "idle_cpu" check for new idle balancing.
Change-Id: Id973bd8a67fbfcd9d47bec9a0894b697412f2c90
Signed-off-by: Ashay Jaiswal <quic_ashayj@quicinc.com>
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
There are instances where rt and irq load exceeds thermally limited
capacity and results in a very high cpu_capacity.
Fix it by comparing it against 0.
Change-Id: Ice6e71cd8b5e0635ec1d79c7338a964cef70271d
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
With latest Android Kernel update, below errors are seen
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:111:1: error: declaration specifier missing, defaulting to 'int' [-Werror]
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:111:23: error: a parameter list without types is only allowed in a function definition
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:114:1: error: declaration specifier missing, defaulting to 'int' [-Werror]
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:114:23: error: a parameter list without types is only allowed in a function definition
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:117:1: error: declaration specifier missing, defaulting to 'int' [-Werror]
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:117:23: error: a parameter list without types is only allowed in a function definition
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:120:1: error: declaration specifier missing, defaulting to 'int' [-Werror]
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:120:23: error: a parameter list without types is only allowed in a function definition
Fix these build issues by including right header file.
Change-Id: I4ff2f484b05ebae9b9929b4d2c3b7b1e717769b4
Signed-off-by: Blagovest Kolenichev <quic_c_bkolen@quicinc.com>
Currently the code subtracts busy time when a task is being migrated.
IOW migrate_busy_time_subtraction is called in set_task_cpu hook.
And the code adds busy time in an after-migration enqueue IOW
enqueue_after_migration is seen set in enqueue hook.
Both the above operations happen under the prev_cpu and next cpu rq
lock respt.
Now a task could exit or enter group after the migration and before
the enqueue i.e. transfer_busy_time could be called when
enqueue_after_migration is set. This could lead to -ve load bugs as
we have only subtracted the load and not added it.
To address this, complete the addition step in
transfer_busy_time() itself, prior to moving the busy time,
if a task is found to be migrating.
Change-Id: Ifa7a2b017763392431dfa5407ec9dbde76d90019
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
This driver provides the support to program the hardware of
Trace Noc component when enable the source which is connected to
Trace Noc. Trace NoC is a interconnect that is used
to collect trace from various subsystems and transport it
QDSS trace sink.
Change-Id: I70ebda4142be066bc15d8809d7ffe3bdbee10fb9
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
Enable the qti-fixed-regulator driver so that proxy consumer
voting and debug features may be used for fixed regulator
devices.
Change-Id: Ia7946a3d82f12b22463e5446a9540e27970c7679
Signed-off-by: David Collins <quic_collinsd@quicinc.com>
Enable CONFIG_QTI_PMIC_GLINK_CLIENT_DEBUG in pineapple-consolidate
defconfig so that debug features can be enabled in altmode-glink,
qti_battery_debug and qti_battery_charger drivers.
Change-Id: I2d0ef18d061237a256c008aa971096879141a5fa
Signed-off-by: Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
Enable PMIC Glink driver and its clients for pineapple to support
battery charging, Type-C, altmode and the drivers that help with
debugging them.
Change-Id: Ib386a198d9de3e441e2fce650beca44a5bdfd6e3
Signed-off-by: Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
Add inline function to fix compile issue when smem is called but not
enabled.
Change-Id: If31fc795fb5f42a1f221780d3d98e362766cca59
Signed-off-by: Cong Zhang <quic_congzhan@quicinc.com>
This is a snapshot of I3C GENI driver and associated file as of msm-5.15
'commit 9b48a7431cacec7 ("i3c: i3c-master-msm-geni: Fix DAA process
from GENI I3C master")'.
Change-Id: I5cead40609c9489bf60c23e49349171c25579fe6
Signed-off-by: Anil Veshala Veshala <quic_aveshala@quicinc.com>
This snapshot is taken as of msm-5.15 'commit 8faf434d5fa0
("serial: msm_geni_serial: Update logs in vote_clock_on &
vote_clock_off")'.
Change-Id: I69d602419e6e0cd2c1be349a141f7116134569f8
Signed-off-by: Anil Veshala Veshala <quic_aveshala@quicinc.com>
This is a snapshot of I2C GENI driver and associated files
as of msm-5.15 'commit d2769a2c9a5b1 ("i2c:i2c-msm-geni:
Updating last mark busy failure case")'.
Change-Id: I2993ee80034e46eb3413cdfd37d6a1256e45a338
Signed-off-by: Anil Veshala Veshala <quic_aveshala@quicinc.com>
This is a snapshot of SPI GENI driver and associated files
as of msm-5.15 'commit 086bf6b97b ("msm: spi: spi-msm-geni:
update icc bw voting values")'.
Change-Id: Idf37d8716d9619384bbb9de550b77f71645fa25f
Signed-off-by: Anil Veshala Veshala <quic_aveshala@quicinc.com>
This is a snapshot of MHI bus misc driver from msm-5.15
commit 1a84bdeed262 ("bus: mhi: core: Add snapshot
of MHI bus misc driver").
Change-Id: If606eee09983d27e291acb7fb85f268a1fe63cb2
Signed-off-by: Lazarus Motha <quic_lmotha@quicinc.com>