Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1445712 > unrolled thread

[PATCH 04/10] dmaending: qcom_hidma: configure DMA and MSI for OF

Started bySinan Kaya <okaya@codeaurora.org>
First post2016-07-18 20:50 +0200
Last post2016-07-24 16:50 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 04/10] dmaending: qcom_hidma: configure DMA and MSI for OF Sinan Kaya <okaya@codeaurora.org> - 2016-07-18 20:50 +0200
    Re: [PATCH 04/10] dmaending: qcom_hidma: configure DMA and MSI for OF Vinod Koul <vinod.koul@intel.com> - 2016-07-24 08:30 +0200
      Re: [PATCH 04/10] dmaending: qcom_hidma: configure DMA and MSI for OF Sinan Kaya <okaya@codeaurora.org> - 2016-07-24 16:50 +0200

#1445712 — [PATCH 04/10] dmaending: qcom_hidma: configure DMA and MSI for OF

FromSinan Kaya <okaya@codeaurora.org>
Date2016-07-18 20:50 +0200
Subject[PATCH 04/10] dmaending: qcom_hidma: configure DMA and MSI for OF
Message-ID<rWlM6-1sH-27@gated-at.bofh.it>
Configure the DMA bindings for the device tree based firmware.

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
---
 drivers/dma/qcom/hidma_mgmt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/dma/qcom/hidma_mgmt.c b/drivers/dma/qcom/hidma_mgmt.c
index c0e3653..fb30730 100644
--- a/drivers/dma/qcom/hidma_mgmt.c
+++ b/drivers/dma/qcom/hidma_mgmt.c
@@ -375,8 +375,10 @@ static int __init hidma_mgmt_of_populate_channels(struct device_node *np)
 			ret = -ENODEV;
 			goto out;
 		}
+		of_node_get(child);
+		new_pdev->dev.of_node = child;
 		of_dma_configure(&new_pdev->dev, child);
-
+		of_msi_configure(&new_pdev->dev, child);
 		kfree(res);
 		res = NULL;
 	}
-- 
1.8.2.1

[toc] | [next] | [standalone]


#1449075

FromVinod Koul <vinod.koul@intel.com>
Date2016-07-24 08:30 +0200
Message-ID<rYl5f-4w6-3@gated-at.bofh.it>
In reply to#1445712
On Tue, Jul 19, 2016 at 12:09:31AM +0530, Sinan Kaya wrote:
> Configure the DMA bindings for the device tree based firmware.
> 
> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
> ---
>  drivers/dma/qcom/hidma_mgmt.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/dma/qcom/hidma_mgmt.c b/drivers/dma/qcom/hidma_mgmt.c
> index c0e3653..fb30730 100644
> --- a/drivers/dma/qcom/hidma_mgmt.c
> +++ b/drivers/dma/qcom/hidma_mgmt.c
> @@ -375,8 +375,10 @@ static int __init hidma_mgmt_of_populate_channels(struct device_node *np)
>                         ret = -ENODEV;
>                         goto out;
>                 }
> +               of_node_get(child);
> +               new_pdev->dev.of_node = child;
>                 of_dma_configure(&new_pdev->dev, child);
> -
> +               of_msi_configure(&new_pdev->dev, child);

How would this work on non MSI platforms?

-- 
~Vinod

[toc] | [prev] | [next] | [standalone]


#1449150

FromSinan Kaya <okaya@codeaurora.org>
Date2016-07-24 16:50 +0200
Message-ID<rYsT7-DS-7@gated-at.bofh.it>
In reply to#1449075
On 7/24/2016 2:33 AM, Vinod Koul wrote:
> On Tue, Jul 19, 2016 at 12:09:31AM +0530, Sinan Kaya wrote:
>> Configure the DMA bindings for the device tree based firmware.
>>
>> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
>> ---
>>  drivers/dma/qcom/hidma_mgmt.c | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/dma/qcom/hidma_mgmt.c b/drivers/dma/qcom/hidma_mgmt.c
>> index c0e3653..fb30730 100644
>> --- a/drivers/dma/qcom/hidma_mgmt.c
>> +++ b/drivers/dma/qcom/hidma_mgmt.c
>> @@ -375,8 +375,10 @@ static int __init hidma_mgmt_of_populate_channels(struct device_node *np)
>>                         ret = -ENODEV;
>>                         goto out;
>>                 }
>> +               of_node_get(child);
>> +               new_pdev->dev.of_node = child;
>>                 of_dma_configure(&new_pdev->dev, child);
>> -
>> +               of_msi_configure(&new_pdev->dev, child);
> 
> How would this work on non MSI platforms?
> 

The way it works is MSI on OF platforms relies on an optional msi-parent and msi-cells attribute
present in the device tree firmware. 

If these attributes do not exist, the function bails out. The function would create the MSI bindings
only if the correct attributes are present. 

-- 
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web