Linux-parisc archive on lore.kernel.org
 help / Atom feed
From: John David Anglin <dave.anglin@bell.net>
To: Helge Deller <deller@gmx.de>, Carlo Pisani <carlojpisani@gmail.com>
Cc: linux-parisc <linux-parisc@vger.kernel.org>
Subject: Re: C3600, sata controller
Date: Fri, 17 May 2019 14:05:15 -0400
Message-ID: <9e67ee59-4e13-40be-6c1d-2b3409127515@bell.net> (raw)
In-Reply-To: <9e2370bc-95e2-97fe-ebc8-7e6626d06deb@gmx.de>

On 2019-05-17 1:21 p.m., Helge Deller wrote:
> Hi Carlo,
>
> On 17.05.19 17:43, Carlo Pisani wrote:
>> guys, new tests(1) with SYBA-SY-PCX40009 on C3600
>> tested on different slots: it always fails with the same behavior
>> (1) http://www.downthebunker.com/reloaded/space/viewtopic.php?f=50&t=337&p=1663
>>
>> I really do not understand the random failure, because it seems
>> working for a while, and then, it suddenly fails I don't know how to
>> investigate.
> Random failure could happen because of missing calls to DMA syncs in the driver.
> PCI device drivers on PA-RISC require that you strictly follow the rules as mentioned in:
> * https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/DMA-API-HOWTO.txt
> and
> * https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/DMA-API.txt
>
> Not following those rules may lead to the same device driver working on x86
> but failing on parisc, simply because x86 is much more relaxed regarding DMA
> and CPU caches.
>
> That said, I would not expect every device driver to work out of the box
> on parisc...
It seems likely to me that the sil24 driver depends on the card operating in PCI-X mode.  As noted
previously, PCI-X differs from PCI in interrupt handling.  The driver has this flag SIL24_FLAG_PCIX_IRQ_WOC.

There's this comment:
        /* If PCIX_IRQ_WOC, there's an inherent race window between
         * clearing IRQ pending status and reading PORT_SLOT_STAT
         * which may cause spurious interrupts afterwards.  This is
         * unavoidable and much better than losing interrupts which
         * happens if IRQ pending is cleared after reading
         * PORT_SLOT_STAT.
         */
Maybe the workaround shouldn't be applied when card is in PCI 66 MHz slot?  See drivers/ata/sata_sil24.c.
https://www.mail-archive.com/linux-ide@vger.kernel.org/msg11502.html
https://www.mail-archive.com/linux-ide@vger.kernel.org/msg11516.html

The card works in my c8000 PCI-X slot.

Dave

-- 
John David Anglin  dave.anglin@bell.net



  reply index

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-01 21:45 linux-next: Signed-off-by missing for commit in the parisc-hd tree Stephen Rothwell
2019-05-02  5:48 ` Helge Deller
2019-05-12 20:44   ` C3600, sata controller Carlo Pisani
2019-05-12 20:49     ` Carlo Pisani
2019-05-12 21:10     ` John David Anglin
2019-05-12 21:15       ` Carlo Pisani
2019-05-13 23:14         ` John David Anglin
2019-05-13 23:24           ` Carlo Pisani
2019-05-13 23:47             ` Carlo Pisani
2019-05-14  1:50               ` John David Anglin
2019-05-14  8:22                 ` Carlo Pisani
     [not found]                 ` <CA+QBN9CgMRFmv+isvH-Y=FCCFwKhmD5_5s5u32xg+wk-gTLK5A@mail.gmail.com>
2019-05-14 12:10                   ` John David Anglin
2019-05-14 12:29                     ` Carlo Pisani
2019-05-14 12:57                       ` C3600, optical Fibre Channel, any card? Carlo Pisani
2019-05-14 13:01                       ` C3600, sata controller Sven Schnelle
2019-05-14 14:23                         ` John David Anglin
2019-05-17 15:43                           ` Carlo Pisani
2019-05-17 17:21                             ` Helge Deller
2019-05-17 18:05                               ` John David Anglin [this message]
2019-05-17 18:25                                 ` Carlo Pisani
2019-05-13 15:10     ` Carlo Pisani
2019-05-13 21:58       ` Carlo Pisani
2019-05-17 17:31     ` Carlo Pisani

Reply instructions:

You may reply publically 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=9e67ee59-4e13-40be-6c1d-2b3409127515@bell.net \
    --to=dave.anglin@bell.net \
    --cc=carlojpisani@gmail.com \
    --cc=deller@gmx.de \
    --cc=linux-parisc@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

Linux-parisc archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-parisc/0 linux-parisc/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-parisc linux-parisc/ https://lore.kernel.org/linux-parisc \
		linux-parisc@vger.kernel.org linux-parisc@archiver.kernel.org
	public-inbox-index linux-parisc


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-parisc


AGPL code for this site: git clone https://public-inbox.org/ public-inbox