From 2df0bf57f89cfa6e6adafb44d666ecc4a228a731 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 4 Aug 2015 23:58:15 +0200 Subject: [PATCH] drm/nouveau/pm/gf100: only use PBFB_BROADCAST.PM_UNK100 for PBFB signals High level hardware events related to PBFB will monitor all partitions. While we are at it, fix bitfield for this mux. Signed-off-by: Samuel Pitoiset Signed-off-by: Ben Skeggs --- .../gpu/drm/nouveau/nvkm/engine/pm/gf100.c | 21 ++++++++-------- .../gpu/drm/nouveau/nvkm/engine/pm/gf100.h | 2 +- .../gpu/drm/nouveau/nvkm/engine/pm/gf108.c | 25 +++---------------- .../gpu/drm/nouveau/nvkm/engine/pm/gf117.c | 21 ++-------------- .../gpu/drm/nouveau/nvkm/engine/pm/gk104.c | 4 +-- 5 files changed, 19 insertions(+), 54 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf100.c b/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf100.c index ab463898b437..887d2dfeaa3c 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf100.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf100.c @@ -23,6 +23,16 @@ */ #include "gf100.h" +const struct nvkm_specsrc +gf100_pbfb_sources[] = { + { 0x10f100, (const struct nvkm_specmux[]) { + { 0x1, 0, "unk0" }, + { 0x3f, 4, "unk4" }, + {} + }, "pbfb_broadcast_pm_unk100" }, + {} +}; + const struct nvkm_specsrc gf100_pmfb_sources[] = { { 0x140028, (const struct nvkm_specmux[]) { @@ -44,17 +54,6 @@ gf100_l1_sources[] = { {} }; -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 struct nvkm_specmux[]) { diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf100.h b/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf100.h index d73f0ca442eb..3a3a901e5929 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf100.h +++ b/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf100.h @@ -26,7 +26,7 @@ int gf100_pm_fini(struct nvkm_object *, bool); extern const struct nvkm_specdom gf100_pm_gpc[]; +extern const struct nvkm_specsrc gf100_pbfb_sources[]; extern const struct nvkm_specsrc gf100_pmfb_sources[]; -extern const struct nvkm_specsrc gf117_pbfb_sources[]; #endif diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf108.c b/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf108.c index a74c68520ea7..a4d86d1ab1b0 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf108.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf108.c @@ -23,23 +23,6 @@ */ #include "gf100.h" -static const struct nvkm_specsrc -gf108_pbfb_sources[] = { - { 0x110100, (const struct nvkm_specmux[]) { - { 0x1, 0, "unk0" }, - { 0xf, 4, "unk4" }, - { 0x3, 8, "unk8" }, - {} - }, "pbfb0_pm_unk100" }, - { 0x111100, (const struct nvkm_specmux[]) { - { 0x1, 0, "unk0" }, - { 0xf, 4, "unk4" }, - { 0x3, 8, "unk8" }, - {} - }, "pbfb1_pm_unk100" }, - {} -}; - static const struct nvkm_specdom gf108_pm_hub[] = { {} @@ -48,10 +31,10 @@ gf108_pm_hub[] = { static const struct nvkm_specdom gf108_pm_part[] = { { 0xe0, (const struct nvkm_specsig[]) { - { 0x14, "part00_pbfb_00", gf108_pbfb_sources }, - { 0x15, "part00_pbfb_01", gf108_pbfb_sources }, - { 0x20, "part00_pbfb_02", gf108_pbfb_sources }, - { 0x21, "part00_pbfb_03", gf108_pbfb_sources }, + { 0x14, "part00_pbfb_00", gf100_pbfb_sources }, + { 0x15, "part00_pbfb_01", gf100_pbfb_sources }, + { 0x20, "part00_pbfb_02", gf100_pbfb_sources }, + { 0x21, "part00_pbfb_03", gf100_pbfb_sources }, { 0x01, "part00_pmfb_00", gf100_pmfb_sources }, { 0x04, "part00_pmfb_01", gf100_pmfb_sources }, { 0x05, "part00_pmfb_02", gf100_pmfb_sources}, diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf117.c b/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf117.c index 01d3a485e506..a76c9283237d 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf117.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/pm/gf117.c @@ -39,23 +39,6 @@ gf117_pmfb_sources[] = { {} }; -const struct nvkm_specsrc -gf117_pbfb_sources[] = { - { 0x110100, (const struct nvkm_specmux[]) { - { 0x1, 0, "unk0" }, - { 0xf, 4, "unk4" }, - { 0x3, 8, "unk8" }, - {} - }, "pbfb0_pm_unk100" }, - { 0x10f100, (const struct nvkm_specmux[]) { - { 0x1, 0, "unk0" }, - { 0xf, 4, "unk4" }, - { 0x3, 8, "unk8" }, - {} - }, "pbfb_broadcast_pm_unk100" }, - {} -}; - static const struct nvkm_specdom gf117_pm_hub[] = { {} @@ -64,8 +47,8 @@ gf117_pm_hub[] = { static const struct nvkm_specdom gf117_pm_part[] = { { 0xe0, (const struct nvkm_specsig[]) { - { 0x00, "part00_pbfb_00", gf117_pbfb_sources }, - { 0x01, "part00_pbfb_01", gf117_pbfb_sources }, + { 0x00, "part00_pbfb_00", gf100_pbfb_sources }, + { 0x01, "part00_pbfb_01", gf100_pbfb_sources }, { 0x12, "part00_pmfb_00", gf117_pmfb_sources }, { 0x15, "part00_pmfb_01", gf117_pmfb_sources }, { 0x16, "part00_pmfb_02", gf117_pmfb_sources }, diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/pm/gk104.c b/drivers/gpu/drm/nouveau/nvkm/engine/pm/gk104.c index 5067f72b8dda..a236db9b7a68 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/pm/gk104.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/pm/gk104.c @@ -145,8 +145,8 @@ gk104_pm_gpc[] = { static const struct nvkm_specdom gk104_pm_part[] = { { 0x60, (const struct nvkm_specsig[]) { - { 0x00, "part00_pbfb_00", gf117_pbfb_sources }, - { 0x01, "part00_pbfb_01", gf117_pbfb_sources }, + { 0x00, "part00_pbfb_00", gf100_pbfb_sources }, + { 0x01, "part00_pbfb_01", gf100_pbfb_sources }, { 0x0c, "part00_pmfb_00", gk104_pmfb_sources }, { 0x0d, "part00_pmfb_01", gk104_pmfb_sources }, { 0x0e, "part00_pmfb_02", gk104_pmfb_sources },