Add check in ufs_qcom_ice_debug to prevent crash.
In some UFS nodes ICE registers may not be present,
so add appropriate check before dumping registers.
Change-Id: Ie183456687039ce349df03f0ecf9485fead0adbd
Signed-off-by: Jayasri Bhattacharyya <quic_jbhattac@quicinc.com>
Print the boot markers to kmsg log. A post
processing script is used to extract the marker
with time from the log.
Change-Id: I5473f44a0ca18105e82baaf000d5bd2d6b04f16a
Signed-off-by: Visweswara Tanuku <quic_vtanuku@quicinc.com>
The change allows user to specify frequency dependency between
the clusters and control the order in which frequency can be
ramped up for a cluster.
For example, user can specify cluster0 to cluster1 relationship
such that cluster0 is allowed to cross a frequency level(F0) only
after cluster1 is at or beyond certain frequency(F1).
Once the above relationship is configured WALT ensures that once
cluster0 achieves frequency F0 after that all placement/pulling
task during load balance for cluster0 are skipped until cluster1
reaches F1.
Note:
1. Frequency relation is unidirectional, i.e. a lower capacity
cluster can be dependent on a higher capacity cluster but reverse
(a higher cpacity cluster dependent on lower capacity cluster) is
not allowed.
2. Maximum 10 relationships are allowed for each cluster.
Example: src_freq tgt_cpu tgt_freq > sched_cluster0_freq_map
The above command signifies following:
- Once cluster0 hit src_freq after that placements skips cluster0
until target cluster(cluster having tgt_cpu) reached tgt_freq.
Once tgt_cluster achieves tgt_freq or cluster0 falls below src_freq
default placement policy is applied.
Change-Id: I140a4e8db5b57fe9fe659a9b377f8d0c131d3f18
Signed-off-by: Ashay Jaiswal <quic_ashayj@quicinc.com>
Introduced get_plat_tx_coal_frames and tx_select_queue in
the plat_stmmacenet_data structure.
Change-Id: If569073d86ddae11bc1cecc7f0b503d7ab11c5c3
Signed-off-by: Srinath Pandey <quic_srinpand@quicinc.com>
Performing USB POPI during audio stream can cause a situation
where usb_audio_disconnect() gets stuck. Consider a scenario,
handle_uaudio_stream_req() increases the usage_count and calls
enable_audio_stream(). If disconnect happens during this time,
usb_audio_disconnect() waits for usage_count) to be zero. And
in the meantime, handle_uaudio_stream_req() will decrease the
usage_count, but usb_audio_disconnect will not proceed since
wake_up() wasn't called.
wait_event() requires wake_up() to be called after changing any
variable that could change the result of the wait condition.
Fix this by calling wake_up() in handle_uaudio_stream_req()
after decreasing the usage_count.
Change-Id: Ia4d8e7ab789d284476dfdd28eb53d81c8ac9b5b8
Signed-off-by: Prashanth K <quic_prashk@quicinc.com>
Refactor handle_uaudio_stream_req() by using a helper function
__handle_uaudio_stream_req() which would reduce the cyclomatic
complexity of the function.
Change-Id: I2a6b4f80bf6449c86d1585ed0127a7364b336318
Signed-off-by: Prashanth K <quic_prashk@quicinc.com>
Update SCT table for Cliffs and Cliffs7 to reflect the
configuration decided to optimize the system performance.
Change-Id: Ic3858179dcc5369d56fd0783865aed1cbf48e549
Signed-off-by: Naman Jain <quic_namajain@quicinc.com>
Currently, level is set to 0 at the entry of walt_irq_work.
A crash was seen where except for cpu0's rq lock all rq locks were
held. This suggests that value in level got changed to something other
than 0 by the time the locking loop ran.
Move the initialization of level just before the locking loop - this should
prevent skipping of locking of first cpu's rq lock.
For added protection, repeat this process in all other places where all
rq locks are acquired.
Change-Id: I0997100b8c844a34a57c36407207adb329163021
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
Add functions for controlling egpio enablement. At present, we need
be careful about the gpios which is already used as lpi setting.
Don't enable egpio even though these gpio has egpio_present capable.
Through setting msm_mux_egpio or msm_mux_NA on PINGGROUP, control
corresponding gpio.
We just enable gpio86 for necessary request from audio side now.
Change-Id: Id4df09651a5a994b74f305e94f0852a9b1b28c0c
Signed-off-by: Song Xue <quic_songxue@quicinc.com>
Add icc-rpm, qnoc-qos-rpm, qnoc-pitti to load during first
stage of module loading.
Change-Id: Ie018b5ec29132d952b3bfd13420a2e0942e65809
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com>
Enable the interconnect driver so that consumers are
able to obtain their path handles properly.
Change-Id: Idcc645dfc7560dd9a3a7c64b9f1e4f904777cbcb
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com>
To enable the i2c kpi capture user should enable
sysfs capture_kpi flag, by default capture_kpi sysfs
flag is disabled.
Ex: To enable:
echo 1 > /sys/bus/platform/devices/a98000.i2c/capture_kpi.
To disable:
echo 0 > /sys/bus/platform/devices/a98000.i2c/capture_kpi.
Change-Id: I985026f5371986142843e9c6e984375f2df0effd
Signed-off-by: Anil Veshala Veshala <quic_aveshala@quicinc.com>
Add interconnect provider for lpass_ag_noc.
This will allow consumers to get their path and set bandwidth
constraints on them.
Change-Id: I43e0a1295d1e1b9adaab1ba15ad755652ea01b94
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com>
Add master and slave ID constants for lpass_ag_noc interconnect
provider, which consumers can use to set bandwidth constraints and
find paths in the NoC (Network-On-Chip) topology.
Change-Id: I24c46501573afb5ccf8eeb5d42d9c684cda95784
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com>
Add master and slave ID constants for all Qualcomm Technologies, Inc.
Pitti interconnect providers which consumers can use to set bandwidth
constraints and find paths in the NoC (Network-On-Chip) topology.
Change-Id: I7bc06ae5b1f318041c750e3ce56e8cdc3f53f2bf
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com>