public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Steven A. Falco <sfalco@harris.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [Patch 1/3] setting pio modes for IDE devices
Date: Fri, 15 Aug 2008 15:29:12 -0400	[thread overview]
Message-ID: <48A5D908.9020308@harris.com> (raw)
In-Reply-To: <20080815181230.89BDB248CD@gemini.denx.de>

Wolfgang Denk wrote:
> Dear "Steven A. Falco",
> 
> In message <48A5C296.1060801@harris.com> you wrote:
>> I realized that I should be checking to see if word 163 is applicable to
>> the ATA device in question.  To do that, I need to call ata_id_is_cfa() from
>> libata.h.  However, libata.h conflicts with ata.h because of duplicate
>> enum values.
>>
>> Therefore, this respin of the proposed patch deletes the duplicate enums
>> from ata.h and instead includes libata.h to supply the enums.  Then, I
>> can call ata_id_is_cfa() and more accurately detect PIO 5 and 6.
>>
>> I believe cleaning up ata.h is a good thing, because duplicating the enums in
>> both places invites them to get out of sync.
> 
> It is, but can you please split this into two independent patches?
> 
> Thanks in advance.
> 
> Best regards,
> 
> Wolfgang Denk
> 

[PATCH 1/3] Replace enums in ata.h with an include of libata.h

This patch removes some enums from ata.h and replaces them with an
include of libata.h.  This way, we eliminate duplicated code, and
prevent errors whereby the different versions could be out of sync.

Signed-off-by: Steven A. Falco <sfalco@harris.com>
---
 include/ata.h |   62 +-------------------------------------------------------
 1 files changed, 2 insertions(+), 60 deletions(-)

diff --git a/include/ata.h b/include/ata.h
index aa6e90d..b669423 100644
--- a/include/ata.h
+++ b/include/ata.h
@@ -33,6 +33,8 @@
 #ifndef	_ATA_H
 #define _ATA_H

+#include <libata.h>
+
 /* Register addressing depends on the hardware design; for instance,
  * 8-bit (register) and 16-bit (data) accesses might use different
  * address spaces. This is implemented by the following definitions.
@@ -83,66 +85,6 @@
 #define ATA_DEVICE(x)	((x & 1)<<4)
 #define ATA_LBA		0xE0

-enum {
-	ATA_MAX_DEVICES = 1,	/* per bus/port */
-	ATA_MAX_PRD = 256,	/* we could make these 256/256 */
-	ATA_SECT_SIZE = 256,	/*256 words per sector */
-
-	/* bits in ATA command block registers */
-	ATA_HOB = (1 << 7),	/* LBA48 selector */
-	ATA_NIEN = (1 << 1),	/* disable-irq flag */
-	/*ATA_LBA                 = (1 << 6), */ /* LBA28 selector */
-	ATA_DEV1 = (1 << 4),	/* Select Device 1 (slave) */
-	ATA_DEVICE_OBS = (1 << 7) | (1 << 5),	/* obs bits in dev reg */
-	ATA_DEVCTL_OBS = (1 << 3),	/* obsolete bit in devctl reg */
-	ATA_BUSY = (1 << 7),	/* BSY status bit */
-	ATA_DRDY = (1 << 6),	/* device ready */
-	ATA_DF = (1 << 5),	/* device fault */
-	ATA_DRQ = (1 << 3),	/* data request i/o */
-	ATA_ERR = (1 << 0),	/* have an error */
-	ATA_SRST = (1 << 2),	/* software reset */
-	ATA_ABORTED = (1 << 2),	/* command aborted */
-	/* ATA command block registers */
-	ATA_REG_DATA = 0x00,
-	ATA_REG_ERR = 0x01,
-	ATA_REG_NSECT = 0x02,
-	ATA_REG_LBAL = 0x03,
-	ATA_REG_LBAM = 0x04,
-	ATA_REG_LBAH = 0x05,
-	ATA_REG_DEVICE = 0x06,
-	ATA_REG_STATUS = 0x07,
-	ATA_PCI_CTL_OFS = 0x02,
-	/* and their aliases */
-	ATA_REG_FEATURE = ATA_REG_ERR,
-	ATA_REG_CMD = ATA_REG_STATUS,
-	ATA_REG_BYTEL = ATA_REG_LBAM,
-	ATA_REG_BYTEH = ATA_REG_LBAH,
-	ATA_REG_DEVSEL = ATA_REG_DEVICE,
-	ATA_REG_IRQ = ATA_REG_NSECT,
-
-	/* SETFEATURES stuff */
-	SETFEATURES_XFER = 0x03,
-	XFER_UDMA_7 = 0x47,
-	XFER_UDMA_6 = 0x46,
-	XFER_UDMA_5 = 0x45,
-	XFER_UDMA_4 = 0x44,
-	XFER_UDMA_3 = 0x43,
-	XFER_UDMA_2 = 0x42,
-	XFER_UDMA_1 = 0x41,
-	XFER_UDMA_0 = 0x40,
-	XFER_MW_DMA_2 = 0x22,
-	XFER_MW_DMA_1 = 0x21,
-	XFER_MW_DMA_0 = 0x20,
-	XFER_PIO_4 = 0x0C,
-	XFER_PIO_3 = 0x0B,
-	XFER_PIO_2 = 0x0A,
-	XFER_PIO_1 = 0x09,
-	XFER_PIO_0 = 0x08,
-	XFER_SW_DMA_2 = 0x12,
-	XFER_SW_DMA_1 = 0x11,
-	XFER_SW_DMA_0 = 0x10,
-	XFER_PIO_SLOW = 0x00
-};
 /*
  * ATA Commands (only mandatory commands listed here)
  */
-- 
1.5.5.1

  reply	other threads:[~2008-08-15 19:29 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-13 21:42 [U-Boot] [RFC] setting pio modes for IDE devices Steven A. Falco
2008-08-13 23:20 ` Wolfgang Denk
2008-08-14 14:33   ` Steven A. Falco
2008-08-14 16:42     ` Jean-Christophe PLAGNIOL-VILLARD
2008-08-15 15:23       ` Steven A. Falco
2008-08-15 17:53         ` Steven A. Falco
2008-08-15 18:12           ` Wolfgang Denk
2008-08-15 19:29             ` Steven A. Falco [this message]
2008-08-20 23:21               ` [U-Boot] [Patch 1/3] " Wolfgang Denk
2008-08-15 19:34             ` [U-Boot] [PATCH 2/3] " Steven A. Falco
2008-08-20 23:31               ` Wolfgang Denk
2008-08-15 19:37             ` [U-Boot] [PATCH 3/3] " Steven A. Falco
2008-08-20 23:33               ` Wolfgang Denk

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=48A5D908.9020308@harris.com \
    --to=sfalco@harris.com \
    --cc=u-boot@lists.denx.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox