Add uc event ring to have ipa-uc monitor the
quota and bw-voting threshold to generate the
irq to ipa-drvier to inform if quota or and bw
threshold is hit.
Change-Id: I7ce9c1a0048016fc6b6248a1632365f51717422c
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
If USB connect/disconnect happens too fast then there is a
possibility that for the connect case the state machine got
kicked in late lets say after disconnect. Now GSI driver will
go ahead and enable data path which can lead to SMMU fault.
Fix this by bailing out if gsi is in disconnected state.
Change-Id: I356ebd3fbac634f37e8eb6ff36a5a258f44a044b
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
Quota logging is needed to enable data metering.
Change-Id: Ib42a53b9be3382d4d6b5e38e268ea358977b0ea5
Signed-off-by: Kaustubh Pandey <kapandey@codeaurora.org>
If not able to communicate with eSE, secure element HAL service
will make ioctl request for cold reset NCI command.
Cold reset response will be processed differently based on NFC state.
Change-Id: I5e6a1e81ca32f6b90b227cf6b617c873c383f386
Signed-off-by: Bhuvan Varshney <bvarshne@codeaurora.org>
This change adds the missing mutex_unlock for device_open of the same
client open twice error case.
Change-Id: Ib75157d0b6d04c6221727778b909f0e3d061b2c8
Signed-off-by: Li Li <liil1@codeaurora.org>
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
Clock divider needs to get doubled for QUP HW version greater
than 2.5.0 as sampling rate is half. As earlycon can't have HW
version awareness, decision is taken based on the configuration.
Change-Id: I9abc2d6b25b0c1bfd4a94baaebfb75f0beb92974
Signed-off-by: Akash Asthana <akashast@codeaurora.org>
TSESkip logic is not correctly functioning only on few
A6XX GPUs but in current code its disabled for all A6XX
cores. Add support to disable this feature only for those
cores where this feature is not working to allow other
cores to still take benefit of this feature.
Change-Id: I0f73a88760378c43978f1a7ee14272ebb303d3a2
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
This reverts commit 3c3dd68c48.
In QC platforms, backend is not teardown during pause state.
Backend prepare is not needed when resume from pause state.
Change-Id: Ia9f8ab36f5061f9909d9026271bac4a2f6d3e79b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
It's possible that other subsystems did not properly disable
PCIe CLKREQ override when handing back the link to APPS. During
DRV resume, always disable PCIe CLKREQ override for APPS.
Change-Id: I4a522d81e9a6df7e6371f86b478e02e7b2034935
Signed-off-by: Tony Truong <truong@codeaurora.org>
When other subsystems crash, PCIe will get an early notificaion
from SSR framework and relay it to the clients. Clients will
have the ability to resume the link or clean up.
Change-Id: Iabee769d1b07c5174a18db56b7e1094b86564884
Signed-off-by: Tony Truong <truong@codeaurora.org>
Add trace events to log the caller for hyp_assign_table(), as well as
other relevant information, such as source/destination VMIDs, permissions,
and the sizes and physical bases of the regions affected by the call to
hyp_assign().
Change-Id: Iea37d539e2409465889ad244e74ab4a9e3344e35
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
These trace events will show the caller of hyp_assign_table() as well as
information about the region(s) of memory that are affected by the changes
in ownership (e.g. source/destination VMIDs and permissions). The trace
events also provide information about the time spent in the higher
execution layers when the memory is being assigned.
Also, expose the mem_prot_info and dest_vm_and_perm_info data structures in
the secure_buffer header file, so that they are visible to the trace events
header file.
Change-Id: I19a8561327e953e1bc593217293642f1cbd6ce36
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
This change is to fix the issue that dev_lock mutex is used
before initializing.
Change-Id: I06270cc67a9a5223ff61507b42ea5e45f85c907e
Signed-off-by: Jilai Wang <jilaiw@codeaurora.org>
Add missing static keyword to debugfs function for disabling
chaining of SKBs.
CRs-Fixed: 2482422
Change-Id: I0bc9fb8adcec2b60338d4d0f59caa4df498f0b43
Signed-off-by: Bhaumik Vasav Bhatt <bbhatt@qti.qualcomm.com>
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
Legacy timer stops when IPA goes to PC causing
time discrepancy in the logs. Use Qtimer instead.
Change-Id: If38a518cfe371a48ebac5f3e6a03f2061b29762a
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Pagefault handler logs incorrect faulting block when the fauling
block is a UCHE client. Fix this by properly decoding the faulting
UCHE client from MID and UCHE_CLIENT_PF register value.
Change-Id: Ia936cb8badcd936eb58052cb1ef10bd57b74c3f6
Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org>
On some crash dump cases mem_lock is already taken, error
returns and crash dump copy fails.
In this case wait until mem_lock available instead of failing
the operation.
Also take the mem_lock for writing to prevent other threads from
altering the state of the device while collecting crash dump.
Change-Id: I2ae74fba77e39161e33a7c5302916d1c9254fa05
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
mem_lock is taken for the entire wil_reset().
Optimize this by taking mem_lock just before device is
being reset and release the lock after FW download.
Change-Id: Icf3430e355acc2c33dc37c6a38a18c47de03a2cf
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
Currently, there is a common acd hfi table which is sent
irrespective of the speedbin. This won't work since some
SKUs may have an odd frequency. Also, the gmu firmware
doesn't like it if the size of dcvs table is smaller than the
acd table.
To solve this, specify the acd dvm value as part of the frequency
table and dynamically generate the acd table that matches the SKU.
Change-Id: I8a98465b35099334bed2fdc11b517ec9ebbb9983
Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org>
PCIe DRV needs to recover the link as soon as possible before
the device on the other side of the link times out. Allow PCIe
DRV to register for early SSR notifications to have a chance of
making the recovery latency.
Change-Id: I75ce59075efcebc7c4457d300f7558b837d725a0
Signed-off-by: Tony Truong <truong@codeaurora.org>
In UFS host reset and restore path, before probe, driver shall stop and
start the host controller once. After host controller is stopped, the
pending requests, if any, are cleared from doorbell. These pending requests
are not completed at this time, instead they are completed once for all in
the IRQ handler of the first NOP_OUT command sent after link startup during
probe. Since the OCSs of these pending requests are not SUCCESS, their
UPIUs shall be dumped. When there are multiple pending requests, the err
logs can be overwhelming and may lead to stability issues because they are
from IRQ context. Therefore, before probe, complete these pending requests
right after host controller is stopped and silence the UPIU err logs when
complete these requests in this path.
Change-Id: I6b6d6e6d226425cd5170217cd4fde60f16134513
Signed-off-by: Can Guo <cang@codeaurora.org>
Because of decreasing the client count not able undo the
last client suspend operation. Add changes to avoid decrementing
the client count, it will allow undo last client suspend operation.
Change-Id: I486550734a1e8181aa4be19972b54c818ad75eeb
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>