svn commit: r199445 - stable/8/sys/cam/ata
Alexander Motin
mav at FreeBSD.org
Tue Nov 17 21:14:02 UTC 2009
Author: mav
Date: Tue Nov 17 21:14:02 2009
New Revision: 199445
URL: http://svn.freebsd.org/changeset/base/199445
Log:
MFC r198904, r198905:
PMP commands use short format. PMP write doesn't return result.
Modified:
stable/8/sys/cam/ata/ata_all.c
stable/8/sys/cam/ata/ata_all.h
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
stable/8/sys/dev/xen/xenpci/ (props changed)
Modified: stable/8/sys/cam/ata/ata_all.c
==============================================================================
--- stable/8/sys/cam/ata/ata_all.c Tue Nov 17 21:09:47 2009 (r199444)
+++ stable/8/sys/cam/ata/ata_all.c Tue Nov 17 21:14:02 2009 (r199445)
@@ -368,30 +368,24 @@ void
ata_pm_read_cmd(struct ccb_ataio *ataio, int reg, int port)
{
bzero(&ataio->cmd, sizeof(ataio->cmd));
- ataio->cmd.flags = CAM_ATAIO_48BIT | CAM_ATAIO_NEEDRESULT;
+ ataio->cmd.flags = CAM_ATAIO_NEEDRESULT;
ataio->cmd.command = ATA_READ_PM;
ataio->cmd.features = reg;
- ataio->cmd.features_exp = reg >> 8;
ataio->cmd.device = port & 0x0f;
}
void
-ata_pm_write_cmd(struct ccb_ataio *ataio, int reg, int port, uint64_t val)
+ata_pm_write_cmd(struct ccb_ataio *ataio, int reg, int port, uint32_t val)
{
bzero(&ataio->cmd, sizeof(ataio->cmd));
- ataio->cmd.flags = CAM_ATAIO_48BIT | CAM_ATAIO_NEEDRESULT;
+ ataio->cmd.flags = 0;
ataio->cmd.command = ATA_WRITE_PM;
ataio->cmd.features = reg;
+ ataio->cmd.sector_count = val;
ataio->cmd.lba_low = val >> 8;
ataio->cmd.lba_mid = val >> 16;
ataio->cmd.lba_high = val >> 24;
ataio->cmd.device = port & 0x0f;
- ataio->cmd.lba_low_exp = val >> 40;
- ataio->cmd.lba_mid_exp = val >> 48;
- ataio->cmd.lba_high_exp = val >> 56;
- ataio->cmd.features_exp = reg >> 8;
- ataio->cmd.sector_count = val;
- ataio->cmd.sector_count_exp = val >> 32;
}
void
Modified: stable/8/sys/cam/ata/ata_all.h
==============================================================================
--- stable/8/sys/cam/ata/ata_all.h Tue Nov 17 21:09:47 2009 (r199444)
+++ stable/8/sys/cam/ata/ata_all.h Tue Nov 17 21:14:02 2009 (r199445)
@@ -103,7 +103,7 @@ void ata_ncq_cmd(struct ccb_ataio *ataio
uint64_t lba, uint16_t sector_count);
void ata_reset_cmd(struct ccb_ataio *ataio);
void ata_pm_read_cmd(struct ccb_ataio *ataio, int reg, int port);
-void ata_pm_write_cmd(struct ccb_ataio *ataio, int reg, int port, uint64_t val);
+void ata_pm_write_cmd(struct ccb_ataio *ataio, int reg, int port, uint32_t val);
void ata_bswap(int8_t *buf, int len);
void ata_btrim(int8_t *buf, int len);
More information about the svn-src-all
mailing list