#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/delay.h>
#include <linux/types.h>
#include <linux/string.h>
#include <linux/blkdev.h>
#include <linux/proc_fs.h>
#include <linux/stat.h>
#include <linux/interrupt.h>
#include <linux/reboot.h>
#include <linux/spinlock.h>
#include <asm/dbdma.h>
#include <asm/io.h>
#include <asm/pgtable.h>
#include <asm/prom.h>
#include <asm/irq.h>
#include <asm/hydra.h>
#include <asm/processor.h>
#include <asm/machdep.h>
#include <asm/pmac_feature.h>
#include <asm/pci-bridge.h>
#include <asm/macio.h>
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include "mesh.h"
Go to the source code of this file.
|
enum | mesh_phase {
idle,
arbitrating,
selecting,
commanding,
dataing,
statusing,
busfreeing,
disconnecting,
reselecting,
sleeping
} |
|
enum | msg_phase {
msg_none,
msg_out,
msg_out_xxx,
msg_out_last,
msg_in,
msg_in_bad
} |
|
enum | sdtr_phase { do_sdtr,
sdtr_sent,
sdtr_done
} |
|
|
| MODULE_AUTHOR ("Paul Mackerras ([email protected])") |
|
| MODULE_DESCRIPTION ("PowerMac MESH SCSI driver") |
|
| MODULE_LICENSE ("GPL") |
|
| module_param (sync_rate, int, 0) |
|
| MODULE_PARM_DESC (sync_rate,"Synchronous rate (0..10, 0=async)") |
|
| module_param (sync_targets, int, 0) |
|
| MODULE_PARM_DESC (sync_targets,"Bitmask of targets allowed to set synchronous") |
|
| module_param (resel_targets, int, 0) |
|
| MODULE_PARM_DESC (resel_targets,"Bitmask of targets allowed to set disconnect") |
|
| module_param (debug_targets, int, 0644) |
|
| MODULE_PARM_DESC (debug_targets,"Bitmask of debugged targets") |
|
| module_param (init_reset_delay, int, 0) |
|
| MODULE_PARM_DESC (init_reset_delay,"Initial bus reset delay (0=no reset)") |
|
| MODULE_DEVICE_TABLE (of, mesh_match) |
|
| module_init (init_mesh) |
|
| module_exit (exit_mesh) |
|
#define ALLOW_DEBUG |
( |
|
tgt | ) |
((debug_targets >> (tgt)) & 1) |
#define ALLOW_RESEL |
( |
|
tgt | ) |
((resel_targets >> (tgt)) & 1) |
#define ALLOW_SYNC |
( |
|
tgt | ) |
((sync_targets >> (tgt)) & 1) |
#define MKWORD |
( |
|
a, |
|
|
|
b, |
|
|
|
c, |
|
|
|
d |
|
) |
| (((a) << 24) + ((b) << 16) + ((c) << 8) + (d)) |
#define NUM_DBG_EVENTS 13 |
- Enumerator:
idle |
|
arbitrating |
|
selecting |
|
commanding |
|
dataing |
|
statusing |
|
busfreeing |
|
disconnecting |
|
reselecting |
|
sleeping |
|
Definition at line 102 of file mesh.c.
- Enumerator:
msg_none |
|
msg_out |
|
msg_out_xxx |
|
msg_out_last |
|
msg_in |
|
msg_in_bad |
|
Definition at line 115 of file mesh.c.
- Enumerator:
do_sdtr |
|
sdtr_sent |
|
sdtr_done |
|
Definition at line 124 of file mesh.c.
MODULE_DESCRIPTION |
( |
"PowerMac MESH SCSI driver" |
| ) |
|
MODULE_DEVICE_TABLE |
( |
of |
, |
|
|
mesh_match |
|
|
) |
| |
module_exit |
( |
exit_mesh |
| ) |
|
module_init |
( |
init_mesh |
| ) |
|
module_param |
( |
sync_rate |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
module_param |
( |
sync_targets |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
module_param |
( |
resel_targets |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
module_param |
( |
debug_targets |
, |
|
|
int |
, |
|
|
0644 |
|
|
) |
| |
module_param |
( |
init_reset_delay |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
MODULE_PARM_DESC |
( |
sync_rate |
, |
|
|
"Synchronous rate (0..10, 0=async)" |
|
|
) |
| |
MODULE_PARM_DESC |
( |
sync_targets |
, |
|
|
"Bitmask of targets allowed to set synchronous" |
|
|
) |
| |
MODULE_PARM_DESC |
( |
resel_targets |
, |
|
|
"Bitmask of targets allowed to set disconnect" |
|
|
) |
| |
MODULE_PARM_DESC |
( |
debug_targets |
, |
|
|
"Bitmask of debugged targets" |
|
|
) |
| |