From: Julian Margetson <runaway@candw.ms>
To: "Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Måns Rullgård" <mans@mansr.com>
Cc: Tejun Heo <tj@kernel.org>,
linux-ide@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: Thu, 17 Dec 2015 13:57:19 -0400 [thread overview]
Message-ID: <5672F77F.4010306@candw.ms> (raw)
In-Reply-To: <1450371184.30729.175.camel@linux.intel.com>
On 12/17/2015 12:53 PM, Andy Shevchenko wrote:
> On Thu, 2015-12-17 at 16:04 +0000, Måns Rullgård wrote:
>> Andy Shevchenko <andriy.shevchenko@linux.intel.com> writes:
>>
>>> On Thu, 2015-12-17 at 15:13 +0000, Måns Rullgård wrote:
>>>> Andy Shevchenko <andriy.shevchenko@linux.intel.com> writes:
>>>>
>>>>> On Tue, 2015-12-15 at 23:34 +0000, Måns Rullgård wrote:
>>>>>> Mans Rullgard <mans@mansr.com> writes:
>>>>>>
>>>>>>> Currently this driver only works with a DesignWare DMA
>>>>>>> engine
>>>>>>> which it registers manually using the second "reg" address
>>>>>>> range and interrupt number from the DT node.
>>>>>>>
>>>>>>> This patch makes the driver instead use the "dmas" property
>>>>>>> if
>>>>>>> present, otherwise optionally falling back on the old way
>>>>>>> so
>>>>>>> existing device trees can continue to work.
>>>>>>>
>>>>>>> With this change, there is no longer any reason to depend
>>>>>>> on
>>>>>>> the 460EX machine type so drop that from Kconfig.
>>>>>>>
>>>>>>> Signed-off-by: Mans Rullgard <mans@mansr.com>
>>>>>>> ---
>>>>>>> drivers/ata/Kconfig | 10 ++-
>>>>>>> drivers/ata/sata_dwc_460ex.c | 192
>>>>>>> +++++++++++++++++++++++++++--
>>>>>>> --------------
>>>>>>> 2 files changed, 131 insertions(+), 71 deletions(-)
>>>>>> The corresponding patch for the canyonlands devicetree looks
>>>>>> something
>>>>>> like this. I don't have any such hardware or even a manual,
>>>>>> so I
>>>>>> don't
>>>>>> know what values to use for the various required DT
>>>>>> properties of
>>>>>> the
>>>>>> DMA controller node, nor can I test it. The SATA driver
>>>>>> works
>>>>>> with a
>>>>>> different DMA controller on a Sigma Designs chip.
>>>>>>
>>>>>> diff --git a/arch/powerpc/boot/dts/canyonlands.dts
>>>>>> b/arch/powerpc/boot/dts/canyonlands.dts
>>>>>> index 3dc75de..959f36e 100644
>>>>>> --- a/arch/powerpc/boot/dts/canyonlands.dts
>>>>>> +++ b/arch/powerpc/boot/dts/canyonlands.dts
>>>>>> @@ -190,12 +190,22 @@
>>>>>> /* DMA */ 0x2 &UIC0
>>>>>> 0xc
>>>>>> 0x4>;
>>>>>> };
>>>>>>
>>>>>> + DMA0: dma@bffd0800 {
>>>>>> + compatible = "snps,dma-spear1340";
>>>>>> + reg = <4 0xbffd0800 0x400>;
>>>>>> + interrupt-parent = <&UIC3>;
>>>>>> + interrupts = <0x5 0x4>;
>>>>>> + #dma-cells = <3>;
>>>>>> + /* required properties here */
>>>>> You have to move the master assignments and other custom
>>>>> dw_dmac
>>>>> properties. Maybe at some point I will fix that in
>>>>> dw/platform.c.
>>>>>
>>>>>> + };
>>>> The current sata_dwc driver calls dw_dma_probe() with null pdata
>>>> which causes the dw_dma driver to auto-detect most
>>>> parameters. It
>>>> looks like simply omitting those properties here results in the
>>>> same
>>>> thing, although in this case dw_dma_parse_dt() leaves a
>>>> devm-allocated pdata struct adrift. Deferring the allocation of
>>>> that
>>>> and changing the DT binding doc to make these properties optional
>>>> for
>>>> auto-detect-capable hardware should just work.
>>> Yeah, I would like to allow autoconfiguration in case of DT as well
>>> and
>>> translate it to use unified device property API.
>>>
>>>> Something like this:
>>> If it works for you, please, submit as a patch. Thanks.
>> I can't test it since I have no such hardware.
> It's currently broken, last person who seems to have it is
> (was?) Julian Margetson [1]
>
> [1] https://patchwork.ozlabs.org/patch/439850/
>
I have been running my machine mostly configured for pciex1 thus with
the sata_dwc disabled.
The changes to sata_dwc-460ex do cause an oops.
I will try to give more detailed info over this weekend .
next prev parent reply other threads:[~2015-12-17 18:07 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 [this message]
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
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=5672F77F.4010306@candw.ms \
--to=runaway@candw.ms \
--cc=andriy.shevchenko@linux.intel.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mans@mansr.com \
--cc=tj@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).