Commit Graph

25 Commits

Author SHA1 Message Date
Martyn Welch a5c330fe8b staging: vme: Fix mutex locking
Fix incorrect use of mutex_trylock().

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:18 -08:00
Martyn Welch 58e507987b Staging: vme: Rename VME DMA functions
The DMA resource allocation function is called "vme_request_dma" while
master and slave window allocation functions are called
"vme_master_request" and "vme_slave_request" respectively. Rename
"vme_request_dma" to "vme_dma_request" to fit the pattern.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:18 -08:00
Martyn Welch a4b02959d5 Staging: vme: Clean up tsi148 driver
* Remove message from IACK interrupt handler
* Correct clearing of location monitor interrupts
* Remove interrupt cleanup code that's duplcated in sub function

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:18 -08:00
Martyn Welch 8be9226c8f Staging: vme: Correct operation of vme_lm_free
The vme_lm_free() function is not clearing up the resource created in
vme_lm_request(). In addition vme_lm_free() is void function and is used in
exit/error paths, we should wait for mutex to become free rather than
exiting and not freeing the resource.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:18 -08:00
Martyn Welch 59c2290428 Staging: vme: Allow size of 0 when disabling a window
The TSI148 driver currently does not allow a size of zero to be passed to a
window. Zero is a valid value if the window is being disabled. Allow
windows to be disabled and their registers cleared.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:18 -08:00
Greg Kroah-Hartman 70d7aa889f Staging: vme: fix compiler warnings in vme_ca91cx42.c
It's causing people to ignore problems in the file, so get rid
of them so it's obvious something is wrong in the future.

Cc: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:17 -08:00
Martyn Welch c813f592a5 Staging: vme: Pull common VME interrupt handling into core code
Currently the VME callback infrastructure is replicated in each VME driver.
Move this common code into the VME core. Rename functions to fit in better
with naming of other VME functions.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:17 -08:00
Martyn Welch beb9ccc635 staging: vme: correct array overflow
Eric Sesterhenn noticed that vme_user is overflowing an array used by
sprintf. Use a bigger array.

CC: Eric Sesterhenn <eric.sesterhenn@lsexperts.de>
Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:17 -08:00
Huang Weiyi 6884bb0924 Staging: vme: remove unused #include <linux/version.h>
Remove unused #include <linux/version.h>('s) in
  drivers/staging/vme/bridges/vme_ca91cx42.c
  drivers/staging/vme/bridges/vme_tsi148.c
  drivers/staging/vme/devices/vme_user.c
  drivers/staging/vme/vme.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Acked-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11 12:23:17 -08:00
Greg Kroah-Hartman 6af783c8ba Staging: vme: fix sched.h build breakage
commit d43c36dc removed sched.h from interrupt.h.  This broke the
vme drivers.  This patch fixes them.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-10-14 14:14:36 -07:00
Greg Kroah-Hartman 51be97961f Staging: vme: change to VME_BUS
Turns out the m68k arch already has a CONFIG_VME, so use
CONFIG_VME_BUS instead.

Thanks to Geet Uytterhoeven for pointing this out.

Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:11 -07:00
Martyn Welch bf39f9a5bd Staging: vme: Separate the list of TODOs from the API documentation
This patch moves the API documentation to it's own file and provides a
proper list of TODOs.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:11 -07:00
Martyn Welch 3d0f8bc751 Staging: vme: Update support for the Universe II VME driver
This patch starts the reworking of the vme_ca91cx42.c for the VME core. The
driver seems to have only supported the Universe II for a long time, I have no
hardware to check to see if it would work on the Universe I.

This patch is compile tested with minimal run-time testing. It enables basic
support for slave and master windows and interrupts. The master windows have
undergone basic run testing.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:11 -07:00
Martyn Welch 42fb503122 Staging: vme: add VME Location Monitor management mechanism
Extend the image and DMA channel resource management methods to control the
location monitor resource. The location monitor should be controlled as it can
only be used at a single location at a time.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:11 -07:00
Martyn Welch 400822fec4 Staging: Use proper mutexes in the tsi-148 VME driver
The VME core and tsi-148 driver currently use semaphores as mutexes. Switch to proper
mutex implementation.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Reviewed-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:11 -07:00
Martyn Welch 238add523b Staging: Update VME vme_user module
* Add ifdef wrapper to vme_user.h
 * Correct Initialisation routine
 * Add remove routine to correct probe routine
 * Remove old test routines

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Martyn Welch 75155020c8 Staging: vme: Add syncronize interrupts before removing callback
As identified by Jiri, there is no syncronisation before callback is removed.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Emilio G. Cota 51a569f757 Staging: vme: fix {master,slave}_get check bug
It's checking the wrong functions; fix it.

Signed-off-by: Emilio G. Cota <cota@braap.org>
Acked-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Martyn Welch a37b0dad8b Staging: vme: Extend VME core probing for special matches
Add the ability to define all slots and current slot in the VME buses bind
table.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Martyn Welch df45517536 Staging: vme: Correct tsi-148 VME interrupt free routine
As identified by Jiri, the VME interrupt free routine removes the service
routine before disabling the interrupt. Re-order operations to be performed in
the reverse of the request routine.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Martyn Welch c7ef5da35a Staging: vme: add TODO file
This describes the current vme api, along with a list of things
that needs to be fixed up.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:10 -07:00
Martyn Welch d22b8ed9a3 Staging: vme: add Tundra TSI148 VME-PCI Bridge driver
Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:09 -07:00
Martyn Welch 60479690af Staging: vme: add Universe I/II bridge driver
Currently this code doesn't compile, so it is disabled.

That should be fixed up...

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:09 -07:00
Martyn Welch f00a86d98a Staging: vme: add VME userspace driver
Adds a VME userspace access driver

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:09 -07:00
Martyn Welch a17a75e266 Staging: VME Framework for the Linux Kernel
This framework aims to colelese, extend and improve the VME Linux
drivers found at vmelinux.org, universe2.sourceforge.net and
openfmi.net/frs/?group_id=144. The last 2 drivers appear to be forks of
the original code found at vmelinux.org though have extended the
codebase.

Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:09 -07:00