[PARPORT] Problems setting reverse channel

From: David Lambert (dave_lambert@fbcc.com)
Date: Thu Jul 26 2001 - 07:46:47 EDT

  • Next message: David Lambert: "[PARPORT] Please disregard my last message!!!!!"

    Maybe I am in here over my head, but I am having problems getting the parport
    driver (Linux 2.4.6) to perform reverse channel reads in ecp mode. I have
    added some printk statements and all seems logical until I get to
    ecp_forward_to_reverse(). My debug statements all start with "JDAL". The
    system log seems to show that the system never returns from its call to
    parport_data_reverse (port). Can someone help me understand this code snippet
    better?

    Many thanks,

    Dave.

    Jul 26 06:34:16 demo kernel: JDAL In parport_read
    Jul 26 06:34:16 demo kernel: parport0: Using ECP mode read
    Jul 26 06:34:16 demo kernel: JDAL in parport_ieee1284_ecp_read_data
    Jul 26 06:34:16 demo kernel: JDAL parport_ieee1284_ecp_read_data attempting
    to reverse
    Jul 26 06:34:16 demo kernel: JDAL in ecp_forward_to_reverse
    Jul 26 06:34:16 demo kernel: JDAL calling parport_data_reverse
    Jul 26 06:34:17 demo kernel: JDAL In parport_read
    Jul 26 06:34:17 demo kernel: parport0: Using ECP mode read
    Jul 26 06:34:17 demo kernel: JDAL in parport_ieee1284_ecp_read_data
    Jul 26 06:34:17 demo kernel: JDAL parport_ieee1284_ecp_read_data attempting
    to reverse
    Jul 26 06:34:17 demo kernel: JDAL in ecp_forward_to_reverse
    Jul 26 06:34:17 demo kernel: JDAL calling parport_data_reverse

    static inline
    int ecp_forward_to_reverse (struct parport *port)
    {
            int retval;
            printk("JDAL in ecp_forward_to_reverse\n");

            /* Event 38: Set nAutoFd low */
            parport_frob_control (port,
                                  PARPORT_CONTROL_AUTOFD,
                                  PARPORT_CONTROL_AUTOFD);
            printk("JDAL calling parport_data_reverse\n");

            parport_data_reverse (port);
            udelay (5);

            /* Event 39: Set nInit low to initiate bus reversal */

            printk ("JDAL Setting nReverseRequest\n");
    /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!NEVER-SEEMS-TO-GET-HERE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
            parport_frob_control (port,
                                  PARPORT_CONTROL_INIT,
                                  0);

            /* Event 40: PError goes low */
            retval = parport_wait_peripheral (port,
                                              PARPORT_STATUS_PAPEROUT, 0);

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

            return retval;
    }

    -- 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 : Thu Jul 26 2001 - 07:48:10 EDT