Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Jun 2013 13:24:27 -0400
From:      Robert Ames <robertames@hotmail.com>
To:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Subject:   Intel D2500CC serial ports
Message-ID:  <BLU177-W9398FC7BF05E2069A4961C9700@phx.gbl>

next in thread | raw e-mail | index | archive | help

I just picked up an Intel D2500CCE motherboard and was disappointed
to find the serial ports didn't work.  There has been discussion
about this problem here:

http://lists.freebsd.org/pipermail/freebsd-current/2013-April/040897.html
http://lists.freebsd.org/pipermail/freebsd-current/2013-May/042088.html

As seen in the second link, Juergen Weiss was able to work around
the problem.  This patch (for 8.4-RELEASE amd64) makes all 4 serial
ports functional.

--- /usr/src/sys/amd64/amd64/io_apic.c.orig 2013-06-02 13:23:05.000000000 -0500
+++ /usr/src/sys/amd64/amd64/io_apic.c      2013-06-28 18:52:03.000000000 -0500
@@ -452,6 +452,10 @@
        KASSERT(!(trig == INTR_TRIGGER_CONFORM || pol == INTR_POLARITY_CONFORM),
            ("%s: Conforming trigger or polarity\n", __func__));
 
+       if (trig == INTR_TRIGGER_EDGE && pol == INTR_POLARITY_LOW) {
+               pol = INTR_POLARITY_HIGH;
+       }
+
        /*
         * EISA interrupts always use active high polarity, so don't allow
         * them to be set to active low.

However this is just a work around and not a general solution.  Does
anyone have suggestions on a fix that could be committed so the
serial ports for this board will work out of the box? 		 	   		  


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BLU177-W9398FC7BF05E2069A4961C9700>