Samuel Pitoiset
2015-Sep-23 21:20 UTC
[Nouveau] [PATCH 1/2] fb/ramgf100: disable memory reclocking by default
Although memory reclocking seems to be completely broken on my GF119, we can at least allow users to enable reclocking for the core clock. Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com> --- drm/nouveau/nvkm/subdev/fb/ramgf100.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drm/nouveau/nvkm/subdev/fb/ramgf100.c b/drm/nouveau/nvkm/subdev/fb/ramgf100.c index 772425c..a3219a2 100644 --- a/drm/nouveau/nvkm/subdev/fb/ramgf100.c +++ b/drm/nouveau/nvkm/subdev/fb/ramgf100.c @@ -409,7 +409,7 @@ gf100_ram_prog(struct nvkm_ram *base) { struct gf100_ram *ram = gf100_ram(base); struct nvkm_device *device = ram->base.fb->subdev.device; - ram_exec(&ram->fuc, nvkm_boolopt(device->cfgopt, "NvMemExec", true)); + ram_exec(&ram->fuc, nvkm_boolopt(device->cfgopt, "NvMemExec", false)); return 0; } -- 2.5.3
Samuel Pitoiset
2015-Sep-23 21:20 UTC
[Nouveau] [PATCH 2/2] clk/gf100: allow users to enable reclocking
Only the core clock is currently supported. Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com> --- drm/nouveau/nvkm/subdev/clk/gf100.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drm/nouveau/nvkm/subdev/clk/gf100.c b/drm/nouveau/nvkm/subdev/clk/gf100.c index a52b7e7..807305a 100644 --- a/drm/nouveau/nvkm/subdev/clk/gf100.c +++ b/drm/nouveau/nvkm/subdev/clk/gf100.c @@ -462,5 +462,5 @@ gf100_clk_new(struct nvkm_device *device, int index, struct nvkm_clk **pclk) return -ENOMEM; *pclk = &clk->base; - return nvkm_clk_ctor(&gf100_clk, device, index, false, &clk->base); + return nvkm_clk_ctor(&gf100_clk, device, index, true, &clk->base); } -- 2.5.3
Martin Peres
2015-Sep-23 22:00 UTC
[Nouveau] [PATCH 2/2] clk/gf100: allow users to enable reclocking
On 24/09/15 00:20, Samuel Pitoiset wrote:> Only the core clock is currently supported. > > Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com> > --- > drm/nouveau/nvkm/subdev/clk/gf100.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drm/nouveau/nvkm/subdev/clk/gf100.c b/drm/nouveau/nvkm/subdev/clk/gf100.c > index a52b7e7..807305a 100644 > --- a/drm/nouveau/nvkm/subdev/clk/gf100.c > +++ b/drm/nouveau/nvkm/subdev/clk/gf100.c > @@ -462,5 +462,5 @@ gf100_clk_new(struct nvkm_device *device, int index, struct nvkm_clk **pclk) > return -ENOMEM; > *pclk = &clk->base; > > - return nvkm_clk_ctor(&gf100_clk, device, index, false, &clk->base); > + return nvkm_clk_ctor(&gf100_clk, device, index, true, &clk->base); > }What changed that suddenly made reclocking OK? You really need to prove it is and a few hours of testing are not enough ;) Make sure that the clock tree is parsed correctly, then programmed correctly. Make sure that reclocking while the card is being used is also kind of stable, at least on your card. After that, you may enable it and test on more Fermis. Until then, this patch is premature, at best.
Maybe Matching Threads
- [PATCH 02/11] nvkm/ramgf100: Calculate timings
- [PATCH 0/2] allow partly reclocking on chipset
- [PATCH v3] clk: Restore BYPASS_PLL_CHECK from PLLs
- [PATCH 04/11] nvkm/ramgt215: Move ram training up the chain
- [PATCH] drm/nouveau: declare constants as unsigned long.