Received: by 2002:a05:7412:8d09:b0:fa:4c10:6cad with SMTP id bj9csp642638rdb; Tue, 16 Jan 2024 11:06:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IFvqC6TarHHFVfK6cv61Ob+2cPWXO4BkwmpLyKQK4Nw6Bi6jowtEQtLSZm8zibJFZpFRx6g X-Received: by 2002:a05:6512:1582:b0:50e:e2e0:9fe6 with SMTP id bp2-20020a056512158200b0050ee2e09fe6mr4318959lfb.16.1705431962716; Tue, 16 Jan 2024 11:06:02 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705431962; cv=pass; d=google.com; s=arc-20160816; b=bhoHgArW2A5olJYACQXzIcPvJitoSGPq+fuyWiUG8z1iRL/H1SehtsfM2t7bYFj0QZ TOhIW4l1ykKJ7ZEuOTIPFTQwU4kiN7WhxYWlCzV2UtDb9hiExuGWa9WOKRwOm4j6klpN BkNzWh99ruQ+DIwIRAgv81xUIkPr2zHZemahqUsC8RcODeBH/Ij9RbLxEFAWgLGeMoWU 6H+lu+an10TdxvDudiLdKIIw3KF3N2VuUZe6G+vj5rgs+8j0ADShVrst08qnkhDDNF9u b79hTWhkKm0IG0eens85y+QEbEvm9NgyIHtJpk+kYhNBYGmdGPzG2uvTuCclH3WUrDpq PqtQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:date :subject:cc:to:from:message-id:dkim-signature; bh=eU+5dXg85Q+B81rY0M0vNH6+0V5kiwkRjQQOQ1SSHXM=; fh=e7yIHoOPCP4L/gwY7XFpJW9cNrSHGbmYRQJFiuRDhVI=; b=YI7onl68f5m+XuLsyM7j/VxuN8yPqwOIYkTNIc/Oo/bk0amGDTiFNUe7PJx06YbyVj eN9l0K/W7rSjIy46BgmHH2SIj6s41w72TC+3TRNTILQmS3ES5ZGS6mzbl52U2+Fqlc9B KmaLG6MaVFWo24BxzJevRz3lECag1oraXiVxBvyiuTZ/ftn5EPmckOh1cHaichPRStwh hBtDvzKOH77bjTtiy2CtQBbs6xMi3p8yb4ucmS5RYXwiZahkaN3UrB+eTWtHRapC6w82 3Ox228jw7RFFb02zFpB2s9cZtqOaMmWujwIEhwl17mvr+ZxYOm7Gi4gBTQvd2ZzocXQJ R9yQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@qq.com header.s=s201512 header.b=XUo49PwV; arc=pass (i=1 dkim=pass dkdomain=qq.com); spf=pass (google.com: domain of linux-kernel+bounces-27723-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-27723-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id a5-20020a1709063e8500b00a2a8b469164si5014559ejj.1034.2024.01.16.11.06.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jan 2024 11:06:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-27723-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@qq.com header.s=s201512 header.b=XUo49PwV; arc=pass (i=1 dkim=pass dkdomain=qq.com); spf=pass (google.com: domain of linux-kernel+bounces-27723-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-27723-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id ADBD41F2572E for ; Tue, 16 Jan 2024 18:59:40 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 51F711CF9B; Tue, 16 Jan 2024 18:59:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b="XUo49PwV" Received: from out203-205-221-231.mail.qq.com (out203-205-221-231.mail.qq.com [203.205.221.231]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4025A1CF96 for ; Tue, 16 Jan 2024 18:59:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=cyyself.name Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=cyyself.name Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.205.221.231 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705431572; cv=none; b=c9bHHkKMGmWeLuZXs7JFflZN4ArPxloCd3kLHIDGrkoSrpuWJHGekJwq6P5Kr6nxcfPYhl19khUrDTa5PfQWGTm9QkNc4i8UoG23kvaZRBYYRERdx0Cexpm4vFCRCVHUpYFUv7A2wHNbk3lwG0LA9dXTI/ux9zuXiPv17XLOwFQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705431572; c=relaxed/simple; bh=gkyZzKo67p/K4XJ/v/j2QoEZUBgFvMHFIhSYARSxsVc=; h=DKIM-Signature:Received:X-QQ-mid:Message-ID:X-QQ-XMAILINFO: X-QQ-XMRINFO:From:To:Cc:Subject:Date:X-OQ-MSGID:X-Mailer: In-Reply-To:References:MIME-Version:Content-Transfer-Encoding; b=hOgtp/C2P7fTPqEAoeLi7SVQpSyB9LlyYIN3qxwWx46iRL8+TZ88kt+YanR+hCT7ZomLbmGcZ2SBfVhM4HlMAx6Ner8/aLePz+IOg1PhNwbphiCGf4a6m+qemeVrrRxocM7uQkv9uL5pqSS+tjSheneOHVR4LMRFJWhN3pKMZUs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b=XUo49PwV; arc=none smtp.client-ip=203.205.221.231 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1705431560; bh=eU+5dXg85Q+B81rY0M0vNH6+0V5kiwkRjQQOQ1SSHXM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=XUo49PwVC2aBRTKCtYmWtuep2mOnv8c3Hx9NgRkfNbqppcO5iIew7q53je3XRlpnE RWUFmATSVQFgb+9t1FQUUHJ2eSQ8CB9qb1Ud+fv/pjfDF433YFkvK2mStqVzceMpLE 4ep8PJLFCKEp6ppdEirygVeQCQoiisXpWpqXGJXk= Received: from cyy-pc.lan ([218.70.255.58]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id CB393AE5; Wed, 17 Jan 2024 02:50:51 +0800 X-QQ-mid: xmsmtpt1705431051t62kvvjaw Message-ID: X-QQ-XMAILINFO: OXUTDCKaRCI/pPaxgHCPsD+M4r1SEnCJrBxnBy7Ka/EB+lId5sgWUrLuwKK82z /DpM7g9jLXDIjKq4ic6w2U8cnSgaZgQgrYb+9su1bhY+dbfzG0zYXESNcnTxko0ApvwdfRG1pcjf +hvgdXiwdZtqNOYNSqPkexn4cIR81SX/ApJ/48521J7hjEDdtKfF4lkmSxSR+Gq3hiNxOsOoZBT8 nIWsYd2E2F/1s1vooCMFYkt96jL1WB3tU6LKmu5Z5LTTTLAC6OSPzZ0Y4WpbYxnAIvQIAqoiyOct I4H/t6hiSolUPfnJUsPc8sG+ER9DptBzHe/2rhDdqzLkAtaoqy7POSaxaiK5NoRNChMpzXqAXU1r u6tmaxQxMI+ZRFoINfnp/hITYqMYlLib9LsKrXd2BFl8RnpOBG7/RT4XNnHDE5k4KjhRyujVTMz+ i/4txcNwwEIXau5hg/XMa+bcZZskdMGHhGPB6Zd2d3HwXcqmZbz8ygtNwdf020KkAVeOlHUpvGgM rVpX0LAC49wdYnaLwyOwpT1cscby9faywQkKF+O4ymZiIoUVICqsb0LEKEXrps1ZsuJIbHBPbUac dcP5YNl1ed+pdbZx/gRWmlAGTfTaIvxgiI719hQs0UkFileTmc21cyjjNysxShQbulWEX0Xq+tDM auxhwKDVuelidp1XwYt3obbD06gnQidmxBIyYvcNZgeYh+OWphcGJeC7SgVtUkxKj5Qw0kW9+XfO axSKgpE7swGSaDKt93e2qCrXQ56GMlERPbbYnqI3wPxp8QhuUAQ5t75ik0dODp68ReRaC9tOchqr BOZqKhy11+QlAHWHL7f6CUSTOCxbVhqYlTPj2OxXadCaVfvjow/vnptWHfKEdjsfDF4DE4SY3Jfx Q/fSGLf0pVG4fzfWTkl0DxAxr7EMjF3ubCW2wKqOmG0vW43tQOtZDk85vUhJOafjCrtZWwfWZ7az /UjHugQO3+2o8Vg4TsIeaZoRU+7TrFEAVyrkQNbXPhS00PgfK7P1k58cqqKGegZcIrhsgLM4Q= X-QQ-XMRINFO: Nq+8W0+stu50PRdwbJxPCL0= From: Yangyu Chen To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, Christian Koenig , Huang Rui , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Jiuyang Liu , Yichuan Gao , Icenowy Zheng , Yangyu Chen Subject: [PATCH v2 1/1] drm/ttm: allocate dummy_read_page without DMA32 on fail Date: Wed, 17 Jan 2024 02:50:34 +0800 X-OQ-MSGID: <20240116185034.175354-1-cyy@cyyself.name> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Some platforms may not have any memory in ZONE_DMA32 and use IOMMU to allow 32-bit-DMA-only device to work. Forcing GFP_DMA32 on dummy_read_page will fail on such platforms. Retry after fail will get this works on such platforms. Signed-off-by: Yangyu Chen --- drivers/gpu/drm/ttm/ttm_device.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c index d48b39132b32..c9fa8561f71f 100644 --- a/drivers/gpu/drm/ttm/ttm_device.c +++ b/drivers/gpu/drm/ttm/ttm_device.c @@ -95,11 +95,17 @@ static int ttm_global_init(void) ttm_pool_mgr_init(num_pages); ttm_tt_mgr_init(num_pages, num_dma32); - glob->dummy_read_page = alloc_page(__GFP_ZERO | GFP_DMA32); + glob->dummy_read_page = alloc_page(__GFP_ZERO | GFP_DMA32 | + __GFP_NOWARN); + /* Retry without GFP_DMA32 for platforms DMA32 is not available */ if (unlikely(glob->dummy_read_page == NULL)) { - ret = -ENOMEM; - goto out; + glob->dummy_read_page = alloc_page(__GFP_ZERO); + if (unlikely(glob->dummy_read_page == NULL)) { + ret = -ENOMEM; + goto out; + } + pr_warn("Using GFP_DMA32 fallback for dummy_read_page\n"); } INIT_LIST_HEAD(&glob->device_list); -- 2.43.0