Пример #1
0
static int _get_negmode(struct hieth_netdev_local *ld)
{
	int old;

	old = hieth_readl_bits(ld, UD_REG_NAME(MAC_PORTSEL), BITS_NEGMODE);

	return old;
}
Пример #2
0
static int _set_linkstat(struct hieth_netdev_local *ld, int mode)
{
	int old;

	old = hieth_readl_bits(ld, UD_REG_NAME(MAC_PORTSET), BITS_MACSTAT);
	hieth_writel_bits(ld, mode, UD_REG_NAME(MAC_PORTSET), BITS_MACSTAT);

	return old;
}
Пример #3
0
int hieth_get_linkstat(struct hieth_netdev_local *ld)
{
	unsigned long old;

	local_lock(ld);
	old = hieth_readl_bits(ld, UD_REG_NAME(MAC_RO_STAT), BITS_MACSTAT);
	local_unlock(ld);

	return old;
}
Пример #4
0
int hieth_set_endian_mode(struct hieth_netdev_local *ld, int mode)
{
	int old;

	local_lock(ld);
	old = hieth_readl_bits(ld, GLB_ENDIAN_MOD, BITS_ENDIAN);
	hieth_writel_bits(ld, mode, GLB_ENDIAN_MOD, BITS_ENDIAN);
	local_unlock(ld);

	return old;
}
Пример #5
0
int hieth_set_mac_fc_interval(struct hieth_netdev_local *ld, int para)
{
	int old;

	local_lock(ld);
	old = hieth_readl_bits(ld, UD_REG_NAME(MAC_TX_IPGCTRL), BITS_FC_INTER);
	hieth_writel_bits(ld, para, UD_REG_NAME(MAC_TX_IPGCTRL), BITS_FC_INTER);
	local_unlock(ld);

	return old;
}
Пример #6
0
int hieth_set_mii_mode(struct hieth_netdev_local *ld, int mode)
{
	int old;

	local_lock(ld);
	old = hieth_readl_bits(ld, UD_REG_NAME(MAC_PORTSEL), BITS_MII_MODE);
	hieth_writel_bits(ld, mode, UD_REG_NAME(MAC_PORTSEL), BITS_MII_MODE);
	local_unlock(ld);

	return old;
}
Пример #7
0
int hieth_set_mac_leadcode_cnt_limit(struct hieth_netdev_local *ld, int cnt)
{
	int old;

	local_lock(ld);
	old =
	    hieth_readl_bits(ld, UD_REG_NAME(MAC_TX_IPGCTRL),
			     BITS_PRE_CNT_LIMIT);
	hieth_writel_bits(ld, cnt, UD_REG_NAME(MAC_TX_IPGCTRL),
			  BITS_PRE_CNT_LIMIT);
	local_unlock(ld);

	return old;
}
Пример #8
0
int hieth_set_mac_trans_interval_bits(struct hieth_netdev_local *ld, int nbits)
{
	int old;
	int linkstat, negmode;

	local_lock(ld);

	negmode = _set_negmode(ld, HIETH_NEGMODE_CPUSET);
	linkstat = _set_linkstat(ld, 0);
	udelay(1000);

	old = hieth_readl_bits(ld, UD_REG_NAME(MAC_TX_IPGCTRL), BITS_IPG);
	hieth_writel_bits(ld, nbits, UD_REG_NAME(MAC_TX_IPGCTRL), BITS_IPG);
	udelay(100);

	_set_negmode(ld, negmode);
	_set_linkstat(ld, linkstat);

	local_unlock(ld);

	return old;
}
Пример #9
0
static inline int _test_recv_queue_ready(struct hieth_netdev_local *ld)
{
	return hieth_readl_bits(ld, UD_REG_NAME(GLB_RO_QUEUE_STAT), BITS_RECVQ_RDY);
}