Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1158590pxf; Fri, 9 Apr 2021 01:13:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzw6PZo5Ei9Bhd+b5a9bazUAb/2ZW9wx+rpyFBsoi3BDXmJ28r/+fOou+PLFp844e7/2py4 X-Received: by 2002:a17:906:2a50:: with SMTP id k16mr14615475eje.537.1617956001037; Fri, 09 Apr 2021 01:13:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617956001; cv=none; d=google.com; s=arc-20160816; b=mQ3G7XsfPYU1QNH+jfBv96fpppGR4k6o7FWu5pO4rh26v3NFOkxRDFlkHazRRWwe3c PEOI9FPj9ztz7oSiQd8Sr5UueeIhYBNJ3zi99yvsiLbiByebVsMk0suW8sl6tBO2HGfY L2rHJnOP1c4hw23j97Ghp/l3P1F0b73RiyHOZNKN2JRA5Al7Ld9IxH7MOPNBy+wD9WZ6 Z8yLoYpqXVzpmLS34npnuC3L6q0mmvIjiaJEEJbcKbK7cAbshswepyrO6p1Tq8xZn6IS N2QbSX6wKs/n3qyIjWaKH0mO26ammrHsQG2yaKeVsn3j6U5RwynOsbFOiO+YqymELfah Ym1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:organization :from:references:cc:to:subject:dkim-signature; bh=0CK2pH4tMSS36srqXiWiXDwOybdtTZO1Syr9BWG62Vc=; b=qauerrlU3Q3G87dkinpUs08vDaeY0CxUFgFImd+joc7QUjxx9TtoN43BdBn7uy495n aZsS0vMFI8gdrpfbE6oEEmcTqzGvp3GHsg6Yt67dGSo0UntKM0rB59dw/vaIRXAEU5it iDSTBtxkmLUub7xPGLvlJmpExapjOmT47xmNBm0O2gIQ6ibuS+E8btcnBBsJQuzdyDZY Y/LbjyOgKL+qNVKCLPHsTThcqyBuDUp6i+X24OwuPYXLMEuM5RJMn9NbM6wjxHu2cI48 VK1fa8RypmvIXJDrKORfsfL4bZtiDItm1n1v+tYVi5gU4/65MgtspWPadthxCddsb11B 35vw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=F3ueDW85; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h16si1778080ede.206.2021.04.09.01.12.57; Fri, 09 Apr 2021 01:13:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=F3ueDW85; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232372AbhDIIKR (ORCPT + 99 others); Fri, 9 Apr 2021 04:10:17 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:44606 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232331AbhDIIKP (ORCPT ); Fri, 9 Apr 2021 04:10:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1617955803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0CK2pH4tMSS36srqXiWiXDwOybdtTZO1Syr9BWG62Vc=; b=F3ueDW85TNCW2aZdVleOdvrmVdrjdYqaxKHzc0CO4mLwgsCV5auxR2c54clHYUOfZVVoMV 0yNPbcby9tUzJCFWQE81mUxb8otwvU0HujVDZu+meEd/Q2C2JfYBb9bVw2O0jebeH+pzgx SaN/VpP/zhEDI1ekm/KGec2CdwKWvug= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-586-RZ0ZAZfyOVWdvZcWXExmQA-1; Fri, 09 Apr 2021 04:10:01 -0400 X-MC-Unique: RZ0ZAZfyOVWdvZcWXExmQA-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 77CF783DD2E; Fri, 9 Apr 2021 08:09:58 +0000 (UTC) Received: from [10.36.115.11] (ovpn-115-11.ams2.redhat.com [10.36.115.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id E145319811; Fri, 9 Apr 2021 08:09:52 +0000 (UTC) Subject: Re: [PATCH v1 2/2] drivers/gpu/drm: don't select DMA_CMA or CMA from aspeed or etnaviv To: Arnd Bergmann Cc: Linus Walleij , Linux Kernel Mailing List , Linux-MM , Joel Stanley , David Airlie , Daniel Vetter , Andrew Jeffery , Lucas Stach , Russell King , Christian Gmeiner , Mike Rapoport , Bartlomiej Zolnierkiewicz , Michal Simek , Masahiro Yamada , Randy Dunlap , Peter Collingbourne , linux-aspeed , dri-devel , Linux ARM , The etnaviv authors , Linux Fbdev development list References: <20210408092011.52763-1-david@redhat.com> <20210408092011.52763-3-david@redhat.com> <7496ac87-9676-1b4e-3444-c2a662ec376b@redhat.com> <3a2d64a7-8425-8daf-17ee-95b9f0c635f9@redhat.com> <2ef3b65c-c0ef-7bbe-0e05-39ee8f2bae48@redhat.com> From: David Hildenbrand Organization: Red Hat GmbH Message-ID: Date: Fri, 9 Apr 2021 10:09:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08.04.21 22:29, Arnd Bergmann wrote: > On Thu, Apr 8, 2021 at 6:45 PM David Hildenbrand wrote: >> On 08.04.21 14:49, Linus Walleij wrote: >>> On Thu, Apr 8, 2021 at 2:01 PM David Hildenbrand wrote: >>> >>>>> This is something you could do using a hidden helper symbol like >>>>> >>>>> config DRMA_ASPEED_GFX >>>>> bool "Aspeed display driver" >>>>> select DRM_WANT_CMA >>>>> >>>>> config DRM_WANT_CMA >>>>> bool >>>>> help >>>>> Select this from any driver that benefits from CMA being enabled >>>>> >>>>> config DMA_CMA >>>>> bool "Use CMA helpers for DRM" >>>>> default DRM_WANT_CMA >>>>> >>>>> Arnd >>>>> >>>> >>>> That's precisely what I had first, with an additional "WANT_CMA" -- but >>>> looking at the number of such existing options (I was able to spot 1 !) >>> >>> If you do this it probably makes sense to fix a few other drivers >>> Kconfig in the process. It's not just a problem with your driver. >>> "my" drivers: >>> >> >> :) I actually wanted to convert them to "depends on DMA_CMA" but ran >> into recursive dependencies ... >> >>> drivers/gpu/drm/mcde/Kconfig >>> drivers/gpu/drm/pl111/Kconfig >>> drivers/gpu/drm/tve200/Kconfig > > Right, this is the main problem caused by using 'select' to > force-enable symbols that other drivers depend on. > > Usually, the answer is to be consistent about the use of 'select' > and 'depends on', using the former only to enable symbols that > are hidden, while using 'depends on' for anything that is an > actual build time dependency. > >> I was assuming these are "real" dependencies. Will it also work without >> DMA_CMA? > > I think in this case, it is fairly likely to work without DMA_CMA when the > probe function gets called during a fresh boot, but fairly likely to fail if > it gets called after the system has run for long enough to fragment the > free memory. > > The point of DMA_CMA is to make it work reliably. Right, and even at runtime there is no guarantee that DMA_CMA will do anything -- especially if we don't reserve a CMA region (e.g., "cma=X"). So this really sounds like a "desires DMA_CMA" and achieving that via an additional symbol or via "default y if ..." for DMA_CMA sounds reasonable. Thanks! -- Thanks, David / dhildenb