linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: "Måns Rullgård" <mans@mansr.com>,
	"Viresh Kumar" <viresh.linux@gmail.com>
Cc: Julian Margetson <runaway@candw.ms>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Tejun Heo <tj@kernel.org>,
	linux-ide@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/3] ata: sata_dwc_460ex: use "dmas" DT property to find dma channel
Date: Mon, 21 Dec 2015 10:40:01 +0200	[thread overview]
Message-ID: <CAHp75VeT6ZssxiD-c3SqZgAcL5vFuvv4H5AVPz8sypuGkuvqRg@mail.gmail.com> (raw)
In-Reply-To: <yw1xa8p47h3w.fsf@unicorn.mansr.com>

+Viresh

On Mon, Dec 21, 2015 at 2:58 AM, Måns Rullgård <mans@mansr.com> wrote:
> Andy Shevchenko <andy.shevchenko@gmail.com> writes:
>
>> On Sun, Dec 20, 2015 at 8:49 PM, Måns Rullgård <mans@mansr.com> wrote:
>>> Julian Margetson <runaway@candw.ms> writes:
>>>> On 12/20/2015 1:11 PM, Måns Rullgård wrote:
>>>>> Julian Margetson <runaway@candw.ms> writes:
>>
>>>> [   48.769671] ata3.00: failed command: READ FPDMA QUEUED
>>>
>>> Well, that didn't help.  I still think it's part of the problem, but
>>> something else must be wrong as well.  The various Master Select fields
>>> look like a good place to start.
>>
>> Master number (which is here would be either 1 or 0) should not affect
>> as long as they are connected to the same AHB bus (I would be
>> surprised if they are not).
>
> I think they are not.  The relevant part of the block diagram for the
> 460EX looks something like this:
>
>       +-----+
>       | CPU |
>       +-----+
>          |
>  +---------------+
>  |      BUS      |
>  +---------------+
>     |         |
>  +-----+   +-----+
>  | DMA |   | RAM |
>  +-----+   +-----+
>     |
>  +------+
>  | SATA |
>  +------+
>
> The DMA-SATA link is private and ignores the address, which is the only
> reason the driver can possibly work (it's programming a CPU virtual
> address there).

If you look at the original code the SMS and DMS are programmed
statically independent on DMA direction, so LLP is programmed always
to master 1. I don't think your scheme is reflecting this right. I
could imagine two AHB buses, one of them connects CPU, SATA and RAM,
and the other CPU and DMA.

In any case on all Intel SoCs and AVR32, and as far as I can tell on
Spear13xx (Viresh?) there is not a case, that's why I hardly imagine
that the problem is in master numbers by themselves.

>>> Also, the manual says the LLP_SRC_EN
>>> and LLP_DST_EN flags should be cleared on the last in a chain of blocks.
>>> The old sata_dwc driver does this whereas dw_dma does not.
>>
>> Easy to fix, however I can't get how it might affect.
>
> From the Atmel doc:
>
>   In Table 17-1 on page 185, all other combinations of LLPx.LOC = 0,
>   CTLx.LLP_S_EN, CFGx.RELOAD_SR, CTLx.LLP_D_EN, and CFGx.RELOAD_DS are
>   illegal, and causes indeterminate or erroneous behavior.

I will check Synospys documentation later on.

> Most likely nothing happens, but I think it ought to be fixed.  In fact,
> I have a patch already.

Good. Send with Fixes tag if it's upstream ready.

> Come to think of it, I have an AVR32 dev somewhere.  Maybe I should dust
> it off.

I have ATNGW100.

P.S. Anyway we have to ask Julian to try the kernel with
8b3444852a2b58129 reverted.

-- 
With Best Regards,
Andy Shevchenko

  reply	other threads:[~2015-12-21  8:40 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-15 23:25 [PATCH 1/3] ata: sata_dwc_460ex: use "dmas" DT property to find dma channel Mans Rullgard
2015-12-15 23:25 ` [PATCH 2/3] ata: sata_dwc_460ex: add phy support Mans Rullgard
2015-12-16 11:14   ` Sergei Shtylyov
2015-12-16 11:24     ` Måns Rullgård
2015-12-15 23:25 ` [PATCH 3/3] ata: sata_dwc_460ex: get rid of global data Mans Rullgard
2015-12-17 15:06   ` Andy Shevchenko
2015-12-17 15:19     ` Måns Rullgård
2015-12-17 15:37       ` Andy Shevchenko
2015-12-17 15:57         ` Måns Rullgård
2015-12-15 23:34 ` [PATCH 1/3] ata: sata_dwc_460ex: use "dmas" DT property to find dma channel Måns Rullgård
2015-12-17 14:59   ` Andy Shevchenko
2015-12-17 15:13     ` Måns Rullgård
2015-12-17 15:55       ` Andy Shevchenko
2015-12-17 16:04         ` Måns Rullgård
2015-12-17 16:53           ` Andy Shevchenko
2015-12-17 17:57             ` Julian Margetson
2015-12-17 17:59               ` Måns Rullgård
     [not found]                 ` <567302E8.5050303@candw.ms>
2015-12-17 18:51                   ` Måns Rullgård
     [not found]                     ` <5673061A.4070700@candw.ms>
2015-12-17 19:53                       ` Måns Rullgård
     [not found]                         ` <56732C04.9040100@candw.ms>
2015-12-18  0:06                           ` Måns Rullgård
2015-12-18  0:59                             ` Julian Margetson
2015-12-18  1:38                               ` Måns Rullgård
2015-12-18 11:48                             ` Julian Margetson
2015-12-18 12:04                               ` Måns Rullgård
2015-12-18 12:23                                 ` Andy Shevchenko
2015-12-18 12:49                                   ` Måns Rullgård
     [not found]                                     ` <5674271B.9090308@candw.ms>
2015-12-18 17:18                                       ` Måns Rullgård
2015-12-18 18:48                                         ` Andy Shevchenko
     [not found]                                         ` <56745BA4.1090607@candw.ms>
2015-12-18 22:33                                           ` Måns Rullgård
2015-12-18 22:49                                             ` Julian Margetson
2015-12-18 23:16                                               ` Måns Rullgård
2015-12-19  2:34                                                 ` Andy Shevchenko
2015-12-19 11:39                                                   ` Julian Margetson
2015-12-19 15:40                                                     ` Måns Rullgård
     [not found]                                                       ` <567585CD.9080105@candw.ms>
2015-12-19 16:39                                                         ` Måns Rullgård
2015-12-19 16:56                                                       ` Andy Shevchenko
2015-12-19 17:05                                                         ` Måns Rullgård
2015-12-19 17:09                                                           ` Julian Margetson
2015-12-19 17:11                                                             ` Andy Shevchenko
2015-12-19 17:19                                                             ` Måns Rullgård
2015-12-19 18:56                                                               ` Julian Margetson
2015-12-19 19:07                                                                 ` Måns Rullgård
2015-12-19 20:16                                                                   ` Julian Margetson
2015-12-19 20:39                                                                     ` Andy Shevchenko
2015-12-19 20:41                                                                       ` Måns Rullgård
2015-12-19 20:48                                                                         ` Julian Margetson
2015-12-19 20:55                                                                         ` Julian Margetson
2015-12-20 17:11                                                                           ` Måns Rullgård
2015-12-20 17:41                                                                             ` Andy Shevchenko
2015-12-20 17:54                                                                               ` Måns Rullgård
2015-12-20 17:44                                                                             ` Julian Margetson
2015-12-20 18:49                                                                               ` Måns Rullgård
2015-12-20 20:17                                                                                 ` Andy Shevchenko
2015-12-20 20:55                                                                                   ` Andy Shevchenko
2015-12-21  1:19                                                                                     ` Måns Rullgård
2015-12-21 19:08                                                                                       ` Andy Shevchenko
2015-12-21 19:27                                                                                         ` Måns Rullgård
2015-12-21 20:54                                                                                           ` Andy Shevchenko
2015-12-21 21:06                                                                                             ` Måns Rullgård
2015-12-22  0:08                                                                                             ` Måns Rullgård
2015-12-22 10:58                                                                                               ` Andy Shevchenko
2016-01-06 16:26                                                                                                 ` Måns Rullgård
2016-01-06 17:36                                                                                                   ` Andy Shevchenko
2016-01-07  9:34                                                                                                     ` Andy Shevchenko
2016-01-07 18:32                                                                                                       ` Måns Rullgård
2016-01-08  8:57                                                                                                         ` Andy Shevchenko
2016-01-08 10:57                                                                                                           ` Måns Rullgård
2016-01-20 18:50                                                                                                           ` Måns Rullgård
2016-01-20 19:23                                                                                                             ` Andy Shevchenko
2016-01-20 19:24                                                                                                               ` Måns Rullgård
2016-01-20 19:38                                                                                                                 ` Andy Shevchenko
2016-01-20 19:46                                                                                                                   ` Måns Rullgård
2016-01-20 19:51                                                                                                                     ` Andy Shevchenko
2016-01-20 20:07                                                                                                                       ` Måns Rullgård
2016-01-22 10:04                                                                                                                         ` Andy Shevchenko
2016-01-22 11:13                                                                                                                           ` Måns Rullgård
2016-01-22 11:56                                                                                                                             ` Andy Shevchenko
2016-01-22 12:05                                                                                                                               ` Måns Rullgård
2016-01-22 12:15                                                                                                                                 ` Andy Shevchenko
2015-12-21 16:48                                                                                     ` Andy Shevchenko
2015-12-21 17:20                                                                                       ` Julian Margetson
2015-12-21 17:26                                                                                       ` Julian Margetson
2015-12-21 17:55                                                                                         ` Andy Shevchenko
2015-12-21 18:23                                                                                           ` Julian Margetson
2015-12-21 18:27                                                                                             ` Måns Rullgård
2015-12-21 19:08                                                                                               ` Julian Margetson
2015-12-21 19:19                                                                                               ` Julian Margetson
2015-12-21 19:27                                                                                                 ` Måns Rullgård
2015-12-21 19:47                                                                                                   ` Julian Margetson
2015-12-21 20:25                                                                                                 ` Andy Shevchenko
2015-12-21 20:29                                                                                                   ` Julian Margetson
2016-01-22 10:07                                                                                                     ` Andy Shevchenko
2015-12-21 20:33                                                                                                   ` Måns Rullgård
2015-12-21 18:25                                                                                           ` Måns Rullgård
2015-12-21  0:47                                                                                   ` Måns Rullgård
2015-12-21  0:53                                                                                     ` Måns Rullgård
2015-12-21  0:58                                                                                   ` Måns Rullgård
2015-12-21  8:40                                                                                     ` Andy Shevchenko [this message]
2015-12-21 12:15                                                                                       ` Måns Rullgård
2015-12-21 17:24                                                                                         ` Andy Shevchenko
2015-12-21 18:16                                                                                           ` Måns Rullgård
2015-12-21 19:23                                                                                             ` Andy Shevchenko
2015-12-21 19:50                                                                                               ` Måns Rullgård
     [not found]                                                                                       ` <5677D447.40906@candw.ms>
2015-12-21 12:16                                                                                         ` Måns Rullgård
2015-12-21 13:18                                                                                           ` Julian Margetson
2015-12-21 13:24                                                                                             ` Måns Rullgård
2015-12-21 14:40                                                                                               ` Julian Margetson
2015-12-21 15:24                                                                                                 ` Måns Rullgård
2015-12-21 16:44                                                                                                   ` Andy Shevchenko
2015-12-21 18:19                                                                                                     ` Måns Rullgård
2015-12-18 12:33                                 ` Julian Margetson
2015-12-18 12:38                                   ` Andy Shevchenko
2015-12-18 12:45                                   ` Måns Rullgård
     [not found]                                     ` <56740F9F.5020500@candw.ms>
2015-12-18 14:24                                       ` Andy Shevchenko
2015-12-18 14:27                                       ` Måns Rullgård
2015-12-18 10:08                           ` Andy Shevchenko
2015-12-18 11:24                             ` Måns Rullgård
2015-12-17 14:58 ` Andy Shevchenko

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=CAHp75VeT6ZssxiD-c3SqZgAcL5vFuvv4H5AVPz8sypuGkuvqRg@mail.gmail.com \
    --to=andy.shevchenko@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mans@mansr.com \
    --cc=runaway@candw.ms \
    --cc=tj@kernel.org \
    --cc=viresh.linux@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;
as well as URLs for NNTP newsgroup(s).