[Openchrome-devel] drm-openchrome: Branch 'drm-next-4.14' - 9 commits - drivers/gpu/drm

Kevin Brace kevinbrace at kemper.freedesktop.org
Sun Jan 28 02:17:31 UTC 2018


 drivers/gpu/drm/openchrome/crtc_hw.h      |   44 ++++
 drivers/gpu/drm/openchrome/via_crtc.c     |  280 ++++++++++++++++++++----------
 drivers/gpu/drm/openchrome/via_disp_reg.h |   39 +++-
 drivers/gpu/drm/openchrome/via_drv.c      |    6 
 drivers/gpu/drm/openchrome/via_drv.h      |    2 
 drivers/gpu/drm/openchrome/via_fb.c       |    4 
 drivers/gpu/drm/openchrome/via_ttm.c      |   22 +-
 7 files changed, 280 insertions(+), 117 deletions(-)

New commits:
commit 5a80ecb8267509fb88c9e8f6cf10489495b57bcf
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Jan 27 18:16:21 2018 -0800

    drm/openchrome: Version bumped to 3.0.61
    
    Added code to properly support CLE266 chipset IGA1. A small adjustment
    for KM400 chipset. CLE266 chipset IGA2 support will be coming up shortly.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_drv.h b/drivers/gpu/drm/openchrome/via_drv.h
index 3890702c186a..a6d0bc0b6d49 100644
--- a/drivers/gpu/drm/openchrome/via_drv.h
+++ b/drivers/gpu/drm/openchrome/via_drv.h
@@ -34,7 +34,7 @@
 
 #define DRIVER_MAJOR		3
 #define DRIVER_MINOR		0
-#define DRIVER_PATCHLEVEL	60
+#define DRIVER_PATCHLEVEL	61
 
 #include <linux/module.h>
 
commit 73d0442ca5095024766bbf60f7df8d6370a025c1
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Jan 27 18:11:27 2018 -0800

    drm/openchrome: Small adjustment to KM400 IGA1 display FIFO settings
    
    CLE266 and KM400 chipsets have many similarities in the way the
    hardware is built.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index bf72f0b3cba2..d2220c4f41aa 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -722,7 +722,8 @@ static void via_iga1_display_fifo_regs(struct drm_device *dev,
         break;
     }
 
-    if (dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) {
+    if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
+        (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
         /* Force PREQ to be always higer than TREQ. */
         svga_wseq_mask(VGABASE, 0x18, BIT(6), BIT(6));
     }
commit c169d6320dd555148055a9aaf52b6d18b3c2b178
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Jan 27 18:07:00 2018 -0800

    drm/openchrome: Set CLE266 chipset IGA1 display FIFO
    
    The code to set CLE266 chipset IGA1 display FIFO has been missing, and
    this leads to various undesirable effects (i.e., temporary display
    artifacts). The added code supports both CLE266 chipset Revision A and
    Revision C. The code to handle this was ported from VIA Technologies
    Chrome IGP open source DDX device driver.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index 47a839bf1abf..bf72f0b3cba2 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -500,6 +500,118 @@ static void via_iga1_display_fifo_regs(struct drm_device *dev,
     DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     switch (dev->pdev->device) {
+    case PCI_DEVICE_ID_VIA_CLE266:
+        if (dev_priv->revision == CLE266_REVISION_AX) {
+            if (mode->hdisplay > 1024) {
+                /* SR17[6:0] */
+                iga->fifo_max_depth = 192;
+
+                /* SR16[5:0] */
+                iga->fifo_threshold = 92;
+
+                /* SR18[5:0] */
+                iga->fifo_high_threshold = 92;
+            } else {
+                /* SR17[6:0] */
+                iga->fifo_max_depth = 128;
+
+                /* SR16[5:0] */
+                iga->fifo_threshold = 32;
+
+                /* SR18[5:0] */
+                iga->fifo_high_threshold = 56;
+            }
+
+            if (dev_priv->vram_type <= VIA_MEM_DDR_200) {
+                if (fb->format->depth == 32) {
+                    if (mode->hdisplay > 1024) {
+                        if (mode->vdisplay > 768) {
+                            /* SR22[4:0] */
+                            iga->display_queue_expire_num = 16;
+                        } else {
+                            /* SR22[4:0] */
+                            iga->display_queue_expire_num = 12;
+                        }
+                    } else if (mode->hdisplay > 640) {
+                        /* SR22[4:0] */
+                        iga->display_queue_expire_num = 40;
+                    } else {
+                        /* SR22[4:0] */
+                        iga->display_queue_expire_num = 124;
+                    }
+                } else if (fb->format->depth == 16){
+                    if (mode->hdisplay > 1400) {
+                        /* SR22[4:0] */
+                        iga->display_queue_expire_num = 16;
+                    } else {
+                        /* SR22[4:0] */
+                        iga->display_queue_expire_num = 12;
+                    }
+                } else {
+                    /* SR22[4:0] */
+                    iga->display_queue_expire_num = 124;
+                }
+            } else {
+                if (mode->hdisplay > 1280) {
+                    /* SR22[4:0] */
+                    iga->display_queue_expire_num = 16;
+                } else if (mode->hdisplay > 1024) {
+                    /* SR22[4:0] */
+                    iga->display_queue_expire_num = 12;
+                } else {
+                    /* SR22[4:0] */
+                    iga->display_queue_expire_num = 124;
+                }
+            }
+        /* dev_priv->revision == CLE266_REVISION_CX */
+        } else {
+            if (mode->hdisplay >= 1024) {
+                /* SR17[6:0] */
+                iga->fifo_max_depth = 256;
+
+                /* SR16[5:0] */
+                iga->fifo_threshold = 112;
+
+                /* SR18[5:0] */
+                iga->fifo_high_threshold = 92;
+            } else {
+                /* SR17[6:0] */
+                iga->fifo_max_depth = 128;
+
+                /* SR16[5:0] */
+                iga->fifo_threshold = 32;
+
+                /* SR18[5:0] */
+                iga->fifo_high_threshold = 56;
+            }
+
+            if (dev_priv->vram_type <= VIA_MEM_DDR_200) {
+                if (mode->hdisplay > 1024) {
+                    if (mode->vdisplay > 768) {
+                        /* SR22[4:0] */
+                        iga->display_queue_expire_num = 16;
+                    } else {
+                        /* SR22[4:0] */
+                        iga->display_queue_expire_num = 12;
+                    }
+                } else if (mode->hdisplay > 640) {
+                    /* SR22[4:0] */
+                    iga->display_queue_expire_num = 40;
+                } else {
+                    /* SR22[4:0] */
+                    iga->display_queue_expire_num = 124;
+                }
+            } else {
+                if (mode->hdisplay >= 1280) {
+                    /* SR22[4:0] */
+                    iga->display_queue_expire_num = 16;
+                } else {
+                    /* SR22[4:0] */
+                    iga->display_queue_expire_num = 124;
+                }
+            }
+        }
+        break;
     case PCI_DEVICE_ID_VIA_KM400:
         if ((mode->hdisplay >= 1600) &&
             (dev_priv->vram_type <= VIA_MEM_DDR_200)) {
@@ -610,6 +722,25 @@ static void via_iga1_display_fifo_regs(struct drm_device *dev,
         break;
     }
 
+    if (dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) {
+        /* Force PREQ to be always higer than TREQ. */
+        svga_wseq_mask(VGABASE, 0x18, BIT(6), BIT(6));
+    }
+
+    if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) &&
+        (dev_priv->revision == CLE266_REVISION_AX) &&
+        (mode->hdisplay > 1024)) {
+        reg_value = VIA_READ(0x0298);
+        VIA_WRITE(0x0298, reg_value | 0x20000000);
+
+        /* Turn on IGA1 extended display FIFO. */
+        reg_value = VIA_READ(0x0230);
+        VIA_WRITE(0x0230, reg_value | 0x00200000);
+
+        reg_value = VIA_READ(0x0298);
+        VIA_WRITE(0x0298, reg_value & (~0x20000000));
+    }
+
     /* If resolution > 1280x1024, expire length = 64, else
      expire length = 128 */
     if ((dev->pdev->device == PCI_DEVICE_ID_VIA_K8M800
@@ -1520,16 +1651,9 @@ via_iga1_crtc_mode_set(struct drm_crtc *crtc,
     /* No HSYNC shift. */
     via_iga1_set_hsync_shift(VGABASE, 0x05);
 
-    /* Load FIFO */
-    if (dev->pdev->device != PCI_DEVICE_ID_VIA_CLE266) {
-        via_iga1_display_fifo_regs(dev, dev_priv, iga,
-                                    adjusted_mode, crtc->primary->fb);
-    } else if (adjusted_mode->hdisplay == 1024
-            && adjusted_mode->vdisplay == 768) {
-        /* Update Patch Register */
-        svga_wseq_mask(VGABASE, 0x16, 0x0C, 0xBF);
-        vga_wseq(VGABASE, 0x18, 0x4C);
-    }
+    /* Load display FIFO. */
+    via_iga1_display_fifo_regs(dev, dev_priv, iga,
+                                adjusted_mode, crtc->primary->fb);
 
     /* Set PLL */
     if (adjusted_mode->clock) {
@@ -2138,7 +2262,8 @@ via_crtc_init(struct drm_device *dev, int index)
         iga->timings.vsync_end.regs = iga1_ver_sync_end;
 
         /* Primary FIFO setup */
-        if (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400) {
+        if ((dev->pdev->device == PCI_DEVICE_ID_VIA_CLE266) ||
+            (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400)) {
             iga->fifo_depth.count = ARRAY_SIZE(iga1_cle266_fifo_depth_select);
             iga->fifo_depth.regs = iga1_cle266_fifo_depth_select;
 
commit 589baa6a7b24cde9980c4a4e8ce045207c5f31f8
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Jan 27 18:03:06 2018 -0800

    drm/openchrome: Setting IGA1 display FIFO for CLE266 and KM400 chipsets
    
    The bit fields are different from newer devices (UniChrome Pro or later).
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index 4812941c4f95..47a839bf1abf 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -2138,17 +2138,31 @@ via_crtc_init(struct drm_device *dev, int index)
         iga->timings.vsync_end.regs = iga1_ver_sync_end;
 
         /* Primary FIFO setup */
-        iga->high_threshold.count = ARRAY_SIZE(iga1_fifo_high_threshold_select);
-        iga->high_threshold.regs = iga1_fifo_high_threshold_select;
+        if (dev->pdev->device == PCI_DEVICE_ID_VIA_KM400) {
+            iga->fifo_depth.count = ARRAY_SIZE(iga1_cle266_fifo_depth_select);
+            iga->fifo_depth.regs = iga1_cle266_fifo_depth_select;
+
+            iga->threshold.count = ARRAY_SIZE(iga1_cle266_fifo_threshold_select);
+            iga->threshold.regs = iga1_cle266_fifo_threshold_select;
+
+            iga->high_threshold.count = ARRAY_SIZE(iga1_cle266_fifo_high_threshold_select);
+            iga->high_threshold.regs = iga1_cle266_fifo_high_threshold_select;
 
-        iga->threshold.count = ARRAY_SIZE(iga1_fifo_threshold_select);
-        iga->threshold.regs = iga1_fifo_threshold_select;
+            iga->display_queue.count = ARRAY_SIZE(iga1_cle266_display_queue_expire_num);
+            iga->display_queue.regs = iga1_cle266_display_queue_expire_num;
+        } else {
+            iga->fifo_depth.count = ARRAY_SIZE(iga1_k8m800_fifo_depth_select);
+            iga->fifo_depth.regs = iga1_k8m800_fifo_depth_select;
+
+            iga->threshold.count = ARRAY_SIZE(iga1_k8m800_fifo_threshold_select);
+            iga->threshold.regs = iga1_k8m800_fifo_threshold_select;
 
-        iga->display_queue.count = ARRAY_SIZE(iga1_display_queue_expire_num);
-        iga->display_queue.regs = iga1_display_queue_expire_num;
+            iga->high_threshold.count = ARRAY_SIZE(iga1_k8m800_fifo_high_threshold_select);
+            iga->high_threshold.regs = iga1_k8m800_fifo_high_threshold_select;
 
-        iga->fifo_depth.count = ARRAY_SIZE(iga1_fifo_depth_select);
-        iga->fifo_depth.regs = iga1_fifo_depth_select;
+            iga->display_queue.count = ARRAY_SIZE(iga1_k8m800_display_queue_expire_num);
+            iga->display_queue.regs = iga1_k8m800_display_queue_expire_num;
+        }
 
         iga->fetch.count = ARRAY_SIZE(iga1_fetch_count);
         iga->fetch.regs = iga1_fetch_count;
diff --git a/drivers/gpu/drm/openchrome/via_disp_reg.h b/drivers/gpu/drm/openchrome/via_disp_reg.h
index ada0880e8cfe..a8a27e2fb8ec 100644
--- a/drivers/gpu/drm/openchrome/via_disp_reg.h
+++ b/drivers/gpu/drm/openchrome/via_disp_reg.h
@@ -134,8 +134,13 @@
 #define CN750_IGA2_DISPLAY_QUEUE_EXPIRE_NUM	32
 #endif
 
-/* IGA1 FIFO Depth_Select */
-static struct vga_regset iga1_fifo_depth_select[] = {
+/* CLE266 and KM400 IGA1 FIFO Depth Select */
+static struct vga_regset iga1_cle266_fifo_depth_select[] = {
+	{ VGA_SEQ_I, 0x17, 0, 6 }
+};
+
+/* K8M800 or later IGA1 FIFO Depth Select */
+static struct vga_regset iga1_k8m800_fifo_depth_select[] = {
 	{ VGA_SEQ_I, 0x17, 0, 7 }
 };
 
@@ -151,8 +156,13 @@ static struct vga_regset iga2_k8m800_fifo_depth_select[] = {
 	{ VGA_CRT_IC, 0x95, 7, 7 }
 };
 
-/* IGA1 FIFO Threshold Select */
-static struct vga_regset iga1_fifo_threshold_select[] = {
+/* CLE266 and KM400 IGA1 FIFO Threshold Select */
+static struct vga_regset iga1_cle266_fifo_threshold_select[] = {
+	{ VGA_SEQ_I, 0x16, 0, 5 }
+};
+
+/*  K8M800 or later IGA1 FIFO Threshold Select */
+static struct vga_regset iga1_k8m800_fifo_threshold_select[] = {
 	{ VGA_SEQ_I, 0x16, 0, 5 },
 	{ VGA_SEQ_I, 0x16, 7, 7 }
 };
@@ -168,8 +178,13 @@ static struct vga_regset iga2_k8m800_fifo_threshold_select[] = {
 	{ VGA_CRT_IC, 0x95, 4, 6 }
 };
 
-/* IGA1 FIFO High Threshold Select */
-static struct vga_regset iga1_fifo_high_threshold_select[] = {
+/* CLE266 and KM400 IGA1 FIFO High Threshold Select */
+static struct vga_regset iga1_cle266_fifo_high_threshold_select[] = {
+	{ VGA_SEQ_I, 0x18, 0, 5 }
+};
+
+/* K8M800 or later IGA1 FIFO High Threshold Select */
+static struct vga_regset iga1_k8m800_fifo_high_threshold_select[] = {
 	{ VGA_SEQ_I, 0x18, 0, 5 },
 	{ VGA_SEQ_I, 0x18, 7, 7 }
 };
@@ -180,10 +195,14 @@ static struct vga_regset iga2_fifo_high_threshold_select[] = {
 	{ VGA_CRT_IC, 0x95, 0, 2 }
 };
 
-/* IGA1 FIFO display queue expire */
-static struct vga_regset iga1_display_queue_expire_num[] = {
-	{ VGA_SEQ_I, 0x22, 0, 4 },
-	{ VGA_SEQ_I, 0x57, 6, 6 }
+/* CLE266 and KM400 IGA1 FIFO Display Queue Expire */
+static struct vga_regset iga1_cle266_display_queue_expire_num[] = {
+	{ VGA_SEQ_I, 0x22, 0, 4 }
+};
+
+/* K8M800 and later IGA1 FIFO Display Queue Expire */
+static struct vga_regset iga1_k8m800_display_queue_expire_num[] = {
+	{ VGA_SEQ_I, 0x22, 0, 4 }
 };
 
 /* IGA2 FIFO display queue expire */
commit d928e3a1055bb20afeeab4661b384570f1b817ff
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Jan 27 18:01:22 2018 -0800

    drm/openchrome: Rename via_iga2_interlace_mode
    
    The new name is via_iga2_set_interlace_mode, and it is moved into
    crtc_hw.h.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/crtc_hw.h b/drivers/gpu/drm/openchrome/crtc_hw.h
index 1c2b9378d968..91bbf34c7793 100644
--- a/drivers/gpu/drm/openchrome/crtc_hw.h
+++ b/drivers/gpu/drm/openchrome/crtc_hw.h
@@ -128,6 +128,15 @@ via_iga1_set_interlace_mode(void __iomem *regs, bool interlace_mode)
 			interlace_mode ? "On" : "Off");
 }
 
+static inline void
+via_iga2_set_interlace_mode(void __iomem *regs, bool interlace_mode)
+{
+	svga_wcrt_mask(regs, 0x67,
+			interlace_mode ? BIT(5) : 0x00, BIT(5));
+	DRM_DEBUG_KMS("IGA2 Interlace Mode: %s\n",
+			interlace_mode ? "On" : "Off");
+}
+
 /*
  * Sets IGA1's HSYNC Shift value.
  */
diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index 550540363905..4812941c4f95 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -147,14 +147,6 @@ via_iga2_set_color_depth(struct via_device *dev_priv,
     DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
-static inline void
-via_iga2_interlace_mode(void __iomem *regs, bool interlaceMode)
-{
-    svga_wcrt_mask(regs, 0x67, interlaceMode ? BIT(5) : 0, BIT(5));
-    DRM_INFO("IGA2 Interlace Mode: %s\n",
-            interlaceMode ? "On" : "Off");
-}
-
 static void
 via_hide_cursor(struct drm_crtc *crtc)
 {
@@ -1837,7 +1829,7 @@ via_iga2_crtc_mode_set(struct drm_crtc *crtc,
     via_lock_crtc(VGABASE);
 
     /* Set non-interlace / interlace mode. */
-    via_iga2_interlace_mode(VGABASE,
+    via_iga2_set_interlace_mode(VGABASE,
                             adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE);
 
     /* Load display FIFO parameters. */
commit db21dcdd87e483f29a78959b746426d4433e712b
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Jan 27 18:00:09 2018 -0800

    drm/openchrome: Rename via_iga1_interlace_mode
    
    The new name is via_iga1_set_interlace_mode, and it is moved into
    crtc_hw.h.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/crtc_hw.h b/drivers/gpu/drm/openchrome/crtc_hw.h
index 15f41adee0f9..1c2b9378d968 100644
--- a/drivers/gpu/drm/openchrome/crtc_hw.h
+++ b/drivers/gpu/drm/openchrome/crtc_hw.h
@@ -119,6 +119,15 @@ via_iga2_set_palette_lut_resolution(void __iomem *regs,
 			palette_lut ? "8" : "6");
 }
 
+static inline void
+via_iga1_set_interlace_mode(void __iomem *regs, bool interlace_mode)
+{
+	svga_wcrt_mask(regs, 0x33,
+			interlace_mode ? BIT(6) : 0x00, BIT(6));
+	DRM_DEBUG_KMS("IGA1 Interlace Mode: %s\n",
+			interlace_mode ? "On" : "Off");
+}
+
 /*
  * Sets IGA1's HSYNC Shift value.
  */
diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index 3276d5ea690a..550540363905 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -107,14 +107,6 @@ via_iga1_set_color_depth(struct via_device *dev_priv,
     DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
-static inline void
-via_iga1_interlace_mode(void __iomem *regs, bool interlaceMode)
-{
-    svga_wcrt_mask(regs, 0x33, interlaceMode ? BIT(6) : 0, BIT(6));
-    DRM_INFO("IGA1 Interlace Mode: %s\n",
-            interlaceMode ? "On" : "Off");
-}
-
 static void
 via_iga2_set_color_depth(struct via_device *dev_priv,
                         u8 depth)
@@ -1530,7 +1522,7 @@ via_iga1_crtc_mode_set(struct drm_crtc *crtc,
     via_lock_crtc(VGABASE);
 
     /* Set non-interlace / interlace mode. */
-    via_iga1_interlace_mode(VGABASE,
+    via_iga1_set_interlace_mode(VGABASE,
                             adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE);
 
     /* No HSYNC shift. */
commit 138abae30638ece804d52d793469bbb300ccc436
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Jan 27 17:59:02 2018 -0800

    drm/openchrome: Move via_iga2_set_palette_lut_resolution into crtc_hw.h
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/crtc_hw.h b/drivers/gpu/drm/openchrome/crtc_hw.h
index 2324fff199ae..15f41adee0f9 100644
--- a/drivers/gpu/drm/openchrome/crtc_hw.h
+++ b/drivers/gpu/drm/openchrome/crtc_hw.h
@@ -106,6 +106,19 @@ via_iga1_set_palette_lut_resolution(void __iomem *regs,
 			palette_lut ? "8" : "6");
 }
 
+static inline void
+via_iga2_set_palette_lut_resolution(void __iomem *regs,
+					bool palette_lut)
+{
+	/* Set the palette LUT resolution for IGA2. */
+	/* 3X5.6A[5] - IGA2 6 / 8 Bit LUT
+	 *             0: 6-bit
+	 *             1: 8-bit */
+	svga_wcrt_mask(regs, 0x6a, palette_lut ? BIT(5) : 0x00, BIT(5));
+	DRM_DEBUG_KMS("IGA2 Palette LUT Resolution: %s bit\n",
+			palette_lut ? "8" : "6");
+}
+
 /*
  * Sets IGA1's HSYNC Shift value.
  */
diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index 0c67a5be7652..3276d5ea690a 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -156,18 +156,6 @@ via_iga2_set_color_depth(struct via_device *dev_priv,
 }
 
 static inline void
-via_iga2_set_palette_lut_resolution(void __iomem *regs, bool paletteLUT)
-{
-    /* Set the palette LUT resolution for IGA2. */
-    /* 3X5.6A[5] - IGA2 6 / 8 Bit LUT
-     *             0: 6-bit
-     *             1: 8-bit */
-    svga_wcrt_mask(regs, 0x6A, paletteLUT ? BIT(5) : 0, BIT(5));
-    DRM_INFO("IGA2 Palette LUT Resolution: %s bit\n",
-            paletteLUT ? "8" : "6");
-}
-
-static inline void
 via_iga2_interlace_mode(void __iomem *regs, bool interlaceMode)
 {
     svga_wcrt_mask(regs, 0x67, interlaceMode ? BIT(5) : 0, BIT(5));
commit 8acb17b9e2a97dba5b49bbb08802742f4658af41
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Jan 27 17:57:44 2018 -0800

    drm/openchrome: Move via_iga1_set_palette_lut_resolution into crtc_hw.h
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/crtc_hw.h b/drivers/gpu/drm/openchrome/crtc_hw.h
index 3a4d792b6ba5..2324fff199ae 100644
--- a/drivers/gpu/drm/openchrome/crtc_hw.h
+++ b/drivers/gpu/drm/openchrome/crtc_hw.h
@@ -93,6 +93,19 @@ static inline void svga_wcrt_mask(void __iomem *regbase, u8 index, u8 data, u8 m
 
 ***********************************************************************/
 
+static inline void
+via_iga1_set_palette_lut_resolution(void __iomem *regs,
+					bool palette_lut)
+{
+	/* Set the palette LUT resolution for IGA1. */
+	/* 3C5.15[7] - IGA1 6 / 8 Bit LUT
+	 *             0: 6-bit
+	 *             1: 8-bit */
+	svga_wseq_mask(regs, 0x15, palette_lut ? BIT(7) : 0x00, BIT(7));
+	DRM_DEBUG_KMS("IGA1 Palette LUT Resolution: %s bit\n",
+			palette_lut ? "8" : "6");
+}
+
 /*
  * Sets IGA1's HSYNC Shift value.
  */
diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index 4bb3f4134e2b..0c67a5be7652 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -108,18 +108,6 @@ via_iga1_set_color_depth(struct via_device *dev_priv,
 }
 
 static inline void
-via_iga1_set_palette_lut_resolution(void __iomem *regs, bool paletteLUT)
-{
-    /* Set the palette LUT resolution for IGA1. */
-    /* 3C5.15[7] - IGA1 6 / 8 Bit LUT
-     *             0: 6-bit
-     *             1: 8-bit */
-    svga_wseq_mask(regs, 0x15, paletteLUT ? BIT(7) : 0, BIT(7));
-    DRM_INFO("IGA1 Palette LUT Resolution: %s bit\n",
-            paletteLUT ? "8" : "6");
-}
-
-static inline void
 via_iga1_interlace_mode(void __iomem *regs, bool interlaceMode)
 {
     svga_wcrt_mask(regs, 0x33, interlaceMode ? BIT(6) : 0, BIT(6));
commit 111bd67294c8562566573dc67fe97806721ed2e8
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Jan 27 17:55:53 2018 -0800

    drm/openchrome: Replacing many DRM_DEBUG with DRM_DEBUG_KMS
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c
index ac5aef0e4862..4bb3f4134e2b 100644
--- a/drivers/gpu/drm/openchrome/via_crtc.c
+++ b/drivers/gpu/drm/openchrome/via_crtc.c
@@ -48,7 +48,7 @@ static struct vga_regset vpit_table[] = {
 static void
 via_iga_common_init(void __iomem *regs)
 {
-    DRM_DEBUG("Entered via_iga_common_init.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     /* Be careful with 3C5.15[5] - Wrap Around Disable.
      * It must be set to 1 for proper operation. */
@@ -60,7 +60,7 @@ via_iga_common_init(void __iomem *regs)
      *               1: Enable */
     svga_wseq_mask(regs, 0x15, BIT(5) | BIT(1), BIT(5) | BIT(1));
 
-    DRM_DEBUG("Exiting via_iga_common_init.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
@@ -69,7 +69,7 @@ via_iga1_set_color_depth(struct via_device *dev_priv,
 {
     u8 value;
 
-    DRM_DEBUG("Entered via_iga1_set_color_depth.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     value = 0x00;
 
@@ -104,7 +104,7 @@ via_iga1_set_color_depth(struct via_device *dev_priv,
         DRM_ERROR("Unsupported IGA1 Color Depth: %d bit\n", depth);
     }
 
-    DRM_DEBUG("Exiting via_iga1_set_color_depth.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static inline void
@@ -133,7 +133,7 @@ via_iga2_set_color_depth(struct via_device *dev_priv,
 {
     u8 value;
 
-    DRM_DEBUG("Entered via_iga2_set_color_depth.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     value = 0x00;
 
@@ -164,7 +164,7 @@ via_iga2_set_color_depth(struct via_device *dev_priv,
         DRM_ERROR("Unsupported IGA2 Color Depth: %d bit\n", depth);
     }
 
-    DRM_DEBUG("Exiting via_iga2_set_color_depth.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static inline void
@@ -1355,7 +1355,7 @@ via_iga1_crtc_dpms(struct drm_crtc *crtc, int mode)
 {
     struct via_device *dev_priv = crtc->dev->dev_private;
 
-    DRM_DEBUG("Entered via_iga1_crtc_dpms.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     switch (mode) {
     case DRM_MODE_DPMS_SUSPEND:
@@ -1378,13 +1378,13 @@ via_iga1_crtc_dpms(struct drm_crtc *crtc, int mode)
         break;
     }
 
-    DRM_DEBUG("Exiting via_iga1_crtc_dpms.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
 via_iga1_crtc_disable(struct drm_crtc *crtc)
 {
-    DRM_DEBUG("Entered via_iga1_crtc_disable.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     drm_crtc_vblank_off(crtc);
 
@@ -1393,13 +1393,13 @@ via_iga1_crtc_disable(struct drm_crtc *crtc)
 
     via_iga1_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
 
-    DRM_DEBUG("Exiting via_iga1_crtc_disable.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
 via_iga1_crtc_prepare(struct drm_crtc *crtc)
 {
-    DRM_DEBUG("Entered via_iga1_crtc_prepare.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     /* Turn off the cursor */
     via_hide_cursor(crtc);
@@ -1410,13 +1410,13 @@ via_iga1_crtc_prepare(struct drm_crtc *crtc)
     if (crtc->enabled)
         via_iga1_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
 
-    DRM_DEBUG("Exiting via_iga1_crtc_prepare.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
 via_iga1_crtc_commit(struct drm_crtc *crtc)
 {
-    DRM_DEBUG("Entered via_iga1_crtc_commit.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     /* Turn on the cursor */
     via_show_cursor(crtc);
@@ -1427,7 +1427,7 @@ via_iga1_crtc_commit(struct drm_crtc *crtc)
     if (crtc->enabled)
         via_iga1_crtc_dpms(crtc, DRM_MODE_DPMS_ON);
 
-    DRM_DEBUG("Exiting via_iga1_crtc_commit.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static bool
@@ -1435,9 +1435,9 @@ via_iga1_crtc_mode_fixup(struct drm_crtc *crtc,
                     const struct drm_display_mode *mode,
                     struct drm_display_mode *adjusted_mode)
 {
-    DRM_DEBUG("Entered via_iga1_crtc_mode_fixup.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-    DRM_DEBUG("Exiting via_iga1_crtc_mode_fixup.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
     return true;
 }
 
@@ -1508,7 +1508,7 @@ via_iga1_crtc_mode_set(struct drm_crtc *crtc,
     u8 reg_value = 0;
     int ret;
 
-    DRM_DEBUG("Entered via_iga1_crtc_mode_set.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     /* Check for IGA2. */
     if (iga->index) {
@@ -1584,7 +1584,7 @@ via_iga1_crtc_mode_set(struct drm_crtc *crtc,
     ret = via_iga1_crtc_mode_set_base(crtc, x, y, fb);
 
 exit:
-    DRM_DEBUG("Exiting via_iga1_crtc_mode_set.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
     return ret;
 }
 
@@ -1641,7 +1641,7 @@ via_iga2_crtc_dpms(struct drm_crtc *crtc, int mode)
 {
     struct via_device *dev_priv = crtc->dev->dev_private;
 
-    DRM_DEBUG("Entered via_iga2_crtc_dpms.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     switch (mode) {
     case DRM_MODE_DPMS_SUSPEND:
@@ -1664,13 +1664,13 @@ via_iga2_crtc_dpms(struct drm_crtc *crtc, int mode)
         break;
     }
 
-    DRM_DEBUG("Exiting via_iga2_crtc_dpms.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
 via_iga2_crtc_disable(struct drm_crtc *crtc)
 {
-    DRM_DEBUG("Entered via_iga2_crtc_disable.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     drm_crtc_vblank_off(crtc);
 
@@ -1679,13 +1679,13 @@ via_iga2_crtc_disable(struct drm_crtc *crtc)
 
     via_iga2_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
 
-    DRM_DEBUG("Exiting via_iga2_crtc_disable.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
 via_iga2_crtc_prepare(struct drm_crtc *crtc)
 {
-    DRM_DEBUG("Entered via_iga2_crtc_prepare.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     /* Turn off the cursor */
     via_hide_cursor(crtc);
@@ -1696,13 +1696,13 @@ via_iga2_crtc_prepare(struct drm_crtc *crtc)
     if (crtc->enabled)
         via_iga2_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
 
-    DRM_DEBUG("Exiting via_iga2_crtc_prepare.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
 via_iga2_crtc_commit(struct drm_crtc *crtc)
 {
-    DRM_DEBUG("Entered via_iga2_crtc_commit.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     /* Turn on the cursor */
     via_show_cursor(crtc);
@@ -1713,7 +1713,7 @@ via_iga2_crtc_commit(struct drm_crtc *crtc)
     if (crtc->enabled)
         via_iga2_crtc_dpms(crtc, DRM_MODE_DPMS_ON);
 
-    DRM_DEBUG("Exiting via_iga2_crtc_commit.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static bool
@@ -1721,9 +1721,9 @@ via_iga2_crtc_mode_fixup(struct drm_crtc *crtc,
                     const struct drm_display_mode *mode,
                     struct drm_display_mode *adjusted_mode)
 {
-    DRM_DEBUG("Entered via_iga2_crtc_mode_fixup.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-    DRM_DEBUG("Exiting via_iga2_crtc_mode_fixup.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
     return true;
 }
 
@@ -1793,7 +1793,7 @@ via_iga2_crtc_mode_set(struct drm_crtc *crtc,
     struct drm_device *dev = crtc->dev;
     int ret;
 
-    DRM_DEBUG("Entered via_iga2_crtc_mode_set.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     /* Check for IGA1. */
     if (!iga->index) {
@@ -1896,7 +1896,7 @@ via_iga2_crtc_mode_set(struct drm_crtc *crtc,
     ret = via_iga2_crtc_mode_set_base(crtc, x, y, fb);
 
 exit:
-    DRM_DEBUG("Exiting via_iga2_crtc_mode_set.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
     return ret;
 }
 
diff --git a/drivers/gpu/drm/openchrome/via_drv.c b/drivers/gpu/drm/openchrome/via_drv.c
index c44c396228d2..2916e9dfb994 100644
--- a/drivers/gpu/drm/openchrome/via_drv.c
+++ b/drivers/gpu/drm/openchrome/via_drv.c
@@ -322,7 +322,7 @@ via_device_init(struct via_device *dev_priv)
 {
     int ret;
 
-    DRM_DEBUG("Entered via_device_init.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     /* Temporary implementation. */
     dev_priv->is_via_nanobook = false;
@@ -337,7 +337,7 @@ via_device_init(struct via_device *dev_priv)
     via_mmio_setup(dev_priv);
 
 exit:
-    DRM_DEBUG("Exiting via_device_init.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
     return ret;
 }
 
@@ -512,7 +512,7 @@ static int via_final_context(struct drm_device *dev, int context)
 	/* Linux specific until context tracking code gets ported to BSD */
 	/* Last context, perform cleanup */
 	if (dev->dev_private) {
-		DRM_DEBUG("Last Context\n");
+		DRM_DEBUG_KMS("Last Context\n");
 		drm_irq_uninstall(dev);
 		via_dma_cleanup(dev);
 	}
diff --git a/drivers/gpu/drm/openchrome/via_fb.c b/drivers/gpu/drm/openchrome/via_fb.c
index 18e709441e6b..0dd19f5763dc 100644
--- a/drivers/gpu/drm/openchrome/via_fb.c
+++ b/drivers/gpu/drm/openchrome/via_fb.c
@@ -697,7 +697,7 @@ int via_vram_init(struct via_device *dev_priv)
 	u8 size;
     int ret = 0;
 
-    DRM_DEBUG("Entered via_vram_init.\n");
+	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     bus = pci_find_bus(0, 0);
 	if (bus == NULL) {
@@ -906,7 +906,7 @@ out_err:
 	if (fn3)
 		pci_dev_put(fn3);
 
-	DRM_DEBUG("Exiting via_vram_init.\n");
+	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 	return ret;
 }
 
diff --git a/drivers/gpu/drm/openchrome/via_ttm.c b/drivers/gpu/drm/openchrome/via_ttm.c
index e681798cb1a3..e1bc30d502b4 100644
--- a/drivers/gpu/drm/openchrome/via_ttm.c
+++ b/drivers/gpu/drm/openchrome/via_ttm.c
@@ -84,7 +84,7 @@ via_ttm_global_release(struct drm_global_reference *global_ref,
             struct ttm_bo_global_ref *global_bo,
             struct ttm_bo_device *bdev)
 {
-    DRM_DEBUG("Entered via_ttm_global_release.\n");
+    DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     if (global_ref->release == NULL)
         return;
@@ -93,7 +93,7 @@ via_ttm_global_release(struct drm_global_reference *global_ref,
     drm_global_item_unref(global_ref);
     global_ref->release = NULL;
 
-    DRM_DEBUG("Exiting via_ttm_global_release.\n");
+    DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
@@ -456,7 +456,7 @@ via_bo_move(struct ttm_buffer_object *bo, bool evict, bool interruptible,
     struct ttm_mem_reg *old_mem = &bo->mem;
 	int ret = 0;
 
-	DRM_DEBUG("Entered via_bo_move.\n");
+	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     if ((old_mem->mem_type == TTM_PL_SYSTEM) && (!bo->ttm)) {
         BUG_ON(old_mem->mm_node != NULL);
@@ -494,7 +494,7 @@ via_bo_move(struct ttm_buffer_object *bo, bool evict, bool interruptible,
 	}
 
 exit:
-    DRM_DEBUG("Exiting via_bo_move.\n");
+	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 	return ret;
 }
 
@@ -579,7 +579,7 @@ int via_mm_init(struct via_device *dev_priv)
     int len;
     int ret;
 
-    DRM_DEBUG("Entered via_mm_init.\n");
+	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     ret = via_ttm_global_init(dev_priv);
 	if (ret) {
@@ -637,15 +637,15 @@ int via_mm_init(struct via_device *dev_priv)
     DRM_INFO("Mapped MMIO at physical address 0x%08llx.\n",
                 start);
 exit:
-    DRM_DEBUG("Exiting via_mm_init.\n");
-	return ret;
+	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+    return ret;
 }
 
 void via_mm_fini(struct drm_device *dev)
 {
     struct via_device *dev_priv = dev->dev_private;
 
-    DRM_DEBUG("Entered via_mm_fini.\n");
+	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     ttm_bo_device_release(&dev_priv->ttm.bdev);
 
@@ -660,7 +660,7 @@ void via_mm_fini(struct drm_device *dev)
 
     dev_priv->vram_mtrr = 0;
 
-    DRM_DEBUG("Exiting via_mm_fini.\n");
+	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 /*
@@ -710,7 +710,7 @@ int via_bo_create(struct ttm_bo_device *bdev,
     size_t acc_size;
     int ret = -ENOMEM;
 
-    DRM_DEBUG("Entered via_bo_create.\n");
+	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
     size = round_up(size, byte_alignment);
     size = ALIGN(size, page_alignment);
@@ -743,7 +743,7 @@ int via_bo_create(struct ttm_bo_device *bdev,
 error:
     kfree(heap);
 exit:
-    DRM_DEBUG("Exiting via_bo_create.\n");
+	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
     return ret;
 }
 


More information about the Openchrome-devel mailing list