diff options
author | 2006-02-10 21:45:41 +0000 | |
---|---|---|
committer | 2006-02-10 21:45:41 +0000 | |
commit | 1e1caba6b50d0617454d23fbfec4ab8fdf8b3b25 (patch) | |
tree | 3394739794bc11d6258107d2e6cdc0b8a0203048 /sys/dev/pci/pciide.c | |
parent | regen (diff) | |
download | wireguard-openbsd-1e1caba6b50d0617454d23fbfec4ab8fdf8b3b25.tar.xz wireguard-openbsd-1e1caba6b50d0617454d23fbfec4ab8fdf8b3b25.zip |
Fix LBA48 access for ServerWorks SATA.
ok grange@
Diffstat (limited to 'sys/dev/pci/pciide.c')
-rw-r--r-- | sys/dev/pci/pciide.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/dev/pci/pciide.c b/sys/dev/pci/pciide.c index 560fec4e5f9..d5bfab452e6 100644 --- a/sys/dev/pci/pciide.c +++ b/sys/dev/pci/pciide.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pciide.c,v 1.224 2006/02/03 11:50:34 brad Exp $ */ +/* $OpenBSD: pciide.c,v 1.225 2006/02/10 21:45:41 kettenis Exp $ */ /* $NetBSD: pciide.c,v 1.127 2001/08/03 01:31:08 tsutsui Exp $ */ /* @@ -7184,6 +7184,18 @@ svwsata_write_reg(struct channel_softc *chp, enum wdc_regs reg, u_int8_t val) } } +void +svwsata_lba48_write_reg(struct channel_softc *chp, enum wdc_regs reg, u_int16_t val) +{ + if (reg & _WDC_AUX) { + bus_space_write_4(chp->ctl_iot, chp->ctl_ioh, + (reg & _WDC_REGMASK) << 2, val); + } else { + bus_space_write_4(chp->cmd_iot, chp->cmd_ioh, + (reg & _WDC_REGMASK) << 2, val); + } +} + #define ACARD_IS_850(sc) \ ((sc)->sc_pp->ide_product == PCI_PRODUCT_ACARD_ATP850U) |