[Linux-parport] EPP with PCIe cards

steve-k at arcor.de steve-k at arcor.de
Sun Apr 11 06:49:08 EDT 2010

Dear list subscribers,

while the parallel port is dieing out I hopefully find someone here who still maintains
the linux parport_pc code. I've had the problem to use some of the very old EPP based
peripheral devices on a new PC which only has PCI express slots.
Beside the not really well designed PCIe-PCI bridge based parallel cards, thee are
mainly two PCIe chips that natively support EPP transfers: The Oxford/PLX OXPCIe952
and the NetMos/MosChip NCS9901. Both chips are supported in the current kernel tree,
but both do not run in EPP mode out-of-the-box.
The first problem is the Intel bug check code in the parport_EPP_supported function.
It failed to detect EPP mode in all cases where an ECR registers was present, so it should
be removed if there isn't any good reason for it. The worst thing that can happen in this case
is that EPP mode is detected when it is not present. Reliable detection of EPP mode is not
an easy task anyway, since a cleared timeout bit does not necessarely indicate an active
EPP mode. The second problem is the probe order of EPP mode. As the timeout bit is always
cleared in cmpatibility mode on the MCS9901, EPP mode is mistakenly detected without
mode setting of the ECR register. To vercome this, the MCS9901 has to be forced to use
ECR mode setting by a specific post-init function. Enclosed you'll find a patch that contains
the changes. It has been tested against an OXPCIe952, MCS9901 and a SB750 based
onboard parport.

Kind regards
-------------- next part --------------
A non-text attachment was scrubbed...
Name: moschip_patch
Type: application/octet-stream
Size: 2427 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-parport/attachments/20100411/9198227d/attachment.obj>

More information about the Linux-parport mailing list