-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
yaml --- r: 2516 b: refs/heads/master c: 22329b5 h: refs/heads/master v: v3
- Loading branch information
Brent Casavant
authored and
Linus Torvalds
committed
Jun 22, 2005
1 parent
82fa150
commit 6ba5302
Showing
7 changed files
with
618 additions
and
237 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: e400bae98499583767da58fb0a1b9ad3e24fcb86 | ||
refs/heads/master: 22329b511a97557b293583194037d1f4c71e1504 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
The SGI IOC4 PCI device is a bit of a strange beast, so some notes on | ||
it are in order. | ||
|
||
First, even though the IOC4 performs multiple functions, such as an | ||
IDE controller, a serial controller, a PS/2 keyboard/mouse controller, | ||
and an external interrupt mechanism, it's not implemented as a | ||
multifunction device. The consequence of this from a software | ||
standpoint is that all these functions share a single IRQ, and | ||
they can't all register to own the same PCI device ID. To make | ||
matters a bit worse, some of the register blocks (and even registers | ||
themselves) present in IOC4 are mixed-purpose between these several | ||
functions, meaning that there's no clear "owning" device driver. | ||
|
||
The solution is to organize the IOC4 driver into several independent | ||
drivers, "ioc4", "sgiioc4", and "ioc4_serial". Note that there is no | ||
PS/2 controller driver as this functionality has never been wired up | ||
on a shipping IO card. | ||
|
||
ioc4 | ||
==== | ||
This is the core (or shim) driver for IOC4. It is responsible for | ||
initializing the basic functionality of the chip, and allocating | ||
the PCI resources that are shared between the IOC4 functions. | ||
|
||
This driver also provides registration functions that the other | ||
IOC4 drivers can call to make their presence known. Each driver | ||
needs to provide a probe and remove function, which are invoked | ||
by the core driver at appropriate times. The interface of these | ||
IOC4 function probe and remove operations isn't precisely the same | ||
as PCI device probe and remove operations, but is logically the | ||
same operation. | ||
|
||
sgiioc4 | ||
======= | ||
This is the IDE driver for IOC4. Its name isn't very descriptive | ||
simply for historical reasons (it used to be the only IOC4 driver | ||
component). There's not much to say about it other than it hooks | ||
up to the ioc4 driver via the appropriate registration, probe, and | ||
remove functions. | ||
|
||
ioc4_serial | ||
=========== | ||
This is the serial driver for IOC4. There's not much to say about it | ||
other than it hooks up to the ioc4 driver via the appropriate registration, | ||
probe, and remove functions. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.