mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-18 20:57:25 +00:00
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: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
3e1b33571a
commit
e4047599ae
3 changed files with 10 additions and 9 deletions
|
|
@ -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)
|
||||||
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)
|
||||||
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
args->v0.iter = 0xffffffff;
|
args->v0.iter = 0xffff;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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[];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue