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.