diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-06-10 15:31:36 -0400 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-07-09 18:07:43 -0400 |
commit | f1397490017e337446c6a8b0562b584679a604a6 (patch) | |
tree | 073c65b0fe78e02b529285ec1bffe5a5c7612e69 /drivers/firewire/fw-topology.h | |
parent | 24d40125f1f59a6de9d9e6e046676bd60532596c (diff) |
firewire: support S100B...S400B and link slower than PHY
Use a speed probe to determine the speed over 1394b buses and of nodes
which report a link speed less than their PHY speed.
Log the effective maximum speed of newly created nodes in dmesg.
Also, read the config ROM (except bus info block) at the maximum speed
rather than S100. This isn't a real optimization though because we
still only use quadlet read requests for the entire ROM.
The patch also adds support for S1600 and S3200, although such hardware
does not exist yet.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Diffstat (limited to 'drivers/firewire/fw-topology.h')
-rw-r--r-- | drivers/firewire/fw-topology.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/firewire/fw-topology.h b/drivers/firewire/fw-topology.h index aced9f7db358..da61ec09183e 100644 --- a/drivers/firewire/fw-topology.h +++ b/drivers/firewire/fw-topology.h | |||
@@ -29,19 +29,18 @@ enum { | |||
29 | 29 | ||
30 | struct fw_port { | 30 | struct fw_port { |
31 | struct fw_node *node; | 31 | struct fw_node *node; |
32 | unsigned speed : 3; /* S100, S200, ... S3200 */ | ||
33 | }; | 32 | }; |
34 | 33 | ||
35 | struct fw_node { | 34 | struct fw_node { |
36 | u16 node_id; | 35 | u16 node_id; |
37 | u8 color; | 36 | u8 color; |
38 | u8 port_count; | 37 | u8 port_count; |
39 | unsigned link_on : 1; | 38 | u8 link_on : 1; |
40 | unsigned initiated_reset : 1; | 39 | u8 initiated_reset : 1; |
41 | unsigned b_path : 1; | 40 | u8 b_path : 1; |
42 | u8 phy_speed : 3; /* As in the self ID packet. */ | 41 | u8 phy_speed : 2; /* As in the self ID packet. */ |
43 | u8 max_speed : 5; /* Minimum of all phy-speeds and port speeds on | 42 | u8 max_speed : 2; /* Minimum of all phy-speeds on the path from the |
44 | * the path from the local node to this node. */ | 43 | * local node to this node. */ |
45 | u8 max_depth : 4; /* Maximum depth to any leaf node */ | 44 | u8 max_depth : 4; /* Maximum depth to any leaf node */ |
46 | u8 max_hops : 4; /* Max hops in this sub tree */ | 45 | u8 max_hops : 4; /* Max hops in this sub tree */ |
47 | atomic_t ref_count; | 46 | atomic_t ref_count; |