diff options
-rw-r--r-- | drivers/firewire/core-card.c | 11 | ||||
-rw-r--r-- | include/linux/firewire.h | 2 |
2 files changed, 6 insertions, 7 deletions
diff --git a/drivers/firewire/core-card.c b/drivers/firewire/core-card.c index 5045156c5313..42cf911b73cf 100644 --- a/drivers/firewire/core-card.c +++ b/drivers/firewire/core-card.c | |||
@@ -63,7 +63,7 @@ static size_t config_rom_length = 1 + 4 + 1 + 1; | |||
63 | #define BIB_CRC(v) ((v) << 0) | 63 | #define BIB_CRC(v) ((v) << 0) |
64 | #define BIB_CRC_LENGTH(v) ((v) << 16) | 64 | #define BIB_CRC_LENGTH(v) ((v) << 16) |
65 | #define BIB_INFO_LENGTH(v) ((v) << 24) | 65 | #define BIB_INFO_LENGTH(v) ((v) << 24) |
66 | 66 | #define BIB_BUS_NAME 0x31333934 /* "1394" */ | |
67 | #define BIB_LINK_SPEED(v) ((v) << 0) | 67 | #define BIB_LINK_SPEED(v) ((v) << 0) |
68 | #define BIB_GENERATION(v) ((v) << 4) | 68 | #define BIB_GENERATION(v) ((v) << 4) |
69 | #define BIB_MAX_ROM(v) ((v) << 8) | 69 | #define BIB_MAX_ROM(v) ((v) << 8) |
@@ -73,7 +73,8 @@ static size_t config_rom_length = 1 + 4 + 1 + 1; | |||
73 | #define BIB_BMC ((1) << 28) | 73 | #define BIB_BMC ((1) << 28) |
74 | #define BIB_ISC ((1) << 29) | 74 | #define BIB_ISC ((1) << 29) |
75 | #define BIB_CMC ((1) << 30) | 75 | #define BIB_CMC ((1) << 30) |
76 | #define BIB_IMC ((1) << 31) | 76 | #define BIB_IRMC ((1) << 31) |
77 | #define NODE_CAPABILITIES 0x0c0083c0 /* per IEEE 1394 clause 8.3.2.6.5.2 */ | ||
77 | 78 | ||
78 | static void generate_config_rom(struct fw_card *card, __be32 *config_rom) | 79 | static void generate_config_rom(struct fw_card *card, __be32 *config_rom) |
79 | { | 80 | { |
@@ -91,18 +92,18 @@ static void generate_config_rom(struct fw_card *card, __be32 *config_rom) | |||
91 | 92 | ||
92 | config_rom[0] = cpu_to_be32( | 93 | config_rom[0] = cpu_to_be32( |
93 | BIB_CRC_LENGTH(4) | BIB_INFO_LENGTH(4) | BIB_CRC(0)); | 94 | BIB_CRC_LENGTH(4) | BIB_INFO_LENGTH(4) | BIB_CRC(0)); |
94 | config_rom[1] = cpu_to_be32(0x31333934); | 95 | config_rom[1] = cpu_to_be32(BIB_BUS_NAME); |
95 | config_rom[2] = cpu_to_be32( | 96 | config_rom[2] = cpu_to_be32( |
96 | BIB_LINK_SPEED(card->link_speed) | | 97 | BIB_LINK_SPEED(card->link_speed) | |
97 | BIB_GENERATION(card->config_rom_generation++ % 14 + 2) | | 98 | BIB_GENERATION(card->config_rom_generation++ % 14 + 2) | |
98 | BIB_MAX_ROM(2) | | 99 | BIB_MAX_ROM(2) | |
99 | BIB_MAX_RECEIVE(card->max_receive) | | 100 | BIB_MAX_RECEIVE(card->max_receive) | |
100 | BIB_BMC | BIB_ISC | BIB_CMC | BIB_IMC); | 101 | BIB_BMC | BIB_ISC | BIB_CMC | BIB_IRMC); |
101 | config_rom[3] = cpu_to_be32(card->guid >> 32); | 102 | config_rom[3] = cpu_to_be32(card->guid >> 32); |
102 | config_rom[4] = cpu_to_be32(card->guid); | 103 | config_rom[4] = cpu_to_be32(card->guid); |
103 | 104 | ||
104 | /* Generate root directory. */ | 105 | /* Generate root directory. */ |
105 | config_rom[6] = cpu_to_be32(0x0c0083c0); /* node capabilities */ | 106 | config_rom[6] = cpu_to_be32(NODE_CAPABILITIES); |
106 | i = 7; | 107 | i = 7; |
107 | j = 7 + descriptor_count; | 108 | j = 7 + descriptor_count; |
108 | 109 | ||
diff --git a/include/linux/firewire.h b/include/linux/firewire.h index 4bd94bf5e739..a527d73f9966 100644 --- a/include/linux/firewire.h +++ b/include/linux/firewire.h | |||
@@ -55,13 +55,11 @@ | |||
55 | #define CSR_DESCRIPTOR 0x01 | 55 | #define CSR_DESCRIPTOR 0x01 |
56 | #define CSR_VENDOR 0x03 | 56 | #define CSR_VENDOR 0x03 |
57 | #define CSR_HARDWARE_VERSION 0x04 | 57 | #define CSR_HARDWARE_VERSION 0x04 |
58 | #define CSR_NODE_CAPABILITIES 0x0c | ||
59 | #define CSR_UNIT 0x11 | 58 | #define CSR_UNIT 0x11 |
60 | #define CSR_SPECIFIER_ID 0x12 | 59 | #define CSR_SPECIFIER_ID 0x12 |
61 | #define CSR_VERSION 0x13 | 60 | #define CSR_VERSION 0x13 |
62 | #define CSR_DEPENDENT_INFO 0x14 | 61 | #define CSR_DEPENDENT_INFO 0x14 |
63 | #define CSR_MODEL 0x17 | 62 | #define CSR_MODEL 0x17 |
64 | #define CSR_INSTANCE 0x18 | ||
65 | #define CSR_DIRECTORY_ID 0x20 | 63 | #define CSR_DIRECTORY_ID 0x20 |
66 | 64 | ||
67 | struct fw_csr_iterator { | 65 | struct fw_csr_iterator { |