linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: TAKADA Yoshihito <takada@mbf.nifty.com>
Cc: linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org
Subject: Re: kernel 2.6.25 with ide driver cs5520 does not boot.
Date: Sun, 18 May 2008 20:14:38 +0200	[thread overview]
Message-ID: <200805182014.38550.bzolnier@gmail.com> (raw)
In-Reply-To: <20080518.133758.260799446.takada@mbf.nifty.com>


Hi,

On Sunday 18 May 2008, TAKADA Yoshihito wrote:
> 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.

Depending on the results of the second patch that I posted (the one
forcing bus-mastering in cs5520) we may want to:

- extend ->host_flags to be of u64 type and re-enable IDE_HFLAG_VDMA

or

- remove IDE_HFLAG_VDMA host flag completely

In the meantime the patch below un-broke cs5520 driver in the upstream
kernel nicely.

> From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> 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@gmail.com>
> > > 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@gmail.com>
> > 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@mbf.nifty.com>
> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> > ---
> >  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

      reply	other threads:[~2008-05-18 17:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20080508.165814.197343623.takada@mbf.nifty.com>
2008-05-08 13:07 ` kernel 2.6.25 with ide driver cs5520 does not boot Bartlomiej Zolnierkiewicz
2008-05-09  2:22   ` TAKADA Yoshihito
2008-05-09  9:27     ` Bartlomiej Zolnierkiewicz
2008-05-09 12:56       ` TAKADA Yoshihito
2008-05-14 20:44         ` Bartlomiej Zolnierkiewicz
2008-05-14 22:28           ` Bartlomiej Zolnierkiewicz
2008-05-30  5:01             ` TAKADA Yoshihito
2008-06-11 20:27               ` Bartlomiej Zolnierkiewicz
2008-05-18  4:37           ` TAKADA Yoshihito
2008-05-18 18:14             ` Bartlomiej Zolnierkiewicz [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200805182014.38550.bzolnier@gmail.com \
    --to=bzolnier@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=takada@mbf.nifty.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).