public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Gérard Roudier" <groudier@free.fr>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Linux Kernel Development <linux-kernel@vger.kernel.org>,
	Linux/PPC Development <linuxppc-dev@lists.linuxppc.org>
Subject: Re: Sym53c8xx tape corruption squashed! (was: Re: SCSI Tape corruption - update)
Date: Sun, 30 Dec 2001 01:00:46 +0100 (CET)	[thread overview]
Message-ID: <20011230001350.F613-100000@gerard> (raw)
In-Reply-To: <Pine.GSO.4.21.0112292224220.277-100000@vervain.sonytel.be>



On Sat, 29 Dec 2001, Geert Uytterhoeven wrote:

> On Sat, 29 Dec 2001, [ISO-8859-1] Gérard Roudier wrote:
> > On Sat, 29 Dec 2001, Geert Uytterhoeven wrote:
[...]
> > > I played a bit with sym-2 and setpci. Everything goes fine as long as the PCI
> > > latency timer value is smaller than 0x16 (yes, at first I thought it was
> > > decimal, but setpci parameters are in hex).
> >
> > Interesting result, even if it doesn't trigger any of my guessing
> > capabilities, for now. :-)
> >
> > Just it means that the 875 must release the PCI BUS if its GNT# signal is
> > deasserted by PCI arbiter and current transaction lasted 22 PCI cycles or
> > more since the assertion of FRAME#.
>
> Exactly my thoughts.

Note that this looks a bit less than 8 DWORDs. If your beast use such
cache line size, this can be related to.

> > If I remember correctly, the problem occurred when data is written to the
> > device. Is it ok?
>
> Yes.
>
> > If so, the MWI problem I pointed out in my previous posting is unlikely to
> > apply. But, for user data DMA write, the 875 may execute Memory Read Line
> > or Memory Read Multiple Lines transactions. It would be interesting to
> > know if it makes difference disabling those capabilities.
> >
> > Setting to zero the PCI cache line register in the PCI configuration space
> > does force the chip not to use any of the cache line based PCI
> > transactions. It is brute force but should work.
>
> Note that on my system the PCI cache line register in the PCI configuration
> space of the '875 is already set to zero.

Then, the 875 never used cache line based PCI transactions.

> > In order to disable separately those features, some IO register bits must
> > be set to zero. The faster way is to hack the driver (sym_hipd.c) at some
> > place, for example (entered by hand just for you):
>
> So I don't think it would help to test this, since PCI_CACHE_LINE_SIZE is set
> to 0?

Indeed. A least your system hasn't been bitten by PCI cache line related
bugs.

I donnot know how the 875 behaves when supplied with a zero latency timer.
Normally it should consider the timeout to happen immediately, but it must
and is allowed to perform at least one data phase. In this hypothesis, and
given that a latency timer greater than 22 PCI clocks makes problem, I may
risk the following:

Your hardware (probably the host bridge) is only able as a PCI target to
provide a limited amount of data for the current PCI read transaction in
some circumstances. It deasserts GNT#. If the master wants more data it
has to force transaction termination, otherwise it is the master that will
terminate the transaction.

Then the cause of the problem could be something like:

- The host bridge is unable to terminate a read transaction as a target
  and just feeds the master with stale data if it cannot get good ones.
  (Unlikely, but why not?)
- The host bridge just does not terminate the transaction in time in
  some circumstances and provides stale data to the master until the
  transaction terminates.

This is an example, probably just wrong.

Anyway, given that short latency timers hide (fix?) the problem, your
system seems to like much better PCI transactions to be preferently
(always?) terminated by the master.

  Gérard.


      reply	other threads:[~2001-12-29 22:59 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-07 14:46 SCSI Tape corruption - update Lorenzo Marcantonio
2001-05-07 15:39 ` Rob Turk
2001-05-07 19:15   ` Lorenzo Marcantonio
2001-05-08  7:12     ` Geert Uytterhoeven
2001-05-08  8:16       ` Lorenzo Marcantonio
2001-06-21  9:33       ` Geert Uytterhoeven
2001-07-08 13:33         ` Geert Uytterhoeven
2001-07-08 19:01           ` Gérard Roudier
2001-07-20 17:08           ` Geert Uytterhoeven
2001-07-20 21:02             ` Gérard Roudier
2001-07-27  7:49               ` Geert Uytterhoeven
2001-07-27 20:41                 ` Gérard Roudier
2001-07-28  9:57                   ` Geert Uytterhoeven
2001-11-01 19:09                   ` Geert Uytterhoeven
2001-11-02  7:04                     ` Gérard Roudier
2001-11-07 15:26                       ` Geert Uytterhoeven
2001-12-05 15:32                       ` Geert Uytterhoeven
2001-12-28 20:36                         ` Sym53c8xx tape corruption squashed! (was: Re: SCSI Tape corruption - update) Geert Uytterhoeven
2001-12-29  0:57                           ` Gérard Roudier
2001-12-29 10:49                             ` Geert Uytterhoeven
2001-12-29 13:23                             ` Geert Uytterhoeven
2001-12-29 18:39                               ` Gérard Roudier
2001-12-29 21:28                                 ` Geert Uytterhoeven
2001-12-30  0:00                                   ` Gérard Roudier [this message]

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=20011230001350.F613-100000@gerard \
    --to=groudier@free.fr \
    --cc=geert@linux-m68k.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.linuxppc.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