Hi Linus,
Here is a patch to make the parport_pc comments better. No code
change.
Tim.
*/
2000-12-17 Tim Waugh <[email protected]>
* drivers/parport/parport_pc.c: Better commentary. Patch from
R Horn.
* drivers/parport/ChangeLog: Updated.
--- linux-2.4.0-test12/drivers/parport/parport_pc.c.commentary Tue Dec 12 13:03:24 2000
+++ linux-2.4.0-test12/drivers/parport/parport_pc.c Wed Dec 13 14:11:11 2000
@@ -938,13 +938,11 @@
/* Can't yield the port. */
schedule ();
- /* At this point, the FIFO may already be full.
- * Ideally, we'd be able to tell the port to hold on
- * for a second while we empty the FIFO, and we'd be
- * able to ensure that no data is lost. I'm not sure
- * that's the case. :-( It might be that you can play
- * games with STB, as in the forward case; someone should
- * look at a datasheet. */
+ /* At this point, the FIFO may already be full. In
+ * that case ECP is already holding back the
+ * peripheral (assuming proper design) with a delayed
+ * handshake. Work fast to avoid a peripheral
+ * timeout. */
if (ecrval & 0x01) {
/* FIFO is empty. Wait for interrupt. */
@@ -976,6 +974,10 @@
goto false_alarm;
}
+ /* Depending on how the FIFO threshold was
+ * set, how long interrupt service took, and
+ * how fast the peripheral is, we might be
+ * lucky and have a just filled FIFO. */
continue;
}
@@ -987,6 +989,9 @@
continue;
}
+ /* FIFO not filled. We will cycle this loop for a while
+ * and either the peripheral will fill it faster,
+ * tripping a fast empty with insb, or we empty it. */
*bufp++ = inb (fifo);
left--;
}
--- linux-2.4.0-test12/drivers/parport/ChangeLog.commentary Wed Dec 13 14:17:10 2000
+++ linux-2.4.0-test12/drivers/parport/ChangeLog Wed Dec 13 14:17:26 2000
@@ -0,0 +1,4 @@
+2000-12-17 R Horn <[email protected]>
+
+ * parport_pc.c: Some commentary changes.
+