search for: pmc_enabl

Displaying 13 results from an estimated 13 matches for "pmc_enabl".

Did you mean: pmc_enable
2016 Dec 13
0
[PATCH v2 2/15] mc: add nvkm_mc_enabled() function
...ex 6b25e25f9eba..09f669ac6630 100644 --- a/drm/nouveau/nvkm/subdev/mc/base.c +++ b/drm/nouveau/nvkm/subdev/mc/base.c @@ -161,6 +161,16 @@ nvkm_mc_enable(struct nvkm_device *device, enum nvkm_devidx devidx) } } +bool +nvkm_mc_enabled(struct nvkm_device *device, enum nvkm_devidx devidx) +{ + u64 pmc_enable = nvkm_mc_reset_mask(device, false, devidx); + + return (pmc_enable != 0) && + ((nvkm_rd32(device, 0x000200) & pmc_enable) == pmc_enable); +} + + static int nvkm_mc_fini(struct nvkm_subdev *subdev, bool suspend) { -- git-series 0.8.10
2016 Apr 18
0
[PATCH v4 34/37] mc: fix NULL pointer access in libnouveau
...+++ b/drm/nouveau/nvkm/subdev/mc/base.c @@ -90,10 +90,15 @@ nvkm_mc_intr(struct nvkm_mc *mc, bool *handled) void nvkm_mc_reset(struct nvkm_mc *mc, enum nvkm_devidx devidx) { - struct nvkm_device *device = mc->subdev.device; + struct nvkm_device *device; const struct nvkm_mc_map *map; u64 pmc_enable; + if (!mc) + return; + + device = mc->subdev.device; + if (!(pmc_enable = nvkm_top_reset(device->top, devidx))) { for (map = mc->func->reset; map && map->stat; map++) { if (map->unit == devidx) { -- 2.8.1
2008 Mar 09
7
[Bug 14921] New: NV25 doesn' t work after commit 71adbfc874517efbba8b9f7c3f90baad0d7fb707
http://bugs.freedesktop.org/show_bug.cgi?id=14921 Summary: NV25 doesn't work after commit 71adbfc874517efbba8b9f7c3f90baad0d7fb707 Product: xorg Version: unspecified Platform: Other OS/Version: All Status: NEW Severity: normal Priority: medium Component: Driver/nouveau
2015 Apr 13
3
[PATCH v4] pmu/gk20a: PMU boot support
..._idle(struct gk20a_pmu_priv *priv) +{ + if (!nv_wait(priv, 0x0010a04c, 0x0000ffff, 0x00000000)) { + nv_error(priv, "timeout waiting pmu idle\n"); + return -EBUSY; + } + + return 0; +} + +static int +gk20a_pmu_enable(struct gk20a_pmu_priv *priv, struct nvkm_mc *pmc, bool enable) +{ + u32 pmc_enable; + int err; + + if (enable) { + err = gk20a_pmu_enable_hw(priv, pmc, true); + if (err) + return err; + + err = gk20a_pmu_idle(priv); + if (err) + return err; + + gk20a_pmu_enable_irq(priv, pmc, true); + } else { + pmc_enable = nv_rd32(pmc, 0x200); + if ((pmc_enable & 0x2000) != 0x0)...
2009 Aug 19
1
[PATCH] drm/nouveau: Add a MM for mappable VRAM that isn't usable as scanout.
...v_priv=dev->dev_private; + uint64_t vram_size = dev_priv->fb_available_size; + + if (dev_priv->card_type == NV_04) + return min(16ull*1024*1024, vram_size); + + return vram_size; +} + static void nouveau_mem_reset_agp(struct drm_device *dev) { uint32_t saved_pci_nv_1, saved_pci_nv_19, pmc_enable; @@ -482,7 +495,7 @@ nouveau_mem_init(struct drm_device *dev) { struct drm_nouveau_private *dev_priv = dev->dev_private; struct ttm_bo_device *bdev = &dev_priv->ttm.bdev; - uint32_t vram_size, bar1_size, text_size; + uint32_t vram_size, bar1_size, text_size, scanout_size; int ret,...
2015 Apr 08
3
[PATCH V2] pmu/gk20a: PMU boot support.
...+static int +pmu_idle(struct nvkm_pmu *ppmu) +{ + if (!nv_wait(ppmu, 0x0010a04c, 0x0000ffff, 0x00000000)) { + nv_error(ppmu, "timedout waiting pmu idle\n"); + return -EBUSY; + } + + return 0; +} + +static int +pmu_enable(struct nvkm_pmu *ppmu, struct nvkm_mc *pmc, bool enable) +{ + u32 pmc_enable; + int err; + + if (enable) { + err = gk20a_pmu_enable_hw(ppmu, pmc, true); + if (err) + return err; + + err = pmu_idle(ppmu); + if (err) + return err; + + pmu_enable_irq(ppmu, pmc, true); + } else { + pmc_enable = nv_rd32(pmc, 0x200); + if ((pmc_enable & 0x2000) != 0x0) { + pmu_e...
2015 Apr 30
2
[PATCH v4] pmu/gk20a: PMU boot support
...waiting pmu idle\n"); >> + return -EBUSY; >> + } >> + >> + return 0; >> +} >> + >> +static int >> +gk20a_pmu_enable(struct gk20a_pmu_priv *priv, struct nvkm_mc *pmc, bool >> enable) >> +{ >> + u32 pmc_enable; >> + int err; >> + >> + if (enable) { >> + err = gk20a_pmu_enable_hw(priv, pmc, true); >> + if (err) >> + return err; >> + >> + err = gk20a_pmu_idle(priv); >> +...
2016 Dec 06
9
[PATCH 0/8] Falcon library
This was the first step of the secure boot refactoring - as Ben asked for some fixes, I now submit it as its own series to make it easier to review (and also because rebasing secure boot on top of this takes time and I don't want to do it until this is validated!). This series attempts to factorize the duplicate falcon-related code into a single library, using the existing nvkm_falcon
2015 Mar 11
0
[PATCH] pmu/gk20a: PMU boot support.
...0; > + nv_wr32(pmc, 0x00000200, reg); > + return 0; > + } > +error: > + return -ETIMEDOUT; > +} > + > +static int pmu_enable(struct nvkm_pmu *ppmu, struct nvkm_mc *pmc, > + bool enable) > +{ > + u32 pmc_enable; > + int err; > + > + if (!enable) { > + pmc_enable = nv_rd32(pmc, 0x200); > + if ((pmc_enable & 0x2000) != 0x0) { > + pmu_enable_irq(ppmu, pmc, false); > + pmu_enable_hw(ppmu, pmc, false);...
2015 Mar 11
3
[PATCH] pmu/gk20a: PMU boot support.
...con mem scrubbing timeout\n"); + + goto error; + } else { + reg = nv_rd32(pmc, 0x00000200); + reg &= ~0x2000; + nv_wr32(pmc, 0x00000200, reg); + return 0; + } +error: + return -ETIMEDOUT; +} + +static int pmu_enable(struct nvkm_pmu *ppmu, struct nvkm_mc *pmc, + bool enable) +{ + u32 pmc_enable; + int err; + + if (!enable) { + pmc_enable = nv_rd32(pmc, 0x200); + if ((pmc_enable & 0x2000) != 0x0) { + pmu_enable_irq(ppmu, pmc, false); + pmu_enable_hw(ppmu, pmc, false); + } + } else { + err = pmu_enable_hw(ppmu, pmc, true); + if (err) + return err; + + /* TBD: post reset */...
2016 Dec 13
15
[PATCH v2 0/15] Falcon library
This was the first step of the secure boot refactoring - as Ben asked for some fixes, I now submit it as its own series to make it easier to review (and also because rebasing secure boot on top of this takes time and I don't want to do it until this is validated!). This series attempts to factorize the duplicate falcon-related code into a single library, using the existing nvkm_falcon
2015 Mar 12
2
[PATCH] pmu/gk20a: PMU boot support.
...0; > + nv_wr32(pmc, 0x00000200, reg); > + return 0; > + } > +error: > + return -ETIMEDOUT; > +} > + > +static int pmu_enable(struct nvkm_pmu *ppmu, struct nvkm_mc *pmc, > + bool enable) > +{ > + u32 pmc_enable; > + int err; > + > + if (!enable) { > + pmc_enable = nv_rd32(pmc, 0x200); > + if ((pmc_enable & 0x2000) != 0x0) { > + pmu_enable_irq(ppmu, pmc, false); > + pmu_enable_hw(ppmu, pmc, false);...
2016 Apr 18
63
[PATCH v4 00/37] Volting/Clocking improvements for Fermi and newer
We are slowly getting there! v4 of the series with some realy good improvements, so I am sure this is like 95% done and only needs some proper polishing and proper Reviews! I also added the NvVoltOffsetmV module parameter, so that a user is able to over and !under!-volt the GPU. Overvolting makes sense, when there are still some reclocking issues left, which might be solved by a higher voltage.