linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: ISHIKAWA Mutsumi <ishikawa@hanzubon.jp>
Cc: joe@dastyle.net, jgarzik@pobox.com, linux-ide@vger.kernel.org
Subject: Re: Enabling AHCI on ICH7 without BIOS support
Date: Sun, 19 Aug 2007 14:34:30 +0900	[thread overview]
Message-ID: <46C7D666.8020700@gmail.com> (raw)
In-Reply-To: <20070819014412.1378C5ED6F3@master.hanzubon.jp>

ISHIKAWA Mutsumi wrote:
>>>>>> In <46C44A05.9040302@dastyle.net> 
>>>>>> 	Jonathan Bastien-Filiatrault <joe@dastyle.net> wrote:
>>> Tejun Heo wrote:
>>>
>>>> Hello,
>>>>
>>>> Jonathan Bastien-Filiatrault wrote:
>>>>   
>>>>> Hello,
>>>>>
>>>>> I am the owner of a Dell Latitude D620 notebook with an ICH7 SATA
>>>>> controller, unfortunately, the BIOS does not offer the option of using
>>>>> "native mode" instead of "compatibility mode" when it comes to SATA. For
>>>>> now, the ata_piix runs happily in compatibility mode. Looking at the
>>>>> ICH7 docs, I found that poking register 0x90 in PCI configuration space
>>>>> with value 0x40 should enable AHCI. However, there are some issues with
>>>>> poking that register with setpci in an early initramfs:
>>>>>
>>>>>
>>>>> - The kernel does not seem to update the device id from PCI config
>>>>> space, which changes with the controller mode (it would seem the PCI
>>>>> subsystem keeps a copy)
>>>>>
>>>>> - Poking PCI registers from userspace is far from ideal
>>>>>
>>>>>
>>>>> It would be great if the AHCI driver (or otherwise) had a
>>>>> "force_ich7_ahci" to properly setup and initialize this device in full
>>>>> "native" AHCI mode. This option would be greatly welcome from users like
>>>>> me who have a stupid bios (eh, who doesn't).
>>>>>     
>>>> Sorry but most BIOSen don't map ABAR unless it supports AHCI and there
>>>> usually isn't a hole to fit in ABAR afterwards unless the kernel
>>>> completely reallocates IO resources, which, again unfortunately, can't
>>>> be done reliably cuz machines can be quirky and might puke if addresses
>>>> aren't laid out as their BIOSen would do.
>>>>
>>>> So, you'll have to live with ata_piix.
>>>>
>>>>   
>>> So far, I have managed to patch up the AHCI driver to initialize the 
>>> ICH7 AHCI state machine as the BIOS would do (as per the AHCI spec 
>>> instructions). This involves mapping ABAR and such. So far, I have 
>>> gotten the AHCI driver to detect the chip properly, but it does not 
>>> detect any drives. It looks like I will need to further initialize the 
>>> chip. I think there might be a chance of success, but it will involve 
>>> manually specifying which ports are present via a module parameter.
> 
>  Do you know Edvin's patch?
> 
> http://www.bughost.org/pipermail/power/2007-June/000538.html
> 
>  I've tested it and works fine on my note
> (Sony VAIO type S VGN-SZ92PS, ICH7-M)

Yeah, I've seen it but I'm not sure whether it would worth the risk.
For one, there are BIOSen which won't assign IO memory region to ABAR at
all.  There also is a patch to reallocate IO memory regions and make
room for ABAR but that can break things.

Thanks.

-- 
tejun

  reply	other threads:[~2007-08-19  5:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-14 13:09 Enabling AHCI on ICH7 without BIOS support Jonathan Bastien-Filiatrault
2007-08-16 12:23 ` Tejun Heo
2007-08-16 12:58   ` Jonathan Bastien-Filiatrault
2007-08-16 13:19     ` Tejun Heo
2007-08-19  1:44     ` ISHIKAWA Mutsumi
2007-08-19  5:34       ` Tejun Heo [this message]
2007-08-19  6:56         ` Török Edwin
2007-08-19  8:07           ` Tejun Heo

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=46C7D666.8020700@gmail.com \
    --to=htejun@gmail.com \
    --cc=ishikawa@hanzubon.jp \
    --cc=jgarzik@pobox.com \
    --cc=joe@dastyle.net \
    --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 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).