Deleted Added
full compact
fwohci.c (170374) fwohci.c (170400)
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 170374 2007-06-06 14:31:36Z simokawa $
34 * $FreeBSD: head/sys/dev/firewire/fwohci.c 170400 2007-06-07 13:20:48Z 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

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

74#include <dev/firewire/fwohcireg.h>
75#include <dev/firewire/fwohcivar.h>
76#include <dev/firewire/firewire_phy.h>
77#endif
78
79#undef OHCI_DEBUG
80
81static int nocyclemaster = 0;
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

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

74#include <dev/firewire/fwohcireg.h>
75#include <dev/firewire/fwohcivar.h>
76#include <dev/firewire/firewire_phy.h>
77#endif
78
79#undef OHCI_DEBUG
80
81static int nocyclemaster = 0;
82int firewire_phydma_enable = 1;
82SYSCTL_DECL(_hw_firewire);
83SYSCTL_INT(_hw_firewire, OID_AUTO, nocyclemaster, CTLFLAG_RW, &nocyclemaster, 0,
84 "Do not send cycle start packets");
83SYSCTL_DECL(_hw_firewire);
84SYSCTL_INT(_hw_firewire, OID_AUTO, nocyclemaster, CTLFLAG_RW, &nocyclemaster, 0,
85 "Do not send cycle start packets");
86SYSCTL_INT(_hw_firewire, OID_AUTO, phydma_enable, CTLFLAG_RW,
87 &firewire_phydma_enable, 1, "Allow physical request DMA from firewire");
88TUNABLE_INT("hw.firewire.phydma_enable", &firewire_phydma_enable);
85
86static char dbcode[16][0x10]={"OUTM", "OUTL","INPM","INPL",
87 "STOR","LOAD","NOP ","STOP",};
88
89static char dbkey[8][0x10]={"ST0", "ST1","ST2","ST3",
90 "UNDEF","REG","SYS","DEV"};
91static char dbcond[4][0x10]={"NEV","C=1", "C=0", "ALL"};
92char fwohcicode[32][0x20]={

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

1857 }
1858 if (stat & OHCI_INT_PHY_SID) {
1859 /* Enable bus reset interrupt */
1860 OWRITE(sc, FWOHCI_INTSTATCLR, OHCI_INT_PHY_BUS_R);
1861 OWRITE(sc, FWOHCI_INTMASK, OHCI_INT_PHY_BUS_R);
1862
1863 /* Allow async. request to us */
1864 OWRITE(sc, OHCI_AREQHI, 1 << 31);
89
90static char dbcode[16][0x10]={"OUTM", "OUTL","INPM","INPL",
91 "STOR","LOAD","NOP ","STOP",};
92
93static char dbkey[8][0x10]={"ST0", "ST1","ST2","ST3",
94 "UNDEF","REG","SYS","DEV"};
95static char dbcond[4][0x10]={"NEV","C=1", "C=0", "ALL"};
96char fwohcicode[32][0x20]={

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

1861 }
1862 if (stat & OHCI_INT_PHY_SID) {
1863 /* Enable bus reset interrupt */
1864 OWRITE(sc, FWOHCI_INTSTATCLR, OHCI_INT_PHY_BUS_R);
1865 OWRITE(sc, FWOHCI_INTMASK, OHCI_INT_PHY_BUS_R);
1866
1867 /* Allow async. request to us */
1868 OWRITE(sc, OHCI_AREQHI, 1 << 31);
1865 /* XXX insecure ?? */
1866 /* allow from all nodes */
1867 OWRITE(sc, OHCI_PREQHI, 0x7fffffff);
1868 OWRITE(sc, OHCI_PREQLO, 0xffffffff);
1869 /* 0 to 4GB regison */
1870 OWRITE(sc, OHCI_PREQUPPER, 0x10000);
1869 if (firewire_phydma_enable) {
1870 /* allow from all nodes */
1871 OWRITE(sc, OHCI_PREQHI, 0x7fffffff);
1872 OWRITE(sc, OHCI_PREQLO, 0xffffffff);
1873 /* 0 to 4GB region */
1874 OWRITE(sc, OHCI_PREQUPPER, 0x10000);
1875 }
1871 /* Set ATRetries register */
1872 OWRITE(sc, OHCI_ATRETRY, 1<<(13+16) | 0xfff);
1873
1874 /*
1875 * Checking whether the node is root or not. If root, turn on
1876 * cycle master.
1877 */
1878 node_id = OREAD(sc, FWOHCI_NODEID);

--- 1095 unchanged lines hidden ---
1876 /* Set ATRetries register */
1877 OWRITE(sc, OHCI_ATRETRY, 1<<(13+16) | 0xfff);
1878
1879 /*
1880 * Checking whether the node is root or not. If root, turn on
1881 * cycle master.
1882 */
1883 node_id = OREAD(sc, FWOHCI_NODEID);

--- 1095 unchanged lines hidden ---