diff options
| author | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
|---|---|---|
| committer | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
| commit | 79828b4fa835f73cdaf4bffa48696abdcbea9d02 (patch) | |
| tree | 5e0fa7156acb75ba603022bc807df8f2fedb97a8 /drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.c | |
| parent | 721b51fcf91898299d96f4b72cb9434cda29dce6 (diff) | |
| parent | 8c1a9d6323abf0fb1e5dad96cf3f1c783505ea5a (diff) | |
Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-fix-rt5645
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.c')
| -rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.c | 43 | 
1 files changed, 13 insertions, 30 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.c index 80e38063dd9b..9ed5f64912d0 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.c @@ -21,36 +21,19 @@   *   * Authors: Ben Skeggs   */ -#include "nv04.h" +#include "priv.h" -static int -gk20a_timer_init(struct nvkm_object *object) -{ -	struct nv04_timer_priv *priv = (void *)object; -	u32 hi = upper_32_bits(priv->suspend_time); -	u32 lo = lower_32_bits(priv->suspend_time); -	int ret; - -	ret = nvkm_timer_init(&priv->base); -	if (ret) -		return ret; - -	nv_debug(priv, "time low        : 0x%08x\n", lo); -	nv_debug(priv, "time high       : 0x%08x\n", hi); +static const struct nvkm_timer_func +gk20a_timer = { +	.intr = nv04_timer_intr, +	.read = nv04_timer_read, +	.time = nv04_timer_time, +	.alarm_init = nv04_timer_alarm_init, +	.alarm_fini = nv04_timer_alarm_fini, +}; -	/* restore the time before suspend */ -	nv_wr32(priv, NV04_PTIMER_TIME_1, hi); -	nv_wr32(priv, NV04_PTIMER_TIME_0, lo); -	return 0; +int +gk20a_timer_new(struct nvkm_device *device, int index, struct nvkm_timer **ptmr) +{ +	return nvkm_timer_new_(&gk20a_timer, device, index, ptmr);  } - -struct nvkm_oclass -gk20a_timer_oclass = { -	.handle = NV_SUBDEV(TIMER, 0xff), -	.ofuncs = &(struct nvkm_ofuncs) { -		.ctor = nv04_timer_ctor, -		.dtor = nv04_timer_dtor, -		.init = gk20a_timer_init, -		.fini = nv04_timer_fini, -	} -};  |