Commit Graph

188 Commits

Author SHA1 Message Date
perry
489c2f7e06 make script insert RCS ids into generated files 1998-01-05 21:10:18 +00:00
mark
4c86426324 Initial commit of the Atomwide Multi-Port Serial card driver. This driver
just provides attachments to the generic 16550 IC driver.
1997-11-06 02:08:51 +00:00
mark
2b325ac968 Remove verbose printing when disabling interrupts on shutdown. 1997-11-06 01:52:43 +00:00
mark
441bad5ec5 Updated for a couple of changes to the arm32 dp8390 driver brought
upto date with respect to the MI one.
1997-10-18 04:39:12 +00:00
mark
74c3a08d8d Updated for recent wd driver changes. Include wdlink.h instead of wdcvar.h 1997-10-17 06:49:17 +00:00
mark
c004efb65e Remove redundant .req statements.
Use the ENTRY() macro from machine/asm.h for function declarations.
1997-10-17 06:46:27 +00:00
mark
693c30544f Initial commit of the EtherM network slot driver. 1997-10-15 00:29:25 +00:00
mark
0731581015 Define the IRQ and DMA interrupt numbers in the podule structures so these
are passed to child devices.
Support disabling the attachment of specific podules with boot time
arguments.
1997-10-15 00:02:09 +00:00
mark
da99d2d6ce Use the bs_notimpl* functions for unsupported bus space operations. 1997-10-14 23:52:46 +00:00
mark
1d4c6912a3 Initial commit of a driver for the Simtec IDE podule. This driver just
provides attachments and I/O specific functions for the generic
arm32/dev/wd driver.
1997-10-14 23:20:51 +00:00
mark
55ce4217fd Updated for new location of the wd driver.
Use the interrupt specified in the podule structure when claiming
interrupts.
Updated the attach and probe declarations.
1997-10-14 23:09:38 +00:00
mark
62331864bc Remove profiling calls from assembly routines. 1997-10-14 23:05:03 +00:00
mark
432c66fa8d Updated for new arm32 source structure.
Updated declarations of attach and probe functions.
Don't define dummy functions for un-supported bus space operations,
instead use the bs_notimp*() functions.
1997-10-14 22:59:08 +00:00
mark
4162ff2287 Updated for source code restructure.
Fix attach and probe declarations.
1997-10-14 22:43:28 +00:00
mark
82441d4be5 Use the podule interrupt number provided by the podule structure when
attaching interrupts.
Fixed declarations of the attach and probe functions.
1997-10-14 22:31:50 +00:00
mark
dcbc0a0652 Fix a couple of typos. 1997-10-14 22:27:41 +00:00
mark
48d4e57477 Sync with new version of podules. 1997-10-14 22:22:50 +00:00
mark
fa8313f451 Add a definition for a ROM-less ether3 podule. 1997-10-14 22:22:08 +00:00
mark
1fae101a44 Cleanup the cache cleaning code and remove the dead code. 1997-10-14 22:09:24 +00:00
mark
a49828e8be Use a consistant method for obtaining the interface host id from the
boot arguments.
1997-10-14 22:07:47 +00:00
mark
6ebb4a60e3 arm32 kernel source restructure
- These files should be removed and the dev/ic driver used instead.
  - Until this time move these files to a bus independant location.
1997-10-14 19:43:27 +00:00
bouyer
6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
mark
e375e0f448 Disable the reporting of the easi space timings. At podulebus attach time
the only timings we know are the ones inherited from the boot and the
drivers that will attach to the bus may change these.
Use the IS_PODULE macro for checking manufacturer and podule id's
against attach args.
1997-07-31 00:43:28 +00:00
mark
18b47c4129 Define an IS_PODULE() macro to match a podule manufacturer and id with
podulebus attach args.
1997-07-31 00:40:56 +00:00
mark
905a93b982 Removed several lines of unreachable code in eagetpackets().
Reset the interface every time an error is detected in eagetpackets()
otherwise the interface can end up in a jammed state.
1997-07-31 00:13:18 +00:00
mark
504ddabd38 Removed several lines of unreachable code in ebgetpackets(). 1997-07-31 00:09:48 +00:00
mark
9767e83757 If a transfer completes and we have performed a check sense, check the
sense code for zero and if found repeat the request sense. This solves
a bug in the sbic driver when accessing JAZ drives that results in
faulty sense data being returned following a transfer. A retry returns
the correct information.
This is probably showing up a more fundemental bug in the sbic driver
and will probably have to wait for a complete overhaul of the sbic
driver (planned) for a perfect fix.
Fix supplied by Rob Black <r.black@ic.ac.uk>
1997-07-31 00:00:12 +00:00
mark
258768a81d Use the cookie field in the podulebus tag (current unused) as a register
shift value thus making register more flexible.
Remove the absolute shift of 2 in all the podule read/write routines and
use the tag cookie (passed in r0) as the shift value.
1997-07-30 23:52:08 +00:00
mark
4e641ac6d1 Utilise the cookie field in the podulebus tag (currently unused) as a
register shift value.
For the podulebus_bs_tag structure set the shift to 2 (the current
hardcoded value in the actual read/write routines).
Use the cookie to provide the register shift in podulebus_subregion().
1997-07-30 23:49:54 +00:00
mark
73d4af0688 Support a boot option asc.hostid= to allow the adapter target ID to
be set.
1997-07-28 17:56:27 +00:00
mark
fc9ce1cfd8 Recognise both Icubed and Acorn versions of the EtherH netslot card as
they have different podule ID's.
Always attach the driver even if it appears to fail the tx test as there
appear to be a collection of cards around that will fail this tx test but
will actually work ok - This problem needs further investigation.
1997-07-28 17:54:07 +00:00
mark
d910d89af8 Rebuilt from podules rev 1.6. 1997-07-28 17:48:45 +00:00
mark
be04b11f72 Added various new podule manufacturer ID's and product ID's. 1997-07-28 17:47:53 +00:00
jtk
b4777471db use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:52:54 +00:00
mark
82de5bb16d Add missing ifp variable in eaintr() following new ARP merge. 1997-03-19 02:45:06 +00:00
mark
e8e11b85c0 Fix missing bracket introduced in new ARP system merge. 1997-03-19 02:43:03 +00:00
is
07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
mark
045ff1df99 Initial commit of the rapide driver. This driver provides support for the
RapIDE32 EIDE interface podules.
This driver currently only support issue 2 podules.
1997-02-23 04:00:31 +00:00
mark
a47555862b Initial commit of the icside driver. This driver provides support for
the ICS IDEA IDE interface podules.
1997-02-23 03:57:45 +00:00
mark
66f1f203e3 Synchronise with podules files. 1997-02-23 03:52:29 +00:00
mark
6c7cc537c9 Add ID for ANT EtherM network slot interfaces. 1997-02-23 03:51:19 +00:00
mark
e4316a91d0 Rebuilt from podules file. 1997-02-18 03:08:59 +00:00
mark
c569d5e23f Added new podule ID's for ICubed etherlan interfaces.
Fixed typo in A448 title string.
1997-02-18 03:08:04 +00:00
mark
83697fa8b9 Added a field sc_ixfer to the sfas_softc structure to allow the standard
sfas ixfer() routine to be overridden with a card specific one.
1997-02-11 03:33:46 +00:00
mark
06f80904ec Set the sc_ixfer function pointer to the default sfas_ixfer() function
during initialisation if the pointer is NULL.
Use the sc_ixfer function pointer in the sfas softc when doing
immediate polled transfers.
1997-02-04 06:57:47 +00:00
mark
ed854d0d12 Fix the declarations of the interrupt handlers to accept void * pointers
as the only argument and cast this as appropriate now that the function
pointers to the interrupt registration functions are fully prototyped.
1997-01-28 04:20:58 +00:00
mark
ad1a9d7854 Now that the generic sfas code works fine under interrupts, disable polling
behaviour of the driver.
1997-01-28 04:10:47 +00:00
mark
77ecaec2ca Implement bus space interfaces for set multiple, set region and copy 1997-01-26 01:55:02 +00:00
mark
4c5fff219e Added a new nexus flag ESC_NF_RETRY_SELECT. This flag is used to indicate
that a unit select did not complete and needs to be retried. Selection will
be retried following a disconnection if this flag is set. The function
esc_select_unit() will set/clear this flag depending on when a selection
completed or not.
1997-01-18 01:57:18 +00:00
mark
c5cc357f5d Added a new nexus flag SFAS_NF_RETRY_SELECT. This flag is used to indicate
that a unit select did not complete and needs to be retried. Selection will
be retried following a disconnection if this flag is set. The function
sfas_select_unit() will set/clear this flag depending on when a selection
completed or not.
1997-01-18 01:38:05 +00:00
mark
12af47bc6a The powertec card uses a 40MHz clock frequency.
Report the driver as polling at attach time is so configured.
1997-01-17 01:12:26 +00:00
mark
cf799895fc Pass a podule bus space tag in the pa_iot field of the podule
attach args.
1997-01-17 01:07:58 +00:00
mark
5c03890971 Updated for the new bus space implementation.
Added a pa_iot field to the podule attach args structure.
1997-01-17 01:04:02 +00:00
mark
6caa7a0b4b Implement a set of functions that provide bus space mapping and
read/write routines for the podulebus.
1997-01-17 01:00:47 +00:00
mark
fd643704d1 Minor changes (inline -> __inline)) 1997-01-06 04:47:53 +00:00
mark
2bb8f07910 Added a probe for a podule is EASI space if it is not found in normal
podule space.
Fixed a bug in the reading of bytes from network slot cards that prevented
the correct reading of the network slot ROM description.
config code now allows duplicable devices to be attached.
1997-01-03 23:30:30 +00:00
mark
4065dc201f Increased the podule description length from 47 to 63 characters.
Commented some structure members.
1997-01-03 23:27:31 +00:00
mark
dc9795f6e8 Removed a lurking ; from a #define line. 1997-01-03 23:26:22 +00:00
mark
e1395f3c17 Updated credits. 1997-01-03 23:24:48 +00:00
mark
0b49070ad5 Rebuild from latest podules list. 1997-01-03 23:22:03 +00:00
mark
180ca73617 Added new manufacturer and podule ID's. 1997-01-03 23:21:28 +00:00
thorpej
d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
mark
2883a694fa Check the IOMD ID in the podulebus probe to make sure the IOMD supports
a podulebus.
Make sure the podulebus driver conforms to the Acorn expansion card
specification:
  - Probe the podule bus using sync access cycles rather than slow access
    cycles.
  - Read the podulebus header/ROM using sync access cycles rather than slow
    access cycles
1996-11-23 03:42:39 +00:00
mark
374d51c858 Rebuild from latest podules list. 1996-11-23 03:27:15 +00:00
mark
ecdf4c14bd Added a number of new manufacturer ID's and some new podule ID's. 1996-11-23 03:23:49 +00:00
mark
de6db9f206 Added fix from Jasper Wallace th=at solves the bus hang ups caused when
DMA to the card going wrong.
1996-10-30 01:50:01 +00:00
mark
0bec347c79 Allocate a DMA channel number when setting up the podule descriptors.
The DMA channel is determined by the IOMD present in the machine and the
podule slot number.
1996-10-30 00:07:42 +00:00
mark
c11a34daff Added a dma_channel field to the podulebus structure so that the
podulebus driver can allocate the DMA channels for the podules located.
1996-10-30 00:01:05 +00:00
mark
29465fe28a Updated the acknowledgement comments. 1996-10-29 23:52:59 +00:00
mark
f5a1f76622 Remove the bufferable bit from the pte for the DMA buffer. 1996-10-29 23:37:39 +00:00
mark
c544086b51 Initial commit of the Connect32 SCSI driver. This driver uses the esc
generic driver.
Currently this is only a polling driver.
1996-10-15 00:08:43 +00:00
mark
43fce8325b Initial commit of the esc generic SCSI driver code. This is a driver for
the AMD AM53CF94 Enhanced SCSI Controller. The code is based on the
SFAS216 driver as these chips are very similar. There are several
differences but more will follow.
1996-10-15 00:05:04 +00:00
mark
bc6649505b Add definition of configuration register B. 1996-10-14 23:57:11 +00:00
mark
8b97be16ab Include podules.h for definitions of manufacturer and podule ids.
Use definitions from this file for match_podule() rather than hardcoded
values.
Added packet filter support.
1996-10-14 23:55:01 +00:00
mark
91de56b1b6 Include podules.h for definitions of manufacturer and podule ids.
Use definitions from this file for match_podule() rather than hardcoded
values.
Added a routine asc_minphys() in preparation for driver changes when on
card DMA support is added.
1996-10-14 23:53:58 +00:00
mark
56250a75b0 Include podules.h for definitions of manufacturer and podule ids.
Use definitions from this file for match_podule() rather than hardcoded
values.
Reset the interface following a bad packet. This fixes some jams when
the driver failed to recover properly after a bad packet.
1996-10-14 23:50:20 +00:00
mark
ce36c22380 Include podules.h and use the manufacturer and identities defined there
for calling match_podule() rather than using hardcoded values.
1996-10-14 23:42:17 +00:00
mark
a7c4273ef8 Fix comments. 1996-10-14 23:35:41 +00:00
mark
b7b4a80fa1 Remove old-style disk instrumentation. 1996-10-14 23:31:29 +00:00
mark
cb1d61078c Use tlb_flush() rather than tlbflush(). 1996-10-14 23:29:47 +00:00
mark
9d8ffb415e Removed all the podule manufacturer and id structures and included
podule_data.h instead.
Removed the dead function find_podule().
The 0xf5 entry in the podules chunck directory is now searched for and
the podule description associated with this entry is placed in the
description field of the podule structure.
Generally tidied up all the comments.
1996-10-14 23:26:48 +00:00
mark
ccdc440eac Added a description field to the podule structure. This is filled in
at config time with the podule description (if any) that is extracted
from the podule ROM.
1996-10-14 23:21:22 +00:00
mark
7e9e37b0bf Sync with master podule list. 1996-10-14 23:17:09 +00:00
mark
1698c1854e Initial commit of master list of podule manufacturers and ids along
with tools for building podules.h and podule_data.h from this file.
1996-10-14 23:16:07 +00:00
christos
ca36ac9ef4 backout previous kprintf change 1996-10-13 03:05:43 +00:00
christos
60dd5ceebe printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:06:28 +00:00
cgd
71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd
2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
mark
64c91a1cc3 Report EASI space timings when probing the podule bus. 1996-08-21 19:46:47 +00:00
mark
e8f3059a07 Define EASI space cycle types.
Added macro for setting the EASE space cycle time for a podule.
1996-08-21 19:44:53 +00:00
mark
103a43ae29 Get the interrupt flags address from sc->sc_specific.sc_podule rather
than sc->sc_podule.
1996-06-13 18:29:45 +00:00
mark
31c4f7d574 Only read beyond the first byte of the podule header if we know that
an extended header is present i.e. don't assume an extended header as
however unlikely there could be a podule that doesn't have one.
Calculate an absolute address for the podule's interrupt mask rather
than leaving it relative to the base address of the podule.
If the interrupt status pointers are not present or are zero then
used the default bits as specified in the podule specification to
determine if the podule is interrupting.
1996-06-12 21:09:55 +00:00
mark
857439698b Claim the interrupt when leaving the interrupt handler as there can
only ever be a owner of the netslot interrupt.
Don't declare ebintr() as static.
1996-06-12 21:01:56 +00:00
mark
27ab616466 Don't claim the podule interrupts but pass them on in case of
chained podule interrupt handlers.
Fill out the ih_maskaddr and ih_maskbits fields in the interrupt handler
structure so that interrupt dispatcher knows where to look to determine
if the handler should be called.
General code tidy up and source code formatting.
1996-06-12 20:59:10 +00:00
mark
4dd0dabfca Don't claim the podule interrupts but pass them on in case of
chained podule interrupt handlers.
Fill out the ih_maskaddr and ih_maskbits fields in the interrupt handler
structure so that interrupt dispatcher knows where to look to determine
if the handler should be called.
1996-06-12 20:46:58 +00:00
mark
8477987501 Fixed lots and lots and lots of -Wall compiler warnings. 1996-06-03 22:44:53 +00:00
mark
bfe01da7b5 Tidied up the prototype declarations. 1996-06-03 22:41:14 +00:00
mark
4732cc6c39 Make sure that the ethernet address has been set correctly before
attaching the interface to the network code.
1996-06-03 22:39:12 +00:00
mark
d7ef096470 Probe for both Atomwide and ANT ether3 podules. 1996-05-17 16:24:03 +00:00
mark
8a9255ea4b Recognise ANT ether3 podules. 1996-05-17 16:17:21 +00:00