search for: nouveau_boolopt

Displaying 20 results from an estimated 33 matches for "nouveau_boolopt".

2014 Mar 24
2
[PATCH 08/12] drm/nouveau/graph: enable when using external firmware
...gine, > struct nvc0_graph_oclass *oclass = (void *)bclass; > struct nouveau_device *device = nv_device(parent); > struct nvc0_graph_priv *priv; > + bool use_fw; Perhaps "ext_fw" or "use_ext_fw" would be more accurate. > int ret, i; > > + use_fw = nouveau_boolopt(device->cfgopt, "NvGrUseFW", false); > + > ret = nouveau_graph_create(parent, engine, bclass, > - (oclass->fecs.ucode != NULL), &priv); > + (oclass->fecs.ucode != NULL) || use_fw, > + &priv); Or perhaps a more intuitive way would be to...
2014 May 18
1
[PATCH 1/2] fb: default NvMemExec to on, turning it off is used for debugging only
...ramnv50.c b/nvkm/subdev/fb/ramnv50.c index ef91b6e..e5d12c2 100644 --- a/nvkm/subdev/fb/ramnv50.c +++ b/nvkm/subdev/fb/ramnv50.c @@ -211,7 +211,7 @@ nv50_ram_prog(struct nouveau_fb *pfb) struct nv50_ram *ram = (void *)pfb->ram; struct nv50_ramseq *hwsq = &ram->hwsq; - ram_exec(hwsq, nouveau_boolopt(device->cfgopt, "NvMemExec", false)); + ram_exec(hwsq, nouveau_boolopt(device->cfgopt, "NvMemExec", true)); return 0; } diff --git a/nvkm/subdev/fb/ramnva3.c b/nvkm/subdev/fb/ramnva3.c index 6eb97f1..8076fb1 100644 --- a/nvkm/subdev/fb/ramnva3.c +++ b/nvkm/subdev/fb/r...
2014 Apr 28
4
[PATCH v3 6/9] drm/nouveau/graph: enable when using external firmware
...on external firmware, even > though such a use-case is valid. > > Relax the conditions enabling the GR engine to also include the case > where an external firmware has also been loaded. I'm happy to take this patch as-is. I do wonder if we should do something like this though: if (nouveau_boolopt(device->cfgopt, "NvGrUseFW", oclass->fecs.ucode == NULL)) Which will automatically switch to external firmware if there's no internal implementation available. Thoughts? This could be a separate patch even, if preferred. Thanks, Ben. > > Signed-off-by: Alexandre Courb...
2014 Mar 24
0
[PATCH 08/12] drm/nouveau/graph: enable when using external firmware
...gine/graph/nvc0.c @@ -1133,10 +1133,14 @@ nvc0_graph_ctor(struct nouveau_object *parent, struct nouveau_object *engine, struct nvc0_graph_oclass *oclass = (void *)bclass; struct nouveau_device *device = nv_device(parent); struct nvc0_graph_priv *priv; + bool use_fw; int ret, i; + use_fw = nouveau_boolopt(device->cfgopt, "NvGrUseFW", false); + ret = nouveau_graph_create(parent, engine, bclass, - (oclass->fecs.ucode != NULL), &priv); + (oclass->fecs.ucode != NULL) || use_fw, + &priv); *pobject = nv_object(priv); if (ret) return ret; @@ -1146,7 +11...
2014 Mar 26
0
[PATCH 08/12] drm/nouveau/graph: enable when using external firmware
...)bclass; >> struct nouveau_device *device = nv_device(parent); >> struct nvc0_graph_priv *priv; >> + bool use_fw; > > Perhaps "ext_fw" or "use_ext_fw" would be more accurate. > >> int ret, i; >> >> + use_fw = nouveau_boolopt(device->cfgopt, "NvGrUseFW", false); >> + >> ret = nouveau_graph_create(parent, engine, bclass, >> - (oclass->fecs.ucode != NULL), &priv); >> + (oclass->fecs.ucode != NULL) || use_fw,...
2014 Apr 25
0
[PATCH v3 6/9] drm/nouveau/graph: enable when using external firmware
...struct nvc0_graph_oclass *oclass = (void *)bclass; struct nouveau_device *device = nv_device(parent); struct nvc0_graph_priv *priv; + bool use_ext_fw, enable; int ret, i; - ret = nouveau_graph_create(parent, engine, bclass, - (oclass->fecs.ucode != NULL), &priv); + use_ext_fw = nouveau_boolopt(device->cfgopt, "NvGrUseFW", false); + enable = use_ext_fw || oclass->fecs.ucode != NULL; + + ret = nouveau_graph_create(parent, engine, bclass, enable, &priv); *pobject = nv_object(priv); if (ret) return ret; @@ -1272,7 +1275,7 @@ nvc0_graph_ctor(struct nouveau_object *p...
2012 Sep 12
2
[PATCH] drm/nouveau: add default debug level override
...ebug_level = CONFIG_NOUVEAU_DEBUG_DEFAULT; +module_param_named(debug_level, nouveau_debug_level, int, 0400); + /* compares unterminated string 'str' with zero-terminated string 'cmp' */ static inline int strncasecmpz(const char *str, const char *cmp, size_t len) @@ -86,7 +93,7 @@ nouveau_boolopt(const char *optstr, const char *opt, bool value) int nouveau_dbgopt(const char *optstr, const char *sub) { - int mode = 1, level = CONFIG_NOUVEAU_DEBUG_DEFAULT; + int mode = 1, level = nouveau_debug_level; while (optstr) { int len = strcspn(optstr, ",="); -- 1.7.12
2012 Oct 07
2
[PATCH] drm/nouveau: fix error handling in core/core object creation functions
...drm/nouveau/core/core/engine.c b/drivers/gpu/drm/nouveau/core/core/engine.c index 09b3bd5..4319854 100644 --- a/drivers/gpu/drm/nouveau/core/core/engine.c +++ b/drivers/gpu/drm/nouveau/core/core/engine.c @@ -44,6 +44,7 @@ nouveau_engine_create_(struct nouveau_object *parent, return ret; if (!nouveau_boolopt(device->cfgopt, iname, enable)) { + nouveau_subdev_destroy(&engine->base); if (!enable) nv_warn(engine, "disabled, %s=1 to enable\n", iname); return -ENODEV; diff --git a/drivers/gpu/drm/nouveau/core/core/gpuobj.c b/drivers/gpu/drm/nouveau/core/core/gpuobj.c index c2a...
2014 Jan 10
2
[PATCH 1/3] drm/nouveau: provide a way for devinit to mark engines as disabled
...**pobject) { struct nouveau_engine *engine; + struct nouveau_device *device; int ret; ret = nouveau_subdev_create_(parent, engobj, oclass, NV_ENGINE_CLASS, @@ -42,11 +43,21 @@ nouveau_engine_create_(struct nouveau_object *parent, if (ret) return ret; - if ( parent && - !nouveau_boolopt(nv_device(parent)->cfgopt, iname, enable)) { - if (!enable) - nv_warn(engine, "disabled, %s=1 to enable\n", iname); - return -ENODEV; + if (parent) { + device = nv_device(parent); + if (device->disable_mask & (1ULL << (oclass->handle & 0xff))) { + if (nouvea...
2013 Aug 28
3
[PATCH 6/6] drm/nouveau: use MSI interrupts
...pci_disable_msi(device->pdev); > nouveau_subdev_destroy(&pmc->base); > } > > @@ -96,6 +102,17 @@ nouveau_mc_create_(struct nouveau_object *parent, struct nouveau_object *engine, > > pmc->intr_map = intr_map; > > + pmc->use_msi = nouveau_boolopt(device->cfgopt, "NvMSI", true); > + if (pmc->use_msi) { > + ret = pci_enable_msi(device->pdev); > + if (ret) { > + pmc->use_msi = false; > + } else { > + nv_wr08(devic...
2013 Aug 28
0
[PATCH 6/6] drm/nouveau: use MSI interrupts
...rq(device->pdev->irq, pmc); + if (pmc->use_msi) + pci_disable_msi(device->pdev); nouveau_subdev_destroy(&pmc->base); } @@ -96,6 +102,17 @@ nouveau_mc_create_(struct nouveau_object *parent, struct nouveau_object *engine, pmc->intr_map = intr_map; + pmc->use_msi = nouveau_boolopt(device->cfgopt, "NvMSI", true); + if (pmc->use_msi) { + ret = pci_enable_msi(device->pdev); + if (ret) { + pmc->use_msi = false; + } else { + nv_wr08(device, 0x00088068, 0xff); + nv_info(pmc, "MSI interrupts enabled\n"); + } + } + ret = request_irq(device...
2014 Apr 28
0
[PATCH v3 6/9] drm/nouveau/graph: enable when using external firmware
...ugh such a use-case is valid. > > > > Relax the conditions enabling the GR engine to also include the case > > where an external firmware has also been loaded. > I'm happy to take this patch as-is. I do wonder if we should do > something like this though: > > if (nouveau_boolopt(device->cfgopt, "NvGrUseFW", oclass->fecs.ucode == NULL)) > > Which will automatically switch to external firmware if there's no > internal implementation available. I think that makes a lot of sense. Perhaps outputting a warning or so at runtime when this happens wou...
2014 May 01
0
[PATCH v3 6/9] drm/nouveau/graph: enable when using external firmware
...though such a use-case is valid. >> >> Relax the conditions enabling the GR engine to also include the case >> where an external firmware has also been loaded. > I'm happy to take this patch as-is. I do wonder if we should do > something like this though: > > if (nouveau_boolopt(device->cfgopt, "NvGrUseFW", oclass->fecs.ucode == NULL)) > > Which will automatically switch to external firmware if there's no > internal implementation available. > > Thoughts? This could be a separate patch even, if preferred. Sure, that should work. Do you...
2014 Dec 30
0
[PATCH] mc: add missing braces
...device_is_pci(device)) { switch (device->pdev->device & 0x0ff0) { case 0x00f0: case 0x02e0: @@ -138,6 +138,7 @@ nouveau_mc_create_(struct nouveau_object *parent, struct nouveau_object *engine, default: pmc->use_msi = true; break; + } } pmc->use_msi = nouveau_boolopt(device->cfgopt, "NvMSI", -- 1.9.1
2013 Aug 28
0
[PATCH 6/6] drm/nouveau: use MSI interrupts
...; > > nouveau_subdev_destroy(&pmc->base); > > } > > > > @@ -96,6 +102,17 @@ nouveau_mc_create_(struct nouveau_object *parent, struct nouveau_object *engine, > > > > pmc->intr_map = intr_map; > > > > + pmc->use_msi = nouveau_boolopt(device->cfgopt, "NvMSI", true); > > + if (pmc->use_msi) { > > + ret = pci_enable_msi(device->pdev); > > + if (ret) { > > + pmc->use_msi = false; > > + } else { > > +...
2014 Apr 25
12
[PATCH v3 0/9] drm/nouveau: support for GK20A, cont'd
Changes since v2: - Enabled software class - Removed unneeded changes to nouveau_accel_init() - Replaced use of architecture-private pfn_to_dma() and dma_to_pfn() with the portable page_to_phys()/phys_to_page() - Fixed incorrect comment/commit log talking about bytes instead of words Hope this looks good! Once this gets merged the next set will be to use this driver on Jetson and Venice2
2014 Feb 13
0
[PATCH v2] drm/nouveau: support for platform devices
...fault: >> + switch (device->chipset) { >> + case 0xaa: >> + /* reported broken, nv also disable it */ >> + break; >> + default: >> + pmc->use_msi = true; >> + break; >> } >> } >> >> pmc->use_msi = nouveau_boolopt(device->cfgopt, "NvMSI", pmc->use_msi); > As you explicitly disable msi on platform devices you can move the > option parsing within the if (nv_device_is_pci()) block. Yes, that's correct. Actually I think it would also make sense to move the next paragraph under the &qu...
2014 May 16
2
[PATCH] clk: allow config option to enable reclocking
...ks *clocks, + bool allow_reclock, int length, void **object) { struct nouveau_device *device = nv_device(parent); @@ -478,6 +479,9 @@ nouveau_clock_create_(struct nouveau_object *parent, ret = nouveau_pstate_new(clk, idx++); } while (ret == 0); + clk->allow_reclock = + nouveau_boolopt(device->cfgopt, "NvReclock", allow_reclock); + mode = nouveau_stropt(device->cfgopt, "NvClkMode", &arglen); if (mode) { if (!strncasecmpz(mode, "disabled", arglen)) { diff --git a/nvkm/subdev/clock/nv04.c b/nvkm/subdev/clock/nv04.c index b74db6c..eb2d4...
2013 Aug 28
11
[PATCH 0/6] Nouveau on ARM fixes
This is the first set of patches to make Nouveau work on Tegra. Those are only the obvious correctness fixes, a lot of optimization work remains to be done, but at least it's enough to get accel working and let the machine survive a piglit run. A new BO flag is introduced to allow userspace to hint the kernel about possible optimizations. Lucas Stach (6): drm/ttm: recognize ARM arch in
2014 Feb 12
2
[PATCH v2] drm/nouveau: support for platform devices
...led yet exactly */ > break; > + default: > + switch (device->chipset) { > + case 0xaa: > + /* reported broken, nv also disable it */ > + break; > + default: > + pmc->use_msi = true; > + break; > } > } > > pmc->use_msi = nouveau_boolopt(device->cfgopt, "NvMSI", pmc->use_msi); As you explicitly disable msi on platform devices you can move the option parsing within the if (nv_device_is_pci()) block. This way you can drop the change in the following conditional and the similar one in _nouveau_mc_dtor. > - if (pmc...