On Wed, Jan 26, Linux Kernel Mailing List wrote:

> ChangeSet 1.2046, 2005/01/25 20:33:08-08:00, [EMAIL PROTECTED]
> 
>       [PATCH] ppc32: Add support for Pegasos machines
>       
>       This patch, mostly from Sven Luther and reworked by me, adds support for
>       Pegasos machines to the ppc32 arch. The patch contains all of the arch
>       code. I'll send separately a few driver changes as well.
>       
>       Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
>       Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
>       Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
> 
> 
> 
>  arch/ppc/platforms/chrp_pci.c   |   38 +++++++++++++++++---

> diff -Nru a/arch/ppc/platforms/chrp_pci.c b/arch/ppc/platforms/chrp_pci.c
> --- a/arch/ppc/platforms/chrp_pci.c   2005-01-25 21:14:21 -08:00
> +++ b/arch/ppc/platforms/chrp_pci.c   2005-01-25 21:14:21 -08:00
> @@ -195,7 +215,7 @@
>       struct pci_controller *hose;
>       unsigned int *dma;
>       char *model, *machine;
> -     int is_longtrail = 0, is_mot = 0;
> +     int is_longtrail = 0, is_mot = 0, is_pegasos = 0;
>       struct device_node *root = find_path_device("/");
>  
>       /*
> @@ -207,6 +227,10 @@
>       if (machine != NULL) {
>               is_longtrail = strncmp(machine, "IBM,LongTrail", 13) == 0;
>               is_mot = strncmp(machine, "MOT", 3) == 0;
> +             if (strncmp(machine, "Pegasos2", 8) == 0)
> +                     is_pegasos = 2;
> +             else if (strncmp(machine, "Pegasos", 7) == 0)
> +                     is_pegasos = 1;
>       }
>       for (dev = root->child; dev != NULL; dev = dev->sibling) {
>               if (dev->type == NULL || strcmp(dev->type, "pci") != 0)
> @@ -275,5 +303,7 @@
>               }
>       }
>  
> -     ppc_md.pcibios_fixup = chrp_pcibios_fixup;
> +     /* Do not fixup interrupts from OF tree on pegasos */
> +     if (is_pegasos != 0)
> +             ppc_md.pcibios_fixup = chrp_pcibios_fixup;
>  }

This breaks other chrp boards, like a B50.

PCI: Enabling device 0000:00:10.0 (0140 -> 0143)
sym0: <875> rev 0x4 at pci 0000:00:10.0 irq 7
sym0: No NVRAM, ID 7, Fast-20, SE, parity checking
sym0: SCSI BUS has been reset.
scsi0 : sym-2.1.18n
sym0:0:0: ABORT operation started.
sym0:0:0: ABORT operation timed-out.
sym0:0:0: DEVICE RESET operation started.
sym0:0:0: DEVICE RESET operation timed-out.
sym0:0:0: BUS RESET operation started.
sym0:0:0: BUS RESET operation timed-out.
sym0:0:0: HOST RESET operation started.
Uninitialised timer!
This is just a warning.  Your computer is OK
function=0xc02a0000, data=0x28000028
Call trace:
 [c0028028] check_timer_failed+0x7c/0x9c
 [c0028074] del_timer+0x2c/0xb0
 [c0111c68] __sym_eh_done+0x8c/0x98
 [c0110654] sym_xpt_done+0x2c/0x40
 [c0117930] sym_flush_comp_queue+0x160/0x190
 [c0117fd0] sym_start_up+0x194/0x7d8
 [c0111994] sym_eh_handler+0x1bc/0x2d0
 [c0107644] scsi_try_host_reset+0x8c/0x104
 [c0108ac0] scsi_error_handler+0x8c0/0xe68
 [c0006e14] kernel_thread+0x44/0x60
sym0: SCSI BUS has been reset.
sym0:0:0: HOST RESET operation timed-out.
scsi: Device offlined - not ready after error recovery: host 0 channel 0 id 0 
lun 0


Signed-off-by: Olaf Hering <[EMAIL PROTECTED]>

--- ./arch/ppc/platforms/chrp_pci.c~    2005-01-29 16:22:09.288047704 +0100
+++ ./arch/ppc/platforms/chrp_pci.c     2005-01-29 16:44:03.905193820 +0100
@@ -304,6 +304,6 @@
        }
 
        /* Do not fixup interrupts from OF tree on pegasos */
-       if (is_pegasos != 0)
+       if (!is_pegasos)
                ppc_md.pcibios_fixup = chrp_pcibios_fixup;
 }
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to