Registering the cooling device from the probe, can result in the
execution of get_property() function, before the probe is complete.
To avoid this, register the cooling device from a workqueue, instead of
registering in the probe.
Change-Id: Ic9279fd5ca5476df66baa6e0f302a7f3bd6b899b
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
With thermal frameworks of-thermal interface, thermal zone parameters can
be defined in devicetree. This includes cooling device mitigation levels
for a thermal zone. To take advantage of this, cooling device should use
the thermal_of_cooling_device_register API to register a cooling device.
Use thermal_of_cooling_device_register API to register the power supply
cooling device. This enables power supply cooling device be included in the
thermal zone parameter in devicetree.
Change-Id: I27d6043cf1d3121d97f8300bb89635204ae32955
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Update the ABI snapshot due to clean the ABI surface.
Change-Id: I4970f36960d95715fffaf45b1a5eea7d92ed3f44
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Add debugfs for pmic_glink device to filter out logs based on
filter and enable parameters. This is useful for debugging.
E.g. to filter out logs for PD Altmode driver whose message
owner id is 32780,
echo 1 > /sys/kernel/debug/soc:qcom,pmic_glink/enable
echo 32780 > /sys/kernel/debug/soc:qcom,pmic_glink/filter
E.g. to print out logs for all message owners,
echo 1 > /sys/kernel/debug/soc:qcom,pmic_glink/enable
echo 65535 > /sys/kernel/debug/soc:qcom,pmic_glink/filter
Please note that enabling these logs would print logs on both
Tx and Rx path from the clients of PMIC Glink device.
Change-Id: I63c1c90657b2044fe755cfd8fda73d5f942cad76
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
If needed, the IOMMU device can define a CX GDSC to enable before
turning on clocks to directly write IOMMU registers.
Change-Id: Ic0dedbadc8479cc36d5603d6d8a2c93133fda668
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Move ownership of the IOMMU clocks to the KGSL device and get them from
there during IOMMU probe. This ensures that the clocks are owned by a
proper platform device that can sync_state() after we are done probing.
Change-Id: Ic0dedbad97783984f7d8d1c3c2252a1a8a812d77
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Traditionally the GMU/RGMU device has been a child of the adreno device
and probed manually. That has worked despite the fact that the GMU/RGMU
device has resources of its own and it really should be a top level
platform device.
Finally do the right thing, make GMU a top level platform device and
driver and bind it to Adreno as a component. This will make sure we
get the advantages of all of the platform level initialization without
having to code in half a dozen hacks to make everything work and then
break again next kernel version.
Change-Id: Ic0dedbadf6776e1a4f5e0eb1e093241e5103b3ff
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
The KGSL bus probe was not quite resilient for a deferred probe. Move
a memory allocation to devm and make sure that the interconnect handle
is properly put away on failure.
Change-Id: Ic0dedbad261c483a157161a43da0b54459ed46ff
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
This reverts commit 603d76db80.
This change is already present in the snapshot. This revert
will remove duplicate code.
Change-Id: Id4588031a93c041a9480ac8ef33b6d177a4a2477
Signed-off-by: Tony Truong <truong@codeaurora.org>
Enable CPU isolation cooling device driver. This driver will enable the
thermal framework to isolate the CPU cores on thermal conditions.
Change-Id: Ic1f04b7d341c6165d5e971f7dc03ad27bc721897
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Add driver to toggle NFC GPIOs for I3C enumeration to
pass for NFC controller.
Change-Id: I3eef5b8a327c2c70355c03574b06bf67e26b4419
Signed-off-by: Karthik Poosa <kpoosa2@codeaurora.org>
The minidump driver's Kconfig dependency was incorrectly set
to POWER_RESET_QCOM, instead of POWER_RESET_MSM. The build
system sees this as an unknown Kconfig option and as a result,
the minidump driver never gets a chance to be enabled. Hence,
reassign the dependency to the correct Kconfig.
Change-Id: I7ef9f059954b1b6fe2972257435a4eee3bd8ef74
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Minidump is not yet appropriate for GKI due to missing exported symbols.
Enable statically in Lahaina QGKI for now.
Change-Id: I6bd0db37a8e1c3281249891a432cd0b4b75fe991
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Enable qbt_handler as a DLKM in the GKI defconfig.
Change-Id: Ib992e9f764ee021518ca7a5533c983d566319129
Signed-off-by: Abir Ghosh <abirg@codeaurora.org>
Add changes to make qbt_handler as DLKM for GKI
Change-Id: I0f4908c01715847aebfc2e440f90b84a16410b1e
Signed-off-by: Rakesh Pallerla <rakeshp@qti.qualcomm.com>
Signed-off-by: Abir Ghosh <abirg@codeaurora.org>
Exclude 4 bytes which holds the size of the buffer while calculating
the actual buffer size to avoid OOB write.
Change-Id: I79704181e0bafc905064621d7cd6e682cca15982
Signed-off-by: suchawla <suchawla@codeaurora.org>
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
Update the frequencies of the clocks from Hz to KHz so that they
match the frequencies requested by the DisplayPort driver. This
ensures that the clock framework correctly scales parent clock
values for all DisplayPort clock requests.
Change-Id: I46be984340902f1facba59ad966e0f2ad1b1b006
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Crypto fix to match v5-v6 update which will allow
compilation outside SCSI_UFS_CRYPTO config.
Change-Id: Ic722f17c077c2369303c271a0177d665fe6dcae7
Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org>
qsmmuv500_iova_to_phys_hard() takes in the IOMMU domain as an
input parameter, but only uses it to derive the SMMU domain.
In preparation for moving this function out to a file where
to_smmu_domain() will not be available, require that the input
argument be an SMMU domain, instead of the IOMMU domain. This
change has no functional impact.
Change-Id: I2ac7efbae70df2378dc382d697dcfe7a676b85f2
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
DOMAIN_ATTR_DEBUG is queried by the qsmmuv500_iova_to_phys()
function, which will move outside of arm-smmu.c, requiring
arm_smmu_domain_get_attr() to be exposed, which doesn't make
sense for only one attribute.
Thus, remove this domain attribute and inform the SMMU driver
that it is operating on a debug domain by introducing a new
marker in the msm_iommu_domain for debug domains. This patch
has no functional impact.
Change-Id: I86dfbadab0a74f9018acc602eea28b2a3a2c38b5
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
arm_smmu_init() has retained some workarounds for
back when it could be invoked multiple times as either
part of the initcall sequences, or through the IOMMU
OF table. This was necessary before the driver
core handled dependencies between an IOMMU master
and an IOMMU device. Since this is no longer the case,
we can remove this logic. Also, while we're here,
unregister the TBU driver if the SMMU driver cannot
be registered.
Change-Id: I5c2ed4a046c63babb3bd60390c468a4e5e27de6e
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
The current TLB sync timeout handling doesn't make sense
in the context of non QSMMU-V500 SMMU V2 implementations, so
introduce the notion of architecture specific handling
for TLB sync timeouts.
Change-Id: Ibceb5422d6488f9e67cc4c4ed968348ad92aa834
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>