Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cacd2b3f authored by Kees Cook's avatar Kees Cook Committed by David S. Miller
Browse files

chelsio: Convert timers to use timer_setup()



In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: netdev@vger.kernel.org
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7974c0f3
Loading
Loading
Loading
Loading
+13 −16
Original line number Original line Diff line number Diff line
@@ -1882,10 +1882,10 @@ netdev_tx_t t1_start_xmit(struct sk_buff *skb, struct net_device *dev)
/*
/*
 * Callback for the Tx buffer reclaim timer.  Runs with softirqs disabled.
 * Callback for the Tx buffer reclaim timer.  Runs with softirqs disabled.
 */
 */
static void sge_tx_reclaim_cb(unsigned long data)
static void sge_tx_reclaim_cb(struct timer_list *t)
{
{
	int i;
	int i;
	struct sge *sge = (struct sge *)data;
	struct sge *sge = from_timer(sge, t, tx_reclaim_timer);


	for (i = 0; i < SGE_CMDQ_N; ++i) {
	for (i = 0; i < SGE_CMDQ_N; ++i) {
		struct cmdQ *q = &sge->cmdQ[i];
		struct cmdQ *q = &sge->cmdQ[i];
@@ -1978,10 +1978,10 @@ void t1_sge_start(struct sge *sge)
/*
/*
 * Callback for the T2 ESPI 'stuck packet feature' workaorund
 * Callback for the T2 ESPI 'stuck packet feature' workaorund
 */
 */
static void espibug_workaround_t204(unsigned long data)
static void espibug_workaround_t204(struct timer_list *t)
{
{
	struct adapter *adapter = (struct adapter *)data;
	struct sge *sge = from_timer(sge, t, espibug_timer);
	struct sge *sge = adapter->sge;
	struct adapter *adapter = sge->adapter;
	unsigned int nports = adapter->params.nports;
	unsigned int nports = adapter->params.nports;
	u32 seop[MAX_NPORTS];
	u32 seop[MAX_NPORTS];


@@ -2021,10 +2021,10 @@ static void espibug_workaround_t204(unsigned long data)
	mod_timer(&sge->espibug_timer, jiffies + sge->espibug_timeout);
	mod_timer(&sge->espibug_timer, jiffies + sge->espibug_timeout);
}
}


static void espibug_workaround(unsigned long data)
static void espibug_workaround(struct timer_list *t)
{
{
	struct adapter *adapter = (struct adapter *)data;
	struct sge *sge = from_timer(sge, t, espibug_timer);
	struct sge *sge = adapter->sge;
	struct adapter *adapter = sge->adapter;


	if (netif_running(adapter->port[0].dev)) {
	if (netif_running(adapter->port[0].dev)) {
	        struct sk_buff *skb = sge->espibug_skb[0];
	        struct sk_buff *skb = sge->espibug_skb[0];
@@ -2075,18 +2075,15 @@ struct sge *t1_sge_create(struct adapter *adapter, struct sge_params *p)
			goto nomem_port;
			goto nomem_port;
	}
	}


	setup_timer(&sge->tx_reclaim_timer, sge_tx_reclaim_cb,
	timer_setup(&sge->tx_reclaim_timer, sge_tx_reclaim_cb, 0);
		    (unsigned long)sge);


	if (is_T2(sge->adapter)) {
	if (is_T2(sge->adapter)) {
		init_timer(&sge->espibug_timer);
		timer_setup(&sge->espibug_timer,
			    adapter->params.nports > 1 ? espibug_workaround_t204 : espibug_workaround,
			    0);


		if (adapter->params.nports > 1) {
		if (adapter->params.nports > 1)
			tx_sched_init(sge);
			tx_sched_init(sge);
			sge->espibug_timer.function = espibug_workaround_t204;
		} else
			sge->espibug_timer.function = espibug_workaround;
		sge->espibug_timer.data = (unsigned long)sge->adapter;


		sge->espibug_timeout = 1;
		sge->espibug_timeout = 1;
		/* for T204, every 10ms */
		/* for T204, every 10ms */