All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luo Dislo <dislo_b_j@yahoo.com.tw>
To: Tejun Heo <tj@kernel.org>
Cc: jgarzik@pobox.com, linux-ide@vger.kernel.org
Subject: Re: AHCI support Port Multiplier problem.
Date: Mon, 10 Jan 2011 09:46:45 +0800 (CST)	[thread overview]
Message-ID: <55871.3142.qm@web74203.mail.tp2.yahoo.com> (raw)
In-Reply-To: <20110107212537.GH7355@mtj.dyndns.org>

Hello,

This is my company(Faraday) implemented AHCI SATA controller. Our 
controller is not located at PCI bus, but AHB bus(ARM based platform).

However, I modify Linux kernel builtin AHCI driver(ahci.c) to replace
the PCI related code by using platform bus. Just pretty similar way 
with drivers/ata/ahci_platform.c (Kernel 2.6.35).

I think the problem happens because libata does not give up, keep on 
expecting the Port Multiplier Signature when we set CONFIG_SATA_PMP 
to 1. 

I know how to fix this problem, just add AHCI_HFLAG_NO_PMP to AHCI_HFLAGS when I connect hard drive to the controller. Meanwhile, when I want to connect the Port Muliplier to my controller, I need to remove AHCI_HFLAG_NO_PMP from AHCI_HFLAGS. 

I don't think this is a good solution because I have to compile two version of my code. It does not make sense. We set CONFIG_SATA_PMP to 1 and inside the driver code DOES NOT have AHCI_HFLAG_NO_PMP just means that controller support Port Multiplier but the device connecting to the port might be others type.



Regards,

Dislo


 

--- 11/1/8 (六),Tejun Heo <tj@kernel.org> 寫道:

> 寄件者: Tejun Heo <tj@kernel.org>
> 主旨: Re: AHCI support Port Multiplier problem.
> 收件者: "Luo Dislo" <dislo_b_j@yahoo.com.tw>
> 副本: jgarzik@pobox.com, linux-ide@vger.kernel.org
> 日期: 2011年1月8日,六,上午5:25
> Hello,
> 
> On Fri, Jan 07, 2011 at 10:55:14AM +0800, Luo Dislo wrote:
> > I am using AHCI driver, when CONFIG_SATA_PMP is set
> and the ahci
> > driver DOES NOT have AHCI_HFLAG_NO_PMP. Libata sends
> Software Reset
> > with PMP=0xF, trying to detect if Port Multiplier
> connected to the
> > port. Unfortunately, if I plugged in general Hard
> drive, my
> > controller failed to identify the hard drive.
> > 
> > What I observed was that libata always sent Software
> Reset with
> > PMP=0xF and I guessed expecting signature is
> 0x96690101. I think
> > libata should give up if the device does not return
> the Port
> > Multiplier signature at the first time and take the
> signature value
> > from device as the real device connnecting to the port
> now.
> >
> > What we said "support" PMP does not mean the port can
> only connnect
> > to Port Multiplier. It might connect with hard drive
> or ATAPI
> > device.
> 
> Which controller is this?  Can you please post the
> output of "lspci
> -nn"?  SB600 had this problem and needed workaround
> but later SBs
> fixed it.  Looks like someone else screwed up
> similarly.
> 
> Thanks.
> 
> -- 
> tejun
> 


      

  reply	other threads:[~2011-01-10  1:46 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-07  2:55 AHCI support Port Multiplier problem Luo Dislo
2011-01-07 21:25 ` Tejun Heo
2011-01-10  1:46   ` Luo Dislo [this message]
2011-01-10 15:42     ` Mac Lin
2011-01-11  1:54     ` Robert Hancock
2011-01-11 14:39       ` Tejun Heo
2011-01-11 14:37     ` Tejun Heo
2011-01-12  1:26       ` Luo Dislo
2011-01-13  8:16       ` Luo Dislo
2011-02-15  7:48       ` Question regarding PORT_IRQ_BAD_PMP (Re: AHCI support Port Multiplier problem.) Mac Lin
2011-02-15  8:55         ` Tejun Heo
2011-02-15  9:50           ` Lin Mac
2011-02-15 10:03             ` Tejun Heo
2011-02-15 10:26               ` Lin Mac
2011-02-15 10:31                 ` Tejun Heo
2011-02-15 13:00                   ` Lin Mac

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=55871.3142.qm@web74203.mail.tp2.yahoo.com \
    --to=dislo_b_j@yahoo.com.tw \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=tj@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.