Browse Source

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 <samuel.pitoiset@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Samuel Pitoiset 10 years ago
parent
commit
2df0bf57f8

+ 10 - 11
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[]) {

+ 1 - 1
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

+ 4 - 21
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},

+ 2 - 19
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 },

+ 2 - 2
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 },