Skip to contentSkip to conversation

Add defines to libata (Take three)

PATCH New Tor Krill 2 participants 3 messages Mar 31, 2008 – Apr 1, 2008

lore
Share & tools
lore

Tor Krill

author
#0 lore raw

PATCH 1/1 Add defines to libata (Take three)

This patch adds some missing defines to libata.
Add check power mode command.
Add obsoleted bits in dev reg
Add ata command register defines

---
 include/libata.h |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)
include/libata.h +22 -0
index aedba74..b50af9b 100644
@@ -30,6 +30,7 @@
 enum ata_cmd {
 	/* non-NCQ command */
 	ATA_CMD_DEV_RESET		= 0x08, /* ATAPI device reset */
+	ATA_CMD_CHK_POWER		= 0xE5, /* check power mode */
 	ATA_CMD_FLUSH_CACHE		= 0xE7,
 	ATA_CMD_FLUSH_CACHE_EXT		= 0xEA,
 	ATA_CMD_ID_ATA			= 0xEC,
@@ -110,6 +111,7 @@ enum {
 	ATA_HOB			= (1 << 7),	/* LBA48 selector */
 	ATA_NIEN		= (1 << 1),	/* disable-irq flag */
 	ATA_LBA			= (1 << 6),	/* LBA28 selector */
+	ATA_DEVICE_OBS	= (1 << 7) | (1 << 5), /* obs bits in dev reg */
 	ATA_DEV1		= (1 << 4),	/* Select Device 1 (slave) */
 	ATA_BUSY		= (1 << 7),	/* BSY status bit */
 	ATA_DRDY		= (1 << 6),	/* device ready */
@@ -156,6 +158,26 @@ enum {
 	ATA_UDMA7		= ATA_UDMA6 | (1 << 7),
 };
 
+/* ATA command block registers */
+enum ata_regs {
+	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,		
+};
+
 #define ata_id_is_ata(id)		(((id)[0] & (1 << 15)) == 0)
 #define ata_id_wcache_enabled(id)	((id)[85] & (1 << 5))
 #define ata_id_has_fua(id)		((id)[84] & (1 << 6))
Signature · 1 line
1.5.4.4
#1 lore raw

PATCH 1/1 Add defines to libata (Take three)

Thanks Tor,

I will send one new patch including the full set of linux kernel's ata.h with your signed-off.

Quoted 64 lines · Tor Krill

This patch adds some missing defines to libata.
Add check power mode command.
Add obsoleted bits in dev reg
Add ata command register defines

---
 include/libata.h |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)
include/libata.h +1 -0
index aedba74..b50af9b 100644
@@ -30,6 +30,7 @@
 enum ata_cmd {
        /* non-NCQ command */
        ATA_CMD_DEV_RESET               = 0x08, /* ATAPI device reset
 */
+       ATA_CMD_CHK_POWER               = 0xE5, /* check power mode */
        ATA_CMD_FLUSH_CACHE             = 0xE7,
        ATA_CMD_FLUSH_CACHE_EXT         = 0xEA,
        ATA_CMD_ID_ATA                  = 0xEC,
include/libata.h +1 -0
@@ -110,6 +111,7 @@ enum {
        ATA_HOB                 = (1 << 7),     /* LBA48 selector */
        ATA_NIEN                = (1 << 1),     /* disable-irq flag */
        ATA_LBA                 = (1 << 6),     /* LBA28 selector */
+       ATA_DEVICE_OBS  = (1 << 7) | (1 << 5), /* obs bits in dev reg
 */
        ATA_DEV1                = (1 << 4),     /* Select Device 1

(slave) */

        ATA_BUSY                = (1 << 7),     /* BSY status bit */
        ATA_DRDY                = (1 << 6),     /* device ready */
include/libata.h +20 -1
@@ -156,6 +158,26 @@ enum {
        ATA_UDMA7               = ATA_UDMA6 | (1 << 7),
 };
 
+/* ATA command block registers */
+enum ata_regs {
+       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,           
+};
+
 #define ata_id_is_ata(id)              (((id)[0] & (1 << 15)) == 0)
 #define ata_id_wcache_enabled(id)      ((id)[85] & (1 << 5))
 #define ata_id_has_fua(id)             ((id)[84] & (1 << 6))
--

1.5.4.4

#2 lore raw

PATCH 1/1 Add defines to libata (Take three)

In reply to Tor Krill

Tor,

I just sent the patch
[PATCH] ata: update the libata.h from ata.h of linux kernel

The patch cover your changes, and is consistent with the latest ata.h of linux kernel.

Please continue your development with it. Thanks again.

Wolfgang,

Please apply my patch instead of Tor's patch,
I add full set of ata.h of linux to my patch, and add Tor Krill to Signed-off-by.

Thanks,
Dave

Quoted 64 lines · Tor Krill

This patch adds some missing defines to libata.
Add check power mode command.
Add obsoleted bits in dev reg
Add ata command register defines

---
 include/libata.h |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)
include/libata.h +1 -0
index aedba74..b50af9b 100644
@@ -30,6 +30,7 @@
 enum ata_cmd {
        /* non-NCQ command */
        ATA_CMD_DEV_RESET               = 0x08, /* ATAPI device reset
 */
+       ATA_CMD_CHK_POWER               = 0xE5, /* check power mode */
        ATA_CMD_FLUSH_CACHE             = 0xE7,
        ATA_CMD_FLUSH_CACHE_EXT         = 0xEA,
        ATA_CMD_ID_ATA                  = 0xEC,
include/libata.h +1 -0
@@ -110,6 +111,7 @@ enum {
        ATA_HOB                 = (1 << 7),     /* LBA48 selector */
        ATA_NIEN                = (1 << 1),     /* disable-irq flag */
        ATA_LBA                 = (1 << 6),     /* LBA28 selector */
+       ATA_DEVICE_OBS  = (1 << 7) | (1 << 5), /* obs bits in dev reg
 */
        ATA_DEV1                = (1 << 4),     /* Select Device 1

(slave) */

        ATA_BUSY                = (1 << 7),     /* BSY status bit */
        ATA_DRDY                = (1 << 6),     /* device ready */
include/libata.h +20 -1
@@ -156,6 +158,26 @@ enum {
        ATA_UDMA7               = ATA_UDMA6 | (1 << 7),
 };
 
+/* ATA command block registers */
+enum ata_regs {
+       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,           
+};
+
 #define ata_id_is_ata(id)              (((id)[0] & (1 << 15)) == 0)
 #define ata_id_wcache_enabled(id)      ((id)[85] & (1 << 5))
 #define ata_id_has_fua(id)             ((id)[84] & (1 << 6))
--

1.5.4.4