staging: sm750fb: remove PANEL_DISPLAY_CTRL_TFT_DISP defines
authorMike Rapoport <mike.rapoport@gmail.com>
Wed, 10 Feb 2016 16:34:09 +0000 (18:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 12 Feb 2016 03:52:37 +0000 (19:52 -0800)
The PANEL_DISPLAY_CTRL_TFT_DISP definitions artificially encode
PANEL_DISPLAY_CTRL_DUAL_DISPLAY and PANEL_DISPLAY_CTRL_DOUBLE_PIXEL bits
combinations. Replace the PANEL_DISPLAY_CTRL_TFT_DISP usage with direct use
of the bits defined in the datasheet.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/sm750fb/ddk750_reg.h
drivers/staging/sm750fb/sm750_hw.c

index 67533840b78e539cfd8940edbe569baf4521aa11..6df382790a74407b2143d4d14eb39a9afb86fad6 100644 (file)
 #define PANEL_DISPLAY_CTRL_VBIASEN                    BIT(26)
 #define PANEL_DISPLAY_CTRL_DATA                       BIT(25)
 #define PANEL_DISPLAY_CTRL_FPVDDEN                    BIT(24)
-
-#define PANEL_DISPLAY_CTRL_TFT_DISP 19:18
-#define PANEL_DISPLAY_CTRL_TFT_DISP_24 0
-#define PANEL_DISPLAY_CTRL_TFT_DISP_36 1
-#define PANEL_DISPLAY_CTRL_TFT_DISP_18 2
-
 #define PANEL_DISPLAY_CTRL_DUAL_DISPLAY               BIT(19)
 #define PANEL_DISPLAY_CTRL_DOUBLE_PIXEL               BIT(18)
 #define PANEL_DISPLAY_CTRL_FIFO                       17:16
index 384989184537c2a7f150df491360bfc1651b5961..d96595433195a36829ce111aeb13eeb14197a842 100644 (file)
@@ -130,17 +130,20 @@ int hw_sm750_inithw(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
                        POKE32(SYSTEM_CTRL, val);
                }
 
+               val = PEEK32(PANEL_DISPLAY_CTRL) &
+                       ~(PANEL_DISPLAY_CTRL_DUAL_DISPLAY |
+                         PANEL_DISPLAY_CTRL_DOUBLE_PIXEL);
                switch (sm750_dev->pnltype) {
-               case sm750_doubleTFT:
                case sm750_24TFT:
+                       break;
+               case sm750_doubleTFT:
+                       val |= PANEL_DISPLAY_CTRL_DOUBLE_PIXEL;
+                       break;
                case sm750_dualTFT:
-               POKE32(PANEL_DISPLAY_CTRL,
-                       FIELD_VALUE(PEEK32(PANEL_DISPLAY_CTRL),
-                                               PANEL_DISPLAY_CTRL,
-                                               TFT_DISP,
-                                               sm750_dev->pnltype));
-               break;
+                       val |= PANEL_DISPLAY_CTRL_DUAL_DISPLAY;
+                       break;
                }
+               POKE32(PANEL_DISPLAY_CTRL, val);
        } else {
                /* for 750LE ,no DVI chip initialization makes Monitor no signal */
                /* Set up GPIO for software I2C to program DVI chip in the