1/*-
2 * Copyright (c) 1998,1999,2000 S�ren Schmidt
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
--- 11 unchanged lines hidden (view full) ---
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * $FreeBSD: head/sys/dev/ata/ata-dma.c 67067 2000-10-13 12:09:23Z sos $
29 */
30
31#include "pci.h"
32#include <sys/param.h>
33#include <sys/systm.h>
34#include <sys/bio.h>
35#include <sys/malloc.h>
36#include <sys/bus.h>
--- 457 unchanged lines hidden (view full) ---
494 umode |= (device == ATA_MASTER ? 0x11 : 0x42);
495 pci_write_config(parent, scp->channel ? 0x7b : 0x73, umode, 1);
496 scp->mode[ATA_DEV(device)] = ATA_UDMA2;
497 return;
498 }
499 }
500 /* make sure eventual UDMA mode from the BIOS is disabled */
501 pci_write_config(parent, scp->channel ? 0x7b : 0x73,
502 pci_read_config(parent, scp->channel ? 0x7b : 0x73, 1)&
503 ~(device == ATA_MASTER ? 0x35 : 0xca), 1);
504 /* FALLTHROUGH */
505
506 case 0x06461095: /* CMD 646 ATA controller */
507 if (wdmamode >= 2 && apiomode >= 4) {
508 error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0,
509 ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY);
510 if (bootverbose)
--- 514 unchanged lines hidden (view full) ---
1025 }
1026 }
1027 pci_write_config(parent, 0x40 + (devno << 2), (timing & ~0x80000000),4);
1028 }
1029}
1030
1031#else /* NPCI > 0 */
1032
1033void *
1034ata_dmaalloc(struct ata_softc *scp, int device)
1035{
1036}
1037
1038void
1039ata_dmainit(struct ata_softc *scp, int device,
1040 int piomode, int wdmamode, int udmamode)
1041{
1042}
1043
1044int
1045ata_dmasetup(struct ata_softc *scp, int device, struct ata_dmaentry *dmatab,
1046 caddr_t data, int32_t count)
1047{
1048 return -1;
1049}
1050
1051void
1052ata_dmastart(struct ata_softc *scp, int device,
1053 struct ata_dmaentry *dmatab, int dir)
1054{
1055}
1056
1057int
1058ata_dmadone(struct ata_softc *scp)
1059{
1060 return -1;
1061}
1062
1063int
1064ata_dmastatus(struct ata_softc *scp)
1065{
1066 return -1;
1067}
1068
1069#endif /* NPCI > 0 */
2 * Copyright (c) 1998,1999,2000 S�ren Schmidt
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
--- 11 unchanged lines hidden (view full) ---
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * $FreeBSD: head/sys/dev/ata/ata-dma.c 67067 2000-10-13 12:09:23Z sos $
29 */
30
31#include "pci.h"
32#include <sys/param.h>
33#include <sys/systm.h>
34#include <sys/bio.h>
35#include <sys/malloc.h>
36#include <sys/bus.h>
--- 457 unchanged lines hidden (view full) ---
494 umode |= (device == ATA_MASTER ? 0x11 : 0x42);
495 pci_write_config(parent, scp->channel ? 0x7b : 0x73, umode, 1);
496 scp->mode[ATA_DEV(device)] = ATA_UDMA2;
497 return;
498 }
499 }
500 /* make sure eventual UDMA mode from the BIOS is disabled */
501 pci_write_config(parent, scp->channel ? 0x7b : 0x73,
502 pci_read_config(parent, scp->channel ? 0x7b : 0x73, 1)&
503 ~(device == ATA_MASTER ? 0x35 : 0xca), 1);
504 /* FALLTHROUGH */
505
506 case 0x06461095: /* CMD 646 ATA controller */
507 if (wdmamode >= 2 && apiomode >= 4) {
508 error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0,
509 ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY);
510 if (bootverbose)
--- 514 unchanged lines hidden (view full) ---
1025 }
1026 }
1027 pci_write_config(parent, 0x40 + (devno << 2), (timing & ~0x80000000),4);
1028 }
1029}
1030
1031#else /* NPCI > 0 */
1032
1033void *
1034ata_dmaalloc(struct ata_softc *scp, int device)
1035{
1036}
1037
1038void
1039ata_dmainit(struct ata_softc *scp, int device,
1040 int piomode, int wdmamode, int udmamode)
1041{
1042}
1043
1044int
1045ata_dmasetup(struct ata_softc *scp, int device, struct ata_dmaentry *dmatab,
1046 caddr_t data, int32_t count)
1047{
1048 return -1;
1049}
1050
1051void
1052ata_dmastart(struct ata_softc *scp, int device,
1053 struct ata_dmaentry *dmatab, int dir)
1054{
1055}
1056
1057int
1058ata_dmadone(struct ata_softc *scp)
1059{
1060 return -1;
1061}
1062
1063int
1064ata_dmastatus(struct ata_softc *scp)
1065{
1066 return -1;
1067}
1068
1069#endif /* NPCI > 0 */