linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH/RFC 0/9] libata: irq_on/off restructuring
@ 2007-06-15  3:11 Albert Lee
  2007-06-15  3:15 ` [PATCH/RFC 1/9] libata: remove irq_on from ata_bus_reset() and ata_std_postreset() Albert Lee
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Albert Lee @ 2007-06-15  3:11 UTC (permalink / raw)
  To: Linux IDE; +Cc: Doug Maxey

For ATA, there are two levels of mechanism available to turn irq on/off.
 - device level: nIEN bit in the control register. nIEN masks INTRQ from the device.
 - host adapter level: some controller can mask out per-port irq from the host adapter.

Currently various parts of libata deal with irq on/off.
  ex. tf_load() can alter the nIEN bit.
  ex. irq_on() also alters the device level nIEN bit.
  ex. freeze()/thaw() deal with the host adapter irq mask.

It seems these irq on/off codes could be better structured.
Draft patches for your review/advice, thanks.

1/9: remove irq_on from ata_bus_reset() and ata_std_postreset()
2/9: add ->irq_off() for symmetry
3/9: implement ->irq_off() in LLDDs
4/9: call irq_off from bmdma_freeze()
5/9: use freeze()/thaw() for polling
6/9: add freeze()/thaw() to old EH LLDDs
7/9: pdc_freeze() semantic change
8/9: remove writing of tf->ctl from ata_tf_load()
9/9: Remove irq_on/off. Rename freeze()/thaw() to irq_on/off.


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-06-18  5:15 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-15  3:11 [PATCH/RFC 0/9] libata: irq_on/off restructuring Albert Lee
2007-06-15  3:15 ` [PATCH/RFC 1/9] libata: remove irq_on from ata_bus_reset() and ata_std_postreset() Albert Lee
2007-06-15  3:17 ` [PATCH/RFC 2/9] libata: add irq_off() for symmetry Albert Lee
2007-06-15  3:19 ` [PATCH/RFC 3/9] libata: add ->irq_off() to LLDDs Albert Lee
2007-06-15  3:21 ` [PATCH/RFC 4/9] libata: call irq_off from bmdma_freeze() Albert Lee
2007-06-15  3:24 ` [PATCH/RFC 5/9] libata: use freeze()/thaw() for polling Albert Lee
2007-06-18  5:13   ` Tejun Heo
2007-06-15  3:26 ` [PATCH/RFC 6/9] libata: add freeze()/thaw() to old EH LLDDs Albert Lee
2007-06-15  3:30 ` [PATCH/RFC 7/9] libata: pdc_freeze() semantic change Albert Lee
2007-06-18  5:14   ` Tejun Heo
2007-06-15  3:34 ` [PATCH/RFC 8/9] libata: remove writing of tf->ctl from ata_tf_load() Albert Lee
2007-06-15  3:44 ` [PATCH/RFC 9/9] libata: remove irq_on/off and rename freeze()/thaw() to irq_on/off Albert Lee

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).