Loading drivers/gpu/msm/adreno.c +4 −0 Original line number Diff line number Diff line Loading @@ -1715,6 +1715,10 @@ static int adreno_init(struct kgsl_device *device) if (ret) return ret; ret = gmu_core_init(device); if (ret) return ret; /* Put the GPU in a responsive state */ if (ADRENO_GPUREV(adreno_dev) < 600) { /* No need for newer generation architectures */ Loading drivers/gpu/msm/kgsl_gmu.c +1 −3 Original line number Diff line number Diff line Loading @@ -1569,9 +1569,6 @@ static int gmu_start(struct kgsl_device *device) case KGSL_STATE_INIT: gmu_aop_send_acd_state(device, test_bit(ADRENO_ACD_CTRL, &adreno_dev->pwrctrl_flag)); ret = gmu_init(device); if (ret) return ret; case KGSL_STATE_SUSPEND: WARN_ON(test_bit(GMU_CLK_ON, &device->gmu_core.flags)); Loading Loading @@ -1770,6 +1767,7 @@ static bool gmu_regulator_isenabled(struct kgsl_device *device) struct gmu_core_ops gmu_ops = { .probe = gmu_probe, .remove = gmu_remove, .init = gmu_init, .start = gmu_start, .stop = gmu_stop, .dcvs_set = gmu_dcvs_set, Loading drivers/gpu/msm/kgsl_gmu_core.c +10 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,16 @@ bool gmu_core_scales_bandwidth(struct kgsl_device *device) } } int gmu_core_init(struct kgsl_device *device) { struct gmu_core_ops *gmu_core_ops = GMU_CORE_OPS(device); if (gmu_core_ops && gmu_core_ops->init) return gmu_core_ops->init(device); return 0; } int gmu_core_start(struct kgsl_device *device) { struct gmu_core_ops *gmu_core_ops = GMU_CORE_OPS(device); Loading drivers/gpu/msm/kgsl_gmu_core.h +2 −0 Original line number Diff line number Diff line Loading @@ -115,6 +115,7 @@ struct gmu_core_ops { void (*remove)(struct kgsl_device *device); int (*dcvs_set)(struct kgsl_device *device, unsigned int gpu_pwrlevel, unsigned int bus_level); int (*init)(struct kgsl_device *device); int (*start)(struct kgsl_device *device); void (*stop)(struct kgsl_device *device); void (*snapshot)(struct kgsl_device *device); Loading Loading @@ -178,6 +179,7 @@ extern struct gmu_core_ops rgmu_ops; /* GMU core functions */ int gmu_core_probe(struct kgsl_device *device); void gmu_core_remove(struct kgsl_device *device); int gmu_core_init(struct kgsl_device *device); int gmu_core_start(struct kgsl_device *device); void gmu_core_stop(struct kgsl_device *device); int gmu_core_suspend(struct kgsl_device *device); Loading Loading
drivers/gpu/msm/adreno.c +4 −0 Original line number Diff line number Diff line Loading @@ -1715,6 +1715,10 @@ static int adreno_init(struct kgsl_device *device) if (ret) return ret; ret = gmu_core_init(device); if (ret) return ret; /* Put the GPU in a responsive state */ if (ADRENO_GPUREV(adreno_dev) < 600) { /* No need for newer generation architectures */ Loading
drivers/gpu/msm/kgsl_gmu.c +1 −3 Original line number Diff line number Diff line Loading @@ -1569,9 +1569,6 @@ static int gmu_start(struct kgsl_device *device) case KGSL_STATE_INIT: gmu_aop_send_acd_state(device, test_bit(ADRENO_ACD_CTRL, &adreno_dev->pwrctrl_flag)); ret = gmu_init(device); if (ret) return ret; case KGSL_STATE_SUSPEND: WARN_ON(test_bit(GMU_CLK_ON, &device->gmu_core.flags)); Loading Loading @@ -1770,6 +1767,7 @@ static bool gmu_regulator_isenabled(struct kgsl_device *device) struct gmu_core_ops gmu_ops = { .probe = gmu_probe, .remove = gmu_remove, .init = gmu_init, .start = gmu_start, .stop = gmu_stop, .dcvs_set = gmu_dcvs_set, Loading
drivers/gpu/msm/kgsl_gmu_core.c +10 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,16 @@ bool gmu_core_scales_bandwidth(struct kgsl_device *device) } } int gmu_core_init(struct kgsl_device *device) { struct gmu_core_ops *gmu_core_ops = GMU_CORE_OPS(device); if (gmu_core_ops && gmu_core_ops->init) return gmu_core_ops->init(device); return 0; } int gmu_core_start(struct kgsl_device *device) { struct gmu_core_ops *gmu_core_ops = GMU_CORE_OPS(device); Loading
drivers/gpu/msm/kgsl_gmu_core.h +2 −0 Original line number Diff line number Diff line Loading @@ -115,6 +115,7 @@ struct gmu_core_ops { void (*remove)(struct kgsl_device *device); int (*dcvs_set)(struct kgsl_device *device, unsigned int gpu_pwrlevel, unsigned int bus_level); int (*init)(struct kgsl_device *device); int (*start)(struct kgsl_device *device); void (*stop)(struct kgsl_device *device); void (*snapshot)(struct kgsl_device *device); Loading Loading @@ -178,6 +179,7 @@ extern struct gmu_core_ops rgmu_ops; /* GMU core functions */ int gmu_core_probe(struct kgsl_device *device); void gmu_core_remove(struct kgsl_device *device); int gmu_core_init(struct kgsl_device *device); int gmu_core_start(struct kgsl_device *device); void gmu_core_stop(struct kgsl_device *device); int gmu_core_suspend(struct kgsl_device *device); Loading