#include "ivpu_drv.h"
#include "ivpu_fw.h"
#include "ivpu_hw.h"
#include "ivpu_hw_37xx_reg.h"
#include "ivpu_hw_40xx_reg.h"
#include "ivpu_hw_ip.h"
#include "ivpu_hw_reg_io.h"
#include "ivpu_mmu.h"
#include "ivpu_pm.h"
#define PWR_ISLAND_EN_POST_DLY_FREQ_DEFAULT …
#define PWR_ISLAND_EN_POST_DLY_FREQ_HIGH …
#define PWR_ISLAND_STATUS_DLY_FREQ_DEFAULT …
#define PWR_ISLAND_STATUS_DLY_FREQ_HIGH …
#define PWR_ISLAND_STATUS_TIMEOUT_US …
#define TIM_SAFE_ENABLE …
#define TIM_WATCHDOG_RESET_VALUE …
#define ICB_0_IRQ_MASK_37XX …
#define ICB_1_IRQ_MASK_37XX …
#define ICB_0_1_IRQ_MASK_37XX …
#define ICB_0_IRQ_MASK_40XX …
#define ICB_1_IRQ_MASK_40XX …
#define ICB_0_1_IRQ_MASK_40XX …
#define ITF_FIREWALL_VIOLATION_MASK_37XX …
#define ITF_FIREWALL_VIOLATION_MASK_40XX …
static int wait_for_ip_bar(struct ivpu_device *vdev)
{ … }
static void host_ss_rst_clr(struct ivpu_device *vdev)
{ … }
static int host_ss_noc_qreqn_check_37xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int host_ss_noc_qreqn_check_40xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int host_ss_noc_qreqn_check(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int host_ss_noc_qacceptn_check_37xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int host_ss_noc_qacceptn_check_40xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int host_ss_noc_qacceptn_check(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int host_ss_noc_qdeny_check_37xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int host_ss_noc_qdeny_check_40xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int host_ss_noc_qdeny_check(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int top_noc_qrenqn_check_37xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int top_noc_qrenqn_check_40xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int top_noc_qreqn_check(struct ivpu_device *vdev, u32 exp_val)
{ … }
int ivpu_hw_ip_host_ss_configure(struct ivpu_device *vdev)
{ … }
static void idle_gen_drive_37xx(struct ivpu_device *vdev, bool enable)
{ … }
static void idle_gen_drive_40xx(struct ivpu_device *vdev, bool enable)
{ … }
void ivpu_hw_ip_idle_gen_enable(struct ivpu_device *vdev)
{ … }
void ivpu_hw_ip_idle_gen_disable(struct ivpu_device *vdev)
{ … }
static void pwr_island_delay_set_50xx(struct ivpu_device *vdev)
{ … }
static void pwr_island_trickle_drive_37xx(struct ivpu_device *vdev, bool enable)
{ … }
static void pwr_island_trickle_drive_40xx(struct ivpu_device *vdev, bool enable)
{ … }
static void pwr_island_drive_37xx(struct ivpu_device *vdev, bool enable)
{ … }
static void pwr_island_drive_40xx(struct ivpu_device *vdev, bool enable)
{ … }
static void pwr_island_enable(struct ivpu_device *vdev)
{ … }
static int wait_for_pwr_island_status(struct ivpu_device *vdev, u32 exp_val)
{ … }
static void pwr_island_isolation_drive_37xx(struct ivpu_device *vdev, bool enable)
{ … }
static void pwr_island_isolation_drive_40xx(struct ivpu_device *vdev, bool enable)
{ … }
static void pwr_island_isolation_drive(struct ivpu_device *vdev, bool enable)
{ … }
static void pwr_island_isolation_disable(struct ivpu_device *vdev)
{ … }
static void host_ss_clk_drive_37xx(struct ivpu_device *vdev, bool enable)
{ … }
static void host_ss_clk_drive_40xx(struct ivpu_device *vdev, bool enable)
{ … }
static void host_ss_clk_drive(struct ivpu_device *vdev, bool enable)
{ … }
static void host_ss_clk_enable(struct ivpu_device *vdev)
{ … }
static void host_ss_rst_drive_37xx(struct ivpu_device *vdev, bool enable)
{ … }
static void host_ss_rst_drive_40xx(struct ivpu_device *vdev, bool enable)
{ … }
static void host_ss_rst_drive(struct ivpu_device *vdev, bool enable)
{ … }
static void host_ss_rst_enable(struct ivpu_device *vdev)
{ … }
static void host_ss_noc_qreqn_top_socmmio_drive_37xx(struct ivpu_device *vdev, bool enable)
{ … }
static void host_ss_noc_qreqn_top_socmmio_drive_40xx(struct ivpu_device *vdev, bool enable)
{ … }
static void host_ss_noc_qreqn_top_socmmio_drive(struct ivpu_device *vdev, bool enable)
{ … }
static int host_ss_axi_drive(struct ivpu_device *vdev, bool enable)
{ … }
static void top_noc_qreqn_drive_40xx(struct ivpu_device *vdev, bool enable)
{ … }
static void top_noc_qreqn_drive_37xx(struct ivpu_device *vdev, bool enable)
{ … }
static void top_noc_qreqn_drive(struct ivpu_device *vdev, bool enable)
{ … }
int ivpu_hw_ip_host_ss_axi_enable(struct ivpu_device *vdev)
{ … }
static int top_noc_qacceptn_check_37xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int top_noc_qacceptn_check_40xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int top_noc_qacceptn_check(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int top_noc_qdeny_check_37xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int top_noc_qdeny_check_40xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int top_noc_qdeny_check(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int top_noc_drive(struct ivpu_device *vdev, bool enable)
{ … }
int ivpu_hw_ip_top_noc_enable(struct ivpu_device *vdev)
{ … }
static void dpu_active_drive_37xx(struct ivpu_device *vdev, bool enable)
{ … }
int ivpu_hw_ip_pwr_domain_enable(struct ivpu_device *vdev)
{ … }
u64 ivpu_hw_ip_read_perf_timer_counter(struct ivpu_device *vdev)
{ … }
static void ivpu_hw_ip_snoop_disable_37xx(struct ivpu_device *vdev)
{ … }
static void ivpu_hw_ip_snoop_disable_40xx(struct ivpu_device *vdev)
{ … }
void ivpu_hw_ip_snoop_disable(struct ivpu_device *vdev)
{ … }
static void ivpu_hw_ip_tbu_mmu_enable_37xx(struct ivpu_device *vdev)
{ … }
static void ivpu_hw_ip_tbu_mmu_enable_40xx(struct ivpu_device *vdev)
{ … }
void ivpu_hw_ip_tbu_mmu_enable(struct ivpu_device *vdev)
{ … }
static int soc_cpu_boot_37xx(struct ivpu_device *vdev)
{ … }
static int cpu_noc_qacceptn_check_40xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static int cpu_noc_qdeny_check_40xx(struct ivpu_device *vdev, u32 exp_val)
{ … }
static void cpu_noc_top_mmio_drive_40xx(struct ivpu_device *vdev, bool enable)
{ … }
static int soc_cpu_drive_40xx(struct ivpu_device *vdev, bool enable)
{ … }
static int soc_cpu_enable(struct ivpu_device *vdev)
{ … }
static int soc_cpu_boot_40xx(struct ivpu_device *vdev)
{ … }
int ivpu_hw_ip_soc_cpu_boot(struct ivpu_device *vdev)
{ … }
static void wdt_disable_37xx(struct ivpu_device *vdev)
{ … }
static void wdt_disable_40xx(struct ivpu_device *vdev)
{ … }
void ivpu_hw_ip_wdt_disable(struct ivpu_device *vdev)
{ … }
static u32 ipc_rx_count_get_37xx(struct ivpu_device *vdev)
{ … }
static u32 ipc_rx_count_get_40xx(struct ivpu_device *vdev)
{ … }
u32 ivpu_hw_ip_ipc_rx_count_get(struct ivpu_device *vdev)
{ … }
void ivpu_hw_ip_irq_enable(struct ivpu_device *vdev)
{ … }
void ivpu_hw_ip_irq_disable(struct ivpu_device *vdev)
{ … }
static void diagnose_failure_37xx(struct ivpu_device *vdev)
{ … }
static void diagnose_failure_40xx(struct ivpu_device *vdev)
{ … }
void ivpu_hw_ip_diagnose_failure(struct ivpu_device *vdev)
{ … }
void ivpu_hw_ip_irq_clear(struct ivpu_device *vdev)
{ … }
static void irq_wdt_nce_handler(struct ivpu_device *vdev)
{ … }
static void irq_wdt_mss_handler(struct ivpu_device *vdev)
{ … }
static void irq_noc_firewall_handler(struct ivpu_device *vdev)
{ … }
bool ivpu_hw_ip_irq_handler_37xx(struct ivpu_device *vdev, int irq)
{ … }
bool ivpu_hw_ip_irq_handler_40xx(struct ivpu_device *vdev, int irq)
{ … }
static void db_set_37xx(struct ivpu_device *vdev, u32 db_id)
{ … }
static void db_set_40xx(struct ivpu_device *vdev, u32 db_id)
{ … }
void ivpu_hw_ip_db_set(struct ivpu_device *vdev, u32 db_id)
{ … }
u32 ivpu_hw_ip_ipc_rx_addr_get(struct ivpu_device *vdev)
{ … }
void ivpu_hw_ip_ipc_tx_set(struct ivpu_device *vdev, u32 vpu_addr)
{ … }