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>
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>
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>
To make it easier for the upcoming change to move GMU to a component
device make a real function to test if the target is capable of
scaling the bus bandwidth on the GMU.
Change-Id: Ic0dedbad255622428de2ac01a5833a9e28c9c3ac
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Move UFS PHY calibration, starting serdes and PCS ready status polling
from phy_power_on callback to phy_calibrate callback.
Change-Id: I772978735f00ac31539eb3bec471d4d7e5f16d73
Signed-off-by: Can Guo <cang@codeaurora.org>
Add clock IDs for CAMCC/DISPCC/GCC/GPUCC/VIDEOCC for clients to be able to
request for clocks from these clock controllers.
Change-Id: Ic809b350cfb15d7dce4667907fe6176a7293bdcd
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Because between HDMI and DP have different colorspaces, it adds
drm_mode_create_dp_colorspace_property() function for creating of DP
colorspace property.
v3: Addressed review comments from Ville
- Add new colorimetry options for DP 1.4a spec.
- Separate set of colorimetry enum values for DP.
v4: Add additional comments to struct drm_prop_enum_list.
Polishing an enum string of struct drm_prop_enum_list
v5: Change definitions of DRM_MODE_COLORIMETRYs to follow HDMI prefix and
DP abbreviations.
Add missed variables on dp_colorspaces.
Fix typo. [Uma]
v6: Addressed review comments from Ilia and Ville
- Split drm_mode_create_colorspace_property() to DP and HDMI connector.
v7: Fix typo [Jani Saarinen]
Fix white space.
v8: Addressed review comments from Ville
- Drop colorimetries which have another way to distinguish or which
would not be used.
v9: Addressed review comments from Ville
- Split hunk into renaming and adding of code.
Change-Id: I7fa6831aeca1ae2e8dca79bad4f1dec373b53199
Link: https://patchwork.freedesktop.org/patch/msgid/20190919195311.13972-5-gwan-gyeong.mun@intel.com
Git-commit: 45cf0e91df8c75c3a0c69e54d01cf42e24af365b
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>