lkml.org 
[lkml]   [1998]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[patch] parport-arca-16 (fwd)
This is the latest parport stuff developed mainly by mine and some merged
stuff by Tim [PARPORT_DEV_EXCL - LURK-TRAN parport_share update] and Phil
if I remeber correctly. You find it described below. The only not needed
thing in the patch is the spinlock improvement (that I consider as a code
cleanup and I couldn' t resist to do it). If you' ll ask me I' ll remove
it from the patch.

The new patch also fix the new joystick parport stuff. It was not checking
for the parport_register_device() retval and the joystick stuff need to
register the port in exclusive mode (a simply a cat /dev/js0 & would stall
all other pardevices right now). I am pretty sure the exclusive access is
the right thing to do for a joy device that can' t have an high latency to
be useful (it' s not a background job like a printing).

Patch against 2.1.125:

drivers/char/hfmodem/main.c | 12 ---
drivers/char/joystick/joy-console.c | 4 -
drivers/char/joystick/joy-db9.c | 4 -
drivers/char/joystick/joy-turbografx.c | 4 -
drivers/char/lp.c | 2
drivers/misc/parport_arc.c | 7 +
drivers/misc/parport_ax.c | 29 +++----
drivers/misc/parport_pc.c | 28 ++-----
drivers/misc/parport_procfs.c | 39 ++++++----
drivers/misc/parport_share.c | 127 ++++++++++++++++++++-------------
drivers/net/hamradio/baycom_epp.c | 12 ---
drivers/net/hamradio/baycom_par.c | 12 ---
drivers/net/plip.c | 5 +
drivers/pnp/parport_probe.c | 2
drivers/scsi/Config.in | 2
drivers/scsi/imm.c | 23 ++++-
drivers/scsi/ppa.c | 17 ++++
include/linux/lp.h | 6 -
include/linux/parport.h | 37 +++++++--
include/linux/parport_pc.h | 2
20 files changed, 221 insertions, 153 deletions

begin 664 parport-arca-2.1.125-18.diff.gz
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
:I-X6G'U!:<'CC9/54^^SQ?\"#J-QI)5P````
`
end

Andrea[s] Arcangeli

PS. BTW, did you seen my smart-mmap-sync patch on the list? (you can find
it in the thread with subject "Re: [patch] Re: Shared mmap write-out (was:
Re: patch cow-swapin)-- 2.0, 2.1 at , least]") If you agree with the patch
I think it would be nice to have it in 2.2 also since Solaris and FreeBSD
handle that smartly too (at least according to Ion Badulescu).

---------- Forwarded message ----------
Date: Mon, 5 Oct 1998 02:02:16 +0200 (CEST)
From: Andrea Arcangeli <andrea@e-mind.com>
To: linux-kernel@vger.rutgers.edu, linux-parport@torque.net
Cc: Tim Waugh <tim@cyberelk.demon.co.uk>,
Philip Blundell <Philip.Blundell@pobox.com>
Subject: [patch] parport-arca-16

I am going to send to Linus the latest parport stuff developed by mine +
some stuff merged by Tim (Waugh) and Philip (Blundell).

(my latest stuff can be downloaded at ftp://e-mind.com/pub/linux/parport/
btw).

This is not only a patch-bugfix and if Linus will ask I' ll divide
the patch in two parts: needed-bugfix and cleanup.

The code should be just well tested and repored working fine but I ask
people that is using parport to try it now.

All the changes are backwards compatible with the last parport code.

The patch include:

o New way to handle the pardevice irq. Now the parport_lowlevel
driver will implement the hard irq handler so it will be able
to check if it' s been the alien parallel port that has generated
the IRQ and ACK the irq in an alien way or return if needed. Then
it will probably (it' s not forced) reacall port->cad->irq_func .
For do this task safely I implemented an inline function in
parport.h called parport_generic_irq() that every parport_lowlevel
driver can use (note that parport_pc/ax/arc_interrupt() will only
recall parport_generic_irq()).

This change is needed to support alien parallel port (aka Amiga
one) without having to hack the pardevice code. This way the
pardevice must know nothing about parallel port internals.

The good side effect of this change is that now all the time
parport has an irq handler requested so it will end in a more
robust design. Now I also avoid irq to happens using
disable_irq() if the cad will haven' t an irq_func registered
(note that some pardevice could generate irq even if they are not
irq driven due how the parallel port generates the irq).

This code has never got one problem so far.

o I fine-grined the parport spinlock stuff. Before my patch
there was only 1 spinlock used to assure atomicity playing
with the parport waitlist, the pardevice list and the
changing of the port->cad and worse all spinlock was managed
with the spin_[un]lock_irqsave functions even if not needed
(for example parport_register_device has to be run only
at insmod/rmmod or bootup time). Also the port->cad could be
accessed at the same time of the parport waitlist.

Now there are 3 parport spinlock used with more efficient
spinlock functions.

o The PARPORT_DEV_LURK flag is obsolete since January. Using
it make no differences how parport will manage the parport
scheduling (since just now we handle the scheduling in round robin
using a waitlist). I would like to add a printk(KERN_DEBUG) as
first suggested and implemented by Tim, to make aware the
pardevice developer that the LURK flag is obsolete if he was still
using it but other parport developers didn' t agreed because
using LURK won' t hurt so now parport continue to accept the LURK
flag quitely (but it' s clear specifyed in parport.h that
LURK and TRAN are obsolete). Right now every device should
use 0x0 as flag if it doesn' t need special things.

As a side effect of LURK obsolete also TRAN is obsolete.

In the patch I put in sync all pardevice in the kernel with the
new semantical changes.

o The new PARPORT_DEV_EXCL. This new pardevice flag tells parport
if a device is not able to preempt the port after a rasonable
amount of time.

This flag is needed because without it there could be a parport
starvation because many pardevice could wait for a
parport_release() that could never happens.

This new flag must be used only when _needed_.

I just put in sync the soundmodem and baycom hamradio
pardevice with the new flag. These pardevices raised the issue on
linux-parport that convinced Tim to implement the new EXCL flag.

Note that this is not really a bugfix but this flag will
help sysadmin to avoid mistakes.

o I fixed all pardevices that was not checking for the
parport_register_device() retval. Now with the new
EXCL flag it' s a must to check the retval (it should
be a must also before the patch though ;-).

o PPA config.in fix (read the patch ;-).

o ppa and imm now will not hang in ppa_detect if during
that stage another pardevice is owning the port for more than
3*HZ. This should be not needed right now due the
EXCL flag but it' s more safe to add it anyway.

o I changed LP_INIT_WAIT from 0 to 20. This is the number
of times we decrease a variable before remove the strobe
from the bus.

Everybody can change this value at runtime using tunelp. For
example I add in my /etc/conf.modules (I need 30 because
my printer is old):

andrea@dragon:~$ grep tunelp /etc/conf.modules
post-install lp /usr/sbin/tunelp /dev/lp0 -c 1 -w 30

Using tunelp xxx -w ? you can reset this value to 0 as it' s now.
I increased it because machines are always faster and it' s likely
to have a safe default.

The patch is against 2.1.123 but seems to apply clean also against 124.

Andrea[s] Arcangeli

*last patch snipped from the forward*



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:44    [W:0.081 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site