Re: kernel 2.6.25 with ide driver cs5520 does not boot.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

I disagree that this patch to remove IDE_HFLAG_VDMA.
Because IDE_HFLAG_VDMA is refferd in drivers/ide/ide-dma.c.
Well, currently, it's only cs5520 to sets thiss flag.

From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
Subject: Re: kernel 2.6.25 with ide driver cs5520 does not boot.
Date: Wed, 14 May 2008 22:44:48 +0200

> 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
> 
> Disable Virtual DMA support for now (it causes system hangs).
> 
> Thanks to TAKADA Yoshihito for the help with debugging the problem.
> 
> Reported-by: TAKADA Yoshihito <takada@xxxxxxxxxxxxx>
> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
> ---
>  drivers/ide/pci/cs5520.c |    2 +-
>  include/linux/ide.h      |    8 ++++----
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> Index: b/drivers/ide/pci/cs5520.c
> ===================================================================
> --- a/drivers/ide/pci/cs5520.c
> +++ b/drivers/ide/pci/cs5520.c
> @@ -119,6 +119,7 @@ static const struct ide_dma_ops cs5520_d
>  	.dma_timeout		= ide_dma_timeout,
>  };
>  
> +/* FIXME: VDMA is disabled because it caused system hangs */
>  #define DECLARE_CS_DEV(name_str)				\
>  	{							\
>  		.name		= name_str,			\
> @@ -126,7 +127,6 @@ static const struct ide_dma_ops cs5520_d
>  		.dma_ops	= &cs5520_dma_ops,		\
>  		.host_flags	= IDE_HFLAG_ISA_PORTS |		\
>  				  IDE_HFLAG_CS5520 |		\
> -				  IDE_HFLAG_VDMA |		\
>  				  IDE_HFLAG_NO_ATAPI_DMA |	\
>  				  IDE_HFLAG_ABUSE_SET_DMA_MODE, \
>  		.pio_mask	= ATA_PIO4,			\
> Index: b/include/linux/ide.h
> ===================================================================
> --- a/include/linux/ide.h
> +++ b/include/linux/ide.h
> @@ -1058,8 +1058,8 @@ enum {
>  	IDE_HFLAG_NO_SET_MODE		= (1 << 9),
>  	/* trust BIOS for programming chipset/device for DMA */
>  	IDE_HFLAG_TRUST_BIOS_FOR_DMA	= (1 << 10),
> -	/* host uses VDMA (tied with IDE_HFLAG_CS5520 for now) */
> -	IDE_HFLAG_VDMA			= (1 << 11),
> +	/* host is CS5510/CS5520 */
> +	IDE_HFLAG_CS5520		= (1 << 11),
>  	/* ATAPI DMA is unsupported */
>  	IDE_HFLAG_NO_ATAPI_DMA		= (1 << 12),
>  	/* set if host is a "non-bootable" controller */
> @@ -1070,8 +1070,6 @@ enum {
>  	IDE_HFLAG_NO_AUTODMA		= (1 << 15),
>  	/* host uses MMIO */
>  	IDE_HFLAG_MMIO			= (1 << 16),
> -	/* host is CS5510/CS5520 */
> -	IDE_HFLAG_CS5520		= IDE_HFLAG_VDMA,
>  	/* no LBA48 */
>  	IDE_HFLAG_NO_LBA48		= (1 << 17),
>  	/* no LBA48 DMA */
> @@ -1101,6 +1099,8 @@ enum {
>  	IDE_HFLAG_NO_IO_32BIT		= (1 << 30),
>  	/* never unmask IRQs */
>  	IDE_HFLAG_NO_UNMASK_IRQS	= (1 << 31),
> +	/* host uses VDMA (disabled for now) */
> +	IDE_HFLAG_VDMA			= 0,
>  };
>  
>  #ifdef CONFIG_BLK_DEV_OFFBOARD
> --
> 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

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux