Re: [PARPORT] Question about 2.4.0-test1 FIFO reads

From: rjh@world.std.com
Date: Wed Jul 05 2000 - 11:28:06 EDT

  • Next message: dmaul683@juno.com: "Re: [PARPORT] Parallel ZIP drive problem."

    Further info on FIFO. The Super-IO chipset specification is clearer. It
    implies that the hardware does do what we need. The exact words are:

        When the ECP is in the backward direction, and the FIFO is
        not full (bit 1 of ECR is 0), the ECP issues a read cycle to
        the peripheral device and monitors the BUSY signal. If
        BUSY is high the byte is a data byte and it is pushed into the
        FIFO. If BUSY is low the byte is a command byte.

    This implies that the chip will hold off ECP cycles while FIFO is full.
    The overrun consideration is from the peripheral. The peripheral might
    not be able to wait. For example, the integrated FDC controller cannot
    wait. It obtains data in bit serial from the floppy disk logic, forms
    bytes, and shoves them into the FIFO. If the FIFO cannot keep up, it
    discards bytes and turns on a data overrun flag.

    If this is the case for all the other chipsets (which seems likely given
    that the old Super-IO is emulated by some of them) the FIFO mode logic
    can be made simpler. The Super-IO is also clear that you should not
    transition the direction when there are bytes in the FIFO. It too will
    fail. So the early turn-around to eliminate the race condition is not a
    solution.

    R Horn

    -- To unsubscribe, send mail to: linux-parport-request@torque.net --
    -- with the single word "unsubscribe" in the body of the message. --



    This archive was generated by hypermail 2b29 : Wed Jul 05 2000 - 11:30:50 EDT