Commit e4047599 authored by Samuel Pitoiset's avatar Samuel Pitoiset Committed by Ben Skeggs

drm/nouveau/pm: change signal iter to u16

16 bits is large enough to store the maximum number of signals available
for one domain (i.e. 256).
Signed-off-by: default avatarSamuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 3e1b3357
...@@ -259,14 +259,15 @@ struct nvif_perfmon_query_domain_v0 { ...@@ -259,14 +259,15 @@ struct nvif_perfmon_query_domain_v0 {
__u8 id; __u8 id;
__u8 counter_nr; __u8 counter_nr;
__u8 iter; __u8 iter;
__u32 signal_nr; __u16 signal_nr;
__u8 pad05[2];
}; };
struct nvif_perfmon_query_signal_v0 { struct nvif_perfmon_query_signal_v0 {
__u8 version; __u8 version;
__u8 domain; __u8 domain;
__u8 pad02[2]; __u16 iter;
__u32 iter; __u8 pad03[4];
char name[64]; char name[64];
}; };
......
...@@ -45,10 +45,10 @@ nvkm_pm_count_perfdom(struct nvkm_pm *ppm) ...@@ -45,10 +45,10 @@ nvkm_pm_count_perfdom(struct nvkm_pm *ppm)
return domain_nr; return domain_nr;
} }
static u32 static u16
nvkm_perfdom_count_perfsig(struct nvkm_perfdom *dom) nvkm_perfdom_count_perfsig(struct nvkm_perfdom *dom)
{ {
u32 signal_nr = 0; u16 signal_nr = 0;
int i; int i;
if (dom) { if (dom) {
...@@ -183,9 +183,9 @@ nvkm_perfmon_mthd_query_signal(struct nvkm_object *object, void *data, u32 size) ...@@ -183,9 +183,9 @@ nvkm_perfmon_mthd_query_signal(struct nvkm_object *object, void *data, u32 size)
nv_ioctl(object, "perfmon query signal size %d\n", size); nv_ioctl(object, "perfmon query signal size %d\n", size);
if (nvif_unpack(args->v0, 0, 0, false)) { if (nvif_unpack(args->v0, 0, 0, false)) {
nv_ioctl(object, nv_ioctl(object,
"perfmon query signal vers %d dom %d iter %08x\n", "perfmon query signal vers %d dom %d iter %04x\n",
args->v0.version, args->v0.domain, args->v0.iter); args->v0.version, args->v0.domain, args->v0.iter);
si = (args->v0.iter & 0xffffffff) - 1; si = (args->v0.iter & 0xffff) - 1;
} else } else
return ret; return ret;
...@@ -209,7 +209,7 @@ nvkm_perfmon_mthd_query_signal(struct nvkm_object *object, void *data, u32 size) ...@@ -209,7 +209,7 @@ nvkm_perfmon_mthd_query_signal(struct nvkm_object *object, void *data, u32 size)
} }
} }
args->v0.iter = 0xffffffff; args->v0.iter = 0xffff;
return 0; return 0;
} }
......
...@@ -44,7 +44,7 @@ struct nvkm_perfdom { ...@@ -44,7 +44,7 @@ struct nvkm_perfdom {
char name[32]; char name[32];
u32 addr; u32 addr;
u8 quad; u8 quad;
u32 signal_nr; u16 signal_nr;
struct nvkm_perfsig signal[]; struct nvkm_perfsig signal[];
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment