1 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[]>
5 <title>MCA Driver Programming Interface</title>
9 <firstname>Alan</firstname>
10 <surname>Cox</surname>
13 <email>alan@redhat.com</email>
18 <firstname>David</firstname>
19 <surname>Weinehall</surname>
22 <firstname>Chris</firstname>
23 <surname>Beauregard</surname>
29 <holder>Alan Cox</holder>
30 <holder>David Weinehall</holder>
31 <holder>Chris Beauregard</holder>
36 This documentation is free software; you can redistribute
37 it and/or modify it under the terms of the GNU General Public
38 License as published by the Free Software Foundation; either
39 version 2 of the License, or (at your option) any later
44 This program is distributed in the hope that it will be
45 useful, but WITHOUT ANY WARRANTY; without even the implied
46 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
47 See the GNU General Public License for more details.
51 You should have received a copy of the GNU General Public
52 License along with this program; if not, write to the Free
53 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
58 For more details see the file COPYING in the source
59 distribution of Linux.
67 <title>Introduction</title>
69 The MCA bus functions provide a generalised interface to find MCA
70 bus cards, to claim them for a driver, and to read and manipulate POS
71 registers without being aware of the motherboard internals or
72 certain deep magic specific to onboard devices.
75 The basic interface to the MCA bus devices is the slot. Each slot
76 is numbered and virtual slot numbers are assigned to the internal
77 devices. Using a pci_dev as other busses do does not really make
78 sense in the MCA context as the MCA bus resources require card
79 specific interpretation.
82 Finally the MCA bus functions provide a parallel set of DMA
83 functions mimicing the ISA bus DMA functions as closely as possible,
84 although also supporting the additional DMA functionality on the
89 <title>Known Bugs And Assumptions</title>
95 <chapter id="pubfunctions">
96 <title>Public Functions Provided</title>
97 !Earch/i386/kernel/mca.c
100 <chapter id="dmafunctions">
101 <title>DMA Functions Provided</title>
102 !Iinclude/asm-i386/mca_dma.h