Web lists-archives.com

[PATCH] drm/nouveau: Add missing fb SLCG registers for kepler2




Somehow I didn't manage to notice this the last time I looked at my
mmiotraces, these seem to be all valid registers.

Forwarding this to stable, as there's a small chance that not having
these could cause clockgating to be unstable.

Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx>
Fixes: a0f79082bd174 ("drm/nouveau: Add support for SLCG for Kepler2")
Cc: stable@xxxxxxxxxxxxxxx
---
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk110.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk110.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk110.c
index 0695e5dd360e..0d9ad9fa7774 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk110.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk110.c
@@ -32,6 +32,18 @@
  * PGRAPH registers for clockgating
  *******************************************************************************
  */
+static const struct nvkm_therm_clkgate_init
+gk110_fb_clkgate_slcg_init_bcast_0[] = {
+	{ 0x10f280, 1, 0x00000000 },
+	{}
+};
+
+static const struct nvkm_therm_clkgate_init
+gk110_fb_clkgate_slcg_init_pxbar_0[] = {
+	{ 0x13cafc, 1, 0x0000007e },
+	{ 0x13cbe4, 1, 0x1ffffffe },
+	{}
+};
 
 static const struct nvkm_therm_clkgate_init
 gk110_fb_clkgate_blcg_init_unk_0[] = {
@@ -45,6 +57,8 @@ gk110_fb_clkgate_blcg_init_unk_0[] = {
 
 static const struct nvkm_therm_clkgate_pack
 gk110_fb_clkgate_pack[] = {
+	{ gk110_fb_clkgate_slcg_init_bcast_0 },
+	{ gk110_fb_clkgate_slcg_init_pxbar_0 },
 	{ gk110_fb_clkgate_blcg_init_unk_0 },
 	{ gk104_fb_clkgate_blcg_init_vm_0 },
 	{ gk104_fb_clkgate_blcg_init_main_0 },
-- 
2.14.3