When we call crypto_qti_program_key to program the key, and
it fails due to trustzone busy issue, we try to call invalidate
key method just after that, and in the process, overwrite the
error code returned by the program key failure. Fix this by handling
the errors from both program key and invalidate key separately,
and return the program key error code to caller.
Test: Verified device boot up and reboot.
Change-Id: Iaff0844f68b4886c23e1840d7e0e4a404d38fc96
Signed-off-by: Vaibhav Agrawal <vagrawa@codeaurora.org>
When PLL HW_UPDATE_LOGIC_BYPASS bit is not set then PLL can be
updated dynamically by setting the PLL_UPDATE bit in mode register
and hardware would clear the PLL_UPDATE automatically when
PLL_ACK_LATCH is asserted.
Change-Id: I1c568c9fdd37a554d71fc5c3d840a71e983baf60
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Currently, process private open/kgsl_open fails in case same pid
previous process private refcount is zero but destroy didn't
complete yet. In this failure case, as we are sure that destroy
is triggered and just pending to finish, retry process private
open again after some delay to ensure process private open is
successful.
Change-Id: I7cd8a2b7d64d9472121ffa8633d0621923f5ec89
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
Correct the modem data for wdog bite handler, otherwise it will access
a invalid subsys.
Change-Id: Iedd7b85597fa95d283d3a7b9bdd59c8a7c765792
Signed-off-by: lijuang <lijuang@codeaurora.org>
The VMAX_STEP value is different for HV and MV haptics.
Update the VMAX configuration accordingly.
Change-Id: I5d0f00e9a07e76b01b16539d79897675ddd63117
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Add missing clocks having measure only support for BLAIR.
Change-Id: I005d3d7853dbdaddcce82a844ee61341981eb501
Signed-off-by: Madhuri Medasani <mmedasan@codeaurora.org>
Few clients of BAM will use SMMU for data transfers.
Assign correct descriptor fifo address for SMMU clients
of BAM while dumping contents.
Change-Id: I21584e6778315f51cac0d202d41f4c81a56fcbf0
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
Clients may use ioremap api to obtain the bam base address.
Add iomem attribute to the base address field
in the public SPS structure to avoid type casts.
Change-Id: Iba2ec1a9d84c3d57e2ce314ba9dc0b81644db2fb
Signed-off-by: Ajay Prathi <aprathi@codeaurora.org>
Add Null check before dereferencing dev for set FW log mode,
force wake request & force wake response. Add ERR_OR_NULL check
for wpss load API gets called for wpss subsystem. Check for qdss
memory segment length.
Change-Id: Id4a43fa9ae332faa7f5741f338d985db8272d17a
Signed-off-by: Vijay Patil <vijaylil@codeaurora.org>
Currently driver is just proceding further if start xfer times
out for ep0. Start xfer failing for ep0 indicates that the
controller is already in bad state and it can access unmapped
address leading to SMMU fault. Prevent this by marking this as
an error event and restart USB session.
Change-Id: Ia46387e16a79318ad945079ced7209a8f2bf47ef
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
This change is for general scheduler improvements.
Change-Id: I37d6cb75ca8b08d9ca155b86b7d71ff369f46e14
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
When the battery profile is loaded first time, update the
clear soh property so that soh algorithm can clear stored
parameters.
Change-Id: Idfc25c589f8422b76768229e52dab7d670c6b231
Signed-off-by: Kavya Nunna <knunna@codeaurora.org>
Add iio property for clear soh to update userspace
on first profile load.
Change-Id: I7a9c2cf886ad7da76f6156c3ac12828bf37fe78a
Signed-off-by: Kavya Nunna <knunna@codeaurora.org>
Current scale debugfs entry is quite unstable and used barely.
Hardware cmd timeout and some other issues are being seen when trying to
modify the scale entry.
Remove unnecessary scale debugfs entry to avoid such issues.
Change-Id: I9486a9fe7498ba1855153202415fca80debb13f9
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
usb_assign_descriptors() is called with 5 parameters,
the last 4 of which are the usb_descriptor_header for:
full-speed (USB1.1 - 12Mbps [including USB1.0 low-speed @ 1.5Mbps),
high-speed (USB2.0 - 480Mbps),
super-speed (USB3.0 - 5Gbps),
super-speed-plus (USB3.1 - 10Gbps).
The differences between full/high/super-speed descriptors are usually
substantial (due to changes in the maximum usb block size from 64 to 512
to 1024 bytes and other differences in the specs), while the difference
between 5 and 10Gbps descriptors may be as little as nothing
(in many cases the same tuning is simply good enough).
However if a gadget driver calls usb_assign_descriptors() with
a NULL descriptor for super-speed-plus and is then used on a max 10gbps
configuration, the kernel will crash with a null pointer dereference,
when a 10gbps capable device port + cable + host port combination shows up.
(This wouldn't happen if the gadget max-speed was set to 5gbps, but
it of course defaults to the maximum, and there's no real reason to
artificially limit it)
The fix is to simply use the 5gbps descriptor as the 10gbps descriptor,
if a 10gbps descriptor wasn't provided.
Obviously this won't fix the problem if the 5gbps descriptor is also
NULL, but such cases can't be so trivially solved (and any such gadgets
are unlikely to be used with USB3 ports any way).
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20210609024459.1126080-1-zenczykowski@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Git-commit: 032e288097a553db5653af552dd8035cd2a0ba96
Change-Id: Ic90930c8ff99f2a3749c79a268f0a410827e485c
Signed-off-by: Elson Roy Serrao <eserrao@codeaurora.org>
Scale PCIe RC Max Payload Size (MPS) based on its capability
Max Payload Size Supported (MPSS). Configurating RC MPS to the
largest setting possible will help improve overall PCIe link
bandwidth performance.
Change-Id: Ice31cf0ab97fd7dd83736eea77e42ff00fb3148c
Signed-off-by: Tony Truong <truong@codeaurora.org>
Update Max Payload size (MPS) for all child PCI devices of RC.
Child PCI devices will have their MPS scaled to at most RC MPS.
Configuring all child PCI devices with the largest MPS possible
will help improve overall PCIe link bandwidth performance.
Change-Id: I871b49a5ec07d020a445a59f622ceec6061dfc26
Signed-off-by: Tony Truong <truong@codeaurora.org>
In order to tackle the spurious interrupts coming from the host
on an invalid channel, the channel doorbell interrupts are
disabled during initialization phase. These are enabled after
receiving the start command for a particular channel.
Change-Id: I12bb315bcd249383ed442ad969e84c9eef25a324
Signed-off-by: Abhinab Abhinab <aabhinab@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
The change is to check for error code from cmd processing in case
of db pending cases, to avoid rd_offset increment.
Change-Id: If213297fe02ec1087bfab572f5af97b1e7bb5791
Signed-off-by: Subramanian Ananthanarayanan <skananth@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
Freeing cmd_ctx before ereqs will result into NULL ptr
dereference. Freeing memory in proper order.
Change-Id: Ie999017685574e940685eee3b7c205ebe1672664
Signed-off-by: Nitesh Gupta <nitegupt@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
Channel interrupts are seen on device even before,
channel ring is initialized. Queuing pending work
without checking ring status can lead to processing
of spurious interrupts. Adding proper checks in place
before queuing channel doorbell.
Change-Id: I3ccd7302b535d2b8ef63eada9d7a1fe553dccdaa
Signed-off-by: Nitesh Gupta <nitegupt@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>