Esempio n. 1
0
bool sh_css_hrt_system_is_idle(void)
{
	hrt_data	status;
	bool not_idle = false;

	not_idle |= !isp_ctrl_getbit(ISP0_ID, ISP_SC_REG, ISP_IDLE_BIT);

	status = fifo_monitor_reg_load(FIFO_MONITOR0_ID,
		HIVE_GP_REGS_SP_STREAM_STAT_IDX);
	not_idle |= ((status & FIFO_CHANNEL_SP_VALID_MASK) != 0);

#if defined(HAS_FIFO_MONITORS_VERSION_2)
	status = fifo_monitor_reg_load(FIFO_MONITOR0_ID,
		HIVE_GP_REGS_SP_STREAM_STAT_B_IDX);
	not_idle |= ((status & FIFO_CHANNEL_SP_VALID_B_MASK) != 0);
#endif

	status = fifo_monitor_reg_load(FIFO_MONITOR0_ID,
		HIVE_GP_REGS_ISP_STREAM_STAT_IDX);
	not_idle |= ((status & FIFO_CHANNEL_ISP_VALID_MASK) != 0);

	status = fifo_monitor_reg_load(FIFO_MONITOR0_ID,
		HIVE_GP_REGS_MOD_STREAM_STAT_IDX);
	not_idle |= ((status & FIFO_CHANNEL_MOD_VALID_MASK) != 0);

return !not_idle;
}
Esempio n. 2
0
STORAGE_CLASS_INLINE bool fifo_monitor_status_accept(
	const fifo_monitor_ID_t		ID,
	const unsigned int			reg,
	const unsigned int			port_id)
{
hrt_data	data = fifo_monitor_reg_load(ID, reg);
return (data >> (((port_id * 2) + _hive_str_mon_accept_offset))) & 0x1;
}