Certain GPIOs are reserved for secure world and cannot be accessed by HLOS.
Supply "reserved_gpios" to msm_pinctrl to mark these pins as invalid.
Change-Id: I13df5f80bad3ab339aa1382f841796096c8ce748
Signed-off-by: Mukesh Ojha <mojha@codeaurora.org>
Delay opening slimbus ports for A2DP for 44.1/88.2k
sample rates if feedback channel is not opened. Else,
delay opening of slimbus port for feedback channel
regardless of A2DP sample rate since feedback channel
is always opened first, then actual A2DP port is opened.
The change is made for Apache.
CRs-Fixed: 2735853
Change-Id: Iafd2bdaf814d6ceb53452632567072c00d69db6f
Signed-off-by: Satish Kodishala <skodisha@codeaurora.org>
If EP is 32bit MSI capable, then MSI address is 4 bytes. Platform
driver check MSI capability before read MSI address.
Change-Id: I8157b7ba2c9ed2a8d93f168f893cf1a2e6bb50b6
Signed-off-by: Kai Liu <kaliu@codeaurora.org>
The PIL driver sets up the mappings for the segments' address
based on the size of the segments. However, for the case of
'complete ramdump' collection, the ramdump driver re-sizes the
segments, thus causing a mismatch in the mappings created by
PIL driver. Hence, fix this by only initializing the physical
address in the PIL driver and let the ramdump driver take
care of the re-sizing and mapping.
Change-Id: Ia07eae2b1873f1fc9d3e9a1c8089f14ffd37dcd3
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Enable debugging of menu governor's choices by tracing at different
points.
Change-Id: Ia72a92cd74b5ae02bd0e504ec66653e680e9df7e
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
Currently, we just print the pagealloc corruption warnings and
proceed. Sometimes, we are getting multiple errors printed down
the line. It will be good to get the device state as early as
possible when we get the first pagealloc error.
Change-Id: I79155ac8a039b30a3a98d5dd1384d3923082712f
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Data corruptions in the kernel often end up in system crashes that
are easier to debug closer to the time of detection. Specifically,
if we do not panic immediately after lock or list corruptions have been
detected, the problem context is lost in the ensuing system mayhem.
Add support for BUG_ON immediately after such corruptions are detected.
The CONFIG option controls the enabling/disabling of the feature.
Change-Id: I9b2eb62da506a13007acff63e85e9515145909ff
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
It's sometimes useful to know the physical address which
has beencorrupted, especially in systems with multiple
bus masters and DMA engines the capability of writing
to memory. It's may also be useful for identifying the
location of failures of memory cells in cases of
device-specific corruption. So print the physical
start address of the page to help in these scenarios.
Change-Id: I081edd8b1c06913c0057a6cb9dda18077cfbdc30
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
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>