Messages in this thread | | | Date | Mon, 18 Jul 2011 11:40:17 -0700 | Subject | Re: ahci_start_engine compliance with AHCI spec | From | Brian Norris <> |
| |
Hi Tejun,
On Wed, Jul 13, 2011 at 6:14 AM, Tejun Heo <tj@kernel.org> wrote: > On Fri, Jul 08, 2011 at 04:01:17PM -0700, Brian Norris wrote: >> I'm not sure if the "error_handler" and "hard reset" processes are >> intended for initialization...as I said I'm a little new! > > That's how it's supposed to work. EH is integral part of probing > sequence.
I began to suspect that was the case. It just seemed awkward that the expected operation includes a code path named "error".
>> I have a few other questions: >> >> What operation could be putting devices in DRQ or BSY states during >> initialization but before ahci_start_engine? > > Hmmm... I have no idea, maybe it has something to do with the first > D2H Reg FIS device sends after link gets reset during controller init?
OK, I'll try to track that one down, but I think that DRQ is set much earlier in the initialization than that and won't be cleared until between ahci_power_up() and ahci_start_engine() - I tried wait-and-poll at several different points in the process to understand the HBA/device initialization process.
> Hmmm... what happens if you don't comment out ahci_start_engine() call > from ahci_start_port()?
I wasn't commenting out the ahci_start_engine() from ahci_start_port(). Can you clarify what you mean?
> Is this the same IP block that Jian Peng was using?
Yes, it is. I'm taking over some of his work.
Thanks for the responses.
Brian -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |