aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorSean Bruno <sbruno@FreeBSD.org>2009-02-17 19:37:04 +0000
committerSean Bruno <sbruno@FreeBSD.org>2009-02-17 19:37:04 +0000
commita71c4d427d040f9244a953d5e5b3607a0e33dc00 (patch)
tree46f6b6350a8fbc4b26e0efcab1bfa3ea6423bd18 /sys
parenta1fda318a8c3f95331399eb59204390a8bd98b4e (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/firewire/firewire.c29
-rw-r--r--sys/dev/firewire/firewire.h8
2 files changed, 29 insertions, 8 deletions
diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c
index bb0fda34b36a..05cf834d1a4e 100644
--- a/sys/dev/firewire/firewire.c
+++ b/sys/dev/firewire/firewire.c
@@ -1270,12 +1270,29 @@ fw_print_sid(uint32_t sid)
{
union fw_self_id *s;
s = (union fw_self_id *) &sid;
- printf("node:%d link:%d gap:%d spd:%d del:%d con:%d pwr:%d"
- " p0:%d p1:%d p2:%d i:%d m:%d\n",
- s->p0.phy_id, s->p0.link_active, s->p0.gap_count,
- s->p0.phy_speed, s->p0.phy_delay, s->p0.contender,
- s->p0.power_class, s->p0.port0, s->p0.port1,
- s->p0.port2, s->p0.initiated_reset, s->p0.more_packets);
+ if ( s->p0.sequel ) {
+ if ( s->p1.sequence_num == FW_SELF_ID_PAGE0 ) {
+ printf("node:%d p3:%d p4:%d p5:%d p6:%d p7:%d"
+ "p8:%d p9:%d p10:%d\n",
+ s->p1.phy_id, s->p1.port3, s->p1.port4,
+ s->p1.port5, s->p1.port6, s->p1.port7,
+ s->p1.port8, s->p1.port9, s->p1.port10);
+ } else if (s->p2.sequence_num == FW_SELF_ID_PAGE1 ){
+ printf("node:%d p11:%d p12:%d p13:%d p14:%d p15:%d\n",
+ s->p2.phy_id, s->p2.port11, s->p2.port12,
+ s->p2.port13, s->p2.port14, s->p2.port15);
+ } else {
+ printf("node:%d Unknown Self ID Page number %d\n",
+ s->p1.phy_id, s->p1.sequence_num);
+ }
+ } else {
+ printf("node:%d link:%d gap:%d spd:%d con:%d pwr:%d"
+ " p0:%d p1:%d p2:%d i:%d m:%d\n",
+ s->p0.phy_id, s->p0.link_active, s->p0.gap_count,
+ s->p0.phy_speed, s->p0.contender,
+ s->p0.power_class, s->p0.port0, s->p0.port1,
+ s->p0.port2, s->p0.initiated_reset, s->p0.more_packets);
+ }
}
/*
diff --git a/sys/dev/firewire/firewire.h b/sys/dev/firewire/firewire.h
index 33fe25dbea4b..f147f6104036 100644
--- a/sys/dev/firewire/firewire.h
+++ b/sys/dev/firewire/firewire.h
@@ -292,6 +292,10 @@ struct fw_devlstreq {
#define FW_SELF_ID_PORT_CONNECTED_TO_PARENT 2
#define FW_SELF_ID_PORT_NOT_CONNECTED 1
#define FW_SELF_ID_PORT_NOT_EXISTS 0
+
+#define FW_SELF_ID_PAGE0 0
+#define FW_SELF_ID_PAGE1 1
+
#if BYTE_ORDER == BIG_ENDIAN
union fw_self_id {
struct {
@@ -301,7 +305,7 @@ union fw_self_id {
link_active:1,
gap_count:6,
phy_speed:2,
- phy_delay:2,
+ reserved:2,
contender:1,
power_class:3,
port0:2,
@@ -353,7 +357,7 @@ union fw_self_id {
port0:2,
power_class:3,
contender:1,
- phy_delay:2,
+ reserved:2,
phy_speed:2,
gap_count:6,
link_active:1,