summaryrefslogtreecommitdiff
path: root/drivers/firewire/core.h
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2010-06-10 10:35:06 +0400
committerClemens Ladisch <clemens@ladisch.de>2010-06-10 10:35:06 +0400
commita1a1132bd83d0aea51d4f19be4b4a58a064a0131 (patch)
tree93352d6aa9fd8eaa0521fbeb65853cd9f485666e /drivers/firewire/core.h
parent27a2329f8235d6ce637463f5d83e98d760ef006e (diff)
downloadlinux-a1a1132bd83d0aea51d4f19be4b4a58a064a0131.tar.xz
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;
#define BROADCAST_CHANNEL_INITIAL (1 << 31 | 31)
#define BROADCAST_CHANNEL_VALID (1 << 30)
+#define FEATURE_PRIORITY_BUDGET 0x01
+
struct fw_card_driver {
/*
* Enable the given card with the given initial config rom.
@@ -78,6 +80,8 @@ struct fw_card_driver {
u32 (*read_csr_reg)(struct fw_card *card, int csr_offset);
void (*write_csr_reg)(struct fw_card *card, int csr_offset, u32 value);
+ unsigned int (*get_features)(struct fw_card *card);
+
struct fw_iso_context *
(*allocate_iso_context)(struct fw_card *card,
int type, int channel, size_t header_size);