search for: nvkm_timer_alarm_cancel

Displaying 10 results from an estimated 10 matches for "nvkm_timer_alarm_cancel".

2016 Apr 18
0
[PATCH v4 26/37] therm: don't cancel the timer
...mer *tmr = subdev->device->timer; unsigned long flags; bool immd = true; - bool poll = true; int duty = -1; spin_lock_irqsave(&therm->lock, flags); @@ -102,11 +101,9 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) switch (mode) { case NVKM_THERM_CTRL_MANUAL: - nvkm_timer_alarm_cancel(tmr, &therm->alarm); duty = nvkm_therm_fan_get(therm); if (duty < 0) duty = 100; - poll = false; break; case NVKM_THERM_CTRL_AUTO: switch(therm->fan->bios.fan_mode) { @@ -119,18 +116,16 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) case NVBIOS_THERM_...
2015 Apr 13
3
[PATCH v4] pmu/gk20a: PMU boot support
...pmc, 0x00000640, 0x1000000, 0x1000000); + nv_mask(pmc, 0x00000644, 0x1000000, 0x1000000); + } else { + nv_debug(priv, "disable pmu irq\n"); + nv_mask(pmc, 0x00000640, 0x1000000, 0x00000000); + nv_mask(pmc, 0x00000644, 0x1000000, 0x00000000); + nv_wr32(priv, 0x0010a014, 0xff); + } - nvkm_timer_alarm_cancel(priv, &priv->alarm); +} - return nvkm_subdev_fini(&pmu->base, suspend); +static int +gk20a_pmu_idle(struct gk20a_pmu_priv *priv) +{ + if (!nv_wait(priv, 0x0010a04c, 0x0000ffff, 0x00000000)) { + nv_error(priv, "timeout waiting pmu idle\n"); + return -EBUSY; + } + + return...
2015 Apr 30
2
[PATCH v4] pmu/gk20a: PMU boot support
...nv_debug(priv, "disable pmu irq\n"); >> + nv_mask(pmc, 0x00000640, 0x1000000, 0x00000000); >> + nv_mask(pmc, 0x00000644, 0x1000000, 0x00000000); >> + nv_wr32(priv, 0x0010a014, 0xff); >> + } >> >> - nvkm_timer_alarm_cancel(priv, &priv->alarm); >> +} >> >> - return nvkm_subdev_fini(&pmu->base, suspend); >> +static int >> +gk20a_pmu_idle(struct gk20a_pmu_priv *priv) >> +{ >> + if (!nv_wait(priv, 0x0010a04c, 0x0000ffff, 0x00000000)) { >> +...
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 Apr 08
3
[PATCH V2] pmu/gk20a: PMU boot support.
...99,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, &priv->alarm); return nvkm_subdev_fini(&pmu->base, suspend); } static int +gk20a_pmu_enable_hw(struct nvkm_pmu *ppmu, struct nvkm_mc *pmc, + bool enable) +{ + if (enable) { + nv_mask(pmc, 0x000200, 0x00002000, 0x00002000); + nv_rd32(pmc, 0x00000200); + if (nv_wait(p...
2016 Apr 07
29
[PATCH v3 00/29] Volting/Clocking improvements for Fermi and newer
This is an updated series for the old clocking improvement one. I think I got everything needed in place and also a simple update mechanism for updating the cstates/voltage on temperature changes. If anything is unclear how I REed or got the information, please leave a note so that I can provide additional information in the commits. Besides that I think we are pretty close now and only some
2016 Apr 18
63
[PATCH v4 00/37] Volting/Clocking improvements for Fermi and newer
We are slowly getting there! v4 of the series with some realy good improvements, so I am sure this is like 95% done and only needs some proper polishing and proper Reviews! I also added the NvVoltOffsetmV module parameter, so that a user is able to over and !under!-volt the GPU. Overvolting makes sense, when there are still some reclocking issues left, which might be solved by a higher voltage.
2015 Mar 11
0
[PATCH] pmu/gk20a: PMU boot support.
...3,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->base, suspend); > } > +static bool find_hex_in_string(char *strings, u32 *hex_pos) > +{ > + u32 i = 0, j = strlen(strings); > + for (; i < j; i++) { > + if (strings[i]...
2015 Mar 11
3
[PATCH] pmu/gk20a: PMU boot support.
...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->base, suspend); } +static bool find_hex_in_string(char *strings, u32 *hex_pos) +{ + u32 i = 0, j = strlen(strings); + for (; i < j; i++) { + if (strings[i] == '%') + if (strings[i + 1] == 'x' || strings[i +...
2015 Mar 12
2
[PATCH] pmu/gk20a: PMU boot support.
...3,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->base, suspend); > } > +static bool find_hex_in_string(char *strings, u32 *hex_pos) > +{ > + u32 i = 0, j = strlen(strings); > + for (; i < j; i++) { > + if (strings[i]...