aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/amifb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/amifb.c')
-rw-r--r--drivers/video/amifb.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/drivers/video/amifb.c b/drivers/video/amifb.c
index 421c1f9d74ab..13e7a179f8d4 100644
--- a/drivers/video/amifb.c
+++ b/drivers/video/amifb.c
@@ -961,6 +961,11 @@ static int round_down_bpp = 1; /* for mode probing */
static int amifb_ilbm = 0; /* interleaved or normal bitplanes */
static int amifb_inverse = 0;
+static u32 amifb_hfmin __initdata; /* monitor hfreq lower limit (Hz) */
+static u32 amifb_hfmax __initdata; /* monitor hfreq upper limit (Hz) */
+static u16 amifb_vfmin __initdata; /* monitor vfreq lower limit (Hz) */
+static u16 amifb_vfmax __initdata; /* monitor vfreq upper limit (Hz) */
+
/*
* Macros for the conversion from real world values to hardware register
@@ -2357,10 +2362,10 @@ static void __init amifb_setup_mcap(char *spec)
if (hmax <= 0 || hmax <= hmin)
return;
- fb_info.monspecs.vfmin = vmin;
- fb_info.monspecs.vfmax = vmax;
- fb_info.monspecs.hfmin = hmin;
- fb_info.monspecs.hfmax = hmax;
+ amifb_hfmin = hmin;
+ amifb_hfmax = hmax;
+ amifb_vfmin = vmin;
+ amifb_vfmax = vmax;
}
static int __init amifb_setup(char *options)
@@ -3666,10 +3671,15 @@ default_chipset:
}
}
- /*
- * These monitor specs are for a typical Amiga monitor (e.g. A1960)
- */
- if (fb_info.monspecs.hfmin == 0) {
+ if (amifb_hfmin) {
+ fb_info.monspecs.hfmin = amifb_hfmin;
+ fb_info.monspecs.hfmax = amifb_hfmax;
+ fb_info.monspecs.vfmin = amifb_vfmin;
+ fb_info.monspecs.vfmax = amifb_vfmax;
+ } else {
+ /*
+ * These are for a typical Amiga monitor (e.g. A1960)
+ */
fb_info.monspecs.hfmin = 15000;
fb_info.monspecs.hfmax = 38000;
fb_info.monspecs.vfmin = 49;