diff options
author | Alexandre Courbot <acourbot@nvidia.com> | 2014-07-26 18:41:40 +0900 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-08-10 05:12:47 +1000 |
commit | bb4d29df5e929a356e2cff2a6d7f38442d322d5b (patch) | |
tree | 439b721a4b2c7b7e0457f68799214ec5a7f18e05 /drivers/gpu/drm/nouveau/core/include/subdev/clock.h | |
parent | drm/nouveau/clk: make therm and volt devices optional (diff) | |
download | linux-dev-bb4d29df5e929a356e2cff2a6d7f38442d322d5b.tar.xz linux-dev-bb4d29df5e929a356e2cff2a6d7f38442d322d5b.zip |
drm/nouveau/clk: support for non-BIOS pstates
Make nouveau_clock_create() take new two optional arguments: an array
of pstates and its size. When these are specified,
nouveau_clock_create() will use the provided pstates instead of
probing them using the BIOS.
This is useful for platforms which do not provide a BIOS, like Tegra.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/include/subdev/clock.h')
-rw-r--r-- | drivers/gpu/drm/nouveau/core/include/subdev/clock.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/clock.h b/drivers/gpu/drm/nouveau/core/include/subdev/clock.h index 9f37c096c34d..a7581478e4ea 100644 --- a/drivers/gpu/drm/nouveau/core/include/subdev/clock.h +++ b/drivers/gpu/drm/nouveau/core/include/subdev/clock.h @@ -115,8 +115,9 @@ struct nouveau_clocks { int mdiv; }; -#define nouveau_clock_create(p,e,o,i,r,d) \ - nouveau_clock_create_((p), (e), (o), (i), (r), sizeof(**d), (void **)d) +#define nouveau_clock_create(p,e,o,i,r,s,n,d) \ + nouveau_clock_create_((p), (e), (o), (i), (r), (s), (n), sizeof(**d), \ + (void **)d) #define nouveau_clock_destroy(p) ({ \ struct nouveau_clock *clk = (p); \ _nouveau_clock_dtor(nv_object(clk)); \ @@ -132,7 +133,8 @@ struct nouveau_clocks { int nouveau_clock_create_(struct nouveau_object *, struct nouveau_object *, struct nouveau_oclass *, - struct nouveau_clocks *, bool, int, void **); + struct nouveau_clocks *, struct nouveau_pstate *, + int, bool, int, void **); void _nouveau_clock_dtor(struct nouveau_object *); int _nouveau_clock_init(struct nouveau_object *); int _nouveau_clock_fini(struct nouveau_object *, bool); |