Loading drivers/gpu/msm/adreno_a6xx.c +14 −0 Original line number Diff line number Diff line Loading @@ -927,6 +927,7 @@ static int a6xx_microcode_load(struct adreno_device *adreno_dev) struct kgsl_device *device = KGSL_DEVICE(adreno_dev); struct adreno_firmware *fw = ADRENO_FW(adreno_dev, ADRENO_FW_SQE); uint64_t gpuaddr; void *zap; int ret = 0; gpuaddr = fw->memdesc.gpuaddr; Loading @@ -934,6 +935,19 @@ static int a6xx_microcode_load(struct adreno_device *adreno_dev) lower_32_bits(gpuaddr)); kgsl_regwrite(device, A6XX_CP_SQE_INSTR_BASE_HI, upper_32_bits(gpuaddr)); /* Load the zap shader firmware through PIL if its available */ if (adreno_dev->gpucore->zap_name && !adreno_dev->zap_loaded) { zap = subsystem_get(adreno_dev->gpucore->zap_name); /* Return error if the zap shader cannot be loaded */ if (IS_ERR_OR_NULL(zap)) { ret = (zap == NULL) ? -ENODEV : PTR_ERR(zap); zap = NULL; } else adreno_dev->zap_loaded = 1; } return ret; } Loading Loading
drivers/gpu/msm/adreno_a6xx.c +14 −0 Original line number Diff line number Diff line Loading @@ -927,6 +927,7 @@ static int a6xx_microcode_load(struct adreno_device *adreno_dev) struct kgsl_device *device = KGSL_DEVICE(adreno_dev); struct adreno_firmware *fw = ADRENO_FW(adreno_dev, ADRENO_FW_SQE); uint64_t gpuaddr; void *zap; int ret = 0; gpuaddr = fw->memdesc.gpuaddr; Loading @@ -934,6 +935,19 @@ static int a6xx_microcode_load(struct adreno_device *adreno_dev) lower_32_bits(gpuaddr)); kgsl_regwrite(device, A6XX_CP_SQE_INSTR_BASE_HI, upper_32_bits(gpuaddr)); /* Load the zap shader firmware through PIL if its available */ if (adreno_dev->gpucore->zap_name && !adreno_dev->zap_loaded) { zap = subsystem_get(adreno_dev->gpucore->zap_name); /* Return error if the zap shader cannot be loaded */ if (IS_ERR_OR_NULL(zap)) { ret = (zap == NULL) ? -ENODEV : PTR_ERR(zap); zap = NULL; } else adreno_dev->zap_loaded = 1; } return ret; } Loading