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