[Nouveau] [Bug 77529] [NVE7] NVS 510 DP-3 output doesn't work
https://bugs.freedesktop.org/show_bug.cgi?id=77529 Samuel Pitoiset samuel.pitoi...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #15 from Samuel Pitoiset samuel.pitoi...@gmail.com --- Feel free to re-open the issue if the bug still occurs. -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 77361] [nve7] nouveau not working on 3.13 linux kernel
https://bugs.freedesktop.org/show_bug.cgi?id=77361 Samuel Pitoiset samuel.pitoi...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #24 from Samuel Pitoiset samuel.pitoi...@gmail.com --- Feel free to re-open the issue if the bug still occurs. -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [PATCH 1/2] pm: fix signals/sources for GT200+
Signed-off-by: Samuel Pitoiset samuel.pitoi...@gmail.com --- This patch should be squashed with pm/nv50: add compute and graphics signals/sources. drm/nouveau/nvkm/engine/pm/gt200.c | 8 drm/nouveau/nvkm/engine/pm/gt215.c | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/drm/nouveau/nvkm/engine/pm/gt200.c b/drm/nouveau/nvkm/engine/pm/gt200.c index 220a027..e92f9c7 100644 --- a/drm/nouveau/nvkm/engine/pm/gt200.c +++ b/drm/nouveau/nvkm/engine/pm/gt200.c @@ -26,7 +26,7 @@ const struct nvkm_specsrc gt200_crop_sources[] = { { 0x407008, (const struct nvkm_specmux[]) { - { 0x7, 0, sel0, true }, + { 0xf, 0, sel0, true }, { 0x1f, 16, sel1, true }, {} }, pgraph_rop0_crop_pm_mux }, @@ -45,7 +45,7 @@ gt200_prop_sources[] = { const struct nvkm_specsrc gt200_tex_sources[] = { { 0x408508, (const struct nvkm_specmux[]) { - { 0x3fff, 0, unk0 }, + { 0xf, 0, unk0 }, {} }, pgraph_tpc0_tex_unk08 }, {} @@ -94,7 +94,7 @@ gt200_pm[] = { { 0x5d, pc01_vfetch_17, g84_vfetch_sources }, { 0x5e, pc01_vfetch_18, g84_vfetch_sources }, { 0x5f, pc01_vfetch_19, g84_vfetch_sources }, - { 0x07, pc01_zcull_00, nv50_zcull_sources }, + { 0x07, pc01_zcull_00, nv50_zcull_sources }, { 0x08, pc01_zcull_01, nv50_zcull_sources }, { 0x09, pc01_zcull_02, nv50_zcull_sources }, { 0x0a, pc01_zcull_03, nv50_zcull_sources }, @@ -105,7 +105,7 @@ gt200_pm[] = { { 0xec, pc01_trailer }, {} }, nv40_perfctr_func }, - { 0xe0, (const struct nvkm_specsig[]) { + { 0xf0, (const struct nvkm_specsig[]) { { 0x55, pc02_crop_00, gt200_crop_sources }, { 0x56, pc02_crop_01, gt200_crop_sources }, { 0x57, pc02_crop_02, gt200_crop_sources }, diff --git a/drm/nouveau/nvkm/engine/pm/gt215.c b/drm/nouveau/nvkm/engine/pm/gt215.c index b5542dc..f5eae63 100644 --- a/drm/nouveau/nvkm/engine/pm/gt215.c +++ b/drm/nouveau/nvkm/engine/pm/gt215.c @@ -23,10 +23,9 @@ */ #include nv40.h -// TODO: check for GT200 static const struct nvkm_specsrc gt215_zcull_sources[] = { - { 0x4002ca4, (const struct nvkm_specmux[]) { + { 0x402ca4, (const struct nvkm_specmux[]) { { 0x7fff, 0, unk0 }, { 0xff, 24, unk24 }, {} -- 2.4.2 ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] [PATCH RFC 05/20] pm: reorganize the nvif interface
On 06/14/2015 04:32 AM, Ben Skeggs wrote: On 10 June 2015 at 07:53, Samuel Pitoiset samuel.pitoi...@gmail.com wrote: On 06/09/2015 12:02 AM, Ben Skeggs wrote: On 8 June 2015 at 06:40, Samuel Pitoiset samuel.pitoi...@gmail.com wrote: This commit introduces the NVIF_IOCTL_NEW_V0_PERFMON class which will be used in order to query domains, signals and sources. This separates the querying and the counting interface. Hey Samuel, I've merged patches 1-4 already, I've got some comments on this one, but after they're solved I'm happy to merge up to (and including) patch 18. Patches 19/20, I need to think about some more. Hey Ben, Thanks for reviewing this series so quickly. :-) Signed-off-by: Samuel Pitoiset samuel.pitoi...@gmail.com --- bin/nv_perfmon.c | 12 ++-- drm/nouveau/include/nvif/class.h | 26 -- drm/nouveau/include/nvif/ioctl.h | 5 +++-- drm/nouveau/nvkm/engine/pm/base.c | 38 -- 4 files changed, 57 insertions(+), 24 deletions(-) diff --git a/bin/nv_perfmon.c b/bin/nv_perfmon.c index a8c5838..30a3138 100644 --- a/bin/nv_perfmon.c +++ b/bin/nv_perfmon.c @@ -600,7 +600,7 @@ main(int argc, char **argv) const char *cfg = NULL; const char *dbg = error; u64 dev = ~0ULL; - struct nvif_perfctr_query_v0 args = {}; + struct nvif_perfmon_query_signal_v0 args = {}; struct nvif_client *client; struct nvif_object object; int ret, c, k; @@ -644,15 +644,14 @@ main(int argc, char **argv) } ret = nvif_object_init(nvif_object(device), NULL, 0xdeadbeef, - NVIF_IOCTL_NEW_V0_PERFCTR, - (struct nvif_perfctr_v0) { - }, sizeof(struct nvif_perfctr_v0), object); + NVIF_IOCTL_NEW_V0_PERFMON, NULL, 0, object); assert(ret == 0); do { u32 prev_iter = args.iter; args.name[0] = '\0'; - ret = nvif_mthd(object, NVIF_PERFCTR_V0_QUERY, args, sizeof(args)); + ret = nvif_mthd(object, NVIF_PERFMON_V0_QUERY_SIGNAL, + args, sizeof(args)); assert(ret == 0); if (prev_iter) { @@ -663,7 +662,8 @@ main(int argc, char **argv) args.iter = prev_iter; strncpy(signals[nr_signals - 1], args.name, sizeof(args.name)); - ret = nvif_mthd(object, NVIF_PERFCTR_V0_QUERY, args, sizeof(args)); + ret = nvif_mthd(object, NVIF_PERFMON_V0_QUERY_SIGNAL, + args, sizeof(args)); assert(ret == 0); } } while (args.iter != 0x); diff --git a/drm/nouveau/include/nvif/class.h b/drm/nouveau/include/nvif/class.h index 64f8b2f..11935a0 100644 --- a/drm/nouveau/include/nvif/class.h +++ b/drm/nouveau/include/nvif/class.h @@ -251,6 +251,20 @@ struct gf110_dma_v0 { * perfmon **/ +#define NVIF_PERFMON_V0_QUERY_SIGNAL 0x00 + +struct nvif_perfmon_query_signal_v0 { + __u8 version; + __u8 pad01[3]; + __u32 iter; + char name[64]; +}; + + +/*** + * perfctr + **/ + struct nvif_perfctr_v0 { __u8 version; __u8 pad01[1]; @@ -259,16 +273,8 @@ struct nvif_perfctr_v0 { char name[4][64]; }; -#define NVIF_PERFCTR_V0_QUERY 0x00 -#define NVIF_PERFCTR_V0_SAMPLE 0x01 -#define NVIF_PERFCTR_V0_READ 0x02 - -struct nvif_perfctr_query_v0 { - __u8 version; - __u8 pad01[3]; - __u32 iter; - char name[64]; -}; +#define NVIF_PERFCTR_V0_SAMPLE 0x00 +#define NVIF_PERFCTR_V0_READ 0x01 struct nvif_perfctr_sample { }; diff --git a/drm/nouveau/include/nvif/ioctl.h b/drm/nouveau/include/nvif/ioctl.h index 4cd8e32..517cd27 100644 --- a/drm/nouveau/include/nvif/ioctl.h +++ b/drm/nouveau/include/nvif/ioctl.h @@ -49,8 +49,9 @@ struct nvif_ioctl_new_v0 { __u64 token; __u32 handle; /* these class numbers are made up by us, and not nvidia-assigned */ -#define NVIF_IOCTL_NEW_V0_PERFCTR 0x -#define NVIF_IOCTL_NEW_V0_CONTROL 0xfffe +#define NVIF_IOCTL_NEW_V0_PERFMON 0x +#define NVIF_IOCTL_NEW_V0_PERFCTR 0xfffe +#define NVIF_IOCTL_NEW_V0_CONTROL 0xfffd It doesn't matter this time, because we're technically breaking ABI already anyway and current userspace won't be effected, but best to avoid changing class numbers like this :) It's fine this time though. Sure, since the nvif interface is still not exposed through libdrm, this is not going to affect
[Nouveau] [PATCH 2/2] pm: some fixes related to sources
Signed-off-by: Samuel Pitoiset samuel.pitoi...@gmail.com --- This patch should be squashed with pm: allow the userspace to configure sources. drm/nouveau/nvkm/engine/pm/base.c | 21 - 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/drm/nouveau/nvkm/engine/pm/base.c b/drm/nouveau/nvkm/engine/pm/base.c index f505a11..7866e22 100644 --- a/drm/nouveau/nvkm/engine/pm/base.c +++ b/drm/nouveau/nvkm/engine/pm/base.c @@ -154,6 +154,8 @@ nvkm_perfsrc_enable(struct nvkm_pm *ppm, struct nvkm_perfctr *ctr) /* enable the source */ nv_mask(ppm, src-addr, mask, value); + nv_debug(ppm, enabled source 0x%08x 0x%08x 0x%08x\n, +src-addr, mask, value); } } return 0; @@ -165,6 +167,7 @@ nvkm_perfsrc_disable(struct nvkm_pm *ppm, struct nvkm_perfctr *ctr) struct nvkm_perfdom *dom = NULL; struct nvkm_perfsig *sig; struct nvkm_perfsrc *src; + u32 mask; int i, j; for (i = 0; i 4 ctr-signal[i]; i++) { @@ -178,8 +181,16 @@ nvkm_perfsrc_disable(struct nvkm_pm *ppm, struct nvkm_perfctr *ctr) if (!src) return -EINVAL; + /* unset enable bit if needed */ + mask = 0x; + if (src-enable) + mask = 0x8000; + mask |= (src-mask src-shift); + /* disable the source */ - nv_mask(ppm, src-addr, src-mask src-shift, 0); + nv_mask(ppm, src-addr, mask, 0); + nv_debug(ppm, disabled source 0x%08x 0x%08x\n, +src-addr, mask); } } return 0; @@ -309,7 +320,7 @@ nvkm_perfdom_dtor(struct nvkm_object *object) } static int -nvkm_perfctr_new(struct nvkm_perfdom *dom, int slot, +nvkm_perfctr_new(struct nvkm_perfdom *dom, int slot, uint8_t domain, struct nvkm_perfsig *signal[4], uint64_t source[4][8], uint16_t logic_op, struct nvkm_perfctr **pctr) { @@ -323,6 +334,7 @@ nvkm_perfctr_new(struct nvkm_perfdom *dom, int slot, if (!ctr) return -ENOMEM; + ctr-domain = domain; ctr-logic_op = logic_op; ctr-slot = slot; for (i = 0; i 4; i++) { @@ -361,7 +373,7 @@ nvkm_perfdom_ctor(struct nvkm_object *parent, struct nvkm_object *engine, for (c = 0; c ARRAY_SIZE(args-v0.ctr); c++) { struct nvkm_perfsig *sig[4] = {}; - u64 src[4][8]; + u64 src[4][8] = {}; for (s = 0; s ARRAY_SIZE(args-v0.ctr[c].signal); s++) { sig[s] = nvkm_perfsig_find(ppm, args-v0.domain, @@ -378,11 +390,10 @@ nvkm_perfdom_ctor(struct nvkm_object *parent, struct nvkm_object *engine, } } - ret = nvkm_perfctr_new(sdom, c, sig, src, + ret = nvkm_perfctr_new(sdom, c, args-v0.domain, sig, src, args-v0.ctr[c].logic_op, ctr[c]); if (ret) return ret; - ctr[c]-domain = args-v0.domain; } if (!sdom) -- 2.4.2 ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 76818] [NVE7] GPU lockup
https://bugs.freedesktop.org/show_bug.cgi?id=76818 Samuel Pitoiset samuel.pitoi...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #11 from Samuel Pitoiset samuel.pitoi...@gmail.com --- Feel free to re-open the issue if the bug still occurs. -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [PATCH 1/2] pm/gf100: allow to share GPC, HUB and PART domains
Signed-off-by: Samuel Pitoiset samuel.pitoi...@gmail.com --- drm/nouveau/include/nvkm/engine/pm.h | 2 +- drm/nouveau/nvkm/engine/device/gf100.c | 18 +- drm/nouveau/nvkm/engine/pm/gf100.c | 22 +- drm/nouveau/nvkm/engine/pm/gf100.h | 11 +++ 4 files changed, 34 insertions(+), 19 deletions(-) diff --git a/drm/nouveau/include/nvkm/engine/pm.h b/drm/nouveau/include/nvkm/engine/pm.h index 82f1c7f..ce5d93e 100644 --- a/drm/nouveau/include/nvkm/engine/pm.h +++ b/drm/nouveau/include/nvkm/engine/pm.h @@ -26,7 +26,7 @@ extern struct nvkm_oclass *nv50_pm_oclass; extern struct nvkm_oclass *g84_pm_oclass; extern struct nvkm_oclass *gt200_pm_oclass; extern struct nvkm_oclass *gt215_pm_oclass; -extern struct nvkm_oclass gf100_pm_oclass; +extern struct nvkm_oclass *gf100_pm_oclass; extern struct nvkm_oclass gk104_pm_oclass; extern struct nvkm_oclass gk110_pm_oclass; #endif diff --git a/drm/nouveau/nvkm/engine/device/gf100.c b/drm/nouveau/nvkm/engine/device/gf100.c index 82b38d7..84a6abb 100644 --- a/drm/nouveau/nvkm/engine/device/gf100.c +++ b/drm/nouveau/nvkm/engine/device/gf100.c @@ -90,7 +90,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_CE1] = gf100_ce1_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gt215_disp_oclass; - device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; + device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xc4: device-cname = GF104; @@ -123,7 +123,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_CE1] = gf100_ce1_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gt215_disp_oclass; - device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; + device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xc3: device-cname = GF106; @@ -155,7 +155,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_MSPPP ] = gf100_msppp_oclass; device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gt215_disp_oclass; - device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; + device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xce: device-cname = GF114; @@ -188,7 +188,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_CE1] = gf100_ce1_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gt215_disp_oclass; - device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; + device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xcf: device-cname = GF116; @@ -220,7 +220,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_MSPPP ] = gf100_msppp_oclass; device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gt215_disp_oclass; - device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; + device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xc1: device-cname = GF108; @@ -252,7 +252,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_MSPPP ] = gf100_msppp_oclass; device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gt215_disp_oclass; - device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; + device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xc8: device-cname = GF110; @@ -285,7 +285,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_CE1] = gf100_ce1_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gt215_disp_oclass; - device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; + device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; break; case 0xd9: device-cname = GF119; @@ -317,7 +317,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_MSPPP ] = gf100_msppp_oclass; device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gf110_disp_oclass; -
[Nouveau] [PATCH 2/2] pm/gf100: add compute signals/sources
These signals and sources have been reverse engineered from CUPTI (Linux). Graphics signals exposed by PerfKit (Windows only) will be added later. I need to reverse engineer them and it's a bit painful. This commit also adds a new class for GF108 and GF117. Signed-off-by: Samuel Pitoiset samuel.pitoi...@gmail.com --- drm/nouveau/include/nvkm/engine/pm.h | 2 + drm/nouveau/nvkm/engine/device/gf100.c | 6 +-- drm/nouveau/nvkm/engine/pm/Kbuild | 2 + drm/nouveau/nvkm/engine/pm/gf100.c | 96 +- drm/nouveau/nvkm/engine/pm/gf100.h | 5 ++ drm/nouveau/nvkm/engine/pm/gf108.c | 84 + drm/nouveau/nvkm/engine/pm/gf117.c | 92 7 files changed, 282 insertions(+), 5 deletions(-) create mode 100644 drm/nouveau/nvkm/engine/pm/gf108.c create mode 100644 drm/nouveau/nvkm/engine/pm/gf117.c diff --git a/drm/nouveau/include/nvkm/engine/pm.h b/drm/nouveau/include/nvkm/engine/pm.h index ce5d93e..ed36daf 100644 --- a/drm/nouveau/include/nvkm/engine/pm.h +++ b/drm/nouveau/include/nvkm/engine/pm.h @@ -27,6 +27,8 @@ extern struct nvkm_oclass *g84_pm_oclass; extern struct nvkm_oclass *gt200_pm_oclass; extern struct nvkm_oclass *gt215_pm_oclass; extern struct nvkm_oclass *gf100_pm_oclass; +extern struct nvkm_oclass *gf108_pm_oclass; +extern struct nvkm_oclass *gf117_pm_oclass; extern struct nvkm_oclass gk104_pm_oclass; extern struct nvkm_oclass gk110_pm_oclass; #endif diff --git a/drm/nouveau/nvkm/engine/device/gf100.c b/drm/nouveau/nvkm/engine/device/gf100.c index 84a6abb..65b151d 100644 --- a/drm/nouveau/nvkm/engine/device/gf100.c +++ b/drm/nouveau/nvkm/engine/device/gf100.c @@ -252,7 +252,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_MSPPP ] = gf100_msppp_oclass; device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gt215_disp_oclass; - device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; + device-oclass[NVDEV_ENGINE_PM ] = gf108_pm_oclass; break; case 0xc8: device-cname = GF110; @@ -317,7 +317,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_MSPPP ] = gf100_msppp_oclass; device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gf110_disp_oclass; - device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; + device-oclass[NVDEV_ENGINE_PM ] = gf117_pm_oclass; break; case 0xd7: device-cname = GF117; @@ -347,7 +347,7 @@ gf100_identify(struct nvkm_device *device) device-oclass[NVDEV_ENGINE_MSPPP ] = gf100_msppp_oclass; device-oclass[NVDEV_ENGINE_CE0] = gf100_ce0_oclass; device-oclass[NVDEV_ENGINE_DISP ] = gf110_disp_oclass; - device-oclass[NVDEV_ENGINE_PM ] = gf100_pm_oclass; + device-oclass[NVDEV_ENGINE_PM ] = gf117_pm_oclass; break; default: nv_fatal(device, unknown Fermi chipset\n); diff --git a/drm/nouveau/nvkm/engine/pm/Kbuild b/drm/nouveau/nvkm/engine/pm/Kbuild index cc01048..4fadf55 100644 --- a/drm/nouveau/nvkm/engine/pm/Kbuild +++ b/drm/nouveau/nvkm/engine/pm/Kbuild @@ -5,5 +5,7 @@ nvkm-y += nvkm/engine/pm/g84.o nvkm-y += nvkm/engine/pm/gt200.o nvkm-y += nvkm/engine/pm/gt215.o nvkm-y += nvkm/engine/pm/gf100.o +nvkm-y += nvkm/engine/pm/gf108.o +nvkm-y += nvkm/engine/pm/gf117.o nvkm-y += nvkm/engine/pm/gk104.o nvkm-y += nvkm/engine/pm/gk110.o diff --git a/drm/nouveau/nvkm/engine/pm/gf100.c b/drm/nouveau/nvkm/engine/pm/gf100.c index 64db47e..b40c218 100644 --- a/drm/nouveau/nvkm/engine/pm/gf100.c +++ b/drm/nouveau/nvkm/engine/pm/gf100.c @@ -23,18 +23,110 @@ */ #include gf100.h +const struct nvkm_specsrc +gf100_pmfb_sources[] = { + { 0x140028, (const struct nvkm_specmux[]) { + { 0x3fff, 0, unk0 }, + { 0x7, 16, unk16 }, + { 0x3, 24, unk24 }, + { 0x2, 29, unk29 }, + {} + }, pmfb0_pm_unk28 }, + {} +}; + +static const struct nvkm_specsrc +gf100_l1_sources[] = { + { 0x5044a8, (const struct nvkm_specmux[]) { + { 0x3f, 0, sel, true }, + {} + }, pgraph_gpc0_tpc0_l1_pm_mux }, + {} +}; + +static const struct nvkm_specsrc +gf100_pbfb_sources[] = { + { 0x10f100, (const struct nvkm_specmux[]) { + { 0x1, 0, unk0 }, + { 0xf, 4, unk4 }, + { 0x3, 8, unk8 }, + {} + }, pbfb_broadcast_pm_unk100 }, + {} +}; + +static const struct nvkm_specsrc +gf100_tex_sources[] = { + { 0x5042c0, (const
[Nouveau] [Bug 77361] [nve7] nouveau not working on 3.13 linux kernel
https://bugs.freedesktop.org/show_bug.cgi?id=77361 --- Comment #25 from sam.halli...@gmail.com --- Hi, I got the NVIDIA drivers to work so I haven't looked back. Good luck with the project, I really wish I could use it instead of the proprietary drivers. I'm never buying an NVIDIA card by choice. On 14 June 2015 at 13:04, bugzilla-dae...@freedesktop.org wrote: Samuel Pitoiset samuel.pitoi...@gmail.com changed bug 77361 https://bugs.freedesktop.org/show_bug.cgi?id=77361 What Removed Added Status NEW RESOLVED Resolution --- WORKSFORME *Comment # 24 https://bugs.freedesktop.org/show_bug.cgi?id=77361#c24 on bug 77361 https://bugs.freedesktop.org/show_bug.cgi?id=77361 from Samuel Pitoiset samuel.pitoi...@gmail.com * Feel free to re-open the issue if the bug still occurs. -- You are receiving this mail because: - You reported the bug. -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 90453] [NVE4] Desktop freezes PDISP, PFIFO, PGRAPH and PGR errors
https://bugs.freedesktop.org/show_bug.cgi?id=90453 --- Comment #22 from Argyris Megalios argy...@gmail.com --- I originally added my problem to bug 89912, as my original error message was not seen here. kernel: nouveau E[ PFIFO][:01:00.0] write fault at 0x2a [PTE] from GR/GPC0/PROP_0 on channel 0x007f96c000 [Xorg[383]] kernel: nouveau E[ PFIFO][:01:00.0] PGR engine fault on channel 2, recovering... However, after also getting the following: kernel: nouveau E[ PFIFO][:01:00.0] SCHED_ERROR [ CTXSW_TIMEOUT ] kernel: nouveau E[ PFIFO][:01:00.0] PGR engine fault on channel 10, recovering... I am inclined to thing the bugs are duplicates. Now, while playing a game (which actually played fine yesterday) I have had two consecutive freezes with the message: kernel: nouveau E[ DRM] GPU lockup - switching to software fbcon I, too, will be switching to the nvidia driver for the moment, however I will be happy to assist with any fix tests. -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 90871] NV30: Xfwm4 use_compositing - garbled display
https://bugs.freedesktop.org/show_bug.cgi?id=90871 --- Comment #10 from poma pomidorabelis...@gmail.com --- (In reply to poma from comment #9) (In reply to poma from comment #5) ... Interestingly, in contrast to Xorg-1.17.1, on Xorg-1.16.3 NV30 can work with 'modesetting': FTR Xorg-1.17.1 'modesetting' ist kaputt also with NV50. Precisely - with 32 bit https://bugs.freedesktop.org/show_bug.cgi?id=90978 -- You are receiving this mail because: You are the QA Contact for the bug. You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 90976] New: GM204 (NV124) black screen on modesetting
https://bugs.freedesktop.org/show_bug.cgi?id=90976 Bug ID: 90976 Summary: GM204 (NV124) black screen on modesetting Product: xorg Version: unspecified Hardware: x86-64 (AMD64) OS: Linux (All) Status: NEW Severity: major Priority: high Component: Driver/nouveau Assignee: nouveau@lists.freedesktop.org Reporter: roucaries.bastien+b...@gmail.com QA Contact: xorg-t...@lists.x.org Created attachment 116492 -- https://bugs.freedesktop.org/attachment.cgi?id=116492action=edit dmesg Modesetting does not work. The card is linked to sony bravia TV through HDMI I achieved to get a trace by blacklisting nouveau then manually load it. error log here (full dmesg joinded): [ 143.521000] nouveau E[ DRM] Pointer to flat panel table invalid [ 143.525351] nouveau W[ DRM] unknown connector type 70 [ 143.525387] nouveau W[ DRM] failed to create encoder 1/8/0: -19 [ 143.525388] nouveau W[ DRM] Unknown-1 has no encoders, removing [ 143.525407] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 143.525407] [drm] Driver supports precise vblank timestamp query. [ 143.525424] nouveau E[ DRM] failed to initialise sync subsystem, -38 [ 143.819264] nouveau [ DRM] allocated 1920x1080 fb: 0x6, bo 8802135d3000 What could I do ? -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau