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...