DMA chan_id is different than GSI GPII channel id, instead check for
whether it's tx or rx channel directly in prepare descriptor api.
Change-Id: Ia5758ddeef89c3ee69e23a5b4ea2117ec45d44a5
Signed-off-by: Vipin Deep Kaur <vkaur@codeaurora.org>
Add support for common qcom debug for perf build
in HOLI.
Change-Id: I2366c63df8f1882cfb62bcb420c2448c0617ba57
Signed-off-by: Saurabh Sahu <sausah@codeaurora.org>
'Commit 145c3d9be206 ("usb: u_ether: Prevent dropping multicast
packet in rmnet ip mode")' removed skb check from eth_start_xmit
function. While ndo_start_xmit are typically expected never to be
called with NULL SKBs, for NCM function this xmit function is
called with NULL SKB initially which then uses the 'wrap' routine
to create valid SKBs. But this null SKB is getting dereferenced
before 'wrap' routine could run on it when in ethernet mode.
Fix this by bringing in the skb check.
Change-Id: I9d40f70190eb91ecc848b71c4ce31a656c60a28d
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
If link is still down before force firmware assert, directly trigger
link down recovery instead of forcing RDDM.
Change-Id: Ie3e4c97c2ab42a1c426c6048ed839dfdd7f02462
Signed-off-by: Yue Ma <yuem@codeaurora.org>
WLAN firmware files will be stored at different places based on
different device IDs. Hence add prefix to firmware name in order
to load firmware files correctly.
Change-Id: I6c92f2384fa81917ebfb01b80d8a2ee6c2c756b6
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Currently there exists a path where cpupri_find could
return lowest_mask without removing isolated cpus. This
happened when __cpu_pri() didn't consider isolated
cpus and indicated that the lowest_mask was not empty.
Subsequently, cpupri_find_fitness() would find the
lowest_mask was empty, after removing isolated cpus.
This led to cpupri_find() being called again,
cpupri_find_fitness being re-entered, and this time,
since fitness_fn is NULL, returns true. This means there
is a case where lowest_mask only has isolated CPUs
and cpupri_find_fitness will indicate yes, cpus were found.
When invokved in the rt wakeup path through find_lowest_rq(),
this caused the pushes of rt tasks to be placed on
isolated cpus. This also causes the the wakeups of rt
tasks on isolated cpus, although this is a rare occurrence.
Fix it by ensuring __cpu_pri() removes isolated cpus from
lowest_mask, which in turn causes cpupri_find_fitness() to
skip the current task_pri index prior to making any other
decision. For the case where lowest_mask only has isolated
cpus left, this will result in no CPU being found, and
a return of false from cpupri_find_fitness().
Change-Id: I3e28b8366513ee51dc5c2d4eb0a2eb146c82f255
Signed-off-by: Stephen Dickey <dickey@codeaurora.org>
This reverts commit 7d3ecfd796.
This change had caused a regression with swr-haptics driver probe
as the soundwire master couldn't enumerate swr haptics. Revert
this until we can understand why soundwire enumeration fails.
Change-Id: Ie5840247013a1a3fab15758e9ace7b131619be49
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
request_firmware returns -EAGAIN failure if user space access is
disabled during reboot. Thus for BDF download failure check this
condition before assert.
Change-Id: Ib6c90b1a02763b216a474729c3191c8c05772af2
Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>
Adjust the units of on_time and off_time to microseconds to align with
max_flash_timeout, which uses those units.
Change-Id: I65f29175606d5571720215f196d2e08e6d6a18f0
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
Currently, the code is not checking if the freq qos object was
requested before using it in the undo reservation path.
This causes warnings like "freq_qos_update_request() called for
unknown object".
Fix this by checking freq_qos_init_done flag is set prior to using the
qos objects.
Change-Id: Ie8009f5ea191f4ad0c199a3fce04376871a5d2c5
Signed-off-by: Sai Harshini Nimmala <snimmala@codeaurora.org>
ufshcd-qti was a copy of the downstream driver.
It was a place-holder until we get the upstream driver
working and stable.
Now that it's done, remove ufshcd-qti.
Change-Id: Ie9a5781a5133c08cf4ebb11974fade076ec0da84
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Add sync_state functionality to remove threshold held
during initial boot up and clean up any linger proxy
resources that were voted for from bootloaders.
Change-Id: Icb9758075fa2af8f3bb658e8a4b033b213e16545
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
Cleanup a redundancy while checking for affinity.
Change-Id: I36b6c2f3c8e1067cb6e09f0d5fb60e9e33a4d342
Signed-off-by: Shaleen Agrawal <shalagra@codeaurora.org>
A proxy vote is kept for all the resources binded in the device tree
and those resources would be enabled till the actual driver comes in
and binds to it.
For example every device that needs a clock or have binding for clock in
the device tree all those clocks would be left enabled because of the
proxy vote.
That proxy vote would be removed in the late init when the sync-state
is successful.
For the sync-state to be successful every driver which have bindings
toward that resource must complete the bind with that resource or probe
successfully.
So here for the gcc sync-state to be successful and proxy vote to be
removed every gcc consumer (in this case eMMC) must not bail out and
complete its probe.
This reverts commit 5827a3e53d.
Change-Id: Ic6017ca80a051f6210c9bb1b7f4d27ca842a6f45
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
Downstream arm-smmu impl, perform SYNC as part of unmap().
This is done under arm_smmu_tlb_inv_context_s1. This double the sync
operation. This impacts the unmap time, remove this duplicate sync
operation.
Change-Id: Ic98fc04a8102fe3a0b79e52b33daabf94732fcbf
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
This reverts commit fc44c0ba38 ("msm_rtb: Don't lose
the __user tag on relaxed reads/writes"). This causes
address parameter, with side effects, to be evaluated
more than once.
Change-Id: Ib37665763736bdf562afcc8335b014a2724a7598
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
Add CLK_DONT_HOLD_STATE flag to avoid the framework from
placing a proxy vote to enable the clocks during probe since
these GPU clocks are failing to turn on as their corresponding
GDSC is not enabled yet.
Change-Id: I4771d1c5696a069d0d67d407de3a7a5b1f5b139e
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
In GKI, if a config is flag enabled in a QGKI config and
disabled in debug config. Then that config flag will be
disabled for debug build and enabled for QGKI. So, this
change ensures the config flag which is enabled in lower
level config gets enabled for higher level config.
Change-Id: I6c5176e30d72a86bc6cce3b2074a8dd1d08a1e28
Signed-off-by: Sandeep Singh <sandsing@codeaurora.org>
Enable SMB5 and QG drivers which control the main charger and
Qgauge peripherals present on PM7250b.
Change-Id: I66925cdbefd160d09f221734d5b9f676f822fe8d
Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org>
Add support for "bms" power supply which is not present in kernel 5.4
through IIO device and properties under it through individual IIO
channels under the IIO device.
Change-Id: I55c44e5db2dc4549021cb429444c7c5afa679c3a
Signed-off-by: Shyam Kumar Thella <sthella@codeaurora.org>
SMB5 charger drivers and their helper files use several power supply
properties on msm-4.19 which cannot be supported on msm-5.4 due to the
need for GKI compliance. Add support for main charger to register
as an IIO device with individual channels under it corresponding to
missing power supply properties from msm-4.19.
Change-Id: I7182160258fa2ebd4af36b0531b11d988cffdbd3
Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org>
Increases the ah8 value to 5ms for higher performance.
There's negligible power impact.
Change-Id: I053a167e56b0027d9c71918b4c574ce876518408
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
sdxlemur will have at most 1GB of DDR, so allow all of it to be
mapped as lowmem instead of enabling CONFIG_HIGHMEM.
Change-Id: I89148d18e0be0c1d99795b7f49184bb5421af0f1
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
When force FW assert, it should use RDDM timer instead of FW
boot timer since it expects FW entering RDDM mode.
Change-Id: Ic8498b0f3c23dc494267571da7f627eace9f91bd
Signed-off-by: Yue Ma <yuem@codeaurora.org>
When serial driver is present in second stage ramdisk, it takes ~5 sec to
init the UART. All the data bufferred till then will have to be put onto
the console taking a console lock and this causes a watchdog bark. To
avoid this watchdog issue, disable the console. This also disables early
console.
Change-Id: Ibded81922cb735e3035fc960258213c4de1d6a74
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
For the UHS1 cards that have been initialized to operate
at 1.8V signaling level earlier and the card initialization
is invoked again, the driver would skip the voltage switching
sequence from 3.3V to 1.8V and exit the card initialization
because the SD card is already operating at 1.8V signaling voltage.
The clock scaling logic's clk_scaling_highest and clk_scaling_lowest
would be un-initialized in this case and cause failure to the
subsequent clock scaling initialization. Fix the issue by properly
initialize the clock scaling parameters that are later used by
the clock scaling initialization function.
Change-Id: I6489fbe3790feb07613d27b3c4bef62cd34fd44b
Signed-off-by: Bao D. Nguyen <nguyenb@codeaurora.org>
MMRM interface is used to do admission control of
specific resources (eg: clock) of multimedia clients
(camera/display/video/cvp).
Change-Id: Ife92d31ab08c80c06467771e74d05ab1a9a8a54b
Signed-off-by: Shivendra Kakrania <shiven@codeaurora.org>
SVM going to rely on kernel autosleep feature to do suspend-to-RAM.
Enable required configurations to achieve suspend-to-RAM functionality.
Change-Id: Ie31abce7927c8b6b2ce5dad6f917f96c52e90803
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Configure dbl and msgq interrupts as wakeup capable to wake up the SVM
from suspend-to-RAM state.
Change-Id: I1825109736ace36c5c871d52dfefe4a320fea335
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
This change enables CONFIG_NL80211_TESTMODE config for
wlan host driver in holi.
Change-Id: I0974f58a2f25c14991ff4a22b998827b0a579b95
Signed-off-by: Sandeep Singh <sandsing@codeaurora.org>
Introduce an interconnect L3 driver to set L3 performance
states.
Change-Id: I31b73332429744fe2f04a2d9aa66f7972bbba7c1
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
Add master and slave ID constants for all Qualcomm Technologies, Inc.
Holi interconnect providers which consumers can use to set bandwidth
constraints and find paths in the NoC (Network-On-Chip) topology.
Change-Id: I41888e2c8fbedb33c8c7cc21357fcb6f20d65f57
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
Add per a6xx target member to specify the preemption record size
in case it is different than the default size for all a6xx.
Change-Id: I6e5579eae47dc4ee6707437d858b8b969fe573ea
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
gpu_busy is an unsigned 64 bit int and accumulates overtime
while running gpu intensive application(no slumber)
which eventually results in overflow.
Change-Id: Ifda376918ac58fa393a1958101d3d4b161bdd3c0
Signed-off-by: Nitheesh Muthuraj <nmuthuraj@codeaurora.org>
The cooling device registration is using the parent node of the cpu
voltage cooling device. The devicetree configs are using the child node
to identify the cooling device. Switch to use the child device node, so
that the cooling device is bound with the thermal zone.
Change-Id: Id501421002c5dac7cb924455e09538a384ec9f85
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Update SSR power up function to wait for FW recovery complete to
avoid race condition with linux PM sleep entry.
Change-Id: Ief0d64e7699956ba30f2ff84732e36f6b2fdc3b0
Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>
Change to use dyn_clk mutex from core mutex to avoid the deadlock.
Change-Id: I01a5aaba6f461255861f09e75c992d22217ae66a
Signed-off-by: George Shen <sqiao@codeaurora.org>
It's possible that the user-space process can be woken up
very late to collect the ramdumps by which time, the ramdump
collection timer would have expired. Following this, the PIL
driver unmaps the memory and continues. The user-space process
has no way to know about this and can make an attempt to read
the unmapped memory, thus resulting in a data abort.
Hence, notify the user-space process that the ramdump timer
has expired such that it can reset its state machine.
Also add the srcu related symbols to the allowed-list and update
the ABI snapshot accordingly.
Change-Id: Idb92d98406a9032c999c82e2089213883c5a65eb
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Power ctrl_flags will prevent the GPU power collapse when the
user has overwritten the force_rail_on, force_clk_on etc. This
will result into GPU wakeup problems in case power collapse
hasn’t happened during the hang recovery.
Change-Id: Ib1e86bbb70b2b71b8f8820692d13ce3ab6200db0
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Modified code in driver to align DT property
name with DTSI files.
Change-Id: I6423dcc68eb1dbf73c63240b128f41476caba99c
Signed-off-by: Tapas Dey <tdey@codeaurora.org>