modesetting xserver change breaks drivers...

David Miller davem at davemloft.net
Fri Feb 29 13:21:49 PST 2008


The following commit requires all drivers providing crtc funcs to be
rebuilt because the new function pointer will be, at best, garbage,
since the crtc funcs structure layout has changed.

Don't we need to do a version bump or something like that when this
happens?

commit d12b7b6632fb4cf41d2e28c7792eaa503f25404a
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Feb 27 07:08:00 2008 +1000

    xf86Crtc: add higher level modesetting entry point.
    
    For kernel modesetting work we need a bigger stick to beat the modesetting path

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 4ecf4b3..266e081 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -236,6 +236,9 @@ xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation,
     int			saved_x, saved_y;
     Rotation		saved_rotation;
 
+    if (crtc->funcs->set_mode_major)
+	return crtc->funcs->set_mode_major(crtc, mode, rotation, x, y);
+	
     crtc->enabled = xf86CrtcInUse (crtc);
     
     if (!crtc->enabled)
diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h
index 62d85bb..cc045b2 100644
--- a/hw/xfree86/modes/xf86Crtc.h
+++ b/hw/xfree86/modes/xf86Crtc.h
@@ -206,6 +206,13 @@ typedef struct _xf86CrtcFuncs {
      */
     void
     (*destroy) (xf86CrtcPtr	crtc);
+
+    /**
+     * Less fine-grained mode setting entry point for kernel modesetting
+     */
+    Bool
+    (*set_mode_major)(xf86CrtcPtr crtc, DisplayModePtr mode,
+		      Rotation rotation, int x, int y);
 } xf86CrtcFuncsRec, *xf86CrtcFuncsPtr;
 
 struct _xf86Crtc {



More information about the xorg mailing list