From patchwork Mon Jun 12 15:03:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Erik Stromdahl X-Patchwork-Id: 9781305 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A38D260212 for ; Mon, 12 Jun 2017 15:03:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8FE2426E51 for ; Mon, 12 Jun 2017 15:03:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 84B622823D; Mon, 12 Jun 2017 15:03:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 175FC26E51 for ; Mon, 12 Jun 2017 15:03:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752276AbdFLPDX (ORCPT ); Mon, 12 Jun 2017 11:03:23 -0400 Received: from mail-lf0-f67.google.com ([209.85.215.67]:33198 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751974AbdFLPDV (ORCPT ); Mon, 12 Jun 2017 11:03:21 -0400 Received: by mail-lf0-f67.google.com with SMTP id u62so9692139lfg.0 for ; Mon, 12 Jun 2017 08:03:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=LpwlayNlKTeFiaI5u+i9mVtSJ34n11L06Z75LV63PLw=; b=Bf5/kpVQp/hZDySJCYnDGXprX9xYUIsmrUydIb0sbv5zpaRP8CepMpjeGVMOQadIaq cD/FTM8DqkVxAA4CYOxpuzqQa+uYvc/SWERAjsWzI2kU9qgNhsCorUZw2j0Z6xoApBpN 5atglgUYIKYgzpGpB0vWk7cPiPdOpcrcLDumPBnMZ47khkWdrgzZahx6GBu1HvlIpoL/ vDpLIgOs0U0atVORjKiSxGnEXMbtJ9UaLLt7J+3p3Ti6kjQ9IBj0UZFLgBFZ0HIVEjGa 4RJp84ij8zMm2AF0iMnfpnMZA3eBlazZTR4XjzZ/ej2a8qpOlZS+/ORK2ji4h4OttKUr LoeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=LpwlayNlKTeFiaI5u+i9mVtSJ34n11L06Z75LV63PLw=; b=PYUPttb9NAW+j3zDIpspkZt4HlcyZctGs9cKHIWKyWKySklE4HBel1ZaNgy5k1cSxY 2kR3IFJgCcNAxNI+x5b1uRzV7HZCwpYcG6+lmwt8BgILjdjUCl+700gCnHt20fCjzXKI iLfkBKn3bdkFFHx7TjN3YtcHcuo6pX3tgwwwlu4en6UiEwbhyK/PWd5Ka/iX/AKJpl6O aeO0HnGdrKms4WHq3TmvPWfevBUVMxVWGHks50xlQeKxprOSbWxXhw9I7qYE0F/AHgO7 AeULfpHpgybJlqsuMV4gNPT38TJT23llVdiGtY++7XbHqdl3Slzxn3xVnVnBjn25bHmF qDzg== X-Gm-Message-State: AODbwcBJGaorR8eHZFiz8CI6e/NVlidjeVsHtcVRwmYXouq+kUuXI73R LWbkyue1SGq79w== X-Received: by 10.25.215.74 with SMTP id o71mr17922049lfg.67.1497279800215; Mon, 12 Jun 2017 08:03:20 -0700 (PDT) Received: from erik-mate-1604.lan (90-227-62-61-no75.tbcn.telia.com. [90.227.62.61]) by smtp.gmail.com with ESMTPSA id n71sm2709253lje.14.2017.06.12.08.03.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 12 Jun 2017 08:03:19 -0700 (PDT) From: Erik Stromdahl To: kvalo@qca.qualcomm.com, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org Cc: Erik Stromdahl Subject: [RFC v2 01/10] ath10k: high_latency detection Date: Mon, 12 Jun 2017 17:03:02 +0200 Message-Id: <1497279791-9598-2-git-send-email-erik.stromdahl@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1497279791-9598-1-git-send-email-erik.stromdahl@gmail.com> References: <1497279791-9598-1-git-send-email-erik.stromdahl@gmail.com> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The setup of high latency chips (USB and SDIO) is sometimes different than for chips using low latency interfaces. The bus type is used to determine if the interface is a high latency interface. Signed-off-by: Erik Stromdahl --- drivers/net/wireless/ath/ath10k/core.c | 1 + drivers/net/wireless/ath/ath10k/core.h | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c index 3fb1429..d3bf5c4 100644 --- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c @@ -2455,6 +2455,7 @@ struct ath10k *ath10k_core_create(size_t priv_size, struct device *dev, ar->hw_rev = hw_rev; ar->hif.ops = hif_ops; ar->hif.bus = bus; + ar->is_high_latency = ath10k_is_high_latency(bus); switch (hw_rev) { case ATH10K_HW_QCA988X: diff --git a/drivers/net/wireless/ath/ath10k/core.h b/drivers/net/wireless/ath/ath10k/core.h index 1efe0a1..90069b8 100644 --- a/drivers/net/wireless/ath/ath10k/core.h +++ b/drivers/net/wireless/ath/ath10k/core.h @@ -789,6 +789,8 @@ struct ath10k { bool p2p; + bool is_high_latency; + struct { enum ath10k_bus bus; const struct ath10k_hif_ops *ops; @@ -1008,6 +1010,11 @@ static inline bool ath10k_peer_stats_enabled(struct ath10k *ar) return false; } +static inline bool ath10k_is_high_latency(enum ath10k_bus bus) +{ + return ((bus == ATH10K_BUS_SDIO) || (bus == ATH10K_BUS_USB)); +} + struct ath10k *ath10k_core_create(size_t priv_size, struct device *dev, enum ath10k_bus bus, enum ath10k_hw_rev hw_rev,