fw_card
struct fw_card *card;
static int reset_bus(struct fw_card *card, bool short_reset)
void fw_schedule_bus_reset(struct fw_card *card, bool delayed, bool short_reset)
struct fw_card *card = from_work(card, work, br_work.work);
static void allocate_broadcast_channel(struct fw_card *card, int generation)
void fw_schedule_bm_work(struct fw_card *card, unsigned long delay)
void func(const struct fw_card *card, const char *fmt, ...) \
static enum bm_contention_outcome contend_for_bm(struct fw_card *card)
DEFINE_FREE(card_unref, struct fw_card *, if (_T) fw_card_put(_T))
struct fw_card *card __free(card_unref) = from_work(card, work, bm_work.work);
void fw_card_initialize(struct fw_card *card,
int fw_card_add(struct fw_card *card, u32 max_receive, u32 link_speed, u64 guid,
static int dummy_read_phy_reg(struct fw_card *card, int address)
static int dummy_update_phy_reg(struct fw_card *card, int address,
static void dummy_send_request(struct fw_card *card, struct fw_packet *packet)
static void dummy_send_response(struct fw_card *card, struct fw_packet *packet)
static int dummy_cancel_packet(struct fw_card *card, struct fw_packet *packet)
static int dummy_enable_phys_dma(struct fw_card *card,
static struct fw_iso_context *dummy_allocate_iso_context(struct fw_card *card, int type,
static u32 dummy_read_csr(struct fw_card *card, int csr_offset)
static void dummy_write_csr(struct fw_card *card, int csr_offset, u32 value)
struct fw_card *card = container_of(kref, struct fw_card, kref);
void fw_core_remove_card(struct fw_card *card)
int fw_card_read_cycle_time(struct fw_card *card, u32 *cycle_time)
static void generate_config_rom(struct fw_card *card, __be32 *config_rom)
struct fw_card *card;
struct fw_card *card = client->device->card;
struct fw_card *card, int status)
struct fw_card *card = client->device->card;
void fw_cdev_handle_phy_packet(struct fw_card *card, struct fw_packet *p)
struct fw_card *card = client->device->card;
static void complete_transaction(struct fw_card *card, int rcode, u32 request_tstamp,
static void handle_request(struct fw_card *card, struct fw_request *request,
struct fw_card *card = device->card;
struct fw_card *card = device->card;
struct fw_card *card = device->card;
void fw_node_event(struct fw_card *card, struct fw_node *node, int event)
struct fw_card *card = device->card;
struct fw_card *card = device->card;
struct fw_card *card)
struct fw_iso_context *__fw_iso_context_create(struct fw_card *card, int type, int channel,
static int manage_bandwidth(struct fw_card *card, int irm_id, int generation,
static int manage_channel(struct fw_card *card, int irm_id, int generation,
static void deallocate_channel(struct fw_card *card, int irm_id,
void fw_iso_resource_manage(struct fw_card *card, int generation,
int fw_iso_buffer_map_dma(struct fw_iso_buffer *buffer, struct fw_card *card,
int fw_iso_buffer_init(struct fw_iso_buffer *buffer, struct fw_card *card,
typedef void (*fw_node_callback_t)(struct fw_card * card,
static void for_each_fw_node(struct fw_card *card, struct fw_node *root,
static void report_lost_node(struct fw_card *card,
static void report_found_node(struct fw_card *card,
void fw_destroy_nodes(struct fw_card *card)
static void update_tree(struct fw_card *card, struct fw_node *root)
void fw_core_handle_bus_reset(struct fw_card *card, int node_id, int generation,
static struct fw_node *build_tree(struct fw_card *card, const u32 *sid, int self_id_count,
static void handle_fcp_region_request(struct fw_card *card,
void fw_core_handle_request(struct fw_card *card, struct fw_packet *p)
void fw_core_handle_response(struct fw_card *card, struct fw_packet *p)
int fw_cancel_transaction(struct fw_card *card,
static void handle_topology_map(struct fw_card *card, struct fw_request *request,
static void update_split_timeout(struct fw_card *card)
static void handle_registers(struct fw_card *card, struct fw_request *request,
static void handle_low_memory(struct fw_card *card, struct fw_request *request,
struct fw_card *card = t->card;
static u32 compute_split_timeout_timestamp(struct fw_card *card, u32 request_timestamp);
struct fw_card *card, int status)
static int allocate_tlabel(struct fw_card *card)
void __fw_send_request(struct fw_card *card, struct fw_transaction *t, int tcode,
static void transaction_callback(struct fw_card *card, int rcode,
static void remove_transaction_entry(struct fw_card *card, struct fw_transaction *entry)
int fw_run_transaction(struct fw_card *card, int tcode, int destination_id,
struct fw_card *card, int status)
void fw_send_phy_config(struct fw_card *card,
void fw_cancel_pending_transactions(struct fw_card *card)
struct fw_card *card, int status)
static u32 compute_split_timeout_timestamp(struct fw_card *card,
static struct fw_request *allocate_request(struct fw_card *card,
void fw_send_response(struct fw_card *card,
static int close_transaction(struct fw_transaction *transaction, struct fw_card *card, int rcode,
static void handle_exclusive_region_request(struct fw_card *card,
void (*write_csr)(struct fw_card *card, int csr_offset, u32 value);
(*allocate_iso_context)(struct fw_card *card, int type, int channel, size_t header_size,
void fw_card_initialize(struct fw_card *card,
int fw_card_add(struct fw_card *card, u32 max_receive, u32 link_speed, u64 guid,
void fw_core_remove_card(struct fw_card *card);
void fw_schedule_bm_work(struct fw_card *card, unsigned long delay);
void fw_cdev_handle_phy_packet(struct fw_card *card, struct fw_packet *p);
void fw_node_event(struct fw_card *card, struct fw_node *node, int event);
int fw_iso_buffer_map_dma(struct fw_iso_buffer *buffer, struct fw_card *card,
static inline struct fw_iso_context *fw_iso_mc_context_create(struct fw_card *card,
struct fw_card;
void fw_core_handle_bus_reset(struct fw_card *card, int node_id,
void fw_destroy_nodes(struct fw_card *card);
void fw_core_handle_request(struct fw_card *card, struct fw_packet *request);
void fw_core_handle_response(struct fw_card *card, struct fw_packet *packet);
void fw_cancel_pending_transactions(struct fw_card *card);
void fw_send_phy_config(struct fw_card *card,
void fw_err(const struct fw_card *card, const char *fmt, ...);
void fw_notice(const struct fw_card *card, const char *fmt, ...);
int (*enable)(struct fw_card *card,
void (*disable)(struct fw_card *card);
int (*read_phy_reg)(struct fw_card *card, int address);
int (*update_phy_reg)(struct fw_card *card, int address,
int (*set_config_rom)(struct fw_card *card,
void (*send_request)(struct fw_card *card, struct fw_packet *packet);
void (*send_response)(struct fw_card *card, struct fw_packet *packet);
int (*cancel_packet)(struct fw_card *card, struct fw_packet *packet);
int (*enable_phys_dma)(struct fw_card *card,
u32 (*read_csr)(struct fw_card *card, int csr_offset);
static struct fwnet_device *fwnet_dev_find(struct fw_card *card)
struct fw_card *card = device->card;
struct fw_card *card;
static void fwnet_receive_packet(struct fw_card *card, struct fw_request *r,
static void fwnet_write_complete(struct fw_card *card, int rcode,
struct fw_card *card = &ctx->ohci->card;
struct fw_card card;
static int ohci_enable(struct fw_card *card,
static inline struct fw_ohci *fw_ohci(struct fw_card *card)
static void ohci_disable(struct fw_card *card)
static int ohci_set_config_rom(struct fw_card *card,
static void ohci_send_request(struct fw_card *card, struct fw_packet *packet)
static void ohci_send_response(struct fw_card *card, struct fw_packet *packet)
static int ohci_cancel_packet(struct fw_card *card, struct fw_packet *packet)
static int ohci_enable_phys_dma(struct fw_card *card,
static u32 ohci_read_csr(struct fw_card *card, int csr_offset)
static void ohci_write_csr(struct fw_card *card, int csr_offset, u32 value)
static struct fw_iso_context *ohci_allocate_iso_context(struct fw_card *card, int type, int channel,
static int ohci_read_phy_reg(struct fw_card *card, int addr)
static int ohci_update_phy_reg(struct fw_card *card, int addr,
static void sbp2_status_write(struct fw_card *card, struct fw_request *request,
static void complete_transaction(struct fw_card *card, int rcode,
static void complete_agent_reset_write_no_wait(struct fw_card *card,
struct fw_card *card = target_parent_device(tgt)->card;
struct fw_card *card = target_parent_device(tgt)->card;
static void handle_fcp(struct fw_card *card, struct fw_request *request,
static int sbp_run_transaction(struct fw_card *card, int tcode, int destination_id,
struct fw_card *card;
struct fw_card *card;
static void sbp_mgt_agent_rw(struct fw_card *card,
static int sbp_run_transaction(struct fw_card *, int, int, int, int,
static int tgt_agent_rw_agent_state(struct fw_card *card, int tcode, void *data,
static int tgt_agent_rw_agent_reset(struct fw_card *card, int tcode, void *data,
static int tgt_agent_rw_orb_pointer(struct fw_card *card, int tcode, void *data,
static int tgt_agent_rw_doorbell(struct fw_card *card, int tcode, void *data,
static int tgt_agent_rw_unsolicited_status_enable(struct fw_card *card,
static void tgt_agent_rw(struct fw_card *card, struct fw_request *request,
struct fw_card *card, u64 next_orb)
struct fw_card *card;
struct fw_card *card;
static inline struct fw_card *fw_card_get(struct fw_card *card)
static inline void fw_card_put(struct fw_card *card)
int fw_card_read_cycle_time(struct fw_card *card, u32 *cycle_time);
struct fw_card *card;
struct fw_card *card, int status);
typedef void (*fw_transaction_callback_t)(struct fw_card *card, int rcode,
typedef void (*fw_transaction_callback_with_tstamp_t)(struct fw_card *card, int rcode,
typedef void (*fw_address_callback_t)(struct fw_card *card,
struct fw_card *card;
void fw_send_response(struct fw_card *card,
void __fw_send_request(struct fw_card *card, struct fw_transaction *t, int tcode,
static inline void fw_send_request(struct fw_card *card, struct fw_transaction *t, int tcode,
static inline void fw_send_request_with_tstamp(struct fw_card *card, struct fw_transaction *t,
int fw_cancel_transaction(struct fw_card *card,
int fw_run_transaction(struct fw_card *card, int tcode, int destination_id,
void fw_schedule_bus_reset(struct fw_card *card, bool delayed,
int fw_iso_buffer_init(struct fw_iso_buffer *buffer, struct fw_card *card,
void fw_iso_buffer_destroy(struct fw_iso_buffer *buffer, struct fw_card *card);
struct fw_card *card;
struct fw_iso_context *__fw_iso_context_create(struct fw_card *card, int type, int channel,
static inline struct fw_iso_context *fw_iso_context_create(struct fw_card *card, int type,
struct fw_card *card, int type, int channel, int speed, size_t header_size,
void fw_iso_resource_manage(struct fw_card *card, int generation,
static void dice_notification(struct fw_card *card, struct fw_request *request,
static void handle_message(struct fw_card *card, struct fw_request *request,
static void fcp_response(struct fw_card *card, struct fw_request *request,
static void handle_msg(struct fw_card *card, struct fw_request *request, int tcode,
struct fw_card *fw_card = fw_parent_device(ff->unit)->card;
addr = (fw_card->node_id << 16) | (ff->async_handler.offset >> 32);
static void finish_transmit_midi0_msg(struct fw_card *card, int rcode,
static void finish_transmit_midi1_msg(struct fw_card *card, int rcode,
handle_resp_for_user(struct fw_card *card, int generation, int source,
handle_resp_for_kernel(struct fw_card *card, int generation, int source,
efw_response(struct fw_card *card, struct fw_request *request,
struct fw_card *card = fw_parent_device(r->unit)->card;
struct fw_card *card = fw_parent_device(r->unit)->card;
struct fw_card *card;
static int current_bandwidth_overhead(struct fw_card *card)
static int wait_isoch_resource_delay_after_bus_reset(struct fw_card *card)
static void handle_message(struct fw_card *card, struct fw_request *request,
static void scs_write_callback(struct fw_card *card, int rcode,
static void handle_hss(struct fw_card *card, struct fw_request *request,
static void async_midi_port_callback(struct fw_card *card, int rcode,
static void handle_midi_tx(struct fw_card *card, struct fw_request *request,