Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933272AbbD2QQS (ORCPT ); Wed, 29 Apr 2015 12:16:18 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:60301 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753702AbbD2QQQ (ORCPT ); Wed, 29 Apr 2015 12:16:16 -0400 From: Arnd Bergmann To: linaro-acpi@lists.linaro.org Cc: Al Stone , "Suthikulpanit, Suravee" , "catalin.marinas@arm.com" , "rjw@rjwysocki.net" , "linux-kernel@vger.kernel.org" , "will.deacon@arm.com" , "linux-acpi@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "lenb@kernel.org" Subject: Re: [Linaro-acpi] [PATCH 2/2] ACPI / scan: Parse _CCA and setup device coherency Date: Wed, 29 Apr 2015 18:15:40 +0200 Message-ID: <2718230.tGqneBjFr2@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <5540FB2D.4080905@linaro.org> References: <5540FB2D.4080905@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:8dVCNKdoPg5axaxo1dLAHMKsB2lBR7UFMga2pEJyhJKgJBs7ssw T2oSkki43z4+3VvYfEeHPUWzwdOIDUu7crhtROrjSS/kxOhcGs3aRsWYVxBiBV690CULP15 Pi5olfk+00hddl3dOCjYKTDuF0JYbFmLlISKvRbsSxhUixIUjfP5bICdAUv5H7BvOPXFEDf S1m8xj8pE+h6GK1pwnXlw== X-UI-Out-Filterresults: notjunk:1; Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1382 Lines: 27 On Wednesday 29 April 2015 09:39:25 Al Stone wrote: > > When the spec was being changed for _CCA, it was determined by the ASWG > that there was no reasonable default -- either choice would break something. > Multiple OSs, SoC vendors, and platform vendors were asked. So, the spec > says for ARMv8, _CCA must be specified when needed and is not assumed to have > any value. Obviously, any OS can choose to behave differently, but that's > what was specified and why it was specified that way. Ok, so it was essentially a CYA strategy. As we know that for Linux we're only interested in server parts here, but we also want to be compliant, I'd still argue that we check the property value and just disallow DMA for any device that is lacking CCA or contains zero here. The current patch actually implements non-standard behavior: if _CCA is missing, it registers the device as dma-capable with coherency turned off, where my interpretation of the cited standard would be that we treat a missing _CCA as not being able to perform DMA. What I'd like to see instead is to only enable DMA support if _CCA is present and enabled. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/