thc_device
struct thc_device;
struct thc_device *thc_hw;
struct thc_device *thc_hw;
struct thc_device;
int thc_port_select(struct thc_device *dev, enum thc_port_type port_type)
static u8 thc_get_spi_freq_div_val(struct thc_device *dev, u32 spi_freq_val)
int thc_spi_read_config(struct thc_device *dev, u32 spi_freq_val,
int thc_spi_write_config(struct thc_device *dev, u32 spi_freq_val,
void thc_spi_input_output_address_config(struct thc_device *dev, u32 input_hdr_addr,
static int thc_i2c_subip_pio_read(struct thc_device *dev, const u32 address,
static int thc_i2c_subip_pio_write(struct thc_device *dev, const u32 address,
static int thc_i2c_subip_set_speed(struct thc_device *dev, const u32 speed,
int thc_i2c_subip_init(struct thc_device *dev, const u32 target_address,
struct thc_device *thc_ctx = context;
int thc_i2c_subip_regs_save(struct thc_device *dev)
int thc_i2c_subip_regs_restore(struct thc_device *dev)
int thc_i2c_set_rx_max_size(struct thc_device *dev, u32 max_rx_size)
int thc_i2c_rx_max_size_enable(struct thc_device *dev, bool enable)
int thc_i2c_set_rx_int_delay(struct thc_device *dev, u32 delay_us)
int thc_i2c_rx_int_delay_enable(struct thc_device *dev, bool enable)
struct thc_device *thc_dev_init(struct device *device, void __iomem *mem_addr)
struct thc_device *thc_dev;
static int prepare_pio(const struct thc_device *dev, const u8 pio_op,
struct thc_device *thc_ctx = context;
static void pio_start(const struct thc_device *dev,
static int pio_complete(const struct thc_device *dev,
static int pio_wait(const struct thc_device *dev)
int thc_tic_pio_read(struct thc_device *dev, const u32 address,
int thc_tic_pio_write(struct thc_device *dev, const u32 address,
int thc_tic_pio_write_and_read(struct thc_device *dev, const u32 address,
void thc_interrupt_config(struct thc_device *dev)
void thc_int_trigger_type_select(struct thc_device *dev, bool edge_trigger)
static void thc_clear_state(const struct thc_device *dev)
void thc_interrupt_enable(struct thc_device *dev, bool int_enable)
int thc_interrupt_quiesce(const struct thc_device *dev, bool int_quiesce)
void thc_set_pio_interrupt_support(struct thc_device *dev, bool supported)
void thc_ltr_config(struct thc_device *dev, u32 active_ltr_us, u32 lp_ltr_us)
void thc_change_ltr_mode(struct thc_device *dev, u32 ltr_mode)
void thc_ltr_unconfig(struct thc_device *dev)
u32 thc_int_cause_read(struct thc_device *dev)
static void thc_print_txn_error_cause(const struct thc_device *dev)
int thc_interrupt_handler(struct thc_device *dev)
int thc_tic_pio_read(struct thc_device *dev, const u32 address,
int thc_tic_pio_write(struct thc_device *dev, const u32 address,
int thc_tic_pio_write_and_read(struct thc_device *dev, const u32 address,
void thc_interrupt_config(struct thc_device *dev);
void thc_int_trigger_type_select(struct thc_device *dev, bool edge_trigger);
void thc_interrupt_enable(struct thc_device *dev, bool int_enable);
void thc_set_pio_interrupt_support(struct thc_device *dev, bool supported);
int thc_interrupt_quiesce(const struct thc_device *dev, bool int_quiesce);
void thc_ltr_config(struct thc_device *dev, u32 active_ltr_us, u32 lp_ltr_us);
void thc_change_ltr_mode(struct thc_device *dev, u32 ltr_mode);
void thc_ltr_unconfig(struct thc_device *dev);
u32 thc_int_cause_read(struct thc_device *dev);
int thc_interrupt_handler(struct thc_device *dev);
int thc_port_select(struct thc_device *dev, enum thc_port_type port_type);
int thc_spi_read_config(struct thc_device *dev, u32 spi_freq_val,
int thc_spi_write_config(struct thc_device *dev, u32 spi_freq_val,
void thc_spi_input_output_address_config(struct thc_device *dev, u32 input_hdr_addr,
int thc_i2c_subip_init(struct thc_device *dev, const u32 target_address,
int thc_i2c_subip_regs_save(struct thc_device *dev);
int thc_i2c_subip_regs_restore(struct thc_device *dev);
int thc_i2c_set_rx_max_size(struct thc_device *dev, u32 max_rx_size);
int thc_i2c_rx_max_size_enable(struct thc_device *dev, bool enable);
int thc_i2c_set_rx_int_delay(struct thc_device *dev, u32 delay_us);
int thc_i2c_rx_int_delay_enable(struct thc_device *dev, bool enable);
struct thc_device *thc_dev_init(struct device *device, void __iomem *mem_addr);
static void dma_clear_prd_control(struct thc_device *dev,
static u8 dma_get_read_pointer(struct thc_device *dev,
static void dma_set_prd_base_addr(struct thc_device *dev, u64 physical_addr,
static u8 dma_get_write_pointer(struct thc_device *dev,
static void dma_set_write_pointer(struct thc_device *dev, u8 value,
static size_t dma_get_max_packet_size(struct thc_device *dev,
static void dma_set_max_packet_size(struct thc_device *dev, size_t size,
static void thc_copy_one_sgl_to_prd(struct thc_device *dev,
static void thc_copy_sgls_to_prd(struct thc_device *dev,
static int setup_dma_buffers(struct thc_device *dev,
static void thc_reset_dma_settings(struct thc_device *dev)
static void dma_set_start_bit(struct thc_device *dev,
static void release_dma_buffers(struct thc_device *dev,
struct thc_dma_context *thc_dma_init(struct thc_device *dev)
int thc_dma_set_max_packet_sizes(struct thc_device *dev, size_t mps_read1,
int thc_dma_allocate(struct thc_device *dev)
void thc_dma_release(struct thc_device *dev)
int thc_dma_configure(struct thc_device *dev)
void thc_dma_unconfigure(struct thc_device *dev)
static int thc_wait_for_dma_pause(struct thc_device *dev, enum thc_dma_channel channel)
static int read_dma_buffer(struct thc_device *dev,
static void update_write_pointer(struct thc_device *dev,
static int is_dma_buf_empty(struct thc_device *dev,
static int thc_dma_read(struct thc_device *dev,
int thc_rxdma_read(struct thc_device *dev, enum thc_dma_channel dma_channel,
static int thc_swdma_read_start(struct thc_device *dev, void *write_buff,
static int thc_swdma_read_completion(struct thc_device *dev)
int thc_swdma_read(struct thc_device *dev, void *write_buff, size_t write_len,
static int write_dma_buffer(struct thc_device *dev,
static void thc_ensure_performance_limitations(struct thc_device *dev)
static void thc_dma_write_completion(struct thc_device *dev)
int thc_dma_write(struct thc_device *dev, void *buffer, size_t buf_len)
static void dma_set_prd_control(struct thc_device *dev, u8 entry_count, u8 cb_depth,
struct thc_device;
int thc_dma_set_max_packet_sizes(struct thc_device *dev,
int thc_dma_allocate(struct thc_device *dev);
int thc_dma_configure(struct thc_device *dev);
void thc_dma_unconfigure(struct thc_device *dev);
void thc_dma_release(struct thc_device *dev);
int thc_rxdma_read(struct thc_device *dev, enum thc_dma_channel dma_channel,
int thc_swdma_read(struct thc_device *dev, void *write_buff, size_t write_len,
int thc_dma_write(struct thc_device *dev, void *buffer, size_t buf_len);
struct thc_dma_context *thc_dma_init(struct thc_device *dev);
void thc_wot_config(struct thc_device *thc_dev, const struct acpi_gpio_mapping *gpio_map)
void thc_wot_unconfig(struct thc_device *thc_dev)
struct thc_device;
void thc_wot_config(struct thc_device *thc_dev, const struct acpi_gpio_mapping *gpio_map);
void thc_wot_unconfig(struct thc_device *thc_dev);