I came across http://til.info.apple.com/techinfo.nsf/artnum/n16365 , a 1994 note
which discusses compatibility of PCI cards in general with Macs/OpenFirmware.
It's quite terse but states that PCI cards that need to be active on boot (video cards) will generally not work, and cards that don't generally will.
I'm just curious (I was wondering why there was no support for various nifty non-AGP PC graphics cards, and also why the PC USB card I installed yesterday works fine under MacOS) but
. can anyone point me to more detailed resources?
. what's the state of play 6 years on? is there a trend towards OF compliance?
. what does "active on boot" really mean?
. why can't a card be activated after boot, programmatically?
. does anyone maintain a list of compatible PCI cards (of all types)?
Thanks & happy BBQ-ing,
Sacha.
--
sacha varma : system simulation ltd : +44 (0) 20 7836 7406
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
From: Ani Joshi <hidden> Date: 2000-07-20 13:56:22
On Wed, 19 Jul 2000, Sacha Varma wrote:
It's quite terse but states that PCI cards that need to be active on boot (video cards) will generally not work, and cards that don't generally will.
I'm just curious (I was wondering why there was no support for various nifty non-AGP PC graphics cards, and also why the PC USB card I installed yesterday works fine under MacOS) but
Video cards do not need to be active 'on boot' (if you mean upon powerup)
to work in linux. If there is no OF rom you will ofcourse not see any
display until Linux initializes the display. If you have problems with
devices not 'talking' then try enabling IO and MEM access, as they were
probably not turned on.
ani
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
It's quite terse but states that PCI cards that need to be active on boot
(video cards) will generally not work, and cards that don't generally will.
I'm just curious (I was wondering why there was no support for various nifty
non-AGP PC graphics cards, and also why the PC USB card I installed yesterday
works fine under MacOS) but
Video cards do not need to be active 'on boot' (if you mean upon powerup)
to work in linux. If there is no OF rom you will ofcourse not see any
display until Linux initializes the display.
So... does this mean that as far as hardware is concerned there is nothing to prevent me from using any old PCI graphics card in a (non-AGP?) mac so long as linux has drivers for it?
Where in the kernel source is the bit where it initialises the display (is this a per-host-architecture thing, per-video-chipset thing, or a generic PCI thing)?
If you have problems with
devices not 'talking' then try enabling IO and MEM access, as they were
probably not turned on.
As I say, I'm just curious, I'm not having any problems, nor (clearly) do I know much about PCI! But where would one enable these?
--
sacha varma : system simulation ltd : +44 (0) 20 7836 7406
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
From: Ani Joshi <hidden> Date: 2000-07-20 15:13:06
On Thu, 20 Jul 2000, Sacha Varma wrote:
So... does this mean that as far as hardware is concerned there is nothing to prevent me from using any old PCI graphics card in a (non-AGP?) mac so long as linux has drivers for it?
Correct, there is nothing preventing any PCI graphics device from working
in linux unless there is something extremely fundamentally wrong with it
(like relying on PC BIOS too much, but that is very rare)
From personal experience, I have the following "PC" graphics cards working
on my PowerMac: CirrusLogic 5340, Trident Image3D 975, S3 Savage4, S3
Vision968, and a 3dfx banshee. Yes, I'm a video card junkie.
Where in the kernel source is the bit where it initialises the display (is this a per-host-architecture thing, per-video-chipset thing, or a generic PCI thing)?
you can enable it by: (pdev is the struct pci_dev pointer to your device)
u16 tmp;
pci_read_config_word(pdev, PCI_COMMAND, &tmp);
if (!(tmp & PCI_COMMAND_MEMORY)) {
tmp |= PCI_COMMAND_MEMORY;
pci_write_config_word(pdev, PCI_COMMAND, tmp);
}
and same for PCI_COMMAND_IO instead of PCI_COMMAND_MEMORY
you do this before any IO/mem access to the device.
ani
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
From: Michael Schmitz <hidden> Date: 2000-07-20 15:49:17
Ani Joshi wrote:
On Thu, 20 Jul 2000, Sacha Varma wrote:
quoted
So... does this mean that as far as hardware is concerned there is nothing to prevent me from using any old PCI graphics card in a (non-AGP?) mac so long as linux has drivers for it?
Correct, there is nothing preventing any PCI graphics device from working
in linux unless there is something extremely fundamentally wrong with it
(like relying on PC BIOS too much, but that is very rare)
Or Linux not finding the card because it didn't get an OF device tree
node?
Michael
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
From: Benjamin Herrenschmidt <hidden> Date: 2000-07-20 15:53:14
Ani Joshi wrote:
quoted
On Thu, 20 Jul 2000, Sacha Varma wrote:
quoted
So... does this mean that as far as hardware is concerned there is
nothing to prevent me from using any old PCI graphics card in a (non-
AGP?) mac so long as linux has drivers for it?
quoted
Correct, there is nothing preventing any PCI graphics device from working
in linux unless there is something extremely fundamentally wrong with it
(like relying on PC BIOS too much, but that is very rare)
Or Linux not finding the card because it didn't get an OF device tree
node?
Normally, all PCI cards should get a node. Linux will use normal PCI
probing so it can find cards missing in OF, but in this case, I beleive
it won't be able to map the interrupt line.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
From: Ani Joshi <hidden> Date: 2000-07-20 16:00:48
On Thu, 20 Jul 2000, Michael Schmitz wrote:
quoted
Correct, there is nothing preventing any PCI graphics device from working
in linux unless there is something extremely fundamentally wrong with it
(like relying on PC BIOS too much, but that is very rare)
Or Linux not finding the card because it didn't get an OF device tree
node?
No, all devices get OF device tree nodes, just not 'real' ones if they
don't have an OF rom. Also, relying on OF device tree nodes in video
display drivers is not smart because I've noticed in the past that some of
the address in the node are off a bit. It is always wiser to use the PCI
nodes instead of 'fake' (or even real) OF nodes.
ani
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/