On Mon, 27 Aug 2001 17:04:04 +0100, Philip Blundell <philb@gnu.org> wrote:
>
> >+#ifdef CONFIG_PARPORT_PC_FIFO
> >[...]
> >+#else /* CONFIG_PARPORT_PC_FIFO */
> >+ printk (KERN_INFO "lp%d: compatibility mode\n", minor);
> >+ lp_table[minor].best_mode = IEEE1284_MODE_COMPAT;
> >+#endif /* CONFIG_PARPORT_PC_FIFO */
>
> Why do you need to explicitly check CONFIG_PARPORT_PC_FIFO? That doesn't seem
> like the kind of thing that drivers should be doing. I think the parport
> ieee1284 code and/or parport_pc itself should arrange for things to behave
> "properly" regardless of that option. If parport_pc can't do ECP in any
> meaningful way without the FIFO being enabled, maybe it should fiddle the
> advertised modes to not claim ECP support at all.
>
> p.
>
>
In the long run I think you're right, but I was trying to deal with
the fact that the parport ECP mode doesn't work unless DMA is used. I
don't have any problem removing the test as long as it's coupled with
appropriate changes to parport. Perhaps parport should just fail the
negotiate-to-ECP request unless FIFO/DMA support is turned on (and the
hardware supports it!). I'd be happy to submit a set of coupled
patches if that's the right thing to do.
BTW, Windows machines won't even attempt to do ECP mode transfers unless
the hardware supports DMA, no matter what your BIOS settings may be.
Perhaps we should learn from them :-)
-- Dave Strauss
-- 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 : Mon Aug 27 2001 - 12:16:31 EDT