Am Freitag, den 09.06.2017, 12:26 +0200 schrieb Christian Gmeiner: > As done by Vivante kernel driver. > > Signed-off-by: Christian Gmeiner <christian.gmeiner@xxxxxxxxx> Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > index 2e9f031..1e23472 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > @@ -1329,6 +1329,13 @@ static void sync_point_perfmon_sample(struct > etnaviv_gpu *gpu, > static void sync_point_perfmon_sample_pre(struct etnaviv_gpu *gpu, > struct etnaviv_event *event) > { > + u32 val; > + > + /* disable clock gating */ > + val = gpu_read(gpu, VIVS_PM_POWER_CONTROLS); > + val &= ~VIVS_PM_POWER_CONTROLS_ENABLE_MODULE_CLOCK_GATING; > + gpu_write(gpu, VIVS_PM_POWER_CONTROLS, val); > + > sync_point_perfmon_sample(gpu, event, ETNA_PM_PROCESS_PRE); > } > > @@ -1336,6 +1343,7 @@ static void > sync_point_perfmon_sample_post(struct etnaviv_gpu *gpu, > struct etnaviv_event *event) > { > unsigned int i; > + u32 val; > > sync_point_perfmon_sample(gpu, event, ETNA_PM_PROCESS_POST); > > @@ -1344,6 +1352,11 @@ static void > sync_point_perfmon_sample_post(struct etnaviv_gpu *gpu, > > *pmr->bo_vma = pmr->sequence; > } > + > + /* enable clock gating */ > + val = gpu_read(gpu, VIVS_PM_POWER_CONTROLS); > + val |= VIVS_PM_POWER_CONTROLS_ENABLE_MODULE_CLOCK_GATING; > + gpu_write(gpu, VIVS_PM_POWER_CONTROLS, val); > } > > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel