video: fbdev: gbefb: add COMPILE_TEST support
authorBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Fri, 7 Jun 2019 12:38:07 +0000 (14:38 +0200)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Fri, 7 Jun 2019 12:38:07 +0000 (14:38 +0200)
Add COMPILE_TEST support to gbefb driver for better compile
testing coverage.

While at it convert bogus udelay() calls to mdelay() (needed to
build driver on ARM) and remove dead x86 specific code.

Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
drivers/video/fbdev/Kconfig
drivers/video/fbdev/gbefb.c

index dfe989d817a8ba45f16202345721caba111c82cb..d047da3a90cafd3812af606bf9d5e1a353873e0e 100644 (file)
@@ -670,7 +670,8 @@ config FB_HGA
 
 config FB_GBE
        bool "SGI Graphics Backend frame buffer support"
-       depends on (FB = y) && SGI_IP32
+       depends on (FB = y) && HAS_IOMEM
+       depends on SGI_IP32 || COMPILE_TEST
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
index 3fcb33232ba39e12d96cfbab3bf1363c7e81ac08..b9f6a82a04953ff66962d3742dc6c352c4ecc0fc 100644 (file)
@@ -39,9 +39,7 @@ struct gbefb_par {
        int valid;
 };
 
-#ifdef CONFIG_SGI_IP32
 #define GBE_BASE       0x16000000 /* SGI O2 */
-#endif
 
 /* macro for fastest write-though access to the framebuffer */
 #ifdef CONFIG_MIPS
@@ -51,10 +49,6 @@ struct gbefb_par {
 #define pgprot_fb(_prot) (((_prot) & (~_CACHE_MASK)) | _CACHE_CACHABLE_NO_WA)
 #endif
 #endif
-#ifdef CONFIG_X86
-#define pgprot_fb(_prot) (((_prot) & ~_PAGE_CACHE_MASK) |      \
-                         cachemode2protval(_PAGE_CACHE_MODE_UC_MINUS))
-#endif
 
 /*
  *  RAM we reserve for the frame buffer. This defines the maximum screen
@@ -279,7 +273,7 @@ static void gbe_turn_off(void)
        val = 0;
        SET_GBE_FIELD(VT_XY, FREEZE, val, 1);
        gbe->vt_xy = val;
-       udelay(10000);
+       mdelay(10);
        for (i = 0; i < 10000; i++) {
                val = gbe->vt_xy;
                if (GET_GBE_FIELD(VT_XY, FREEZE, val) != 1)
@@ -294,7 +288,7 @@ static void gbe_turn_off(void)
        val = gbe->dotclock;
        SET_GBE_FIELD(DOTCLK, RUN, val, 0);
        gbe->dotclock = val;
-       udelay(10000);
+       mdelay(10);
        for (i = 0; i < 10000; i++) {
                val = gbe->dotclock;
                if (GET_GBE_FIELD(DOTCLK, RUN, val))
@@ -331,7 +325,7 @@ static void gbe_turn_on(void)
        val = gbe->dotclock;
        SET_GBE_FIELD(DOTCLK, RUN, val, 1);
        gbe->dotclock = val;
-       udelay(10000);
+       mdelay(10);
        for (i = 0; i < 10000; i++) {
                val = gbe->dotclock;
                if (GET_GBE_FIELD(DOTCLK, RUN, val) != 1)
@@ -346,7 +340,7 @@ static void gbe_turn_on(void)
        val = 0;
        SET_GBE_FIELD(VT_XY, FREEZE, val, 0);
        gbe->vt_xy = val;
-       udelay(10000);
+       mdelay(10);
        for (i = 0; i < 10000; i++) {
                val = gbe->vt_xy;
                if (GET_GBE_FIELD(VT_XY, FREEZE, val))
@@ -547,7 +541,7 @@ static void gbe_set_timing_info(struct gbe_timing_info *timing)
        SET_GBE_FIELD(DOTCLK, P, val, timing->pll_p);
        SET_GBE_FIELD(DOTCLK, RUN, val, 0);     /* do not start yet */
        gbe->dotclock = val;
-       udelay(10000);
+       mdelay(10);
 
        /* setup pixel counter */
        val = 0;
@@ -1018,9 +1012,10 @@ static int gbefb_mmap(struct fb_info *info,
 
        /* remap using the fastest write-through mode on architecture */
        /* try not polluting the cache when possible */
+#ifdef CONFIG_MIPS
        pgprot_val(vma->vm_page_prot) =
                pgprot_fb(pgprot_val(vma->vm_page_prot));
-
+#endif
        /* VM_IO | VM_DONTEXPAND | VM_DONTDUMP are set by remap_pfn_range() */
 
        /* look for the starting tile */