search for: gk20a_pmu_fini

Displaying 8 results from an estimated 8 matches for "gk20a_pmu_fini".

2015 Mar 20
2
[PATCH 1/3] platform: release IOMMU's mm upon exit
nvkm_mm_fini() was not called when exiting the driver, resulting in a memory leak. Fix this. Signed-off-by: Alexandre Courbot <acourbot at nvidia.com> --- drm/nouveau/nouveau_platform.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drm/nouveau/nouveau_platform.c b/drm/nouveau/nouveau_platform.c index 3691982452a9..f83aa12ee5c6 100644 --- a/drm/nouveau/nouveau_platform.c +++
2015 Apr 13
3
[PATCH v4] pmu/gk20a: PMU boot support
...quot;nb_overlays = %d\n", desc->nb_overlays); + + nv_debug(pmu, "compressed = %u\n", desc->compressed); +} + +static int gk20a_pmu_dvfs_target(struct gk20a_pmu_priv *priv, int *state) { struct nvkm_clk *clk = nvkm_clk(priv); @@ -160,40 +396,529 @@ resched: } static int -gk20a_pmu_fini(struct nvkm_object *object, bool suspend) +gk20a_pmu_enable_hw(struct gk20a_pmu_priv *priv, struct nvkm_mc *pmc, bool enable) { - struct nvkm_pmu *pmu = (void *)object; - struct gk20a_pmu_priv *priv = (void *)pmu; + if (enable) { + nv_mask(pmc, 0x000200, 0x00002000, 0x00002000); + nv_rd32(pmc, 0...
2015 Apr 30
2
[PATCH v4] pmu/gk20a: PMU boot support
...->compressed); >> +} >> + >> +static int >> gk20a_pmu_dvfs_target(struct gk20a_pmu_priv *priv, int *state) >> { >> struct nvkm_clk *clk = nvkm_clk(priv); >> @@ -160,40 +396,529 @@ resched: >> } >> >> static int >> -gk20a_pmu_fini(struct nvkm_object *object, bool suspend) >> +gk20a_pmu_enable_hw(struct gk20a_pmu_priv *priv, struct nvkm_mc *pmc, >> bool enable) >> { >> - struct nvkm_pmu *pmu = (void *)object; >> - struct gk20a_pmu_priv *priv = (void *)pmu; >> + if (enabl...
2015 Apr 08
3
[PATCH V2] pmu/gk20a: PMU boot support.
..._debug(ppmu, "nb_overlays = %d\n", desc->nb_overlays); + + nv_debug(ppmu, "compressed = %u\n", desc->compressed); +} + +static int gk20a_pmu_dvfs_target(struct gk20a_pmu_priv *priv, int *state) { struct nvkm_clk *clk = nvkm_clk(priv); @@ -163,32 +399,601 @@ static int gk20a_pmu_fini(struct nvkm_object *object, bool suspend) { struct nvkm_pmu *pmu = (void *)object; - struct gk20a_pmu_priv *priv = (void *)pmu; - + struct gk20a_pmu_priv *priv = to_gk20a_priv(pmu); + nv_wr32(pmu, 0x10a014, 0x00000060); + flush_work(&pmu->recv.work); nvkm_timer_alarm_cancel(priv, &p...
2016 Dec 13
15
[PATCH v2 0/15] Falcon library
This was the first step of the secure boot refactoring - as Ben asked for some fixes, I now submit it as its own series to make it easier to review (and also because rebasing secure boot on top of this takes time and I don't want to do it until this is validated!). This series attempts to factorize the duplicate falcon-related code into a single library, using the existing nvkm_falcon
2015 Mar 11
0
[PATCH] pmu/gk20a: PMU boot support.
...const struct firmware *pfw) > +{ > + nv_debug(ppmu, "firmware released\n"); > + release_firmware(pfw); > +} > static int > gk20a_pmu_dvfs_target(struct gk20a_pmu_priv *priv, int *state) > { > @@ -164,31 +233,145 @@ gk20a_pmu_fini(struct nvkm_object *object, bool suspend) > { > struct nvkm_pmu *pmu = (void *)object; > struct gk20a_pmu_priv *priv = (void *)pmu; > - > + nv_wr32(pmu, 0x10a014, 0x00000060); > + flush_work(&pmu->recv.work); > nvkm_timer_alarm_cancel...
2015 Mar 11
3
[PATCH] pmu/gk20a: PMU boot support.
...+ return -ENOMEM; +} +void gk20a_pmu_release_firmware(struct nvkm_pmu *ppmu, + const struct firmware *pfw) +{ + nv_debug(ppmu, "firmware released\n"); + release_firmware(pfw); +} static int gk20a_pmu_dvfs_target(struct gk20a_pmu_priv *priv, int *state) { @@ -164,31 +233,145 @@ gk20a_pmu_fini(struct nvkm_object *object, bool suspend) { struct nvkm_pmu *pmu = (void *)object; struct gk20a_pmu_priv *priv = (void *)pmu; - + nv_wr32(pmu, 0x10a014, 0x00000060); + flush_work(&pmu->recv.work); nvkm_timer_alarm_cancel(priv, &priv->alarm); return nvkm_subdev_fini(&pmu...
2015 Mar 12
2
[PATCH] pmu/gk20a: PMU boot support.
...const struct firmware *pfw) > +{ > + nv_debug(ppmu, "firmware released\n"); > + release_firmware(pfw); > +} > static int > gk20a_pmu_dvfs_target(struct gk20a_pmu_priv *priv, int *state) > { > @@ -164,31 +233,145 @@ gk20a_pmu_fini(struct nvkm_object *object, bool suspend) > { > struct nvkm_pmu *pmu = (void *)object; > struct gk20a_pmu_priv *priv = (void *)pmu; > - > + nv_wr32(pmu, 0x10a014, 0x00000060); > + flush_work(&pmu->recv.work); > nvkm_timer_alarm_cancel...