From nobody Sat Apr 19 14:02:31 2025 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZftcX4DG1z5sxTw for ; Sat, 19 Apr 2025 14:02:36 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qt1-x834.google.com (mail-qt1-x834.google.com [IPv6:2607:f8b0:4864:20::834]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZftcX0z9kz3Hqs for ; Sat, 19 Apr 2025 14:02:36 +0000 (UTC) (envelope-from markjdb@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qt1-x834.google.com with SMTP id d75a77b69052e-47677b77725so29553611cf.3 for ; Sat, 19 Apr 2025 07:02:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745071354; x=1745676154; darn=freebsd.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=ciMPkgyjX+cLP93eA4QEneSrKP2psFCxqnUVow0M/oo=; b=AKl1/4W3q/IxOX0mcwx0D2zaK/jPBNdfRfR/hPgB4pf5kBNDQzRB788rP9Y0NGhfyd 135Of89IUbKKU/mNLGUo2s2GYgzmDbin+Mgn0xdBJ+qew5dqFt38OLra167NiZhyJMAc GtJBqBRnn9Zo7njD601oTXFlc0zhlMeukre0QN7n+kMn12z6tGHR4xid6P5mTcfZwtmR OJ1RKcn92S7R7WzMdA4clt3mV76pgQpFyUVQsLzdUXDcLFsKby1086q9N/A0yXeyM0cx +9CFUWbEa67m1a4MgXntrxlfkQAZrVuzGRgR2WItOqNQiGoBEh5Ie60ayOy8cwmPenWq ETcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745071354; x=1745676154; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:sender:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=ciMPkgyjX+cLP93eA4QEneSrKP2psFCxqnUVow0M/oo=; b=n5GIXFi0yRuH9+MEzBVTancqmWDCcA1CFgobTliW5RpVTvmrfQ51ShOAAqvq1SY4xD uhnu5z6e1s9gXNyZd2MU92o4c/zy3Ek6MR6Lod5VURZool6EDvCzJAVJ+LR0Y3bbRwIw D/MQuUYLSteAD+MbAjBUmB+Zc0LmN3TpukFyN+e1C06KjHBV39+vlTRJCk6gfIKghg4/ IiwrOLKH4KhDL/t+c0/J7qeXvfypLu0aRKT1dSVZyH2AY2pQ7GVJb0X9dKZCnZiEtjJy /sVnO8dLvMZT9Nw/KoJeSHDADnBqAAVyxb7qSXjXSadCvezfLXFGR4HOKamAehbo1XSx ubsg== X-Gm-Message-State: AOJu0YyF0Q6EIKEfefbL/5N3clkLwWrEBUfOuzyYKtsgPfkJ1GIv0xyT JSblbiDY9ZG+7C/+fse0Sy21zxprBFBCexFm7uvLlOESSAWRlBlGQYorNVzr X-Gm-Gg: ASbGnctiw5v7gY03uVfjv1ZgH24GTNw2GKd3YkgqnHwmLb3BZBwyNymA88pwS6u8DMH 4ZK1jlZqCl39Ctqc2Pmlw0iSVRmOzArM+SQI3FA8QXHOKi3b/oJmKkjYJnvDC2CEK87zQ2oHp8f vl4Be98og+5bZytfZOnWfbeCp7UhilxzqyiezLARTxQHFGAyvRaSCumZDKGuWfC9pawvrtNLmlw 4g9xxI44rMbngP8wm8351QhS5g1OO/nvT4QFKLv7O5rlYsKU6ou+ezCDgnNA87v8Is8xXVhvmLT obSi47AoyLDP+QjVWfHs8BJu7oj4mWgXGyuHHzYRRXzBD4MYQSygAUMRAQpcKsSXIw== X-Google-Smtp-Source: AGHT+IG6x3Amxb4VC8S6lKNXZwkb+sAdmwxdttZs7VwPPVJtm/bvTvgpLU7vYWazSsW/Q42Upc2M7w== X-Received: by 2002:ac8:7f8e:0:b0:477:6f4a:adb9 with SMTP id d75a77b69052e-47aec350b40mr101792971cf.5.1745071354025; Sat, 19 Apr 2025 07:02:34 -0700 (PDT) Received: from nuc (192-0-220-237.cpe.teksavvy.com. [192.0.220.237]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-47ae9c16df4sm21530651cf.1.2025.04.19.07.02.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Apr 2025 07:02:33 -0700 (PDT) Date: Sat, 19 Apr 2025 10:02:31 -0400 From: Mark Johnston To: current@freebsd.org Subject: Re: graphics/drm-61-kmod build failure for main-n276560-83dcc133c876 Message-ID: References: List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4ZftcX0z9kz3Hqs X-Spamd-Bar: ---- On Sat, Apr 19, 2025 at 06:06:59AM -0700, David Wolfskill wrote: > Running: > FreeBSD g1-118.catwhisker.org 15.0-CURRENT FreeBSD 15.0-CURRENT #445 main-n276537-7121e9414f29: Fri Apr 18 12:36:30 UTC 2025 root@g1-120.catwhisker.org:/common/S4/obj/usr/src/amd64.amd64/sys/CANARY amd64 > > after updating sources to main-n276560-83dcc133c876, with a ports tree > at main-n703265-33b43edfb65d, I find: > > ... > --- i915_gem_mman.o --- > /common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers/gpu/drm/i915/gem/i915_gem_mman.c:171:77: error: call to undeclared function 'vm_page_next'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] > 171 | for (vm_page_t page = vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) { > | ^ > /common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers/gpu/drm/i915/gem/i915_gem_mman.c:171:75: error: incompatible integer to pointer conversion assigning to 'vm_page_t' (aka 'struct vm_page *') from 'int' [-Wint-conversion] > 171 | for (vm_page_t page = vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) { > | ^ ~~~~~~~~~~~~~~~~~~ > 2 errors generated. > *** [i915_gem_mman.o] Error code 1 > > make[1]: stopped making "all" in /common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/i915 > make[1]: 1 error > [end of excerpt from typescript -- dhw] > > This is using METAMODE (as I've done for ages, now); unfortunately: > > .ERROR_TARGET='all' > .ERROR_META_FILE='' > .MAKE.LEVEL='2' > MAKEFILE='' > > so not much to be gained there (that I can see). Something like the following diff is needed. It needs to be built against the latest main, where __FreeBSD_version is bumped. diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c index 2a9946c7d0..f61eeefe7a 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c @@ -34,6 +34,7 @@ #include #include #include +#include #endif #ifdef __linux__ /* Mute unused function warning. */ @@ -168,9 +169,16 @@ i915_gem_mmap_ioctl(struct drm_device *dev, void *data, if ((rv == KERN_SUCCESS) && (args->flags & I915_MMAP_WC)) { VM_OBJECT_WLOCK(vmobj); if (vm_object_set_memattr(vmobj, VM_MEMATTR_WRITE_COMBINING) != KERN_SUCCESS) { - for (vm_page_t page = vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) { +#if __FreeBSD_version >= 1500038 + struct pctrie_iter pages; + vm_page_t page; + + vm_page_iter_init(&pages, vmobj); + VM_RADIX_FORALL(page, &pages) +#else + for (vm_page_t page = vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) +#endif pmap_page_set_memattr(page, VM_MEMATTR_WRITE_COMBINING); - } } VM_OBJECT_WUNLOCK(vmobj); }