From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Subject: Re: kernel 2.6.25 with ide driver cs5520 does not boot. Date: Thu, 15 May 2008 00:28:04 +0200 Hi. sorry, I'm too late. I tested the patch to re-enable DMA. But, this patch has no effect. It cannot boot. printk() message disappeared. > On Wednesday 14 May 2008, Bartlomiej Zolnierkiewicz wrote: > > On Friday 09 May 2008, TAKADA Yoshihito wrote: > > > Hi. > > > > > > From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> > > > Subject: Re: kernel 2.6.25 with ide driver cs5520 does not boot. > > > Date: Fri, 9 May 2008 11:27:53 +0200 > > > > > > > On Friday 09 May 2008, TAKADA Yoshihito wrote: > > > > > Thanks for quick reply. > > > > > > > > > > I tried 2.6.26rc1. It hangs same as 2.6.25. > > > > > kernel 2.6.26rc1 with cs5520 cannot boot. cs5520 scans ide0 and ide1. > > > > > It seems 2nd port DMA base issue was solved. > > > > > > > > [...] > > > > > > > > Thanks. > > > > > > > > The following patch for 2.6.26-rc1 disables VDMA, please give it a try > > > > (I haven't time to fully audit VDMA support yet but lets see if it is > > > > the main source of the problems). > > > > > > I applied the patch. But kernel was hung. > > > And I attempt to kill IDE_HFLAG_CS5520. It cannot boot, oo. > > > > > > kill IDE_HFLAG_VDMA : hang > > > kill IDE_HFLAG_CS5520: hang > > > kill both flags : boot > > > > Thanks for investigating this - I forgot that currently VDMA and CS5520 > > host flags use the same bit (so it also needs to be fixed). > > > > I'm going to send the following patch to Linus (please verify it): > > > > From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> > > Subject: [PATCH] cs5520: disable VDMA > > [...] > > Please also try 2.6.26-rc2 without the above patch but with the following > patch applied instead - according to comments in OpenFirmware & pata_cs5520 > code 0x60 register contains bus-master enable bit, it could be that it was > left disabled by BIOS and we need to explicitely enable it (if somebody has > CX5510 or CX5520 datasheet please verify this + send me a copy if possible). > > --- > drivers/ide/pci/cs5520.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > Index: b/drivers/ide/pci/cs5520.c > =================================================================== > --- a/drivers/ide/pci/cs5520.c > +++ b/drivers/ide/pci/cs5520.c > @@ -147,6 +147,7 @@ static int __devinit cs5520_init_one(str > { > const struct ide_port_info *d = &cyrix_chipsets[id->driver_data]; > u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; > + u8 pcicfg; > > ide_setup_pci_noise(dev, d); > > @@ -163,6 +164,13 @@ static int __devinit cs5520_init_one(str > return -ENODEV; > } > > + pci_read_config_byte(dev, 0x60, &pcicfg); > + > + if ((pcicfg & 0x40) == 0) { > + printk(KERN_WARNING "cs5520: DMA mode disabled. Enabling.\n"); > + pci_write_config_byte(dev, 0x60, pcicfg | 0x40); > + } > + > /* > * Now the chipset is configured we can let the core > * do all the device setup for us > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html