From: Derek Bouius (
Date: Thu May 18 2000 - 09:27:00 EDT

  • Next message: Tim Waugh: "Re: [PARPORT] ECP read - FIFO/DMA"

    Thanks for your hints.
    I have the start of a solution for my device, but I am trying to make it
    generic. I have found out where my machine was freezing. It was in the
    parport_pc.c get_fifo_residue function. I don't understand why the outb is
    there. From data sheets I have read, when in read mode (bit 5 is 1 in ECP
    control register (offset 0x002)) writing to this register has no effect and
    the data written is ignored.

      for (residue = priv->fifo_depth; ; residue--) {
           if (inb (ECONTROL (p)) & 0x2)
             /* Full up. */

           outb (0, FIFO (p)); // what the heck is this doing?

    I am guessing this was to fill the fifo and break when it became full, but I
    don't think that works.
    I might not be able to work on this for a week or so, but I will see what I
    can get done today.

    Derek Bouius     | American Biometric Company  | Tel:(613)736-5100x281 | 3429 Hawthorne Rd,Ottawa,ON | Fax:(613)736-1742

    -- To unsubscribe, send mail to: -- -- with the single word "unsubscribe" in the body of the message. --

    This archive was generated by hypermail 2b29 : Thu May 18 2000 - 09:29:13 EDT