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>
This commit is contained in:
Clemens Ladisch
2010-06-10 08:35:06 +02:00
parent 27a2329f82
commit a1a1132bd8
4 changed files with 46 additions and 0 deletions

View File

@@ -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);