From: Albert Lee <albertcc@tw.ibm.com>
To: Linux IDE <linux-ide@vger.kernel.org>
Cc: Doug Maxey <dwm@enoyolf.org>
Subject: [PATCH/RFC 4/9] libata: call irq_off from bmdma_freeze()
Date: Fri, 15 Jun 2007 11:21:24 +0800 [thread overview]
Message-ID: <467205B4.1050606@tw.ibm.com> (raw)
In-Reply-To: <46720353.90209@tw.ibm.com>
Patch 4/9:
Minor patch to call irq_off() from bmdma_freeze() to avoid duplicated code.
Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
---
diff -Nrup 03_add_irq_off_lldd/drivers/ata/libata-sff.c 04_convert_freeze/drivers/ata/libata-sff.c
--- 03_add_irq_off_lldd/drivers/ata/libata-sff.c 2007-06-12 13:15:13.000000000 +0800
+++ 04_convert_freeze/drivers/ata/libata-sff.c 2007-06-12 13:15:17.000000000 +0800
@@ -413,20 +413,7 @@ void ata_bmdma_stop(struct ata_queued_cm
*/
void ata_bmdma_freeze(struct ata_port *ap)
{
- struct ata_ioports *ioaddr = &ap->ioaddr;
-
- ap->ctl |= ATA_NIEN;
- ap->last_ctl = ap->ctl;
-
- iowrite8(ap->ctl, ioaddr->ctl_addr);
-
- /* Under certain circumstances, some controllers raise IRQ on
- * ATA_NIEN manipulation. Also, many controllers fail to mask
- * previously pending IRQ on ATA_NIEN assertion. Clear it.
- */
- ata_chk_status(ap);
-
- ap->ops->irq_clear(ap);
+ ap->ops->irq_off(ap);
}
/**
diff -Nrup 03_add_irq_off_lldd/drivers/ata/pata_scc.c 04_convert_freeze/drivers/ata/pata_scc.c
--- 03_add_irq_off_lldd/drivers/ata/pata_scc.c 2007-06-12 13:06:12.000000000 +0800
+++ 04_convert_freeze/drivers/ata/pata_scc.c 2007-06-12 14:58:03.000000000 +0800
@@ -875,20 +875,7 @@ static u8 scc_irq_ack (struct ata_port *
static void scc_bmdma_freeze (struct ata_port *ap)
{
- struct ata_ioports *ioaddr = &ap->ioaddr;
-
- ap->ctl |= ATA_NIEN;
- ap->last_ctl = ap->ctl;
-
- out_be32(ioaddr->ctl_addr, ap->ctl);
-
- /* Under certain circumstances, some controllers raise IRQ on
- * ATA_NIEN manipulation. Also, many controllers fail to mask
- * previously pending IRQ on ATA_NIEN assertion. Clear it.
- */
- ata_chk_status(ap);
-
- ap->ops->irq_clear(ap);
+ scc_irq_off(ap);
}
/**
next prev parent reply other threads:[~2007-06-15 3:21 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` Albert Lee [this message]
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
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=467205B4.1050606@tw.ibm.com \
--to=albertcc@tw.ibm.com \
--cc=albertl@mail.com \
--cc=dwm@enoyolf.org \
--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.