[PARPORT] ECPSW mode error?

From: qyzhu@krdl.org.sg
Date: Wed Apr 26 2000 - 04:40:11 EDT

  • Next message: Andrew Godfrey: "[PARPORT] pg & cdrecord"


    While I go through the ieee1284_ops.c file, I found that the signaling
    is not the same as describe in the standard or even the comments.

    Like in function:
    static inline
    int ecp_forward_to_reverse (struct parport *port)
     int retval;

     /* Event 38: Set nAutoFd low */
     parport_frob_control (port,
     parport_data_reverse (port);
     udelay (5);

     /* Event 39: Set nInit low to initiate bus reversal */
     parport_frob_control (port,

    ======== Here, nInit is set to high actually.

     /* Event 40: PError goes low */
     retval = parport_wait_peripheral (port,

     if (!retval) {
      DPRINTK (KERN_DEBUG "%s: ECP direction: reverse\n",
      port->ieee1284.phase = IEEE1284_PH_REV_IDLE;

     return retval;
    So my question will be is my understanding of frob_control() correct?
    From what I read from the code, it seems what ever in the mask gets set
    to high, and what ever in the value (within the mask) gets low. I am a
    little bit confused by the usage of the frob_control functions. If my
    understanding is wrong, that the code for event 38 is wrong. :)

    I think the software ECP mod need a careful review of all the control
    signals. I have the standard on hand so I will do the work if my doubt
    is cleared first.


    Qun Ying

    -- 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 Apr 26 2000 - 04:43:19 EDT