From e27785a3fbabc9f354c361b5058b0359b6d9b5ae Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Thu, 16 Feb 2017 11:13:59 -0500 Subject: Move max mode h/v checks into ATIValidMode Signed-off-by: Adam Jackson --- src/ativalid.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/ativalid.c') diff --git a/src/ativalid.c b/src/ativalid.c index 122f594..612bfe5 100644 --- a/src/ativalid.c +++ b/src/ativalid.c @@ -53,6 +53,23 @@ ATIValidMode return MODE_OK; } + { + int maxHValue, maxVValue; + + maxHValue = (MaxBits(CRTC_H_TOTAL) + 1) << 3; + if (pATI->Chip < ATI_CHIP_264VT) + { + /* CRTC_H_TOTAL is one bit narrower */ + maxHValue >>= 1; + } + if (pMode->HDisplay > maxHValue) + return MODE_BAD_HVALUE; + + maxVValue = MaxBits(CRTC_V_TOTAL) + 1; + if (pMode->VDisplay > maxVValue) + return MODE_BAD_VVALUE; + } + /* * The following is done for every mode in the monitor section that * survives the common layer's basic checks. -- cgit v1.2.3