Messages in this thread Patch in this message | | | Date | Sat, 03 Aug 2002 03:26:12 +0900 | From | Go Taniguchi <> | Subject | Re: Booting problem, 2.4.19-rc5-ac1, ali15x3 |
| |
Hi,
Please apply and test this patch. Probably pci_config_byte 0x79 is vendor specifics. Newer japanese hardware which use ALi IDE with Crusoe got hang up.
This patch will solve the following problems without option 'ide0=ata66 ide1=ata66'
>>With rc5, I get this same error unless I have 'ide0=ata66 ide1=ata66' >>on the kernel command line. However, -ac1 hangs with or without these >>options.
gigerstyle@gmx.ch wrote: > On 02 Aug 2002 10:45:10 -0400 > Ian Soboroff <ian.soboroff@nist.gov> wrote: > > Hi > > I have written before regarding the same problem. I noticed that I have mentioned the wrong kernel version. Of course I meant the 2.4.19-rc5-ac1 and 2.4.19-rc3-ac5. It happens on a Sony Vaio Gr114EK. I will now try the same solution like Ian. > > greets > > marc > > >>Alan, >> >>2.4.19-rc5-ac1 hangs on boot on my laptop (Fujitsu P-series, TM5800 >>CPU), whereas plain[1] rc5 boots fine. The hang appears to be during IDE >>detection: >> >>... >>block: 704 slots per queue, batch=176 >>Uniform Multi-Platform E-IDE driver Revision: 6.31 >>ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=XX >>ALI15X3: IDE controller on PCI bus 00 dev 78 >>PCI: No IRQ known for interrupt pin A of device 00:0f.0. Please try using pci=biosirq >>ALI15X3: chipset revision 195 >>ALI15X3: not 100% native mode: will probe irqs later >> >>With rc5, I get this same error unless I have 'ide0=ata66 ide1=ata66' >>on the kernel command line. However, -ac1 hangs with or without these >>options. >> >>I had this same problem under rc3-ac1, and rc2-ac2 (last two -ac >>kernels I tried), so this looks to be a long-term problem. I'm hoping >>maybe I can help debug it before it gets into Marcelo's tree. >> >>ian >> >>[1] Actually, one one-liner patche to extend the ext3 journal >>commit interval to 30 seconds. >>- --- linux/drivers/ide/alim15x3.c~ 2002-08-03 03:06:10.000000000 +0900 +++ linux/drivers/ide/alim15x3.c 2002-08-03 03:07:15.000000000 +0900 @@ -37,6 +37,7 @@ static int ali_get_info(char *buffer, char **addr, off_t offset, int count); extern int (*ali_display_info)(char *, char **, off_t, int); /* ide-proc.c */ static struct pci_dev *bmide_dev; +static int enable_south = 0; char *fifo[4] = { "FIFO Off", @@ -605,6 +606,7 @@ pci_read_config_byte(dev, 0x4b, &tmpbyte); pci_write_config_byte(dev, 0x4b, tmpbyte | 0x08); + if( enable_south ){ /* * set south-bridge's enable bit, m1533, 0x79 */ @@ -620,6 +622,7 @@ */ pci_write_config_byte(isa_dev, 0x79, tmpbyte | 0x02); } + } } else { /* * revision 0x20 (1543-E, 1543-F) @@ -671,6 +674,7 @@ pci_read_config_byte(dev, 0x4b, &tmpbyte); pci_write_config_byte(dev, 0x4b, tmpbyte | 0x08); + if( enable_south ){ /* * set south-bridge's enable bit, m1533, 0x79 */ @@ -686,6 +690,7 @@ */ pci_write_config_byte(isa_dev, 0x79, tmpbyte | 0x02); } + } #endif /* ALI_INIT_CODE_TEST */ /* * Ultra66 cable detection (from Host View) @@ -821,3 +826,13 @@ ide_setup_pci_device(dev, d); } +static int __init enable_south_setup(char *str) +{ +/* printk("ALI15X3: enable_south_setup %d\n", str); */ + if(strcmp(str, "enable_south") == 0) + enable_south = 1; + return 1; +} + +__setup("alim15x3=", enable_south_setup); + | |