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>
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>
Device allocates ring memory during mmio initialization, this
causes 128 event ring elements to be created as MHICFG
register may not be updated by the host. This causes memory
to get exhausted leading to an MMIO init failure.
The Change is to allocate ring memory during M0, during which
MHICFG register is bound to be updated by the host.
Change-Id: I04a0e0ed79a46f16f96e2be4c5c68cba9ee2c99d
Signed-off-by: Subramanian Ananthanarayanan <skananth@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
Since pcidev_table is no longer used in the driver
get rid of the table entry from msm pcie device
structure. Also remove unused structure members
from msm_pcie_device_info. Since device table
is removed, rename msm_pcie_config_device_table
to msm_pcie_config_device_info.
Change-Id: I5359cc0f85d6b7f9f069f7decc3bc67105543abb
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
All endpoints and bridge are performing their config space save
and restore. Hence root complex driver does not need to perform
the same on behalf of them. For root complex use PCI framework
provided APIs to perform RC config space save and restore. Save
golden copy of the RC config space upon enumeration and use it
to restore RC config space in case of link down. Get rid of all
custom APIs for saving, restoring and dumping of RC and EP config
space entries.
Change-Id: I466e26aaaee0ae317323aae0c535c3319f95e681
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Only start the sw mode when pcie_path is configured as sw.
Change-Id: I3b9fb890008760b0a25827bb039cd378512f4efe
Signed-off-by: Yuanfang Zhang <zhangyuanfang@codeaurora.org>
This change enables DRM and GKI_HIDDEN_DRM_CONFIGS for QPIC display
on sdxlemur.
Change-Id: I856d26e0dafcffd523eefc660f00612448a4529f
Signed-off-by: Lei Chen <chenlei@codeaurora.org>