linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: yanh <yanh@lemote.com>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: wuzhangjin@gmail.com, linux-mips@linux-mips.org,
	Ralf Baechle <ralf@linux-mips.org>,
	IDE/ATA development list <linux-ide@vger.kernel.org>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	Philippe Vachon <philippe@cowpig.ca>,
	Zhang Le <r0bertz@gentoo.org>, Zhang Fuxin <zhangfx@lemote.com>,
	Arnaud Patard <apatard@mandriva.com>,
	loongson-dev@googlegroups.com, gnewsense-dev@nongnu.org,
	Nicholas Mc Guire <hofrat@hofr.at>,
	Liu Junliang <liujl@lemote.com>, Erwan Lerale <erwan@thiscow.com>
Subject: Re: [loongson-PATCH-v1 24/27] fixup for FUJITSU disk
Date: Sat, 23 May 2009 15:11:42 +0800	[thread overview]
Message-ID: <1243062702.8509.7.camel@localhost.localdomain> (raw)
In-Reply-To: <200905222032.55869.bzolnier@gmail.com>

在 2009-05-22五的 20:32 +0200,Bartlomiej Zolnierkiewicz写道:
> On Thursday 21 May 2009 00:12:46 wuzhangjin@gmail.com wrote:
> > From: Wu Zhangjin <wuzhangjin@gmail.com>
> > 
> > This is originally from the to-mips branch from
> > http://dev.lemote.com/code/linux_loongson
> 
> Sadly, the patch description lacks all the important information.
> 
> What is the original problem that this fixup tries to address?
> 
> Is it limited to amd74xx controllers?

In loongson2f yeeloong machines, the ide controller is AMD cs5536, or
say  amd74xx, and the hard drives is Fujistu. 
While debuging the hard disk suspned and resume, the ide irq can not be
cleared. I guess this is a fake interrupt, hence the clear irq action
can not be finished. 
This patch is to fix this issue. Maybe other controller and drives also
have this issue, but I am not sure.

Thanks for your reply.  
> 
> [ We are generalizing quirk_drives handling currently... ]
> 
> > Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
> > ---
> >  drivers/ide/amd74xx.c |   19 +++++++++++++++++++
> >  1 files changed, 19 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/ide/amd74xx.c b/drivers/ide/amd74xx.c
> > index 77267c8..8f488b8 100644
> > --- a/drivers/ide/amd74xx.c
> > +++ b/drivers/ide/amd74xx.c
> > @@ -23,6 +23,11 @@
> >  
> >  #define DRV_NAME "amd74xx"
> >  
> > +static const char *am74xx_quirk_drives[] = {
> > +	"FUJITSU MHZ2160BH G2",
> > +	NULL
> > +};
> > +
> >  enum {
> >  	AMD_IDE_CONFIG		= 0x41,
> >  	AMD_CABLE_DETECT	= 0x42,
> > @@ -112,6 +117,19 @@ static void amd_set_pio_mode(ide_drive_t *drive, const u8 pio)
> >  	amd_set_drive(drive, XFER_PIO_0 + pio);
> >  }
> >  
> > +static void amd_quirkproc(ide_drive_t *drive)
> > +{
> > +	const char **list, *m = (char *)&drive->id[ATA_ID_PROD];
> > +
> > +	for (list = am74xx_quirk_drives; *list != NULL; list++)
> > +			if (strstr(m, *list) != NULL) {
> > +				drive->quirk_list = 2;
> > +				return;
> > +			}
> > +
> > +	drive->quirk_list = 0;
> > +}
> > +
> >  static void amd7409_cable_detect(struct pci_dev *dev)
> >  {
> >  	/* no host side cable detection */
> > @@ -194,6 +212,7 @@ static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif)
> >  static const struct ide_port_ops amd_port_ops = {
> >  	.set_pio_mode		= amd_set_pio_mode,
> >  	.set_dma_mode		= amd_set_drive,
> > +	.quirkproc		= amd_quirkproc,
> >  	.cable_detect		= amd_cable_detect,
> >  };
> 


  reply	other threads:[~2009-05-23  7:12 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1242855716.git.wuzhangjin@gmail.com>
2009-05-20 22:12 ` [loongson-PATCH-v1 24/27] fixup for FUJITSU disk wuzhangjin
2009-05-22 18:32   ` Bartlomiej Zolnierkiewicz
2009-05-23  7:11     ` yanh [this message]
2009-05-23 11:47       ` Bartlomiej Zolnierkiewicz
2009-05-25  5:45         ` yanh
2009-05-25  7:35           ` 胡洪兵
2009-05-25 14:56             ` Bartlomiej Zolnierkiewicz
2009-05-25 19:05               ` Sergei Shtylyov
2009-05-25 19:10                 ` Martin K. Petersen
2009-05-25 19:17                   ` Sergei Shtylyov
2009-05-26  1:21                   ` yanh
2009-05-26  7:56                     ` Alan Cox
2009-05-26 14:39                       ` yanh

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=1243062702.8509.7.camel@localhost.localdomain \
    --to=yanh@lemote.com \
    --cc=apatard@mandriva.com \
    --cc=bzolnier@gmail.com \
    --cc=erwan@thiscow.com \
    --cc=gnewsense-dev@nongnu.org \
    --cc=hofrat@hofr.at \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=liujl@lemote.com \
    --cc=loongson-dev@googlegroups.com \
    --cc=philippe@cowpig.ca \
    --cc=r0bertz@gentoo.org \
    --cc=ralf@linux-mips.org \
    --cc=wuzhangjin@gmail.com \
    --cc=zhangfx@lemote.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).