Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d54c36e8 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: kgsl: Pass chipid in correct format to gmufw for A660 variant"

parents 2592f571 624d14d9
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -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);