From: Tejun <htejun@gmail.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Albert Lee <albertcc@tw.ibm.com>,
"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
Doug Maxey <dwm@maxeymade.com>, Brian King <brking@us.ibm.com>
Subject: Re: irq-pio branch updated with Tejun's patches
Date: Thu, 09 Feb 2006 18:31:54 +0900 [thread overview]
Message-ID: <43EB0C0A.5070408@gmail.com> (raw)
In-Reply-To: <43EB0999.9060204@pobox.com>
Jeff Garzik wrote:
> Tejun Heo wrote:
>
>> Hello, Albert.
>>
>> Albert Lee wrote:
>>
>>>>
>>>> This is sort of OT, but would it be possible to separate PIO
>>>> issuing/interrupt handling from ata_qc_issue_prot and ata_host_intr?
>>>>
>>>
>>> Isn't overriding the ->qc_issue() and ->irq_handle() in LLDD good
>>> enough?
>>
>>
>>
>> The driver needs its own ->qc_issue() and ->irq_handler() but it also
>> needs PIO support. AFAICS, the current PIO implementation is rather
>> strongly tied into ata_qc_issue_prot() and ata_host_intr() making it
>> difficult to use PIO support in drivers which use private ->qc_issue()
>> and ->irq_handler(). So, what I was asking was to separate out PIO
>> handling from ata_qc_issue_prot() and ata_host_intr() such that other
>> issue and intr routines can use PIO.
>
>
> What needs this separation? initio?
>
Yeah, it seems. Its broken driver currently emulates BMDMA status to
work with standard issue/intr functions, but it seems fragile. In
addition, for NCQ commands, the controller operates in different mode
and the code will have to be distorted more than now. So, I think it's
better to use separate issue/intr handler and calling PIO helpers when
needed. Well, if that driver ever works, that is. I'll contact Initio
support again. Hmmm.. I might even call them. Heh heh. :-)
>
>> Separating out traditional driving logic from libata-core.c would
>> require another level of indirection such that traditional low level
>> drivers still can mix & match different legacy operations. I thought
>> about it and wasn't really sure whether the added abstraction was
>> worth the clean up. We currently don't have too many controllers
>> which are legacy-free, it seems.
>
> IMO the solution is time. Time and evolution will determine what's
> best. When a particular section of code get particularly large (PCI IDE
> driver helper code), it certainly makes sense to split it out. "Do what
> you must, and no more" is the Linux maxim :)
Being a stupid over-designer, I'm sometimes a bit unconformtable with
the approach but I guess I'll finally adapt. I'll talk about this more
in the thread regarding probe_reset component operatons.
Thanks.
--
tejun
next prev parent reply other threads:[~2006-02-09 9:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-27 14:23 irq-pio branch updated with Tejun's patches Jeff Garzik
2006-02-08 8:25 ` Albert Lee
2006-02-08 8:34 ` [PATCH 0/4] libata-dev: minor fix for irq-pio with Tejun's EH patches Albert Lee
2006-02-08 8:37 ` [PATCH 1/4] libata-dev: Fix array index value in ata_rwcmd_protocol() Albert Lee
2006-02-09 9:26 ` Jeff Garzik
2006-02-08 8:48 ` [PATCH 2/4] libata-dev: Use new ata_queue_pio_task() for PIO polling task Albert Lee
2006-02-08 8:50 ` [PATCH 3/4] libata-dev: Use new AC_ERR_* flags Albert Lee
2006-02-08 8:51 ` [PATCH 4/4] libata-dev: Minor comment fix Albert Lee
2006-02-08 8:46 ` irq-pio branch updated with Tejun's patches Tejun Heo
2006-02-09 3:23 ` Albert Lee
2006-02-09 3:58 ` Tejun Heo
2006-02-09 9:21 ` Jeff Garzik
2006-02-09 9:31 ` Tejun [this message]
2006-02-09 9:17 ` Jeff Garzik
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=43EB0C0A.5070408@gmail.com \
--to=htejun@gmail.com \
--cc=albertcc@tw.ibm.com \
--cc=brking@us.ibm.com \
--cc=dwm@maxeymade.com \
--cc=jgarzik@pobox.com \
--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.