Skip to content

Commit

Permalink
video: fbdev: gbefb: add COMPILE_TEST support
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
bzolnier committed Jun 7, 2019
1 parent f0bab2e commit 552ccf6
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 13 deletions.
3 changes: 2 additions & 1 deletion drivers/video/fbdev/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
19 changes: 7 additions & 12 deletions drivers/video/fbdev/gbefb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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)
Expand All @@ -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))
Expand Down Expand Up @@ -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)
Expand All @@ -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))
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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 */
Expand Down

0 comments on commit 552ccf6

Please sign in to comment.