From: Joseph Krahn <joseph.krahn@gmail.com>
To: linux-kernel@vger.kernel.org
Subject: Trying to fix ITE-887x parallel/serial driver bugs (including unhandled IRQs)
Date: Mon, 12 Apr 2010 11:34:18 -0400 [thread overview]
Message-ID: <q2lff6de6f21004120834k72cfd554v188b9d2b5a01012c@mail.gmail.com> (raw)
The ITE-887x parallel and serial port drivers are badly designed. I am
working on a patch to fix this, but have some questions.
Both drivers (8250_pci.c and parport_pc.c) probe randomly for the
chips control I/O port, instead of using the standard PNP-configured
BAR, and they do so independently, stepping on the previous drivers
configuration attempt. I think the two drivers should be merged into
parport_serial.c because this is a combo chip. However, different
variants of the chip have the same PCI vendor/device IDs, but may have
only serial or only parallel ports. Is it OK to have a driver in
parport_serial.c for chip that has only serial ports? Keeping a
separate driver in 8250_pci.c means having two drivers for the same
PCI device ID.
The IT887x chips include an interrupt controller that maps external
IRQ inputs to serialized IRQs. Apparently, the I/O ports only present
a standard interrupt interface when wired for serialized IRQs. For
normal PCI interrupts, it needs a custom interrupt handler to
communicate directly with the interrupt-controller port. The current
serial driver attempts to disable IRQs, and let the core driver revert
to polling. However, it does this incorrectly, and can produce
unhandled IRQs. (Maybe it was tested on a system with Ser. IRQ?) To
avoid extra interrupt-handler code, especially for a less common chip,
is it OK to intentionally provide polling-only support?
Thanks,
Joe Krahn
next reply other threads:[~2010-04-12 15:34 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-12 15:34 Joseph Krahn [this message]
2010-04-12 16:43 ` Alan Cox
2010-04-12 21:05 ` Joseph Krahn
2010-04-14 4:43 ` Joseph Krahn
2010-04-14 12:11 ` Alan Cox
2010-04-14 17:46 ` Joseph Krahn
2010-04-15 10:44 ` Alan Cox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=q2lff6de6f21004120834k72cfd554v188b9d2b5a01012c@mail.gmail.com \
--to=joseph.krahn@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®