Module Name:    xsrc
Committed By:   macallan
Date:           Thu Sep  8 05:25:49 UTC 2016

Modified Files:
        xsrc/external/mit/xf86-video-siliconmotion/dist/src: smi_driver.c

Log Message:
provide driverFunc() to tell the Xserver that this driver can work without PIO
access - sm50x doesn't have any vga compatibility registers
problem with that - newer chips do, but xorg 1.18 tries to enable PIO access
unconditionally so we should be fine.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
    xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c
diff -u xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c:1.6 xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c:1.7
--- xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c:1.6	Wed Sep  7 17:10:19 2016
+++ xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c	Thu Sep  8 05:25:49 2016
@@ -84,6 +84,8 @@ static void SMI_ProbeDDC(ScrnInfoPtr pSc
 static void SMI_DetectPanelSize(ScrnInfoPtr pScrn);
 static void SMI_DetectMCLK(ScrnInfoPtr pScrn);
 
+static Bool SMI_driverFunc(ScrnInfoPtr, xorgDriverFuncOp, pointer);
+
 /*
  * xf86VDrvMsgVerb prints up to 14 characters prefix, where prefix has the
  * format "%s(%d): " so, use name "SMI" instead of "Silicon Motion"
@@ -121,7 +123,8 @@ _X_EXPORT DriverRec SILICONMOTION =
     SMI_Probe,
     SMI_AvailableOptions,
     NULL,
-    0
+    0,
+    SMI_driverFunc
 };
 
 /* Supported chipsets */
@@ -235,7 +238,7 @@ siliconmotionSetup(pointer module, point
 
     if (!setupDone) {
 	setupDone = TRUE;
-	xf86AddDriver(&SILICONMOTION, module, 0);
+	xf86AddDriver(&SILICONMOTION, module, HaveDriverFuncs);
 
 	/*
 	 * The return value must be non-NULL on success even though there
@@ -2130,3 +2133,19 @@ SMI_PrintRegs(ScrnInfoPtr pScrn)
 
     LEAVE();
 }
+
+static Bool
+SMI_driverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
+    pointer ptr)
+{
+	xorgHWFlags *flag;
+	
+	switch (op) {
+	case GET_REQUIRED_HW_INTERFACES:
+		flag = (CARD32*)ptr;
+		(*flag) = HW_MMIO;
+		return TRUE;
+	default:
+		return FALSE;
+	}
+}

Reply via email to