#include "fjes_hw.h"
#include "fjes.h"
#include "fjes_trace.h"
static void fjes_hw_update_zone_task(struct work_struct *);
static void fjes_hw_epstop_task(struct work_struct *);
const u32 fjes_support_mtu[] = …;
u32 fjes_hw_rd32(struct fjes_hw *hw, u32 reg)
{ … }
static u8 *fjes_hw_iomap(struct fjes_hw *hw)
{ … }
static void fjes_hw_iounmap(struct fjes_hw *hw)
{ … }
int fjes_hw_reset(struct fjes_hw *hw)
{ … }
static int fjes_hw_get_max_epid(struct fjes_hw *hw)
{ … }
static int fjes_hw_get_my_epid(struct fjes_hw *hw)
{ … }
static int fjes_hw_alloc_shared_status_region(struct fjes_hw *hw)
{ … }
static void fjes_hw_free_shared_status_region(struct fjes_hw *hw)
{ … }
static int fjes_hw_alloc_epbuf(struct epbuf_handler *epbh)
{ … }
static void fjes_hw_free_epbuf(struct epbuf_handler *epbh)
{ … }
void fjes_hw_setup_epbuf(struct epbuf_handler *epbh, const u8 *mac_addr,
u32 mtu)
{ … }
void
fjes_hw_init_command_registers(struct fjes_hw *hw,
struct fjes_device_command_param *param)
{ … }
static int fjes_hw_setup(struct fjes_hw *hw)
{ … }
static void fjes_hw_cleanup(struct fjes_hw *hw)
{ … }
int fjes_hw_init(struct fjes_hw *hw)
{ … }
void fjes_hw_exit(struct fjes_hw *hw)
{ … }
static enum fjes_dev_command_response_e
fjes_hw_issue_request_command(struct fjes_hw *hw,
enum fjes_dev_command_request_type type)
{ … }
int fjes_hw_request_info(struct fjes_hw *hw)
{ … }
int fjes_hw_register_buff_addr(struct fjes_hw *hw, int dest_epid,
struct ep_share_mem_info *buf_pair)
{ … }
int fjes_hw_unregister_buff_addr(struct fjes_hw *hw, int dest_epid)
{ … }
int fjes_hw_raise_interrupt(struct fjes_hw *hw, int dest_epid,
enum REG_ICTL_MASK mask)
{ … }
u32 fjes_hw_capture_interrupt_status(struct fjes_hw *hw)
{ … }
void fjes_hw_set_irqmask(struct fjes_hw *hw,
enum REG_ICTL_MASK intr_mask, bool mask)
{ … }
bool fjes_hw_epid_is_same_zone(struct fjes_hw *hw, int epid)
{ … }
int fjes_hw_epid_is_shared(struct fjes_device_shared_info *share,
int dest_epid)
{ … }
static bool fjes_hw_epid_is_stop_requested(struct fjes_hw *hw, int src_epid)
{ … }
static bool fjes_hw_epid_is_stop_process_done(struct fjes_hw *hw, int src_epid)
{ … }
enum ep_partner_status
fjes_hw_get_partner_ep_status(struct fjes_hw *hw, int epid)
{ … }
void fjes_hw_raise_epstop(struct fjes_hw *hw)
{ … }
int fjes_hw_wait_epstop(struct fjes_hw *hw)
{ … }
bool fjes_hw_check_epbuf_version(struct epbuf_handler *epbh, u32 version)
{ … }
bool fjes_hw_check_mtu(struct epbuf_handler *epbh, u32 mtu)
{ … }
bool fjes_hw_check_vlan_id(struct epbuf_handler *epbh, u16 vlan_id)
{ … }
bool fjes_hw_set_vlan_id(struct epbuf_handler *epbh, u16 vlan_id)
{ … }
void fjes_hw_del_vlan_id(struct epbuf_handler *epbh, u16 vlan_id)
{ … }
bool fjes_hw_epbuf_rx_is_empty(struct epbuf_handler *epbh)
{ … }
void *fjes_hw_epbuf_rx_curpkt_get_addr(struct epbuf_handler *epbh,
size_t *psize)
{ … }
void fjes_hw_epbuf_rx_curpkt_drop(struct epbuf_handler *epbh)
{ … }
int fjes_hw_epbuf_tx_pkt_send(struct epbuf_handler *epbh,
void *frame, size_t size)
{ … }
static void fjes_hw_update_zone_task(struct work_struct *work)
{ … }
static void fjes_hw_epstop_task(struct work_struct *work)
{ … }
int fjes_hw_start_debug(struct fjes_hw *hw)
{ … }
int fjes_hw_stop_debug(struct fjes_hw *hw)
{ … }