Displaying 4 results from an estimated 4 matches for "clkgate_set".
2017 Apr 26
1
[PATCH] drm/nouveau: Add support for clockgating on Fermi+
...nt (*attr_get)(struct nvkm_therm *, enum
> > nvkm_therm_attr_type);
> > int (*attr_set)(struct nvkm_therm *, enum
> > nvkm_therm_attr_type, int);
> > +
> > + int (*clkgate_engine)(struct nvkm_therm *, enum
> > nvkm_devidx);
> > + void (*clkgate_set)(struct nvkm_therm *, int gate_idx, bool
> > enable);
>
> remove those and have a simple "nvkm_therm_clkgate_engine" function
>
> This way you know that every user calls this function and don't have
> to check for silly function pointers like you currently do in...
2017 Apr 25
0
[PATCH] drm/nouveau: Add support for clockgating on Fermi+
...6 +84,9 @@ struct nvkm_therm {
>
> int (*attr_get)(struct nvkm_therm *, enum nvkm_therm_attr_type);
> int (*attr_set)(struct nvkm_therm *, enum nvkm_therm_attr_type, int);
> +
> + int (*clkgate_engine)(struct nvkm_therm *, enum nvkm_devidx);
> + void (*clkgate_set)(struct nvkm_therm *, int gate_idx, bool enable);
remove those and have a simple "nvkm_therm_clkgate_engine" function
This way you know that every user calls this function and don't have
to check for silly function pointers like you currently do in engine.c
> };
>
> int...
2017 Apr 25
6
[PATCH] drm/nouveau: Add support for clockgating on Fermi+
.../gpu/drm/nouveau/include/nvkm/subdev/therm.h
@@ -84,6 +84,9 @@ struct nvkm_therm {
int (*attr_get)(struct nvkm_therm *, enum nvkm_therm_attr_type);
int (*attr_set)(struct nvkm_therm *, enum nvkm_therm_attr_type, int);
+
+ int (*clkgate_engine)(struct nvkm_therm *, enum nvkm_devidx);
+ void (*clkgate_set)(struct nvkm_therm *, int gate_idx, bool enable);
};
int nvkm_therm_temp_get(struct nvkm_therm *);
@@ -94,6 +97,7 @@ int nv40_therm_new(struct nvkm_device *, int, struct nvkm_therm **);
int nv50_therm_new(struct nvkm_device *, int, struct nvkm_therm **);
int g84_therm_new(struct nvkm_device *...
2017 Apr 25
0
[PATCH] drm/nouveau: Add support for clockgating on Fermi+
...herm.h
> @@ -84,6 +84,9 @@ struct nvkm_therm {
>
> int (*attr_get)(struct nvkm_therm *, enum nvkm_therm_attr_type);
> int (*attr_set)(struct nvkm_therm *, enum nvkm_therm_attr_type, int);
> +
> + int (*clkgate_engine)(struct nvkm_therm *, enum nvkm_devidx);
> + void (*clkgate_set)(struct nvkm_therm *, int gate_idx, bool enable);
> };
>
> int nvkm_therm_temp_get(struct nvkm_therm *);
> @@ -94,6 +97,7 @@ int nv40_therm_new(struct nvkm_device *, int, struct nvkm_therm **);
> int nv50_therm_new(struct nvkm_device *, int, struct nvkm_therm **);
> int...