Enable bfq io scheduler and its weight based blkio cgroup support
as default for bengal.
Change-Id: I504730a86f6a4caecfe94f091ae091a734635146
Signed-off-by: Pradeep P V K <ppvk@codeaurora.org>
Use the current active bfq-queue to update bfq-group statitics.
It could be possible that the current active serving bfq-queue can
expire if the allocated time/budget for the queue got expired.
During this time, it will select a new queue that to be served
for its service tree.
If there were no more queues to be served, then it will choose a
next group of queues to be served from its group service tree.
So, the selection of the new request from its new group and queue
are updated via __bfq_dispatch_request() fn.
As "in_serv_queue" variable is not updated again the group
associated with "in_serv_queue" queue can be freed, if there were
no more active queues.
So, with picking in_serv_queue as active queue, and updating its group
statistics one will see a kernel panic as below.
[ 120.572960] Hardware name: Qualcomm Technologies, Inc. Lito MTP (DT)
[ 120.572973] Workqueue: kblockd blk_mq_run_work_fn
[ 120.572979] pstate: a0c00085 (NzCv daIf +PAN +UAO)
[ 120.572987] pc : bfqg_stats_update_idle_time+0x14/0x50
[ 120.572992] lr : bfq_dispatch_request+0x398/0x948
[ 121.185249] Call trace:
[ 121.187772] bfqg_stats_update_idle_time+0x14/0x50
[ 121.192700] bfq_dispatch_request+0x398/0x948
[ 121.197187] blk_mq_do_dispatch_sched+0x84/0x118
[ 121.198270] CPU7: update max cpu_capacity 1024
[ 121.206504] blk_mq_sched_dispatch_requests+0x130/0x190
[ 121.211873] __blk_mq_run_hw_queue+0xcc/0x148
[ 121.216359] blk_mq_run_work_fn+0x24/0x30
[ 121.220489] process_one_work+0x328/0x6b0
[ 121.224619] worker_thread+0x330/0x4d0
[ 121.228475] kthread+0x128/0x138
[ 121.231806] ret_from_fork+0x10/0x1c
To avoid this, always use the current active bfq-queue, which is
derived from the current active serving request.
Change-Id: I51d5b9d2020da9f3a3a31378b06257463afd08eb
Signed-off-by: Pradeep P V K <ppvk@codeaurora.org>
Update the scheduler with the frequency cap due to limits management
interrupt and update back when limits throttling is removed.
Change-Id: Iebf4033757853bedbd60f83e21176ff29389aff8
Signed-off-by: Taniya Das <tdas@codeaurora.org>
This change is for general scheduler improvement.
Change-Id: If1ee58a8ed59e4a9ee25dfa6fa2a1c1654e00e6d
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Add version check for FnR stats ioctl and error return,
since only IPA4.5+ HW will support this feature.
Change-Id: If5c5021d16bc1ee6af516d9e2200c3e6b5081d27
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
Change the if condition to be inclusive to allow remove_offload
ioctl to send the rmv_offload_request through qmi on the last
connection.
Change-Id: I6eec7799fd1a76ab168bc588b3e9c74dbfd215fd
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
Currently, Battery SoC exceeding a user-configurable threshold causes
the SMB1390s to turn off in the following conditions via
SOC_LEVEL_VOTER:
- Upon initial bootup, and
- After initial bootup if charging mode is Constant-Voltage (CV).
Remove the second condition. Now, a high SoC threshold will cause the
SMB1390s to turn off only at bootup. This rule applies to both CV and
Constant-Current (CC) charging modes, irrespective of whether the output
topology is VPH or VBATT.
In addition, if the SoC falls below the threshold after bootup, remove
vote from SOC_LEVEL_VOTER. Without this, CPs will never get re-enabled
if they get disabled by SOC_LEVEL_VOTER upon bootup.
Change-Id: If0ce2661f25fd227cbe969fdbed468236806238f
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
FCC_STEPPER_VOTER votes for 1.5 A upon USB removal so that FCC can ramp
up from 1.5 A, which results in faster ramp-up time. Remove that upon DC
plugin so that FCC can rise.
With 'commit 148ea9f34f ("power: smb5: Limit main charger's current
for VBATT wls pl charging")' FCC_MAIN was limited to 1 A. But now the
limiting action is performed by an override vote from userspace. The
FCC_MAIN vote is nevertheless retained for the speed of its response,
which kicks in much before userspace has the chance to cast its vote.
Change-Id: I13cd7ef467b6803633d1001fc702934a20a5e785
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
Every client have different requirements for when to enter L1ss
sleep. Add support to configure the DRV L1ss timeout in
devicetree.
Change-Id: I3f2b3f65a0ff9511ec738c6fd681a03c32048955
Signed-off-by: Tony Truong <truong@codeaurora.org>
Set appropriate dma attribute for LLC allocation based on incoming
request.
Change-Id: I3d4a938d2404f720910b567b50ec8c685d500c17
Signed-off-by: Amol Jadi <amoljadi@codeaurora.org>