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

Commit 643a39bf authored by Oleg Perelet's avatar Oleg Perelet
Browse files

msm: kgsl: Hold GMU in reset during initialization



In scenarious when cx_gdsc is on over slumber
we need to keep GMU from executing code until fully
initialized.

Signed-off-by: default avatarOleg Perelet <operelet@codeaurora.org>
Change-Id: I90740a19961dc27f217f2ddcf383ae776a3bb7a9
parent f6fbeafa
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -322,11 +322,6 @@ static int a6xx_gmu_start(struct kgsl_device *device)
	struct gmu_device *gmu = KGSL_GMU_DEVICE(device);

	kgsl_regwrite(device, A6XX_GMU_CX_GMU_WFI_CONFIG, 0x0);
	/* Write 1 first to make sure the GMU is reset */
	gmu_core_regwrite(device, A6XX_GMU_CM3_SYSRESET, 1);

	/* Make sure putting in reset doesn't happen after clearing */
	wmb();

	/* Bring GMU out of reset */
	gmu_core_regwrite(device, A6XX_GMU_CM3_SYSRESET, 0);
@@ -944,6 +939,10 @@ static int a6xx_gmu_fw_start(struct kgsl_device *device,
	int ret;
	unsigned int chipid = 0;

	gmu_core_regwrite(device, A6XX_GMU_CM3_SYSRESET, 1);
	/* Make sure M3 is in reset before going on */
	wmb();

	switch (boot_state) {
	case GMU_COLD_BOOT:
		/* Turn on TCM retention */