public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Bryan Wu <bryan.wu@analog.com>
To: Mike Frysinger <vapier.adi@gmail.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Bryan Wu <cooloney.lkml@gmail.com>
Subject: Re: [rfc] exposing MMR's of on-chip peripherals for debugging purposes
Date: Mon, 28 Jan 2008 18:40:11 +0800	[thread overview]
Message-ID: <1201516811.7547.46.camel@roc-laptop> (raw)
In-Reply-To: <8bd0f97a0801280216x56d52028s2ea247dd969e85e2@mail.gmail.com>


On Mon, 2008-01-28 at 05:16 -0500, Mike Frysinger wrote:
> we have guys who maintain xml descriptions of all Blackfin processors.
>  these include an exhaustive list of all the peripherals and their
> MMRs.  for example, there is an element that binds the address, the
> MMR name (as described in the processor's hardware manual), the bit
> size of it, and all those fun details.  i feed these xml files through
> an xsl to generate a C file that populates /sys/kernel/debug/blackfin/
> by using the standard debugfs functions.  so when i'm debugging the
> watchdog driver, i can simply go into
> /sys/kernel/debug/blackfin/watchdog/ and see the watchdog-specific
> MMRs and cat/echo them on the fly.  it's been quite handy and feedback
> from customers/developers is that it's nicely filled a small void in
> the development process.
> 

Mike is a quick developer, I am trying to keep up with him.
Exactly, the MMR debug FS interface helps very much for developers and
customers.

> the trouble is that this file currently weighs in at ~1.8 megs.  this
> is because it contains all the information for all Blackfin processors
> we support (which currently, is about ~23 variants).  it's only going
> to get bigger as we support more.  Bryan cringes at the thought of
> submitting it to LKML :).  so i'm fishing around for alternatives ...
> the code was originally developed against 2.6.21, so UIO was not a
> possibility.  i'm still not sure if it is ... i'd have to research it
> a bit more and play with things.
> 

The main reason I am not willing to submit this to mainline is the file
size. It's almost the biggest file in the kernel source. And it will be
bigger and bigger when more and more new Blackfin processors supported
by Linux kernel.

My suggestion is:
 - move the large MMR table to user space
 - add an interface of debug FS which let uses space app to send the large table to debug FS
 - debug FS will take care of the rest HW things according to each architecture. 

Or more deeper thought:
 - we don't need all the MMR setup at the same time for debugging. for example, maybe for some developer, he/she only needs one driver MMR for debugging such as watchdog/usb/spi/i2c ....
 - How about split the debug MMR table to each drivers or processors?
 - watchdog driver implements a debug FS interface for debugging watchdog MMR and other drivers implement their own things.

I am not familiar with UIO, is it easy interactive with debug FS?

Thanks
-Bryan Wu

  parent reply	other threads:[~2008-01-28 10:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-28 10:16 [rfc] exposing MMR's of on-chip peripherals for debugging purposes Mike Frysinger
2008-01-28 10:19 ` Mike Frysinger
2008-01-28 10:40 ` Bryan Wu [this message]
2008-01-28 11:06   ` Mike Frysinger
2008-01-28 13:04     ` richard kennedy
2008-01-28 13:10       ` Mike Frysinger
2008-01-29  0:08         ` Daniel Barkalow
2008-01-29  0:15           ` Mike Frysinger
2008-01-29  0:30             ` Daniel Barkalow

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=1201516811.7547.46.camel@roc-laptop \
    --to=bryan.wu@analog.com \
    --cc=cooloney.lkml@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vapier.adi@gmail.com \
    /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