From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 5BBCB42EEBE for ; Thu, 13 Aug 2026 20:48:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786654111; cv=none; b=aR2KRekwLEg5fQYvIf5uqXeYpwRZuvouxZ8gxiI2ytBhnawfIpzvFL4gH9NVP3rZXIgV0+Mz5NNJnfMq2PbhJ9+WC4/jRK0RFNFU5wP2uGXX+u60Ifxb/7TWTh3PaFItPNz+lXoXc2yOqWadzbX4k5kXna4gDsG5v5sG+9BowKw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786654111; c=relaxed/simple; bh=fVAqIJZajjmSjwwB9NIcPFSjCWXIwQhcW2C8p/ZJIwI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nuXotgqv88/0QNPjvE8Pzo+gNGrwceHoWG3CyIXjD3CgKZcylKdl3TDTlTbaa/t8BwKfezB4ZMz6eTd9aY/5RKSw9B8JTiF9TCERPwju6dl/KvWzZ3hyBelVMARKFomgSeRPsIGFg21NnPWUjBVGe49hb07a/frgpqEozLF30mU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=NZrm701G; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="NZrm701G" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1786654106; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5Vrk3PlFsrHnHDBdU/h3yMx32mf+J1iZRQWJGUt9qu0=; b=NZrm701GFJTFKRzrrYzIAwT5+m/Lncoy3Lmqrpq28TWVqQxHOfulGDBWptl9zW+L4nd4fJ NfwutubMskTrnLHD3JqpjTaT/4qjsrQSwXDyPC9tRa5opOv8zW19NubvI3k7bXpbMXbCfN dczLWW1SVhS2v/NBPABAZcXlYQcM5rU= Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-125-YMIbWggxNi64jYhrMW-U9A-1; Thu, 13 Aug 2026 16:48:21 -0400 X-MC-Unique: YMIbWggxNi64jYhrMW-U9A-1 X-Mimecast-MFC-AGG-ID: YMIbWggxNi64jYhrMW-U9A_1786654099 Received: from mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.95]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D19AF18002C4; Thu, 13 Aug 2026 20:48:19 +0000 (UTC) Received: from GoldenWind.redhat.com (unknown [10.22.80.207]) by mx-prod-int-10.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 8065D427; Thu, 13 Aug 2026 20:48:18 +0000 (UTC) From: Lyude Paul To: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, nouveau@lists.freedesktop.org Cc: "Maarten Lankhorst" , "Simona Vetter" , "David Airlie" , "Thomas Zimmermann" , "Maxime Ripard" , "Danilo Krummrich" , "Lyude Paul" Subject: [PATCH RESEND v7 5/5] drm/nouveau/kms/nv50-: Enable atomic modesetting by default Date: Thu, 13 Aug 2026 16:46:51 -0400 Message-ID: <20260813204803.2097176-6-lyude@redhat.com> In-Reply-To: <20260813204803.2097176-1-lyude@redhat.com> References: <20260813204803.2097176-1-lyude@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.6 on 10.30.177.95 Nouveau is one of the very few modern hardware drivers in the kernel that doesn't have atomic modesetting enabled by default, in part because when it was originally written by Ben there wasn't much in the way of good atomic modesetting clients to actually test things out with. Nowadays however, atomic modesetting is very much the norm - and support in userspace for non-atomic drivers is starting to bitrot a bit - leading to its own set of issues. At the same time, many of those issues are fixed by just turning on atomic in nouveau. Plus, I've been running nouveau with atomic modesetting on by default for most of the machines I work on, and I've already fixed quite a number of issues to the point where things seem quite stable (excluding a single screen flashing bug on my desktop, which I am not particularly convinced has anything to do with atomic modesetting). Now that we've protected against breaking things for chipsets where atomic isn't supported ( --- V7: * Re-add patch hunk that changes the default value of nouveau_atomic, it got dropped somehow? * Correct nouveau_atomic check so we don't spit out errors on old hardware by default. drivers/gpu/drm/nouveau/nouveau_drm.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 82a8061e6d3e2..b0f9fb10a74dd 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -103,8 +103,9 @@ MODULE_PARM_DESC(modeset, "enable driver (default: auto, " int nouveau_modeset = -1; module_param_named(modeset, nouveau_modeset, int, 0400); -MODULE_PARM_DESC(atomic, "Expose atomic ioctl (default: disabled)"); -static int nouveau_atomic = 0; +MODULE_PARM_DESC(atomic, "Expose atomic ioctl (default: auto, " + "0 = disabled, 1 = enabled)"); +static int nouveau_atomic = -1; module_param_named(atomic, nouveau_atomic, int, 0400); MODULE_PARM_DESC(runpm, "disable (0), force enable (1), optimus only default (-1)"); @@ -745,7 +746,7 @@ nouveau_drm_device_new(struct device *parent, struct nvkm_device *device) else driver = &driver_legacy_kms; } else { - if (nouveau_atomic) + if (nouveau_atomic == 1) dev_warn(parent, "Atomic modesetting not supported (needs nv50+)\n"); driver = &driver_legacy_kms; -- 2.55.0