aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/ohci.c
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2010-02-24 14:31:04 -0500
committerStefan Richter <stefanr@s5r6.in-berlin.de>2010-02-24 14:33:45 -0500
commit109d28152b6e9d5de64cd23e3bc08885ccb3d1ef (patch)
treeb7b8863faa05254781acfb85cc41da3eef467c6b /drivers/firewire/ohci.c
parent168cf9af699e87d5a6f44b684583714ecabb8e71 (diff)
parent60b341b778cc2929df16c0a504c91621b3c6a4ad (diff)
Merge tag 'v2.6.33' for its firewire changes since last branch point
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/ohci.c')
-rw-r--r--drivers/firewire/ohci.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c
index f8a71397cf6e..0f7c4bb978e7 100644
--- a/drivers/firewire/ohci.c
+++ b/drivers/firewire/ohci.c
@@ -2136,11 +2136,6 @@ static int ohci_queue_iso_transmit(struct fw_iso_context *base,
2136 u32 payload_index, payload_end_index, next_page_index; 2136 u32 payload_index, payload_end_index, next_page_index;
2137 int page, end_page, i, length, offset; 2137 int page, end_page, i, length, offset;
2138 2138
2139 /*
2140 * FIXME: Cycle lost behavior should be configurable: lose
2141 * packet, retransmit or terminate..
2142 */
2143
2144 p = packet; 2139 p = packet;
2145 payload_index = payload; 2140 payload_index = payload;
2146 2141
@@ -2170,6 +2165,14 @@ static int ohci_queue_iso_transmit(struct fw_iso_context *base,
2170 if (!p->skip) { 2165 if (!p->skip) {
2171 d[0].control = cpu_to_le16(DESCRIPTOR_KEY_IMMEDIATE); 2166 d[0].control = cpu_to_le16(DESCRIPTOR_KEY_IMMEDIATE);
2172 d[0].req_count = cpu_to_le16(8); 2167 d[0].req_count = cpu_to_le16(8);
2168 /*
2169 * Link the skip address to this descriptor itself. This causes
2170 * a context to skip a cycle whenever lost cycles or FIFO
2171 * overruns occur, without dropping the data. The application
2172 * should then decide whether this is an error condition or not.
2173 * FIXME: Make the context's cycle-lost behaviour configurable?
2174 */
2175 d[0].branch_address = cpu_to_le32(d_bus | z);
2173 2176
2174 header = (__le32 *) &d[1]; 2177 header = (__le32 *) &d[1];
2175 header[0] = cpu_to_le32(IT_HEADER_SY(p->sy) | 2178 header[0] = cpu_to_le32(IT_HEADER_SY(p->sy) |
@@ -2455,6 +2458,7 @@ static void ohci_pmac_off(struct pci_dev *dev)
2455 2458
2456#define PCI_VENDOR_ID_AGERE PCI_VENDOR_ID_ATT 2459#define PCI_VENDOR_ID_AGERE PCI_VENDOR_ID_ATT
2457#define PCI_DEVICE_ID_AGERE_FW643 0x5901 2460#define PCI_DEVICE_ID_AGERE_FW643 0x5901
2461#define PCI_DEVICE_ID_TI_TSB43AB23 0x8024
2458 2462
2459static int __devinit pci_probe(struct pci_dev *dev, 2463static int __devinit pci_probe(struct pci_dev *dev,
2460 const struct pci_device_id *ent) 2464 const struct pci_device_id *ent)
@@ -2523,7 +2527,8 @@ static int __devinit pci_probe(struct pci_dev *dev,
2523#if !defined(CONFIG_X86_32) 2527#if !defined(CONFIG_X86_32)
2524 /* dual-buffer mode is broken with descriptor addresses above 2G */ 2528 /* dual-buffer mode is broken with descriptor addresses above 2G */
2525 if (dev->vendor == PCI_VENDOR_ID_TI && 2529 if (dev->vendor == PCI_VENDOR_ID_TI &&
2526 dev->device == PCI_DEVICE_ID_TI_TSB43AB22) 2530 (dev->device == PCI_DEVICE_ID_TI_TSB43AB22 ||
2531 dev->device == PCI_DEVICE_ID_TI_TSB43AB23))
2527 ohci->use_dualbuffer = false; 2532 ohci->use_dualbuffer = false;
2528#endif 2533#endif
2529 2534