aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/core.h
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2010-06-10 02:35:06 -0400
committerClemens Ladisch <clemens@ladisch.de>2010-06-10 02:35:06 -0400
commita1a1132bd83d0aea51d4f19be4b4a58a064a0131 (patch)
tree93352d6aa9fd8eaa0521fbeb65853cd9f485666e /drivers/firewire/core.h
parent27a2329f8235d6ce637463f5d83e98d760ef006e (diff)
firewire: add CSR PRIORITY_BUDGET support
If supported by the OHCI controller, implement the PRIORITY_BUDGET register, which is required for nodes that can use asynchronous priority arbitration. To allow the core to determine what features the lowlevel device supports, add a new card driver callback. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'drivers/firewire/core.h')
-rw-r--r--drivers/firewire/core.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/firewire/core.h b/drivers/firewire/core.h
index efcdeb2e31e6..3b8c0f042f49 100644
--- a/drivers/firewire/core.h
+++ b/drivers/firewire/core.h
@@ -38,6 +38,8 @@ struct fw_packet;
38#define BROADCAST_CHANNEL_INITIAL (1 << 31 | 31) 38#define BROADCAST_CHANNEL_INITIAL (1 << 31 | 31)
39#define BROADCAST_CHANNEL_VALID (1 << 30) 39#define BROADCAST_CHANNEL_VALID (1 << 30)
40 40
41#define FEATURE_PRIORITY_BUDGET 0x01
42
41struct fw_card_driver { 43struct fw_card_driver {
42 /* 44 /*
43 * Enable the given card with the given initial config rom. 45 * Enable the given card with the given initial config rom.
@@ -78,6 +80,8 @@ struct fw_card_driver {
78 u32 (*read_csr_reg)(struct fw_card *card, int csr_offset); 80 u32 (*read_csr_reg)(struct fw_card *card, int csr_offset);
79 void (*write_csr_reg)(struct fw_card *card, int csr_offset, u32 value); 81 void (*write_csr_reg)(struct fw_card *card, int csr_offset, u32 value);
80 82
83 unsigned int (*get_features)(struct fw_card *card);
84
81 struct fw_iso_context * 85 struct fw_iso_context *
82 (*allocate_iso_context)(struct fw_card *card, 86 (*allocate_iso_context)(struct fw_card *card,
83 int type, int channel, size_t header_size); 87 int type, int channel, size_t header_size);