From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752493AbdKGIwA (ORCPT ); Tue, 7 Nov 2017 03:52:00 -0500 Received: from esa4.microchip.iphmx.com ([68.232.154.123]:44702 "EHLO esa4.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752223AbdKGIv6 (ORCPT ); Tue, 7 Nov 2017 03:51:58 -0500 X-IronPort-AV: E=Sophos;i="5.43,434,1503385200"; d="scan'208";a="8389217" From: Eugen Hristev Subject: Re: [PATCH v2 1/5] dt-bindings: iio: at91-sama5d2_adc: add optional dma property To: Rob Herring CC: Alexandre Belloni , Nicolas Ferre , "linux-iio@vger.kernel.org" , Lars-Peter Clausen , "linux-arm-kernel@lists.infradead.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Ludovic Desroches , Jonathan Cameron References: <1507703732-29175-1-git-send-email-eugen.hristev@microchip.com> <1507703732-29175-2-git-send-email-eugen.hristev@microchip.com> <20171013215142.vlfhzzzetmc7resq@rob-hp-laptop> <20171019111417.7rzdnkvtukzzhl2u@piout.net> Message-ID: <5f171202-6a6a-2055-cb5c-c0c687f60f86@microchip.com> Date: Tue, 7 Nov 2017 10:49:41 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 20.10.2017 00:58, Rob Herring wrote: > On Thu, Oct 19, 2017 at 6:14 AM, Alexandre Belloni > wrote: >> On 13/10/2017 at 16:51:42 -0500, Rob Herring wrote: >>> On Wed, Oct 11, 2017 at 09:35:28AM +0300, Eugen Hristev wrote: >>>> Added property for DMA configuration of the device. >>>> >>>> Signed-off-by: Eugen Hristev >>>> --- >>>> Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt | 7 +++++++ >>>> 1 file changed, 7 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt b/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> index 552e7a8..5f94d479 100644 >>>> --- a/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> +++ b/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> @@ -17,6 +17,11 @@ Required properties: >>>> This property uses the IRQ edge types values: IRQ_TYPE_EDGE_RISING , >>>> IRQ_TYPE_EDGE_FALLING or IRQ_TYPE_EDGE_BOTH >>>> >>>> +Optional properties: >>>> + - dmas: Phandle to dma channel for the ADC. >>>> + See ../../dma/dma.txt for details. >>>> + - dma-names: Must be "rx" when dmas property is being used. >>> >>> -names is pointless when there is only one. >>> >> >> You didn't reply to the question I had previously about that: What if at >> some point, we have multiple dmas in the same binding? > > Then add dma-names at that point and rx has to be first. If you know > there's other channels, then add them now. Don't evolve the bindings > needlessly based on what a driver supports. > > Would another channel make sense here? Maybe multi-channel rx in which > case your naming wouldn't be setup for that. But "tx" on an ADC? > > Rob Hello Rob, I can keep only "dmas" and remove "dma-names", but then, the API used by the drivers that request channels requires a name parameter (dma_request_slave_channel), and it will look always inside the "dma-names" property to match the name and find the proper channel, and it will fail in this case. Looking in the general dma binding (dma.txt) I can see that both properties are marked as required for a client driver, so that's why I added both. I can either keep dma-names; or try to find the channel properties by looking directly into the OF node and create the dma_chan struct inside my driver (maybe call some xlate function for the DMA controller), but still need to get the DT property. A complicated option would be to actually create an API inside the dmaengine to find a channel without name. Which approach you think it's best to pursue ? Thanks, Eugen > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eugen Hristev Subject: Re: [PATCH v2 1/5] dt-bindings: iio: at91-sama5d2_adc: add optional dma property Date: Tue, 7 Nov 2017 10:49:41 +0200 Message-ID: <5f171202-6a6a-2055-cb5c-c0c687f60f86@microchip.com> References: <1507703732-29175-1-git-send-email-eugen.hristev@microchip.com> <1507703732-29175-2-git-send-email-eugen.hristev@microchip.com> <20171013215142.vlfhzzzetmc7resq@rob-hp-laptop> <20171019111417.7rzdnkvtukzzhl2u@piout.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-iio-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Rob Herring Cc: Alexandre Belloni , Nicolas Ferre , "linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Lars-Peter Clausen , "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" , "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Ludovic Desroches , Jonathan Cameron List-Id: devicetree@vger.kernel.org On 20.10.2017 00:58, Rob Herring wrote: > On Thu, Oct 19, 2017 at 6:14 AM, Alexandre Belloni > wrote: >> On 13/10/2017 at 16:51:42 -0500, Rob Herring wrote: >>> On Wed, Oct 11, 2017 at 09:35:28AM +0300, Eugen Hristev wrote: >>>> Added property for DMA configuration of the device. >>>> >>>> Signed-off-by: Eugen Hristev >>>> --- >>>> Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt | 7 +++++++ >>>> 1 file changed, 7 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt b/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> index 552e7a8..5f94d479 100644 >>>> --- a/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> +++ b/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> @@ -17,6 +17,11 @@ Required properties: >>>> This property uses the IRQ edge types values: IRQ_TYPE_EDGE_RISING , >>>> IRQ_TYPE_EDGE_FALLING or IRQ_TYPE_EDGE_BOTH >>>> >>>> +Optional properties: >>>> + - dmas: Phandle to dma channel for the ADC. >>>> + See ../../dma/dma.txt for details. >>>> + - dma-names: Must be "rx" when dmas property is being used. >>> >>> -names is pointless when there is only one. >>> >> >> You didn't reply to the question I had previously about that: What if at >> some point, we have multiple dmas in the same binding? > > Then add dma-names at that point and rx has to be first. If you know > there's other channels, then add them now. Don't evolve the bindings > needlessly based on what a driver supports. > > Would another channel make sense here? Maybe multi-channel rx in which > case your naming wouldn't be setup for that. But "tx" on an ADC? > > Rob Hello Rob, I can keep only "dmas" and remove "dma-names", but then, the API used by the drivers that request channels requires a name parameter (dma_request_slave_channel), and it will look always inside the "dma-names" property to match the name and find the proper channel, and it will fail in this case. Looking in the general dma binding (dma.txt) I can see that both properties are marked as required for a client driver, so that's why I added both. I can either keep dma-names; or try to find the channel properties by looking directly into the OF node and create the dma_chan struct inside my driver (maybe call some xlate function for the DMA controller), but still need to get the DT property. A complicated option would be to actually create an API inside the dmaengine to find a channel without name. Which approach you think it's best to pursue ? Thanks, Eugen > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Eugen Hristev Subject: Re: [PATCH v2 1/5] dt-bindings: iio: at91-sama5d2_adc: add optional dma property To: Rob Herring CC: Alexandre Belloni , Nicolas Ferre , "linux-iio@vger.kernel.org" , Lars-Peter Clausen , "linux-arm-kernel@lists.infradead.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Ludovic Desroches , Jonathan Cameron References: <1507703732-29175-1-git-send-email-eugen.hristev@microchip.com> <1507703732-29175-2-git-send-email-eugen.hristev@microchip.com> <20171013215142.vlfhzzzetmc7resq@rob-hp-laptop> <20171019111417.7rzdnkvtukzzhl2u@piout.net> Message-ID: <5f171202-6a6a-2055-cb5c-c0c687f60f86@microchip.com> Date: Tue, 7 Nov 2017 10:49:41 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed List-ID: On 20.10.2017 00:58, Rob Herring wrote: > On Thu, Oct 19, 2017 at 6:14 AM, Alexandre Belloni > wrote: >> On 13/10/2017 at 16:51:42 -0500, Rob Herring wrote: >>> On Wed, Oct 11, 2017 at 09:35:28AM +0300, Eugen Hristev wrote: >>>> Added property for DMA configuration of the device. >>>> >>>> Signed-off-by: Eugen Hristev >>>> --- >>>> Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt | 7 +++++++ >>>> 1 file changed, 7 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt b/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> index 552e7a8..5f94d479 100644 >>>> --- a/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> +++ b/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> @@ -17,6 +17,11 @@ Required properties: >>>> This property uses the IRQ edge types values: IRQ_TYPE_EDGE_RISING , >>>> IRQ_TYPE_EDGE_FALLING or IRQ_TYPE_EDGE_BOTH >>>> >>>> +Optional properties: >>>> + - dmas: Phandle to dma channel for the ADC. >>>> + See ../../dma/dma.txt for details. >>>> + - dma-names: Must be "rx" when dmas property is being used. >>> >>> -names is pointless when there is only one. >>> >> >> You didn't reply to the question I had previously about that: What if at >> some point, we have multiple dmas in the same binding? > > Then add dma-names at that point and rx has to be first. If you know > there's other channels, then add them now. Don't evolve the bindings > needlessly based on what a driver supports. > > Would another channel make sense here? Maybe multi-channel rx in which > case your naming wouldn't be setup for that. But "tx" on an ADC? > > Rob Hello Rob, I can keep only "dmas" and remove "dma-names", but then, the API used by the drivers that request channels requires a name parameter (dma_request_slave_channel), and it will look always inside the "dma-names" property to match the name and find the proper channel, and it will fail in this case. Looking in the general dma binding (dma.txt) I can see that both properties are marked as required for a client driver, so that's why I added both. I can either keep dma-names; or try to find the channel properties by looking directly into the OF node and create the dma_chan struct inside my driver (maybe call some xlate function for the DMA controller), but still need to get the DT property. A complicated option would be to actually create an API inside the dmaengine to find a channel without name. Which approach you think it's best to pursue ? Thanks, Eugen > From mboxrd@z Thu Jan 1 00:00:00 1970 From: eugen.hristev@microchip.com (Eugen Hristev) Date: Tue, 7 Nov 2017 10:49:41 +0200 Subject: [PATCH v2 1/5] dt-bindings: iio: at91-sama5d2_adc: add optional dma property In-Reply-To: References: <1507703732-29175-1-git-send-email-eugen.hristev@microchip.com> <1507703732-29175-2-git-send-email-eugen.hristev@microchip.com> <20171013215142.vlfhzzzetmc7resq@rob-hp-laptop> <20171019111417.7rzdnkvtukzzhl2u@piout.net> Message-ID: <5f171202-6a6a-2055-cb5c-c0c687f60f86@microchip.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 20.10.2017 00:58, Rob Herring wrote: > On Thu, Oct 19, 2017 at 6:14 AM, Alexandre Belloni > wrote: >> On 13/10/2017 at 16:51:42 -0500, Rob Herring wrote: >>> On Wed, Oct 11, 2017 at 09:35:28AM +0300, Eugen Hristev wrote: >>>> Added property for DMA configuration of the device. >>>> >>>> Signed-off-by: Eugen Hristev >>>> --- >>>> Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt | 7 +++++++ >>>> 1 file changed, 7 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt b/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> index 552e7a8..5f94d479 100644 >>>> --- a/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> +++ b/Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt >>>> @@ -17,6 +17,11 @@ Required properties: >>>> This property uses the IRQ edge types values: IRQ_TYPE_EDGE_RISING , >>>> IRQ_TYPE_EDGE_FALLING or IRQ_TYPE_EDGE_BOTH >>>> >>>> +Optional properties: >>>> + - dmas: Phandle to dma channel for the ADC. >>>> + See ../../dma/dma.txt for details. >>>> + - dma-names: Must be "rx" when dmas property is being used. >>> >>> -names is pointless when there is only one. >>> >> >> You didn't reply to the question I had previously about that: What if at >> some point, we have multiple dmas in the same binding? > > Then add dma-names at that point and rx has to be first. If you know > there's other channels, then add them now. Don't evolve the bindings > needlessly based on what a driver supports. > > Would another channel make sense here? Maybe multi-channel rx in which > case your naming wouldn't be setup for that. But "tx" on an ADC? > > Rob Hello Rob, I can keep only "dmas" and remove "dma-names", but then, the API used by the drivers that request channels requires a name parameter (dma_request_slave_channel), and it will look always inside the "dma-names" property to match the name and find the proper channel, and it will fail in this case. Looking in the general dma binding (dma.txt) I can see that both properties are marked as required for a client driver, so that's why I added both. I can either keep dma-names; or try to find the channel properties by looking directly into the OF node and create the dma_chan struct inside my driver (maybe call some xlate function for the DMA controller), but still need to get the DT property. A complicated option would be to actually create an API inside the dmaengine to find a channel without name. Which approach you think it's best to pursue ? Thanks, Eugen >