Displaying 12 results from an estimated 12 matches for "gk20a_dvfs_data".
2015 Sep 03
5
[PATCH 0/2] two trivial PMU fixes
Two trivial PMU-related fixes for Tegra:
- Add a dummy func member to GK20A, since nvkm_pmmu_pgob() unconditionally
dereferences it
- Check whether a PMU actually exists before calling nvkm_pmmu_pgob(). During
early bringup we are likely to not have a PMU
Alexandre Courbot (2):
pmu/gk20a: add dummy func
gr/gf100: do not assume a PMU is present
drm/nouveau/nvkm/engine/gr/gf100.c | 3 ++-
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
...nvkm_gpuobj_unmap(&priv->ucode.vma);
+ nvkm_gpuobj_ref(NULL, &priv->ucode.obj);
+ nvkm_vm_ref(NULL, &priv->pmuvm.vm, priv->pmuvm.pgd);
+ nvkm_gpuobj_ref(NULL, &priv->pmuvm.pgd);
+ nvkm_gpuobj_ref(NULL, &priv->pmuvm.mem);
+}
+
static struct gk20a_pmu_dvfs_data
-gk20a_dvfs_data= {
+gk20a_dvfs_data = {
.p_load_target = 70,
.p_load_max = 90,
.p_smooth = 1,
@@ -205,6 +930,9 @@ gk20a_pmu_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
struct nvkm_object **pobject)
{
struct gk20a_pmu_priv *priv;
+ struct nvkm_pmu *pmu;
+ struct nvkm_mc *pmc;
+ co...
2014 Dec 18
2
[RFC PATCH 2/3] dvfs: add support for GK20A
...(BUSY_SLOT * 0x10), 0x00000002);
> + nv_wr32(priv, 0x10a50c + (CLK_SLOT * 0x10), 0x00000003);
> +
> + ret = nouveau_dvfs_init(&priv->base);
> + if (ret)
> + return ret;
> +
> + return 0;
> +}
> +
> +struct nouveau_dvfs_data gk20a_dvfs_data = {
> + .p_load_target = 70,
> + .p_load_max = 90,
> + .p_smooth = 1,
> +};
> +
> +static int
> +gk20a_dvfs_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
> + struct nouveau_oclass *oclass, void *data, u32 size,
> +...
2014 Dec 18
3
[RFC PATCH 2/3] dvfs: add support for GK20A
...(CLK_SLOT * 0x10), 0x00000003);
>>> +
>>> + ret = nouveau_dvfs_init(&priv->base);
>>> + if (ret)
>>> + return ret;
>>> +
>>> + return 0;
>>> +}
>>> +
>>> +struct nouveau_dvfs_data gk20a_dvfs_data = {
>>> + .p_load_target = 70,
>>> + .p_load_max = 90,
>>> + .p_smooth = 1,
>>> +};
>>> +
>>> +static int
>>> +gk20a_dvfs_ctor(struct nouveau_object *parent, struct nouveau_object
>>> *engine,
>>> +...
2014 Dec 18
4
[RFC PATCH 0/3] introduce DVFS for GK20A
Hi,
This is a try to have some simple DVFS (Dynamic Voltage and Frequency Scaling)
support for GK20A. Instead of relying on other existing frequency scaling
framework, we create a simple subdev in Nouveau for the same purpose. That's
because we don't want to make the DVFS implementation for GK20A far more
than enough in the beginning and hinder the implementation for dGPU in the
future.
2014 Dec 18
0
[RFC PATCH 2/3] dvfs: add support for GK20A
...+ nv_wr32(priv, 0x10a504 + (BUSY_SLOT * 0x10), 0x00200001);
+ nv_wr32(priv, 0x10a50c + (BUSY_SLOT * 0x10), 0x00000002);
+ nv_wr32(priv, 0x10a50c + (CLK_SLOT * 0x10), 0x00000003);
+
+ ret = nouveau_dvfs_init(&priv->base);
+ if (ret)
+ return ret;
+
+ return 0;
+}
+
+struct nouveau_dvfs_data gk20a_dvfs_data = {
+ .p_load_target = 70,
+ .p_load_max = 90,
+ .p_smooth = 1,
+};
+
+static int
+gk20a_dvfs_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
+ struct nouveau_oclass *oclass, void *data, u32 size,
+ struct nouveau_object **pobject)
+{
+ struct gk20a_dvfs_priv *priv;
+ s...
2014 Dec 18
0
[RFC PATCH 2/3] dvfs: add support for GK20A
...t; + nv_wr32(priv, 0x10a50c + (CLK_SLOT * 0x10), 0x00000003);
>> +
>> + ret = nouveau_dvfs_init(&priv->base);
>> + if (ret)
>> + return ret;
>> +
>> + return 0;
>> +}
>> +
>> +struct nouveau_dvfs_data gk20a_dvfs_data = {
>> + .p_load_target = 70,
>> + .p_load_max = 90,
>> + .p_smooth = 1,
>> +};
>> +
>> +static int
>> +gk20a_dvfs_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
>> + struct nouveau_oclass *oclass, void...
2015 Apr 30
2
[PATCH v4] pmu/gk20a: PMU boot support
...ucode.obj);
>> + nvkm_vm_ref(NULL, &priv->pmuvm.vm, priv->pmuvm.pgd);
>> + nvkm_gpuobj_ref(NULL, &priv->pmuvm.pgd);
>> + nvkm_gpuobj_ref(NULL, &priv->pmuvm.mem);
>> +}
>> +
>> static struct gk20a_pmu_dvfs_data
>> -gk20a_dvfs_data= {
>> +gk20a_dvfs_data = {
>> .p_load_target = 70,
>> .p_load_max = 90,
>> .p_smooth = 1,
>> @@ -205,6 +930,9 @@ gk20a_pmu_ctor(struct nvkm_object *parent, struct
>> nvkm_object *engine,
>> struct nvkm_object **pobject...
2014 Dec 18
0
[RFC PATCH 2/3] dvfs: add support for GK20A
...>>> +
>>>> + ret = nouveau_dvfs_init(&priv->base);
>>>> + if (ret)
>>>> + return ret;
>>>> +
>>>> + return 0;
>>>> +}
>>>> +
>>>> +struct nouveau_dvfs_data gk20a_dvfs_data = {
>>>> + .p_load_target = 70,
>>>> + .p_load_max = 90,
>>>> + .p_smooth = 1,
>>>> +};
>>>> +
>>>> +static int
>>>> +gk20a_dvfs_ctor(struct nouveau_object *parent, struct nouveau_object
>>&g...
2014 Dec 22
7
[PATCH V2 1/4] clk: allow non-blocking for nouveau_clock_astate()
There might be some callers of nouveau_clock_astate(), and they are from
inetrrupt context. So we must ensure that this function can be atomic in
that condition. This patch adds one parameter which is subsequently passed
to nouveau_pstate_calc(). Therefore we can choose whether we want to wait
for the pstate work's completion or not.
Signed-off-by: Vince Hsu <vinceh at nvidia.com>
---
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