From patchwork Fri May 8 09:13:07 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Kazior X-Patchwork-Id: 6363771 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 5610B9F1C2 for ; Fri, 8 May 2015 09:17:11 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 74FF42011D for ; Fri, 8 May 2015 09:17:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9BBEB20219 for ; Fri, 8 May 2015 09:17:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751438AbbEHJRI (ORCPT ); Fri, 8 May 2015 05:17:08 -0400 Received: from mail-lb0-f180.google.com ([209.85.217.180]:33131 "EHLO mail-lb0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750851AbbEHJRD (ORCPT ); Fri, 8 May 2015 05:17:03 -0400 Received: by lbbzk7 with SMTP id zk7so49019941lbb.0 for ; Fri, 08 May 2015 02:17:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tieto.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=WO8QryQZR5CBrfcA+syM5FKIBjyfR5Iwy0IN1x/xdLc=; b=PpKJWnceEPMtB/k25kqV5KBcTH987D9bNEOz7LzDJ5fQ3jiLNdOZhZov62xiK3/6sH Ea92dUXcWACL26ZZIW7os/q19uXMgokmwYST2OArI0rkH/+EjDglTTROs6WBQaI6q0PY nW8U1G2hMlCsYfpymT7jQ6ziu5eGYar8eYS5Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=WO8QryQZR5CBrfcA+syM5FKIBjyfR5Iwy0IN1x/xdLc=; b=TVKYHAecRrciVNGdzbbExjF4E/qa761XLumZVcoic7XbkOrycNGqTn3x1ppzY5stq2 vbCDCejZC+RSCg43jxkDukaXPHyUYQGxYVYgZJlkYJl2+bPFxIzh6OA7fy8LpC4h25o6 q0cyUWF7cOGrHV5fQtKbOmaD2AZdnPvjkfZkQ2emImsqZXH24F88SlsnvRWB/8vaa4Nd Nxxp5XqPWnEgAh9okNhjJNU4Z2cuy/fv1cj/gVNuhAa4TLPWk6QQi5xG/6SLxuy43/Q0 is9tGw3agGB0O5D0Mxow+3FcGRxj0P3+hor8YqzIKkTKUbaARmtjo1g2B/XuFnkD+nUg CE2g== X-Gm-Message-State: ALoCoQk6TxdPcHIc77Sy9q3FzUko1DTeK6znz68nBW7Codck9+QnO+iXo1DuPY7rZglhK/QtUwA6KK4kInbDZzHUqi8p+ViFv+tMAYs/YGbcmz32asYgseI4J1bmk30ELk3734GQrCZ1 X-Received: by 10.152.170.136 with SMTP id am8mr2234295lac.102.1431076622081; Fri, 08 May 2015 02:17:02 -0700 (PDT) Received: from localhost.localdomain ([91.198.246.8]) by mx.google.com with ESMTPSA id o5sm1028188lag.9.2015.05.08.02.17.00 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 08 May 2015 02:17:01 -0700 (PDT) From: Michal Kazior To: ath10k@lists.infradead.org Cc: linux-wireless@vger.kernel.org, Janusz Dziedzic , Michal Kazior Subject: [PATCH 2/3] ath10k: fix idle power consumption Date: Fri, 8 May 2015 09:13:07 +0000 Message-Id: <1431076388-24800-3-git-send-email-michal.kazior@tieto.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1431076388-24800-1-git-send-email-michal.kazior@tieto.com> References: <1431076388-24800-1-git-send-email-michal.kazior@tieto.com> X-DomainID: tieto.com Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID,T_RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Janusz Dziedzic mac80211 can update vif powersave state while disconnected. Firmware doesn't behave nicely and consumes more power than necessary if PS is disabled on a non-started vdev. Hence force-enable PS for non-running vdevs. This reduces power drain on QCA61X4 from 88mA to 36mA when interface is up and not associated. QCA988X wasn't measured. Signed-off-by: Janusz Dziedzic Signed-off-by: Michal Kazior --- drivers/net/wireless/ath/ath10k/mac.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 425dbe271495..9f576ca99f86 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -1735,7 +1735,14 @@ static int ath10k_mac_vif_setup_ps(struct ath10k_vif *arvif) enable_ps = false; } - if (enable_ps) { + if (!arvif->is_started) { + /* mac80211 can update vif powersave state while disconnected. + * Firmware doesn't behave nicely and consumes more power than + * necessary if PS is disabled on a non-started vdev. Hence + * force-enable PS for non-running vdevs. + */ + psmode = WMI_STA_PS_MODE_ENABLED; + } else if (enable_ps) { psmode = WMI_STA_PS_MODE_ENABLED; param = WMI_STA_PS_PARAM_INACTIVITY_TIME;