+static int adreno_load_fw(struct adreno_gpu *adreno_gpu)
+{
+ struct drm_device *drm = adreno_gpu->base.dev;
+ int ret;
+
+ if (adreno_gpu->pm4)
+ return 0;
+
+ ret = request_firmware(&adreno_gpu->pm4, adreno_gpu->info->pm4fw, drm->dev);
+ if (ret) {
+ dev_err(drm->dev, "failed to load %s PM4 firmware: %d\n",
+ adreno_gpu->info->pm4fw, ret);
+ return ret;
+ }
+
+ ret = request_firmware(&adreno_gpu->pfp, adreno_gpu->info->pfpfw, drm->dev);
+ if (ret) {
+ dev_err(drm->dev, "failed to load %s PFP firmware: %d\n",
+ adreno_gpu->info->pfpfw, ret);
+ release_firmware(adreno_gpu->pm4);
+ adreno_gpu->pm4 = NULL;
+ return ret;
+ }
+
+ return 0;
+}
+