-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
drm/nouveau/therm: namespace + nvidia gpu names (no binary change)
The namespace of NVKM is being changed to nvkm_ instead of nouveau_, which will be used for the DRM part of the driver. This is being done in order to make it very clear as to what part of the driver a given symbol belongs to, and as a minor step towards splitting the DRM driver out to be able to stand on its own (for virt). Because there's already a large amount of churn here anyway, this is as good a time as any to also switch to NVIDIA's device and chipset naming to ease collaboration with them. A comparison of objdump disassemblies proves no code changes. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
- Loading branch information
Ben Skeggs
committed
Jan 22, 2015
1 parent
21b1379
commit e140461
Showing
20 changed files
with
639 additions
and
685 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,83 +1,79 @@ | ||
#ifndef __NOUVEAU_THERM_H__ | ||
#define __NOUVEAU_THERM_H__ | ||
|
||
#include <core/device.h> | ||
#ifndef __NVKM_THERM_H__ | ||
#define __NVKM_THERM_H__ | ||
#include <core/subdev.h> | ||
|
||
enum nouveau_therm_fan_mode { | ||
NOUVEAU_THERM_CTRL_NONE = 0, | ||
NOUVEAU_THERM_CTRL_MANUAL = 1, | ||
NOUVEAU_THERM_CTRL_AUTO = 2, | ||
enum nvkm_therm_fan_mode { | ||
NVKM_THERM_CTRL_NONE = 0, | ||
NVKM_THERM_CTRL_MANUAL = 1, | ||
NVKM_THERM_CTRL_AUTO = 2, | ||
}; | ||
|
||
enum nouveau_therm_attr_type { | ||
NOUVEAU_THERM_ATTR_FAN_MIN_DUTY = 0, | ||
NOUVEAU_THERM_ATTR_FAN_MAX_DUTY = 1, | ||
NOUVEAU_THERM_ATTR_FAN_MODE = 2, | ||
enum nvkm_therm_attr_type { | ||
NVKM_THERM_ATTR_FAN_MIN_DUTY = 0, | ||
NVKM_THERM_ATTR_FAN_MAX_DUTY = 1, | ||
NVKM_THERM_ATTR_FAN_MODE = 2, | ||
|
||
NOUVEAU_THERM_ATTR_THRS_FAN_BOOST = 10, | ||
NOUVEAU_THERM_ATTR_THRS_FAN_BOOST_HYST = 11, | ||
NOUVEAU_THERM_ATTR_THRS_DOWN_CLK = 12, | ||
NOUVEAU_THERM_ATTR_THRS_DOWN_CLK_HYST = 13, | ||
NOUVEAU_THERM_ATTR_THRS_CRITICAL = 14, | ||
NOUVEAU_THERM_ATTR_THRS_CRITICAL_HYST = 15, | ||
NOUVEAU_THERM_ATTR_THRS_SHUTDOWN = 16, | ||
NOUVEAU_THERM_ATTR_THRS_SHUTDOWN_HYST = 17, | ||
NVKM_THERM_ATTR_THRS_FAN_BOOST = 10, | ||
NVKM_THERM_ATTR_THRS_FAN_BOOST_HYST = 11, | ||
NVKM_THERM_ATTR_THRS_DOWN_CLK = 12, | ||
NVKM_THERM_ATTR_THRS_DOWN_CLK_HYST = 13, | ||
NVKM_THERM_ATTR_THRS_CRITICAL = 14, | ||
NVKM_THERM_ATTR_THRS_CRITICAL_HYST = 15, | ||
NVKM_THERM_ATTR_THRS_SHUTDOWN = 16, | ||
NVKM_THERM_ATTR_THRS_SHUTDOWN_HYST = 17, | ||
}; | ||
|
||
struct nouveau_therm { | ||
struct nouveau_subdev base; | ||
struct nvkm_therm { | ||
struct nvkm_subdev base; | ||
|
||
int (*pwm_ctrl)(struct nouveau_therm *, int line, bool); | ||
int (*pwm_get)(struct nouveau_therm *, int line, u32 *, u32 *); | ||
int (*pwm_set)(struct nouveau_therm *, int line, u32, u32); | ||
int (*pwm_clock)(struct nouveau_therm *, int line); | ||
int (*pwm_ctrl)(struct nvkm_therm *, int line, bool); | ||
int (*pwm_get)(struct nvkm_therm *, int line, u32 *, u32 *); | ||
int (*pwm_set)(struct nvkm_therm *, int line, u32, u32); | ||
int (*pwm_clock)(struct nvkm_therm *, int line); | ||
|
||
int (*fan_get)(struct nouveau_therm *); | ||
int (*fan_set)(struct nouveau_therm *, int); | ||
int (*fan_sense)(struct nouveau_therm *); | ||
int (*fan_get)(struct nvkm_therm *); | ||
int (*fan_set)(struct nvkm_therm *, int); | ||
int (*fan_sense)(struct nvkm_therm *); | ||
|
||
int (*temp_get)(struct nouveau_therm *); | ||
int (*temp_get)(struct nvkm_therm *); | ||
|
||
int (*attr_get)(struct nouveau_therm *, enum nouveau_therm_attr_type); | ||
int (*attr_set)(struct nouveau_therm *, | ||
enum nouveau_therm_attr_type, int); | ||
int (*attr_get)(struct nvkm_therm *, enum nvkm_therm_attr_type); | ||
int (*attr_set)(struct nvkm_therm *, enum nvkm_therm_attr_type, int); | ||
}; | ||
|
||
static inline struct nouveau_therm * | ||
nouveau_therm(void *obj) | ||
static inline struct nvkm_therm * | ||
nvkm_therm(void *obj) | ||
{ | ||
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_THERM); | ||
return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_THERM); | ||
} | ||
|
||
#define nouveau_therm_create(p,e,o,d) \ | ||
nouveau_therm_create_((p), (e), (o), sizeof(**d), (void **)d) | ||
#define nouveau_therm_destroy(p) ({ \ | ||
struct nouveau_therm *therm = (p); \ | ||
_nouveau_therm_dtor(nv_object(therm)); \ | ||
#define nvkm_therm_create(p,e,o,d) \ | ||
nvkm_therm_create_((p), (e), (o), sizeof(**d), (void **)d) | ||
#define nvkm_therm_destroy(p) ({ \ | ||
struct nvkm_therm *therm = (p); \ | ||
_nvkm_therm_dtor(nv_object(therm)); \ | ||
}) | ||
#define nouveau_therm_init(p) ({ \ | ||
struct nouveau_therm *therm = (p); \ | ||
_nouveau_therm_init(nv_object(therm)); \ | ||
#define nvkm_therm_init(p) ({ \ | ||
struct nvkm_therm *therm = (p); \ | ||
_nvkm_therm_init(nv_object(therm)); \ | ||
}) | ||
#define nouveau_therm_fini(p,s) ({ \ | ||
struct nouveau_therm *therm = (p); \ | ||
_nouveau_therm_init(nv_object(therm), (s)); \ | ||
#define nvkm_therm_fini(p,s) ({ \ | ||
struct nvkm_therm *therm = (p); \ | ||
_nvkm_therm_init(nv_object(therm), (s)); \ | ||
}) | ||
|
||
int nouveau_therm_create_(struct nouveau_object *, struct nouveau_object *, | ||
struct nouveau_oclass *, int, void **); | ||
void _nouveau_therm_dtor(struct nouveau_object *); | ||
int _nouveau_therm_init(struct nouveau_object *); | ||
int _nouveau_therm_fini(struct nouveau_object *, bool); | ||
|
||
int nouveau_therm_cstate(struct nouveau_therm *, int, int); | ||
int nvkm_therm_create_(struct nvkm_object *, struct nvkm_object *, | ||
struct nvkm_oclass *, int, void **); | ||
void _nvkm_therm_dtor(struct nvkm_object *); | ||
int _nvkm_therm_init(struct nvkm_object *); | ||
int _nvkm_therm_fini(struct nvkm_object *, bool); | ||
|
||
extern struct nouveau_oclass nv40_therm_oclass; | ||
extern struct nouveau_oclass nv50_therm_oclass; | ||
extern struct nouveau_oclass nv84_therm_oclass; | ||
extern struct nouveau_oclass nva3_therm_oclass; | ||
extern struct nouveau_oclass nvd0_therm_oclass; | ||
extern struct nouveau_oclass gm107_therm_oclass; | ||
int nvkm_therm_cstate(struct nvkm_therm *, int, int); | ||
|
||
extern struct nvkm_oclass nv40_therm_oclass; | ||
extern struct nvkm_oclass nv50_therm_oclass; | ||
extern struct nvkm_oclass g84_therm_oclass; | ||
extern struct nvkm_oclass gt215_therm_oclass; | ||
extern struct nvkm_oclass gf110_therm_oclass; | ||
extern struct nvkm_oclass gm107_therm_oclass; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.