From: Albert Lee <albertcc@tw.ibm.com>
To: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jgarzik@pobox.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 11:23:38 +0800 [thread overview]
Message-ID: <43EAB5BA.3050204@tw.ibm.com> (raw)
In-Reply-To: <43E9AFEF.4010909@gmail.com>
Hi Tejun,
>
>
> 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?
> As PIO implementation currently stands, a lldd must use those standard
> methods to use PIO, but some controllers need PIO handling but the stock
> issue and interrupt routines don't really fit. e.g. not-yet-working
> sata_inic162x. Something like ata_qc_issue_pio and ata_qc_pio_intr maybe?
>
How about refactoring the PCI-IDE specific logic from libata-core to a
seperate source file, say, ata_pciide.c?
Currently we have many PCI-IDE specific driving logic in libata-core.c.
Maybe we can seperate the different driving logic required by different
hardware interface into different source files?
This could make libata-core.c to be more abstract and generic from the underlying
hardware: libata-core only knows about the ata_port_operations interface.
(ata_port_operations should be generic enough to cover all the hardware types.)
LLDDs can either select default implementation for its hardware interface type
(such as ata_bmdma_setup() from ata_pciide.c) or override harddware specfic functions.
Ex. hardware interface types:
- PCI IDE (bmdma + PRD tables)
(covers legacy taskfile registers interface) => ata_pciide.c
- ADMA => pdc_adma.c
- AHCI => ahci.c
- Initio => sata_initio.c (ata_qc_issue_pio and ata_qc_pio_intr implementation here)
- SAS/SATA => sata_sas.c (ata_sas_port_start/stop implementation here)
- etc.
Albert
next prev parent reply other threads:[~2006-02-09 3:23 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 [this message]
2006-02-09 3:58 ` Tejun Heo
2006-02-09 9:21 ` Jeff Garzik
2006-02-09 9:31 ` Tejun
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=43EAB5BA.3050204@tw.ibm.com \
--to=albertcc@tw.ibm.com \
--cc=brking@us.ibm.com \
--cc=dwm@maxeymade.com \
--cc=htejun@gmail.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.