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 --- |