Repository navigation
drm/msm: Add Adreno GPU support for Mahua, Hawi and Maili - #2011
kavishah27 wants to merge 13 commits into
Conversation
66bcf5f to
b505fd4
Compare
|
Dev Completion validation failed CR: 4704803 The change task for this CR could not be moved to Dev Complete because of the error above. Please resolve the issue in Orbit and re-run the failed Orbit check. |
1 similar comment
|
Dev Completion validation failed CR: 4704803 The change task for this CR could not be moved to Dev Complete because of the error above. Please resolve the issue in Orbit and re-run the failed Orbit check. |
b505fd4 to
16df68f
Compare
|
Dev Completion validation failed CR: 4704803 The change task for this CR could not be moved to Dev Complete because of the error above. Please resolve the issue in Orbit and re-run the failed Orbit check. |
7f11e7e to
8d7b706
Compare
|
Dev Completion validation failed CR: 4704803 The change task for this CR could not be moved to Dev Complete because of the error above. Please resolve the issue in Orbit and re-run the failed Orbit check. |
1 similar comment
|
Dev Completion validation failed CR: 4704803 The change task for this CR could not be moved to Dev Complete because of the error above. Please resolve the issue in Orbit and re-run the failed Orbit check. |
The Glymur GMU compatible string was incorrectly documented as qcom,adreno-gmu-x285.1. Fix it to use the correct string qcom,adreno-gmu-x290.1. Fixes: 7bc29d5 ("dt-bindings: display/msm/gmu: Add Adreno X2-85 GMU") Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260925-mahua-gpu-v1-1-0fa0bfd8d315@oss.qualcomm.com/
Add support for Mahua's Adreno X2-85 GPU, which shares the same underlying HW IP with Glymur's Adreno X2-90 GPU. Rework adreno_is_x285() as adreno_is_x285_family() since it doesn't uniquely identify a single chip id anymore. Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260925-mahua-gpu-v1-3-0fa0bfd8d315@oss.qualcomm.com/
Adreno X2-85 GPU found in mahua SoC belongs to the A8x family and is a smaller variant of X2-90 with fewer slices and smaller internal memories. Update the dt bindings documentation to describe this GPU along with it's GMU. Signed-off-by: Jie Zhang <jie.zhang@oss.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260925-mahua-gpu-v1-4-0fa0bfd8d315@oss.qualcomm.com/
Instead of voting ACV for all bw corners for A8x GPU, restrict it to BW votes above the perfmode_bw threshold, similar to the A7x GPUs. Fixes: 288a932 ("drm/msm/adreno: Introduce A8x GPU Support") Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260923-hawi-gpu-v1-1-0c3c79a1a470@oss.qualcomm.com/ Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Using the requested level can pick a secondary corner lower than the one required to support the chosen primary corner, under-voting the dependent rail. To fix this, match against the selected primary voltage instead. Fixes: 4b565ca ("drm/msm: Add A6XX device support") Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260923-hawi-gpu-v1-2-0c3c79a1a470@oss.qualcomm.com/
a6xx_gmu_rpmh_dep_votes_init() iterates the GPU frequency list (gmu->gpu_freqs) but was passed gmu->dev to resolve each frequency to an arc level. This results in generation of incorrect dependency votes table. To fix this, pass gpu->pdev->dev, which owns the GPU OPP table. Also, reorder the dependency vote init to improve clarity. Fixes: 06cfbca ("drm/msm/a6xx: Share dependency vote table with GMU") Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260923-hawi-gpu-v1-3-0c3c79a1a470@oss.qualcomm.com/ Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
The GMU RPMh vote construction repeats two patterns across a6xx_gmu_rpmh_arc_votes_init() and a6xx_gmu_rpmh_dep_votes_init(): reading a cmd-db aux-data resource (with the same "halve the byte count and reject empty" handling), and scanning an arc level array for the first corner that satisfies a target level. Refactor out a6xx_gmu_rpmh_read_arc() and a6xx_gmu_rpmh_arc_index() to reduce code duplication and improve code readability. Assisted-by: LLM Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260923-hawi-gpu-v1-4-0c3c79a1a470@oss.qualcomm.com/
Some A8x targets have a third memory rail (BX) in addition to GX and MX. On these targets the GMU dependency vote carries a per-corner BX vote in bits 25:20, which otherwise default to all-ones (no BX constraint). Prepare BX vote field to pass this new voltage recommendation to GMU. Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260923-hawi-gpu-v1-5-0c3c79a1a470@oss.qualcomm.com/
In some chipsets like Hawi, the GPU arc level can exceed the highest available MX corner. In that case, use the highest non-zero MX vote instead of failing GMU initialization. Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260923-hawi-gpu-v1-6-0c3c79a1a470@oss.qualcomm.com/ Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Add UBWC configuration data for the Hawi platform, which uses UBWC 7.0 and enables the required flags and highest bank bit settings. This allows drivers to query the correct UBWC capabilities on Hawi. Also add UBWC 7.0 support to the version tag helper so that qcom_ubwc_version_tag() returns the correct tag for UBWC 7.0. Signed-off-by: Wangao Wang <wangao.wang@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/lkml/20260812-ubwc_for_hawi_maili-v1-1-c29edecb3bd8@oss.qualcomm.com/ Signed-off-by: Bjorn Andersson <andersson@kernel.org> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com>
Adreno 850 is the next generation of A8x GPU present in Hawi SoC. It shares the ADRENO_8XX_GEN2 family and slice architecture with A840, but has many architectural improvements. There is a new block Matrix ALU (MALU) which helps to accelerate certain compute workloads. Also, there is a new Bx rail that powers a part of the GPU IP. GMU is now powered by a dedicated GDSC powered by MxG rail. Add a new catalog entry along with the necessary register lists and additional changes to support the aforementioned new features. Hawi SoC support UBWC v7.0, but GPU is unaffected by this upgrade. Assisted-by: LLM Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260923-hawi-gpu-v1-7-0c3c79a1a470@oss.qualcomm.com/
Add HFI support for the GMU THINMEM_CFG feature and provide the configuration value used by the Adreno 850 GPU in the catalog. Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260923-hawi-gpu-v1-8-0c3c79a1a470@oss.qualcomm.com/
Adreno 845 GPU is present in the Maili SoC. It is very similar to Hawi GPU (A850), except that it doesn't have a MALU unit. Add the necessary register lists and a catalog entry to support this GPU. Signed-off-by: Bhaskar Reddy Valluru <bvalluru@qti.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Signed-off-by: Kavisha Shah <kavishah@qti.qualcomm.com> Link: https://lore.kernel.org/lkml/20260923-hawi-gpu-v1-9-0c3c79a1a470@oss.qualcomm.com/
a50e816 to
7fb201e
Compare
|
Dev Completion validation failed CR: 4704803 The change task for this CR could not be moved to Dev Complete because of the error above. Please resolve the issue in Orbit and re-run the failed Orbit check. |
ed6aad3 to
7fb201e
Compare
This series brings up the Adreno GPU/GMU on three new SoCs:
Adreno X2-90. Includes a fix for Glymur's GMU compatible string, which
was needed as a prerequisite before X2-85 could reuse the family
detection logic correctly.
(MALU) block, a dedicated Bx power rail, and a GMU GDSC powered by MxG.
MALU unit.
Hawi and Maili also require several a6xx GMU dependency-vote fixes:
honoring the perfmode_bw threshold on A8x, correcting the secondary rail
vote in ARC votes, fixing RPMH dependency votes, factoring out the RPMh
arc-vote helpers for reuse, adding Bx rail support to GMU dependency
votes, clamping the MX dependency vote, and sending THINMEM config to
the GMU for A850.
CRs-fixed: 4704803