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

Commit 3d7d0784 authored by Deepak Kumar's avatar Deepak Kumar
Browse files

msm: kgsl: Don't skip gmufw preallocations during firmware read



In scenario where GMU request firmware succeeded but preallocation
failed, a6xx_gmu_load_firmware returns error but during next open
call it return success only based on whether request_firmware was
successful or not. This results in issue during GMU start while
copying firmware to respective GMU memory blocks as some of the
memory blocks were not allocated.

Update the check in a6xx_gmu_load_firmware to ensure only request
firmware is skipped if it passed earlier.

Change-Id: I92920215aa9f47726c4470968ca804e1cee13468
Signed-off-by: default avatarDeepak Kumar <dkumar@codeaurora.org>
parent 28ec0fbd
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -1174,8 +1174,7 @@ static int a6xx_gmu_load_firmware(struct kgsl_device *device)
	int ret, offset = 0;

	/* GMU fw already saved and verified so do nothing new */
	if (gmu->fw_image)
		return 0;
	if (!gmu->fw_image) {

		if (a6xx_core->gmufw_name == NULL)
			return -EINVAL;
@@ -1187,6 +1186,7 @@ static int a6xx_gmu_load_firmware(struct kgsl_device *device)
					a6xx_core->gmufw_name, ret);
			return ret;
		}
	}

	/*
	 * Zero payload fw blocks contain meta data and are