mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 04:42:04 -04:00
msm: kgsl: Pass chipid in correct format to gmufw for A660 variant
GMU firmware to differentiate between A660 and A660 GPU variant expects target version in bit 28-31. In device tree, target version is specified in upper nibble of patch to align with usermode driver expectation. This change correctly formats the chipid before passing it to GMU firmware to avoid boot-up issues. Change-Id: I2d2ab742afedca849f87c7ba44c8184afe8a6737 Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
This commit is contained in:
parent
38b1718d28
commit
624d14d9f0
1 changed files with 17 additions and 1 deletions
|
|
@ -1377,7 +1377,23 @@ void a6xx_gmu_register_config(struct adreno_device *adreno_dev)
|
|||
* Bit 11-8: patch version
|
||||
*/
|
||||
chipid = chipid | (ADRENO_CHIPID_MINOR(adreno_dev->chipid) << 12)
|
||||
| (ADRENO_CHIPID_PATCH(adreno_dev->chipid) << 8);
|
||||
| ((ADRENO_CHIPID_PATCH(adreno_dev->chipid) & 0xf) << 8);
|
||||
|
||||
/*
|
||||
* For A660 GPU variant, GMU firmware expects chipid as per below
|
||||
* format to differentiate between A660 and A660 variant. In device
|
||||
* tree, target version is specified as high nibble of patch to align
|
||||
* with usermode driver expectation. Format the chipid according to
|
||||
* firmware requirement.
|
||||
*
|
||||
* Bit 11-8: patch version
|
||||
* Bit 15-12: minor version
|
||||
* Bit 23-16: major version
|
||||
* Bit 27-24: core version
|
||||
* Bit 31-28: target version
|
||||
*/
|
||||
if (adreno_is_a660_shima(adreno_dev))
|
||||
chipid |= ((ADRENO_CHIPID_PATCH(adreno_dev->chipid) >> 4) << 28);
|
||||
|
||||
gmu_core_regwrite(device, A6XX_GMU_HFI_SFR_ADDR, chipid);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue