Deleted Added
full compact
fwohci.c (114224) fwohci.c (116376)
1/*
2 * Copyright (c) 2003 Hidetoshi Shimokawa
3 * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 17 unchanged lines hidden (view full) ---

26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
30 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
33 *
1/*
2 * Copyright (c) 2003 Hidetoshi Shimokawa
3 * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 17 unchanged lines hidden (view full) ---

26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
30 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
33 *
34 * $FreeBSD: head/sys/dev/firewire/fwohci.c 114224 2003-04-29 15:02:34Z simokawa $
34 * $FreeBSD: head/sys/dev/firewire/fwohci.c 116376 2003-06-15 04:09:26Z simokawa $
35 *
36 */
37
38#define ATRQ_CH 0
39#define ATRS_CH 1
40#define ARRQ_CH 2
41#define ARRS_CH 3
42#define ITX_CH 4

--- 46 unchanged lines hidden (view full) ---

89 "underrun","overrun","desc err", "data read err",
90 "data write err","bus reset","timeout","tcode err",
91 "Undef","Undef","unknown event","flushed",
92 "Undef","ack complete","ack pend","Undef",
93 "ack busy_X","ack busy_A","ack busy_B","Undef",
94 "Undef","Undef","Undef","ack tardy",
95 "Undef","ack data_err","ack type_err",""};
96
35 *
36 */
37
38#define ATRQ_CH 0
39#define ATRS_CH 1
40#define ARRQ_CH 2
41#define ARRS_CH 3
42#define ITX_CH 4

--- 46 unchanged lines hidden (view full) ---

89 "underrun","overrun","desc err", "data read err",
90 "data write err","bus reset","timeout","tcode err",
91 "Undef","Undef","unknown event","flushed",
92 "Undef","ack complete","ack pend","Undef",
93 "ack busy_X","ack busy_A","ack busy_B","Undef",
94 "Undef","Undef","Undef","ack tardy",
95 "Undef","ack data_err","ack type_err",""};
96
97#define MAX_SPEED 2
98extern char linkspeed[MAX_SPEED+1][0x10];
97#define MAX_SPEED 3
98extern char linkspeed[][0x10];
99u_int32_t tagbit[4] = { 1 << 28, 1 << 29, 1 << 30, 1 << 31};
100
101static struct tcode_info tinfo[] = {
102/* hdr_len block flag*/
103/* 0 WREQQ */ {16, FWTI_REQ | FWTI_TLABEL},
104/* 1 WREQB */ {16, FWTI_REQ | FWTI_TLABEL | FWTI_BLOCK_ASY},
105/* 2 WRES */ {12, FWTI_RES},
106/* 3 XXX */ { 0, 0},

--- 536 unchanged lines hidden (view full) ---

643
644 sc->fc.config_rom = fwdma_malloc(&sc->fc, CROMSIZE, CROMSIZE,
645 &sc->crom_dma, BUS_DMA_WAITOK);
646 if(sc->fc.config_rom == NULL){
647 device_printf(dev, "config_rom alloc failed.");
648 return ENOMEM;
649 }
650
99u_int32_t tagbit[4] = { 1 << 28, 1 << 29, 1 << 30, 1 << 31};
100
101static struct tcode_info tinfo[] = {
102/* hdr_len block flag*/
103/* 0 WREQQ */ {16, FWTI_REQ | FWTI_TLABEL},
104/* 1 WREQB */ {16, FWTI_REQ | FWTI_TLABEL | FWTI_BLOCK_ASY},
105/* 2 WRES */ {12, FWTI_RES},
106/* 3 XXX */ { 0, 0},

--- 536 unchanged lines hidden (view full) ---

643
644 sc->fc.config_rom = fwdma_malloc(&sc->fc, CROMSIZE, CROMSIZE,
645 &sc->crom_dma, BUS_DMA_WAITOK);
646 if(sc->fc.config_rom == NULL){
647 device_printf(dev, "config_rom alloc failed.");
648 return ENOMEM;
649 }
650
651#if 1
651#if 0
652 bzero(&sc->fc.config_rom[0], CROMSIZE);
652 sc->fc.config_rom[1] = 0x31333934;
653 sc->fc.config_rom[2] = 0xf000a002;
654 sc->fc.config_rom[3] = OREAD(sc, OHCI_EUID_HI);
655 sc->fc.config_rom[4] = OREAD(sc, OHCI_EUID_LO);
656 sc->fc.config_rom[5] = 0;
657 sc->fc.config_rom[0] = (4 << 24) | (5 << 16);
658
659 sc->fc.config_rom[0] |= fw_crc16(&sc->fc.config_rom[1], 5*4);

--- 1096 unchanged lines hidden (view full) ---

1756 sc->atrq.xferq.flag &= ~FWXFERQ_RUNNING;
1757 OWRITE(sc, OHCI_ATSCTLCLR, OHCI_CNTL_DMA_RUN);
1758 sc->atrs.xferq.flag &= ~FWXFERQ_RUNNING;
1759
1760#ifndef ACK_ALL
1761 OWRITE(sc, FWOHCI_INTSTATCLR, OHCI_INT_PHY_BUS_R);
1762#endif
1763 fw_busreset(fc);
653 sc->fc.config_rom[1] = 0x31333934;
654 sc->fc.config_rom[2] = 0xf000a002;
655 sc->fc.config_rom[3] = OREAD(sc, OHCI_EUID_HI);
656 sc->fc.config_rom[4] = OREAD(sc, OHCI_EUID_LO);
657 sc->fc.config_rom[5] = 0;
658 sc->fc.config_rom[0] = (4 << 24) | (5 << 16);
659
660 sc->fc.config_rom[0] |= fw_crc16(&sc->fc.config_rom[1], 5*4);

--- 1096 unchanged lines hidden (view full) ---

1757 sc->atrq.xferq.flag &= ~FWXFERQ_RUNNING;
1758 OWRITE(sc, OHCI_ATSCTLCLR, OHCI_CNTL_DMA_RUN);
1759 sc->atrs.xferq.flag &= ~FWXFERQ_RUNNING;
1760
1761#ifndef ACK_ALL
1762 OWRITE(sc, FWOHCI_INTSTATCLR, OHCI_INT_PHY_BUS_R);
1763#endif
1764 fw_busreset(fc);
1765 OWRITE(sc, OHCI_CROMHDR, ntohl(sc->fc.config_rom[0]));
1766 OWRITE(sc, OHCI_BUS_OPT, ntohl(sc->fc.config_rom[2]));
1764 }
1765busresetout:
1766 if((stat & OHCI_INT_DMA_IR )){
1767#ifndef ACK_ALL
1768 OWRITE(sc, FWOHCI_INTSTATCLR, OHCI_INT_DMA_IR);
1769#endif
1770#if __FreeBSD_version >= 500000
1771 irstat = atomic_readandclear_int(&sc->irstat);

--- 1079 unchanged lines hidden ---
1767 }
1768busresetout:
1769 if((stat & OHCI_INT_DMA_IR )){
1770#ifndef ACK_ALL
1771 OWRITE(sc, FWOHCI_INTSTATCLR, OHCI_INT_DMA_IR);
1772#endif
1773#if __FreeBSD_version >= 500000
1774 irstat = atomic_readandclear_int(&sc->irstat);

--- 1079 unchanged lines hidden ---