2008-07-01 21:45:40

by Bernhard Walle

[permalink] [raw]
Subject: [PATCH] Add base_hi BAR for oxsemi_840

Use the 2nd BAR for the oxsemi_840 chip as BAR for base_hi.
Tested with:

Parallel controller [0701]: Oxford Semiconductor Ltd VScom 011H-EP1
1 port parallel adaptor [1415:8403] (prog-if 03 [IEEE1284])

This patch is needed to make 'TRISTATE' working with that adaptor.


Signed-off-by: Bernhard Walle <[email protected]>

---
drivers/parport/parport_pc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/parport/parport_pc.c
+++ b/drivers/parport/parport_pc.c
@@ -2877,7 +2877,7 @@ static struct parport_pc_pci {
* and 840 locks up if you write 1 to bit 2! */
/* oxsemi_952 */ { 1, { { 0, 1 }, } },
/* oxsemi_954 */ { 1, { { 0, -1 }, } },
- /* oxsemi_840 */ { 1, { { 0, -1 }, } },
+ /* oxsemi_840 */ { 1, { { 0, 1 }, } },
/* aks_0100 */ { 1, { { 0, -1 }, } },
/* mobility_pp */ { 1, { { 0, 1 }, } },
/* netmos_9705 */ { 1, { { 0, -1 }, } }, /* untested */


2008-07-01 22:00:40

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] Add base_hi BAR for oxsemi_840

On Tue, 1 Jul 2008 23:45:29 +0200
Bernhard Walle <[email protected]> wrote:

> Subject: [PATCH] Add base_hi BAR for oxsemi_840

Please add a subsystem identifier to patch titles. In this case,

parport_pc: add base_hi BAR for oxsemi_840

is good.

(IMO this is mainly as a courtesy to people who are browsing the commits
lists) (and short-form changelogs)

> Date: Tue, 1 Jul 2008 23:45:29 +0200
> Organization: SUSE LINUX Products GmbH
> X-Mailer: Claws Mail 3.5.0 (GTK+ 2.12.10; i686-pc-linux-gnu)
>
> Use the 2nd BAR for the oxsemi_840 chip as BAR for base_hi.
> Tested with:
>
> Parallel controller [0701]: Oxford Semiconductor Ltd VScom 011H-EP1
> 1 port parallel adaptor [1415:8403] (prog-if 03 [IEEE1284])
>
> This patch is needed to make 'TRISTATE' working with that adaptor.
>
>
> Signed-off-by: Bernhard Walle <[email protected]>
>
> ---
> drivers/parport/parport_pc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/drivers/parport/parport_pc.c
> +++ b/drivers/parport/parport_pc.c
> @@ -2877,7 +2877,7 @@ static struct parport_pc_pci {
> * and 840 locks up if you write 1 to bit 2! */
> /* oxsemi_952 */ { 1, { { 0, 1 }, } },
> /* oxsemi_954 */ { 1, { { 0, -1 }, } },
> - /* oxsemi_840 */ { 1, { { 0, -1 }, } },
> + /* oxsemi_840 */ { 1, { { 0, 1 }, } },
> /* aks_0100 */ { 1, { { 0, -1 }, } },
> /* mobility_pp */ { 1, { { 0, 1 }, } },
> /* netmos_9705 */ { 1, { { 0, -1 }, } }, /* untested */

My parport knowledge doesn't permit me to understand how serious the
just-fixed bug was. Non-functional parport?

If so, this looks like a 2.6.26 and 2.6.25.x fix?

2008-07-01 22:24:32

by Bernhard Walle

[permalink] [raw]
Subject: Re: [PATCH] Add base_hi BAR for oxsemi_840

* Andrew Morton <[email protected]> [2008-07-01 15:00]:
> >
> > --- a/drivers/parport/parport_pc.c
> > +++ b/drivers/parport/parport_pc.c
> > @@ -2877,7 +2877,7 @@ static struct parport_pc_pci {
> > * and 840 locks up if you write 1 to bit 2! */
> > /* oxsemi_952 */ { 1, { { 0, 1 }, } },
> > /* oxsemi_954 */ { 1, { { 0, -1 }, } },
> > - /* oxsemi_840 */ { 1, { { 0, -1 }, } },
> > + /* oxsemi_840 */ { 1, { { 0, 1 }, } },
> > /* aks_0100 */ { 1, { { 0, -1 }, } },
> > /* mobility_pp */ { 1, { { 0, 1 }, } },
> > /* netmos_9705 */ { 1, { { 0, -1 }, } }, /* untested */
>
> My parport knowledge doesn't permit me to understand how serious the
> just-fixed bug was. Non-functional parport?
>
> If so, this looks like a 2.6.26 and 2.6.25.x fix?

No, for good old printers, everything works. It's just that ECR
register was not available (the base_hi stuff). Because of that,
the TRISTATE detection did not work, which meant that for me my
self-built logic analyzer which uses the parallel port did not work.

Just merge in 2.6.27 is enough. :)


Bernhard
--
Bernhard Walle, SUSE LINUX Products GmbH, Architecture Development