From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8F0C4C433ED for ; Fri, 9 Apr 2021 08:10:07 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 3E326611AB for ; Fri, 9 Apr 2021 08:10:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3E326611AB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id C40746B006C; Fri, 9 Apr 2021 04:10:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BDBD56B006E; Fri, 9 Apr 2021 04:10:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A42476B0070; Fri, 9 Apr 2021 04:10:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0080.hostedemail.com [216.40.44.80]) by kanga.kvack.org (Postfix) with ESMTP id 85F946B006C for ; Fri, 9 Apr 2021 04:10:06 -0400 (EDT) Received: from smtpin37.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 4817C182811D2 for ; Fri, 9 Apr 2021 08:10:06 +0000 (UTC) X-FDA: 78012105612.37.8F10FBC Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by imf16.hostedemail.com (Postfix) with ESMTP id 452CE80192C0 for ; Fri, 9 Apr 2021 08:10:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1617955805; 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=InCSkLuX659ZxZqQWQNuFW4W8e9ZF2UnGpHtnkr8EWim+/BxxljkhrLKcbf64BSr/czk+T ZLWYL32heKLWC6YI57anVSvha0i0MvNhIWgN6Kq+AxHo2w1qVUULPS0WTIdHWDz0a2mPla IKkjQ+X4xCpxO707oD1k9u91JCJ7c10= 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 X-Rspamd-Queue-Id: 452CE80192C0 X-Stat-Signature: uakthr6o1cd91bs1itt8qm18958tsirk X-Rspamd-Server: rspam02 Received-SPF: none (redhat.com>: No applicable sender policy available) receiver=imf16; identity=mailfrom; envelope-from=""; helo=us-smtp-delivery-124.mimecast.com; client-ip=63.128.21.124 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1617955805-216129 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: 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