From: Pkshih <pkshih@realtek.com>
To: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: "kvalo@codeaurora.org" <kvalo@codeaurora.org>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: RE: [PATCH 04/24] rtw89: add debug files
Date: Mon, 5 Jul 2021 08:58:51 +0000	[thread overview]
Message-ID: <ceb8911a8ca0465a9f243e1d84ab911e@realtek.com> (raw)
In-Reply-To: <20210702072308.GA4184@pengutronix.de>
> -----Original Message-----
> From: Oleksij Rempel [mailto:o.rempel@pengutronix.de]
> Sent: Friday, July 02, 2021 3:23 PM
> To: Pkshih
> Cc: kvalo@codeaurora.org; linux-wireless@vger.kernel.org
> Subject: Re: [PATCH 04/24] rtw89: add debug files
> 
> On Fri, Jun 18, 2021 at 02:46:05PM +0800, Ping-Ke Shih wrote:
> > To recognize issues happened in field, two debug methods, debug message and
> > debugfs, are added.
> >
> > The debug messages are written to kernel log, and four levels can be chosen
> > according to the cases -- debug, info, warn and err.
> >
> > Debugfs is used to read and write registers and driver status.
> >
> > Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
> > ---
> >  drivers/net/wireless/realtek/rtw89/debug.c | 2404 ++++++++++++++++++++
> >  drivers/net/wireless/realtek/rtw89/debug.h |   77 +
> >  2 files changed, 2481 insertions(+)
> >  create mode 100644 drivers/net/wireless/realtek/rtw89/debug.c
> >  create mode 100644 drivers/net/wireless/realtek/rtw89/debug.h
> >
> > diff --git a/drivers/net/wireless/realtek/rtw89/debug.c
> b/drivers/net/wireless/realtek/rtw89/debug.c
> > new file mode 100644
> > index 000000000000..03d2d2eb813d
> > --- /dev/null
> > +++ b/drivers/net/wireless/realtek/rtw89/debug.c
[...]
> > +static int rtw89_debug_priv_rf_reg_dump_get(struct seq_file *m, void *v)
> > +{
> > +	struct rtw89_debugfs_priv *debugfs_priv = m->private;
> > +	struct rtw89_dev *rtwdev = debugfs_priv->rtwdev;
> > +	const struct rtw89_chip_info *chip = rtwdev->chip;
> > +	u32 addr, offset, data;
> > +	u8 path;
> > +
> > +	for (path = 0; path < chip->rf_path_num; path++) {
> > +		seq_printf(m, "RF path %d:\n\n", path);
> > +		for (addr = 0; addr < 0x100; addr += 4) {
> > +			seq_printf(m, "0x%08x: ", addr);
> > +			for (offset = 0; offset < 4; offset++) {
> > +				data = rtw89_read_rf(rtwdev, path,
> > +						     addr + offset, RFREG_MASK);
> > +				seq_printf(m, "0x%05x  ", data);
> > +			}
> > +			seq_puts(m, "\n");
> > +		}
> > +		seq_puts(m, "\n");
> > +	}
> > +
> > +	return 0;
> > +}
> 
> Based on this and other part of this driver I would recommend to use
> regmap. It will provide to additional interface for the register
> access. And typically for the network devices we have an ethtool
> interface for that.
> 
Could I know the 'regmap' you mentioned?
I study interfaces of ethtool. It sets/gets dump via struct ethtool_dump.
I face problems: this chip has many register domains, but there's no way to
specify the domain type. The amount of registers is large, so I need to specify
the range I want to dump, but no offset/length can be used by ETHTOOL_SET_DUMP.
Another reason I can't dump all registers is that some domains are indirect
access with two registers (one is control register, and the other is data
register), I can't access them arbitrarily because firmware can use them 
simultaneously. Instead, they are only used in fatal cases.
So, I can't use interfaces of ethtool, but I'll try to merge duplicate to
reduce code size.
--
Ping-Ke
next prev parent reply	other threads:[~2021-07-05  8:59 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-18  6:46 [PATCH 00/24] rtw89: add Realtek 802.11ax driver Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 01/24] rtw89: add CAM files Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 02/24] rtw89: add BT coexistence files Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 03/24] rtw89: add core and trx files Ping-Ke Shih
2021-07-09 17:32   ` Oleksij Rempel
2021-07-12  6:23     ` Pkshih
2021-07-15 18:57   ` Brian Norris
2021-07-16  2:00     ` Pkshih
2021-06-18  6:46 ` [PATCH 04/24] rtw89: add debug files Ping-Ke Shih
2021-07-02  7:23   ` Oleksij Rempel
2021-07-02 17:08     ` Brian Norris
2021-07-02 17:57       ` Oleksij Rempel
2021-07-02 18:38         ` Brian Norris
2021-07-02 19:32           ` Oleksij Rempel
2021-07-02 20:00             ` Brian Norris
2021-07-03  4:15               ` Oleksij Rempel
2021-07-13  1:40                 ` Brian Norris
2021-07-05  8:58           ` Pkshih
2021-07-05  9:09             ` Oleksij Rempel
2021-07-05  8:08         ` Kalle Valo
2021-07-05  9:23           ` Oleksij Rempel
2021-07-05  8:58     ` Pkshih [this message]
2021-07-13  1:57       ` Brian Norris
2021-07-13  4:50         ` Oleksij Rempel
2021-07-13 11:26           ` Pkshih
2021-06-18  6:46 ` [PATCH 05/24] rtw89: add efuse files Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 06/24] rtw89: add files to download and communicate with firmware Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 07/24] rtw89: add MAC files Ping-Ke Shih
2021-07-09 17:38   ` Oleksij Rempel
2021-07-09 18:16     ` Johannes Berg
2021-07-10  4:58       ` Oleksij Rempel
2021-07-12  1:51         ` Pkshih
2021-07-12  6:23     ` Pkshih
2021-06-18  6:46 ` [PATCH 08/24] rtw89: implement mac80211 ops Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 09/24] rtw89: add pci files Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 10/24] rtw89: add phy files Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 11/24] rtw89: define register names Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 12/24] rtw89: add regulatory support Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 13/24] rtw89: 8852a: add 8852a specific files Ping-Ke Shih
2021-07-10  5:27   ` Oleksij Rempel
2021-07-12  6:24     ` Pkshih
2021-06-18  6:46 ` [PATCH 14/24] rtw89: 8852a: add 8852a RFK files Ping-Ke Shih
2021-07-09 17:41   ` Oleksij Rempel
2021-07-12  6:23     ` Pkshih
2021-07-15  3:33     ` Pkshih
2021-07-15  3:59       ` Oleksij Rempel
2021-06-18  6:46 ` [PATCH 15/24] rtw89: 8852a: add 8852a RFK tables Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 16/24] rtw89: 8852a: add 8852a tables (1 of 5) Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 17/24] rtw89: 8852a: add 8852a tables (2 " Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 18/24] rtw89: 8852a: add 8852a tables (3 " Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 19/24] rtw89: 8852a: add 8852a tables (4 " Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 20/24] rtw89: 8852a: add 8852a tables (5 " Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 21/24] rtw89: add ser to recover error reported by firmware Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 22/24] rtw89: add PS files Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 23/24] rtw89: add SAR files Ping-Ke Shih
2021-06-18  6:46 ` [PATCH 24/24] rtw89: add Kconfig and Makefile Ping-Ke Shih
2021-06-19  3:18   ` kernel test robot
2021-06-25  8:54     ` Pkshih
2021-06-19  3:18   ` kernel test robot
2021-06-18  7:11 ` [PATCH 00/24] rtw89: add Realtek 802.11ax driver Pkshih
2021-06-23  6:29 ` Aaron Ma
2021-06-30  4:52   ` Aaron Ma
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox
  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):
  git send-email \
    --in-reply-to=ceb8911a8ca0465a9f243e1d84ab911e@realtek.com \
    --to=pkshih@realtek.com \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=o.rempel@pengutronix.de \
    /path/to/YOUR_REPLY
  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
  Be sure your reply has a Subject: header at the top and a blank line
  before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).