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>
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>
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>
As between HDMI and DP have different colorspaces, in order to distinguish
colorspace of DP and HDMI, it renames drm_mode_create_colorspace_property()
function to drm_mode_create_hdmi_colorspace_property() function for HDMI
connector.
In order to apply changed drm api, i915 driver has channged.
It addresses review comments from Ville.
- Split hunk into renaming and adding of code.
Change-Id: I4dc4b5e46ec52dd0e3f3970901c4149e5f295c69
Link: https://patchwork.freedesktop.org/patch/msgid/20190919195311.13972-4-gwan-gyeong.mun@intel.com
Git-commit: 8806cd3aa025ad9351678e7b8377080dec1315a9
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>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Even if we use status = "disabled" in mem-offline node, still the
update_memory_limit() will go and update memory_limit variable and
thus the removed memory is never added to system as the
mem-offline driver is disabled. Correct this logic.
Change-Id: I80102830f0a5a82dcd4cddfaddb0de21bfdd0110
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Consider the memory limit enforced by boot parameter and
restrict adding beyond this boundary during a memory hotplug.
Change-Id: Ibd13e47ee13004381a1ddff649150fae13429c87
Signed-off-by: Vijayanand Jitta <vjitta@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Hardware programming guide requires reset AXI clock in
CVP power on sequence.
Change-Id: Idf153e8dac1237f677c267162727173eee724317
Signed-off-by: George Shen <sqiao@codeaurora.org>
All the targets now do independent bus calculations.
Change-Id: Ie3303499cc4bb9a1f58c830e366a75f8f0058c42
Signed-off-by: Mohammed Mirza Mandayappurath Manzoor <mmandaya@codeaurora.org>
Enable gpu governors to dynamically scale gpu frequency and bus frequency
based on gpu load.
Change-Id: I76a067a76481fa34b364c7d5699bb40168bea9de
Signed-off-by: Mohammed Mirza Mandayappurath Manzoor <mmandaya@codeaurora.org>
Check for the current state of sub system restart notifier when
the LOCATOR_UP notification is given to slimbus driver and do the
slimbus initialization if the current state is already set to
SERVREG_NOTIF_SERVICE_STATE_UP_V01.
This change is needed in the cases where LOCATOR_UP notification
to slimbus driver got delayed and the state of the sub system restart
notifier is already set to SERVREG_NOTIF_SERVICE_STATE_UP_V01 as
slimbus will be expecting the SERVREG_NOTIF_SERVICE_STATE_UP_V01
notification which is not going to come as the notifier state is
already changed.
Change-Id: I4804bbb13e065ac78be7a442993286532402db9d
Signed-off-by: Prudhvi Yarlagadda <pyarlaga@codeaurora.org>
Prevent system suspend from happening during slimbus initialization
process where the NGD Slimbus component gets enummerated with
ADSP slimbus component and then queries the logical addresses of
the clients connected.
This is to prevent the issue where the slimbus driver goes to
suspend due to system suspend after the enumeration phase is
done after an SSR/PDR. Driver again resumes for querying logical
addresses of clients connected assuming enumeration process is
already done whereas it has to be re-enumerated as driver got
suspened and resumed.
Change-Id: I42ab3f7a6061a1c464d436aa13e43d27eb312fd4
Signed-off-by: Prudhvi Yarlagadda <pyarlaga@codeaurora.org>
Enable support for ultrasonic fingerprint
driver in lahaina defconfig.
Change-Id: Ib66316b7b3e6fc186f6f5a92c50e62e1332e92b8
Signed-off-by: Abir Ghosh <abirg@codeaurora.org>