PCI IDE Adapter for PPC/Linux
James F Dougherty
jfd at GigabitNetworks.COM
Tue Aug 14 06:18:19 EST 2001
Hi Tom,
Thanks for the response; see my comments below:
>On Mon, Aug 13, 2001 at 12:20:28AM -0700, James F Dougherty wrote:
>>
>> (LOL) .... I have the Promise Ultra-66..... since it's
>> not working, this is what prompted me to look for an
>> alternative ..
>>
>> I have ported MontaVista HHL (Linux 2.4.2) to
>> a custom processor board, and have been
>> trying to run fdisk to setup a mountable root
>> drive.
>
>Have you tried the card in another PPC? Are you seeing any other
>PCI related issues on your custom board?
>
Good point; the quick answer is no, since I have used a Broadcom 5701
Gigabit NIC driver on the PCI slot already and there have been no
problems with that. The interesting thing though is that in my bootloader,
I write the PCI ILINE register in config space with IRQ=3, for the PCI
slot, however, when it boots up, it is reporting IRQ=1? Perhaps my
map_pci_irq() code is broken... I did make a change to the 5701 driver
to support IRQ=3, perhaps this is what I should do for the Promise card.
Here is my map_irq() code:
static inline int
mousse_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin)
{
long ctl;
static char pci_irq_table[][4] =
/*
* PCI IDSEL/INTPIN->INTLINE
* A B C D
*/
{
{ 0, 0, 0, 0 }, /* IDSEL 11 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 12 - unused */
{ 1, 1, 1, 1 }, /* IDSEL 13 - DC21143, IRQ1 */
{ 1, 1, 1, 1 }, /* IDSEL 13 - DC21143, IRQ1 */
{ 3, 3, 3, 3 }, /* IDSEL 14 - PCI slot */
{ 0, 0, 0, 0 }, /* IDSEL 15 - 82371 -unused */
{ 0, 0, 0, 0 }, /* IDSEL 16 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 17 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 18 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 19 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 20 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 21 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 22 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 23 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 24 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 25 - unused */
{ 0, 0, 0, 0 }, /* IDSEL 26 - unused */
{ 2, 2, 2, 2 }, /* IDSEL 27 - CPCI slot 6 */
{ 2, 2, 2, 2 }, /* IDSEL 28 - CPCI slot 5 */
{ 2, 2, 2, 2 }, /* IDSEL 29 - CPCI slot 4 */
{ 2, 2, 2, 2 }, /* IDSEL 30 - CPCI slot 5 */
{ 2, 2, 2, 2 }, /* IDSEL 31 - CPCI slot 6 */
};
const long min_idsel = 12, max_idsel = 16, irqs_per_slot = 1;
if (idsel >= min_idsel && idsel <= max_idsel && pin <= irqs_per_slot){
ctl = pci_irq_table[idsel - min_idsel][pin-1];
}
return ctl;
}
Does this look right?
>> mousse-(17):[11:31pm]: [/>devfsd /dev
>> Started device management daemon for /dev
>> mousse-(18):[11:31pm]: [/>fdisk /dev/hda
>> modprobe: Can't locate module /dev/hda
>> modprobe: Can't locate module /dev/hda
>
>That's odd. Do you have /dev/ide/host0/bus0/target0/lun0/anything?
(sigh), I wish :-)
>I _think_ you shouldn't see a modprobe error if the ide-disk driver is
>installed already, I think. But I'm not sure.
>
Actually, I saw an error "modprobe: cannot locate block-major-3" when
I turned devfs off and rebuilt my kernel. With devfs enabled, I see
the ide controller in /proc/ide, however, nothing showsup in devfs.
Thoughts?
Thanks again,
-James
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list