diff options
Diffstat (limited to 'drivers/firewire/ohci.c')
-rw-r--r-- | drivers/firewire/ohci.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c index a8093a9a3fc8..a55fbbce9e79 100644 --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c | |||
@@ -1974,6 +1974,9 @@ static u32 ohci_read_csr_reg(struct fw_card *card, int csr_offset) | |||
1974 | struct fw_ohci *ohci = fw_ohci(card); | 1974 | struct fw_ohci *ohci = fw_ohci(card); |
1975 | 1975 | ||
1976 | switch (csr_offset) { | 1976 | switch (csr_offset) { |
1977 | case CSR_NODE_IDS: | ||
1978 | return reg_read(ohci, OHCI1394_NodeID) << 16; | ||
1979 | |||
1977 | case CSR_CYCLE_TIME: | 1980 | case CSR_CYCLE_TIME: |
1978 | return get_cycle_time(ohci); | 1981 | return get_cycle_time(ohci); |
1979 | 1982 | ||
@@ -1983,6 +1986,22 @@ static u32 ohci_read_csr_reg(struct fw_card *card, int csr_offset) | |||
1983 | } | 1986 | } |
1984 | } | 1987 | } |
1985 | 1988 | ||
1989 | static void ohci_write_csr_reg(struct fw_card *card, int csr_offset, u32 value) | ||
1990 | { | ||
1991 | struct fw_ohci *ohci = fw_ohci(card); | ||
1992 | |||
1993 | switch (csr_offset) { | ||
1994 | case CSR_NODE_IDS: | ||
1995 | reg_write(ohci, OHCI1394_NodeID, value >> 16); | ||
1996 | flush_writes(ohci); | ||
1997 | break; | ||
1998 | |||
1999 | default: | ||
2000 | WARN_ON(1); | ||
2001 | break; | ||
2002 | } | ||
2003 | } | ||
2004 | |||
1986 | static void copy_iso_headers(struct iso_context *ctx, void *p) | 2005 | static void copy_iso_headers(struct iso_context *ctx, void *p) |
1987 | { | 2006 | { |
1988 | int i = ctx->header_length; | 2007 | int i = ctx->header_length; |
@@ -2421,6 +2440,7 @@ static const struct fw_card_driver ohci_driver = { | |||
2421 | .cancel_packet = ohci_cancel_packet, | 2440 | .cancel_packet = ohci_cancel_packet, |
2422 | .enable_phys_dma = ohci_enable_phys_dma, | 2441 | .enable_phys_dma = ohci_enable_phys_dma, |
2423 | .read_csr_reg = ohci_read_csr_reg, | 2442 | .read_csr_reg = ohci_read_csr_reg, |
2443 | .write_csr_reg = ohci_write_csr_reg, | ||
2424 | 2444 | ||
2425 | .allocate_iso_context = ohci_allocate_iso_context, | 2445 | .allocate_iso_context = ohci_allocate_iso_context, |
2426 | .free_iso_context = ohci_free_iso_context, | 2446 | .free_iso_context = ohci_free_iso_context, |