linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: John Sigler <linux.kernel@free.fr>
Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org, vojtech@suse.cz
Subject: Re: hda: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error }
Date: Sat, 01 Sep 2007 19:48:46 +0400	[thread overview]
Message-ID: <46D989DE.7030409@ru.mvista.com> (raw)
In-Reply-To: <46D6B85C.5050509@free.fr>

John Sigler wrote:

>>> What do the warnings mean? :-)

>> That your drive does not support set transfer mode/speed command at 

    Which is perfectly valid in the original ATA spec.

>> all, or that value which kernel tried is not supported by the drive...

    They just should skip programming the drive in this case, and set its 
default speed to the chipset.

>> I would guess that some contractor wrote firmware for device for PQI 
>> in one day for $100, and before that somebody else designed ATA-SD 
>> bridge for PQI for another $100.

    Hehe.

>> I guess that these two printk()s happen because drive claims to 
>> support pio0,1,2 - so Linux tries pio2, drive refuses, Linux tries 

   Which it shuldn't do since the drive only indicates its default mode (modes 
0-2 aren't included in the PIO support mask -- there's only 3 and 4 there).

>> pio1, drive refuses, and finally as pio0 is default, that one gets 
>> used.  Which is more or less confirmed by having no '*' sign in front 
>> of any pio - with "real" drives you should see '*' in front of one of 
>> listed dma/pio modes.

>> You should ask reseller how they can ship drive which does not conform 
>> to any ATA standard...

    Doesn't it conform to ATA? :-)

> I took drivers/ide/pci/via82cxxx.c and sprinkled ENTER/EXIT printk's.
> http://lxr.linux.no/source/drivers/ide/pci/via82cxxx.c

> via82cxxx_tune_drive() and via82cxxx_ide_dma_check() both call 
> via_set_drive() which calls ide_config_drive_speed().

> http://lxr.linux.no/source/drivers/ide/ide-iops.c#L769
> 
>   if (error)
>   {
>     (void) ide_dump_status(drive, "set_drive_speed_status", stat);
>     printk(KERN_INFO "EXIT %s error\n", __func__);
>     return error;
>   }

> Does someone know why error is not set to 0?

    Why it *does* set to one, you wanted to ask? Because it *does* get set 
after a loop above exits.

> Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> VP_IDE: IDE controller at PCI slot 0000:00:07.1
> VP_IDE: chipset revision 6
> VP_IDE: not 100% native mode: will probe irqs later
> VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci0000:00:07.1
>     ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:pio, hdb:pio
>     ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:pio, hdd:pio
> Probing IDE interface ide0...
> hda: PQI IDE DiskOnModule, ATA DISK drive
> ENTER via82cxxx_tune_drive
> ENTER via_set_drive
> ENTER ide_config_drive_speed
> hda: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error }
> hda: set_drive_speed_status: error=0x04 { DriveStatusError }
> EXIT ide_config_drive_speed error
> ENTER via_set_speed
> EXIT via_set_speed
> EXIT via_set_drive
> EXIT via82cxxx_tune_drive pio == 255

    255 is PIO auto-tuning request.

> ENTER via82cxxx_ide_dma_check
> ENTER via_set_drive
> ENTER ide_config_drive_speed
> hda: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error }
> hda: set_drive_speed_status: error=0x04 { DriveStatusError }

MBR, Sergei

  parent reply	other threads:[~2007-09-01 15:45 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-29 16:29 hda: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } John Sigler
2007-08-29 16:46 ` Alan Cox
2007-08-30  8:17   ` John Sigler
     [not found]     ` <46D69E03.9080403@vc.cvut.cz>
2007-08-30 12:30       ` John Sigler
2007-08-30 15:10         ` John Sigler
2007-08-30 23:31           ` Alan Cox
2007-08-31  8:22             ` John Sigler
2007-08-31  9:04               ` PROBLEM: kernel 2.6.22.6 pata_pdc202xx_old.c limiting to UDMA/33 instead of UDMA/100 (UPDATED 2.6.22.6) n
2007-08-31  9:04               ` n
2007-09-01 14:58                 ` Sergei Shtylyov
2007-08-31 11:49               ` hda: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } Alan Cox
     [not found]           ` <311601c90708301534g47b2bca7t77debde058781572@mail.gmail.com>
2007-08-31  8:41             ` John Sigler
2007-09-01 15:48         ` Sergei Shtylyov [this message]
2007-08-30 14:05     ` Alan Cox
2007-08-31 20:22   ` Sergei Shtylyov
2007-09-01 15:38 ` Sergei Shtylyov
2007-09-03 13:17   ` John Sigler
2007-09-03 13:40     ` Sergei Shtylyov

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=46D989DE.7030409@ru.mvista.com \
    --to=sshtylyov@ru.mvista.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux.kernel@free.fr \
    --cc=vojtech@suse.cz \
    /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).