Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2127591pxb; Sun, 18 Apr 2021 20:06:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyfoaSaZwBL9XqEC5jMMzoMHCDcODQgD3aTYTt9qBcipw3Xe9n/Kh7M1wnqv2LL0UOnNBeh X-Received: by 2002:a17:90a:f298:: with SMTP id fs24mr22670206pjb.129.1618801604066; Sun, 18 Apr 2021 20:06:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618801604; cv=none; d=google.com; s=arc-20160816; b=Mp2oUtN+yCPkscxsVwT5McAVrcYopK3fJqzkcnrNpOWmhuhhmza1tgzkgCi6va4d5Q 0gNHUbCtlymr/49M+/bR5PO3UxeI2F5JkFFmNocNz2SEXjTezlaHzExErHzcmcfhw98L 805JbyLQdT4Wim5p3gTuuWKTf1PC5wWTyKYkisht+lB3UXlMNC0p+KtVSB9v12wjKQsI V+53hZYxkrZ5E/5PI7FGUz1gw3vzoSK/uWnQ7TKAGVaKmU+bx7Lv6FReZ6QuL/VshUpW dcw7grB7YL4eo7GzxNWJB/YvjHs06miKTnUqcf0RE7ondxt/7fuZ/8rlYQz0Ss3zYbZK 6DZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=KrJGlgICefxuS+OgM0Qqq6w1ljnn8y8afy9j3IsFNUA=; b=Qw3HhS8UUQuLA21yknBKYa0dwtAYq9FBktcqVye24+Iw9Cj7Ua0ksPY+zULaMvIjrb Z5zIaK3rAMhXnFAOv0TPvO/l2z458kZiEbW53HMtzBQ/B37BXzZa+iVZh3l+WqGCJ5hy xfgeZFydmVAXXRvKj5m9eeJAZa9FVYEU9LUSXUFNMm/ZxwAuInE1IUJSIfrc+HGYMBzy ZxAJR4bJsgYv0bqxq9Da7Kb4tITXo/lFq4seT4kdIbzQH4ZhGSkp0BcWWFdVReTsdGpK qLIRgnx7e1PHPY3KIZ2GsH5lyo01emVpRRFtBzVRQSBaKyPdF+Vcu4O1zQe/5R+sWaWu 0FKg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e8si15462585pfi.119.2021.04.18.20.06.31; Sun, 18 Apr 2021 20:06:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237352AbhDSDFL (ORCPT + 99 others); Sun, 18 Apr 2021 23:05:11 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:57577 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S237335AbhDSDFL (ORCPT ); Sun, 18 Apr 2021 23:05:11 -0400 X-UUID: d9348716ca024410a3b3e68a1fc0b145-20210419 X-UUID: d9348716ca024410a3b3e68a1fc0b145-20210419 Received: from mtkmbs10n2.mediatek.inc [(172.21.101.183)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 2081304901; Mon, 19 Apr 2021 11:04:39 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs06n2.mediatek.inc (172.21.101.130) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 19 Apr 2021 11:04:38 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 19 Apr 2021 11:04:38 +0800 From: To: , CC: , , , , , , , , , , , , Subject: Re: [PATCH 4/6] mt76: mt7921: introduce mt7921_wpdma_reinit_cond utility routine Date: Mon, 19 Apr 2021 11:04:37 +0800 Message-ID: <1618801477-20003-1-git-send-email-sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: E907B49C48B4F74737ED0C98072937E5F9662D470DDAD9C8DA53356B95152BB32000:8 X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Sean Wang >> From: Sean Wang > >I guess here we should use my 'From' tag That is my fault, I'll change it in the next version. > >Regards, >Lorenzo > >> >> Add mt7921_wpdma_reinit_cond to check dummy reg if driver needs to >> reinitialized WPDMA after driver_own operation >> >> Co-developed-by: Leon Yen >> Signed-off-by: Leon Yen >> Signed-off-by: Lorenzo Bianconi >> Signed-off-by: Sean Wang >> --- >> .../net/wireless/mediatek/mt76/mt76_connac.h | 4 +++ >> .../wireless/mediatek/mt76/mt7921/debugfs.c | 13 ++++++++++ >> .../net/wireless/mediatek/mt76/mt7921/dma.c | 25 +++++++++++++++++++ >> .../wireless/mediatek/mt76/mt7921/mt7921.h | 6 +++++ >> 4 files changed, 48 insertions(+) >> >> diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac.h >> b/drivers/net/wireless/mediatek/mt76/mt76_connac.h >> index b811f3c410a1..3b5bff80a462 100644 >> --- a/drivers/net/wireless/mediatek/mt76/mt76_connac.h >> +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac.h >> @@ -58,6 +58,10 @@ struct mt76_connac_pm { >> struct delayed_work ps_work; >> unsigned long last_activity; >> unsigned long idle_timeout; >> + >> + struct { >> + unsigned int lp_wake; >> + } stats; >> }; >> >> struct mt76_connac_coredump { >> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c >> b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c >> index 5a54cd8d2ce4..bd2aca654767 100644 >> --- a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c >> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c >> @@ -256,6 +256,17 @@ mt7921_pm_get(void *data, u64 *val) >> >> DEFINE_DEBUGFS_ATTRIBUTE(fops_pm, mt7921_pm_get, mt7921_pm_set, >> "%lld\n"); >> >> +static int >> +mt7921_pm_stats(struct seq_file *s, void *data) { >> + struct mt7921_dev *dev = dev_get_drvdata(s->private); >> + struct mt76_connac_pm *pm = &dev->pm; >> + >> + seq_printf(s, "low power wakes: %9d\n", pm->stats.lp_wake); >> + >> + return 0; >> +} >> + >> static int >> mt7921_pm_idle_timeout_set(void *data, u64 val) { @@ -322,6 +333,8 >> @@ int mt7921_init_debugfs(struct mt7921_dev *dev) >> debugfs_create_file("idle-timeout", 0600, dir, dev, >> &fops_pm_idle_timeout); >> debugfs_create_file("chip_reset", 0600, dir, dev, &fops_reset); >> + debugfs_create_devm_seqfile(dev->mt76.dev, "runtime_pm_stats", dir, >> + mt7921_pm_stats); >> >> return 0; >> } >> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/dma.c >> b/drivers/net/wireless/mediatek/mt76/mt7921/dma.c >> index 8c556ff3ae93..72f5704f8f11 100644 >> --- a/drivers/net/wireless/mediatek/mt76/mt7921/dma.c >> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/dma.c >> @@ -329,6 +329,31 @@ int mt7921_wpdma_reset(struct mt7921_dev *dev, bool force) >> return 0; >> } >> >