[PATCH 7/7] libata: remove ap->last_ctl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



With the previous changes made to tf_load(), ap->last_ctl is now unused. Remove it.

(The purpose of ap->last_ctl is to cache the last status of nIEN bit
and hopefully avoid writing the Control register unnecessarily.
However, the libata polling code always call irq_on() in ata_hsm_qc_complete()
and such mechanism isn't much utilized.)

Signed-off-by: Albert Lee <albertcc@xxxxxxxxxx>
---

diff -Nrup 06_tf_load_cleanup/drivers/ata/libata-core.c 07_last_ctl_cleanup/drivers/ata/libata-core.c
--- 06_tf_load_cleanup/drivers/ata/libata-core.c	2007-07-07 10:49:04.000000000 +0800
+++ 07_last_ctl_cleanup/drivers/ata/libata-core.c	2007-07-07 10:50:36.000000000 +0800
@@ -5987,7 +5987,6 @@ struct ata_port *ata_port_alloc(struct a
 
 	ap->hw_sata_spd_limit = UINT_MAX;
 	ap->active_tag = ATA_TAG_POISON;
-	ap->last_ctl = 0xFF;
 
 #if defined(ATA_VERBOSE_DEBUG)
 	/* turn on all debugging levels */
diff -Nrup 06_tf_load_cleanup/drivers/ata/libata-sff.c 07_last_ctl_cleanup/drivers/ata/libata-sff.c
--- 06_tf_load_cleanup/drivers/ata/libata-sff.c	2007-07-07 10:50:10.000000000 +0800
+++ 07_last_ctl_cleanup/drivers/ata/libata-sff.c	2007-07-07 10:50:36.000000000 +0800
@@ -53,7 +53,6 @@ void ata_irq_on(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);
 	ata_wait_idle(ap);
@@ -76,7 +75,6 @@ void ata_irq_off(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);
 
diff -Nrup 06_tf_load_cleanup/drivers/ata/pata_scc.c 07_last_ctl_cleanup/drivers/ata/pata_scc.c
--- 06_tf_load_cleanup/drivers/ata/pata_scc.c	2007-07-07 10:50:10.000000000 +0800
+++ 07_last_ctl_cleanup/drivers/ata/pata_scc.c	2007-07-07 10:50:36.000000000 +0800
@@ -794,7 +794,6 @@ static void scc_irq_on (struct ata_port 
 	struct ata_ioports *ioaddr = &ap->ioaddr;
 
 	ap->ctl &= ~ATA_NIEN;
-	ap->last_ctl = ap->ctl;
 
 	out_be32(ioaddr->ctl_addr, ap->ctl);
 	ata_wait_idle(ap);
@@ -814,7 +813,6 @@ static void scc_irq_off (struct ata_port
 	struct ata_ioports *ioaddr = &ap->ioaddr;
 
 	ap->ctl |= ATA_NIEN;
-	ap->last_ctl = ap->ctl;
 
 	out_be32(ioaddr->ctl_addr, ap->ctl);
 
diff -Nrup 06_tf_load_cleanup/include/linux/libata.h 07_last_ctl_cleanup/include/linux/libata.h
--- 06_tf_load_cleanup/include/linux/libata.h	2007-07-07 10:49:04.000000000 +0800
+++ 07_last_ctl_cleanup/include/linux/libata.h	2007-07-07 10:50:36.000000000 +0800
@@ -507,7 +507,6 @@ struct ata_port {
 	struct ata_ioports	ioaddr;	/* ATA cmd/ctl/dma register blocks */
 
 	u8			ctl;	/* cache of ATA control register */
-	u8			last_ctl;	/* Cache last written value */
 	unsigned int		pio_mask;
 	unsigned int		mwdma_mask;
 	unsigned int		udma_mask;


-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux