aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/fw-transaction.h
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2009-03-10 16:09:28 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2009-03-24 15:56:52 -0400
commit7889b60ee71eafaf50699a154a2455424bb92daa (patch)
treed5bb3a4d274bf186e32605284a34a36398475818 /drivers/firewire/fw-transaction.h
parentcbae787c0f288c3ad385ad4165ae30b5500a1f23 (diff)
firewire: core: optimize propagation of BROADCAST_CHANNEL
Cache the test result of whether a device implements BROADCAST_CHANNEL. This minimizes traffic on the bus after each bus reset. A majority of devices does not implement BROADCAST_CHANNEL. Remove busy retries; just rely on the hardware to retry requests to busy responders. Remove unnecessary log messages. Rename the flag is_irm to broadcast_channel_allocated to better reflect its meaning. Reset the flag earlier in fw_core_handle_bus_reset. Pass the generation down as a call parameter; that way generation can't be newer than card->broadcast_channel_allocated and device->node_id. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/fw-transaction.h')
-rw-r--r--drivers/firewire/fw-transaction.h6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/firewire/fw-transaction.h b/drivers/firewire/fw-transaction.h
index d4f42cecbdfa..dfa799068f89 100644
--- a/drivers/firewire/fw-transaction.h
+++ b/drivers/firewire/fw-transaction.h
@@ -230,11 +230,6 @@ struct fw_card {
230 u8 color; /* must be u8 to match the definition in struct fw_node */ 230 u8 color; /* must be u8 to match the definition in struct fw_node */
231 int gap_count; 231 int gap_count;
232 bool beta_repeaters_present; 232 bool beta_repeaters_present;
233 /*
234 * Set if the local device is the IRM and the broadcast channel
235 * was allocated.
236 */
237 bool is_irm;
238 233
239 int index; 234 int index;
240 235
@@ -245,6 +240,7 @@ struct fw_card {
245 int bm_retries; 240 int bm_retries;
246 int bm_generation; 241 int bm_generation;
247 242
243 bool broadcast_channel_allocated;
248 u32 broadcast_channel; 244 u32 broadcast_channel;
249 u32 topology_map[(CSR_TOPOLOGY_MAP_END - CSR_TOPOLOGY_MAP) / 4]; 245 u32 topology_map[(CSR_TOPOLOGY_MAP_END - CSR_TOPOLOGY_MAP) / 4];
250}; 246};