From patchwork Wed Jul 2 22:20:52 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Aring X-Patchwork-Id: 366495 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id BB7301400DD for ; Thu, 3 Jul 2014 08:21:50 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757913AbaGBWVn (ORCPT ); Wed, 2 Jul 2014 18:21:43 -0400 Received: from mail-wi0-f174.google.com ([209.85.212.174]:57668 "EHLO mail-wi0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757663AbaGBWVm (ORCPT ); Wed, 2 Jul 2014 18:21:42 -0400 Received: by mail-wi0-f174.google.com with SMTP id bs8so10430858wib.13 for ; Wed, 02 Jul 2014 15:21:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=HuZkSNiBWaJe0ZTPtntw9WLZOuse+XU1v4nBfv+S6gc=; b=uVtbgjPMYp5LkypHdDF76uTucn55tgrqZemSqc3U1khV+5hgyTsRUnOD8BRsSg5EZJ x+UF2O1LPoWkZL7sQh59eehJB7Tn3djEImburyOiwQd7/BnPCMqSfEQGKEp2cqj2TDr5 WUJxibgGsDwgqIr2hUMS+zpAQLO8WYK93+3js3lwp381g53IzF7WYhdV2z+DouqMRdR4 TTHuki+dWkoMyY9E0/NnXJ1VsWOUHcAtYIWvSnVPCYEHW0ky2+/AgYVAYVfAST449M4C 98kDjPKzY17e9idyfz+xEutrnRj9KUgvcgDlG6GGNylUfyYlp/P6TirddgD4bRVG1aWA lUNg== X-Received: by 10.194.89.138 with SMTP id bo10mr738607wjb.22.1404339701436; Wed, 02 Jul 2014 15:21:41 -0700 (PDT) Received: from omega.localdomain (p4FD3BDAF.dip0.t-ipconnect.de. [79.211.189.175]) by mx.google.com with ESMTPSA id a13sm57797875wjs.12.2014.07.02.15.21.40 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 02 Jul 2014 15:21:40 -0700 (PDT) From: Alexander Aring To: alex.bluesman.smirnov@gmail.com Cc: dbaryshkov@gmail.com, linux-zigbee-devel@lists.sourceforge.net, netdev@vger.kernel.org, stilwellt@openlabs.co, Alexander Aring Subject: [PATCH v3 net-next 10/13] at86rf230: rework reset to trx_off state change Date: Thu, 3 Jul 2014 00:20:52 +0200 Message-Id: <1404339655-8456-11-git-send-email-alex.aring@gmail.com> X-Mailer: git-send-email 2.0.1 In-Reply-To: <1404339655-8456-1-git-send-email-alex.aring@gmail.com> References: <1404339655-8456-1-git-send-email-alex.aring@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Alexander Aring --- drivers/net/ieee802154/at86rf230.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/net/ieee802154/at86rf230.c b/drivers/net/ieee802154/at86rf230.c index 265fea8..a64914a 100644 --- a/drivers/net/ieee802154/at86rf230.c +++ b/drivers/net/ieee802154/at86rf230.c @@ -42,6 +42,7 @@ struct at86rf230_local; * All timings are in us. */ struct at86rf2xx_chip_data { + u16 t_reset_to_off; u16 t_off_to_aack; u16 t_off_to_tx_on; u16 t_frame; @@ -582,6 +583,16 @@ at86rf230_async_state_delay(void *context) break; } break; + /* Default value, means RESET state */ + case STATE_P_ON: + switch (ctx->to_state) { + case STATE_TRX_OFF: + usleep_range(c->t_reset_to_off, c->t_reset_to_off + 10); + goto change; + default: + break; + } + break; default: break; } @@ -1236,6 +1247,7 @@ static struct ieee802154_ops at86rf230_ops = { }; static struct at86rf2xx_chip_data at86rf233_data = { + .t_reset_to_off = 26, .t_off_to_aack = 80, .t_off_to_tx_on = 80, .t_frame = 4096, @@ -1249,6 +1261,7 @@ static struct at86rf2xx_chip_data at86rf233_data = { }; static struct at86rf2xx_chip_data at86rf231_data = { + .t_reset_to_off = 37, .t_off_to_aack = 110, .t_off_to_tx_on = 110, .t_frame = 4096, @@ -1262,6 +1275,7 @@ static struct at86rf2xx_chip_data at86rf231_data = { }; static struct at86rf2xx_chip_data at86rf212_data = { + .t_reset_to_off = 26, .t_off_to_aack = 200, .t_off_to_tx_on = 200, .t_frame = 4096, @@ -1280,7 +1294,7 @@ static int at86rf230_hw_init(struct at86rf230_local *lp) unsigned int dvdd; u8 csma_seed[2]; - rc = at86rf230_write_subreg(lp, SR_TRX_CMD, STATE_FORCE_TRX_OFF); + rc = at86rf230_sync_state_change(lp, STATE_FORCE_TRX_OFF); if (rc) return rc;