All of lore.kernel.org
 help / color / mirror / Atom feed
From: Albert Lee <albertcc@tw.ibm.com>
To: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jeff@garzik.org>,
	"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
	Doug Maxey <dwm@maxeymade.com>
Subject: Re: ICH8 and SATA
Date: Tue, 23 May 2006 10:12:53 +0800	[thread overview]
Message-ID: <44726FA5.4090407@tw.ibm.com> (raw)
In-Reply-To: <44723571.1090500@gmail.com>

Tejun Heo wrote:
> Jeff Garzik wrote:
> 
>> BTW, Intel sez:
>>
>> "FYI, I added PIIX_FLAG_IGNORE_PCS and was able to boot on ICH8."
>>
> 
> Yeap, that should achieve about the same effect as the experimental
> patch Andrew posted; also, about the same phantom bug.
> 
> I don't think the phantom device problem is caused by missing
> dev_select.  We have enough dev_select() during classification.
> 

Yes, I cannot find missing dev_select(), neither.

It seems the Intel chip is emulating the PATA master/slave
behavior and reproduces the phantom slave problem of PATA.

>From the ATA-4 spec:
(http://t13.org/project/d1153r18-ATA-ATAPI-4.pdf)

Section 9.16 said: in single master configuration, the master should
response for slave, if the slave is inexistent.
=> The software sees the illusion faked by the master device.

Later in ATA-6 spec, section 9.16 is updated:  for ATAPI devices,
the master should response for slave with 0x00 taskfile,
if the slave if inexistent. However, some device doesn't follow the
new spec...

--
albert

Excertp from the ATA-4 spec:

9.16 Single device configurations

9.16.1 Device 0 only configurations

In a single device configuration where Device 0 is the only device and
the host selects Device 1, Device 0 shall respond as follows:
1) A write to the Device Control register shall complete as if Device 0 was the selected device;
2) A write to a Command Block register, other than the Command register, shall complete as if
Device 0 was selected;
3) A write to the Command register shall be ignored, except for EXECUTE DEVICE DIAGNOSTIC;
4) A read of the Control Block or Command Block registers, other than the Status or Alternate
Status registers, shall complete as if Device 0 was selected;
5) A read of the Status or Alternate status register shall return the value 00h.

NOTE - Even though Device 1 is not present, the register content may appear valid for
Device 1. Further means may be necessary to determine the existence of Device 1, e.g.,
issuing a command.

9.16.2 Device 1 only configurations



      parent reply	other threads:[~2006-05-23  2:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-22  7:35 ICH8 and SATA Jeff Garzik
2006-05-22 22:04 ` Tejun Heo
2006-05-22 23:29   ` Jeff Garzik
2006-05-22 23:39     ` Tejun Heo
2006-05-23  2:12   ` Albert Lee [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=44726FA5.4090407@tw.ibm.com \
    --to=albertcc@tw.ibm.com \
    --cc=albertl@mail.com \
    --cc=dwm@maxeymade.com \
    --cc=htejun@gmail.com \
    --cc=jeff@garzik.org \
    --cc=linux-ide@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.