On Thu, 30 Aug 2001, Roman Zippel wrote:
> Let's try my suspicion. :)
> Could you disable this part in
> drivers/parport/ieee1284_ops.c:parport_ieee1284_write_compat():
>
> /* Is the peripheral ready yet? */
> if (!parport_wait_peripheral (port, mask, val))
> /* Skip the loop */
> goto ready;
>
> IMO this should already help a bit, although there might be new
> problems.
Hi,
No good at all, nothing prints. A bit of debug added shows it to be stuck
in the
do { ... } while (time_before (jiffies, expire));
loop.
> Second, you can simply remove the call to parport_enable_irq(), the irq
> is never disabled, so it doesn't need to be enabled all the time. This
> will get rid of the kernel warnings.
OK, a minor problem at the moment ;)
> > I can't see anything in parport_amiga.c in combination with ieee1284_ops.c
> > that supports a write -> strobe -> ack -> interrupt -> do it again loop.
>
> Because it's automatically handled in the hardware, otherwise it had to
> happen in the write_control function.
Sorry, I wasn't very clear. I know it's done in hardware, write a byte to
the CIA which STOBES the printer, ACK comes back from the printer and
generates a CIA FLAG interrupt.
I can't see / understand how parport_ieee1284_write_compat and the
wait/poll functions it calls wait for the ACK interrupt to comeback before
sending the next byte out.
Ken.
-- 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 : Fri Aug 31 2001 - 12:47:06 EDT