Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752856AbcDOQok (ORCPT ); Fri, 15 Apr 2016 12:44:40 -0400 Received: from mail-pf0-f172.google.com ([209.85.192.172]:33979 "EHLO mail-pf0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751285AbcDOQoi (ORCPT ); Fri, 15 Apr 2016 12:44:38 -0400 Date: Fri, 15 Apr 2016 09:44:33 -0700 From: Bjorn Andersson To: Timur Tabi Cc: Vikram Sethi , Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, sdharia@codeaurora.org, Shanker Donthineni , Greg Kroah-Hartman , cov@codeaurora.org, gavidov@codeaurora.org, Rob Herring , andrew@lunn.ch, Mark Langsdorf , Jon Masters , Andy Gross , "David S. Miller" Subject: Re: [PATCH 1/2] [v4] net: emac: emac gigabit ethernet controller driver Message-ID: <20160415164433.GV391@tuxbot> References: <1460570393-19838-1-git-send-email-timur@codeaurora.org> <570EC541.6080603@gmail.com> <570FFB6B.5060305@codeaurora.org> <57100962.40404@gmail.com> <571012E6.6050303@codeaurora.org> <57102920.7000104@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <57102920.7000104@codeaurora.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 816 Lines: 32 On Thu 14 Apr 16:34 PDT 2016, Timur Tabi wrote: [..] > So I think the solution is to create a device tree (and ACPI) property that > holds the mask. > > dma-mask = <0 0xffffffff>; > > or > > dma-mask = <0xffffffff 0xffffffff>; > > The driver will then do this: > > u64 dma_mask; > device_property_read_u64(&pdev->dev, "dma-mask", &dma_mask); > dma_coerce_mask_and_coherent(&pdev->dev, dma_mask); > > What I'm not sure yet is whether I should call > dma_coerce_mask_and_coherent() or dma_set_coherent_mask(). > For platform devices being populated via from DT you will pass: of_platform_bus_create() of_platform_device_create_pdata() of_dma_configure() Which calls of_dma_get_range() to acquire this information from the dma-ranges property and set up the dma ops and properties. Regards, Bjorn