From: Paul Fertser <fercerpav@gmail.com>
To: Ernesto Corona <ernesto.corona@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-aspeed@lists.ozlabs.org
Subject: Re: [PATCH v29 0/6] JTAG driver introduction
Date: Fri, 15 Jan 2021 13:46:35 +0300 [thread overview]
Message-ID: <20210115104635.GA2971@home.paul.comp> (raw)
In-Reply-To: <20200413222920.4722-1-ernesto.corona@intel.com>
Hello,
This is a multi-part review of the series, with general notes inline
in this message, and specific points raised as replies to the
individual patches.
On Mon, Apr 13, 2020 at 03:29:14PM -0700, Ernesto Corona wrote:
> We propose to implement general JTAG interface and infrastructure
> to communicate with user layer application.
Working with a Tioga Pass server platform I needed to use the JTAG
master controller of an ASPEED AST2500 SoC to configure a Lattice
LCMXO2-4000HC CPLD. I'm mentioning these fine details because that's
the only proper runtime testing I performed, but my review is not
limited to that.
Being a long-time OpenOCD community member, I got familiar with many
different facilities and protocols offered by hardware JTAG adapters,
and of wide range of usecases as I was providing end-user
support. This is my perspective when looking at these patches.
I have to note that the current v29 version of the series is broken in
several aspects:
1. The aspeed driver fails probe(), see the driver review for details;
2. The uapi include header is unusable;
3. The offered userspace implementation wasn't updated to the latest
API, but even with the changes to make it compile it's still a mess
too horrible to be used in production;
Points 1 and 2 will be addressed in separate mails. To workaround
point 3 I prepared a recipe with an additional patch[0] so that
mlnx_cpldprog can be at least compiled and used for some minimal
testing.
The shortcomings of mlnx_cpldprog are numerous:
1. It doesn't consistently choose between hardware and bitbang modes;
2. Even though it checks TDO it doesn't print any errors on mismatch
and continues playing back the SVF as if it's all right;
3. It has JTAG speed hardcoded;
4. It doesn't implement RUNTEST so with the CPLD I'm using it's always
_not_ working properly, failing silently;
5. It is just awfully slow, taking about 40 minutes to play back a
file that takes 1.5 minutes with OpenOCD with the same hardware and
kernel driver.
So I added support for the proposed API to OpenOCD: patch that applies
to the version in OpenBMC[1], patch for the latest version[2]. And
since it can do much more than just playing back SVF I hope this can
highlight some essential API shortcomings if it's meant to be
generic. My impression is that in its current state it's not adequate
for the purpose.
[0] https://bitbucket.org/paulfertser/mlnx_cpldprog_bitbake
[1] http://openocd.zylin.com/#/c/5976/
[2] http://openocd.zylin.com/#/c/5975/
--
Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
mailto:fercerpav@gmail.com
next prev parent reply other threads:[~2021-01-15 10:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-13 22:29 [PATCH v29 0/6] JTAG driver introduction Ernesto Corona
2020-04-13 22:29 ` [PATCH v29 1/6] drivers: jtag: Add JTAG core driver Ernesto Corona
2021-01-15 11:18 ` Paul Fertser
2020-04-13 22:29 ` [PATCH v29 2/6] dt-binding: jtag: Aspeed 2400 and 2500 series Ernesto Corona
2021-01-19 12:04 ` Paul Fertser
2020-04-13 22:29 ` [PATCH v29 3/6] Add Aspeed SoC 24xx and 25xx families JTAG master driver Ernesto Corona
2020-09-28 2:17 ` Moritz Fischer
2021-01-15 11:53 ` Paul Fertser
2020-04-13 22:29 ` [PATCH v29 4/6] Documentation: jtag: Add ABI documentation Ernesto Corona
2021-01-19 12:01 ` Paul Fertser
2020-04-13 22:29 ` [PATCH v29 5/6] Documentation jtag: Add JTAG core driver ioctl number Ernesto Corona
2020-04-13 22:29 ` [PATCH v29 6/6] drivers: jtag: Add JTAG core driver Maintainers Ernesto Corona
2020-04-14 9:15 ` Andy Shevchenko
2021-01-15 10:46 ` Paul Fertser [this message]
2021-04-06 13:22 ` [PATCH v29 0/6] JTAG driver introduction Andy Shevchenko
2021-04-06 13:34 ` Paul Fertser
2021-04-06 17:00 ` Corona, Ernesto
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=20210115104635.GA2971@home.paul.comp \
--to=fercerpav@gmail.com \
--cc=ernesto.corona@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-aspeed@lists.ozlabs.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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).