From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8357239FCB4 for ; Mon, 27 Jul 2026 15:28:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785166109; cv=none; b=mE4OGW/QN920ydHZkK1BnPj6zVefF46nYhsjhLMf5HxExT0I/ZoA47LWBe9Z0ZAGSIBIVOqxjIB6mH6uy54AEaezMFzI5C1iOeKsPyFuVZyOZJrbgvoOIWHwCp7wi3DtpiEL7NPkIqTQvLx4NxSN0DwBR1/e7OimfcRqcsdmRD4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785166109; c=relaxed/simple; bh=76VGOP8n4t1uATRv7JEXEvCZZEp2JCp64DwiBO6/LHQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FDVx63ybPgqLu6o/afI/n2s35YYoVGNCVCxq61UyoRbeg4ouQ/uSLEtt6gLU55ASldqdn6HD6/D41xQV5z2t0+dud8EGlhGdeAOkHVn9spFECZAUz/nWci2+NGfUZpIy99WhfyyQubSgJKEtl8eQEr2ejEOwQBPMwIMs2Ug+S/Q= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dehsP0Lj; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dehsP0Lj" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-47f84023916so2848942f8f.3 for ; Mon, 27 Jul 2026 08:28:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785166106; x=1785770906; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=TtyCVpfIwq8dbOfs0FyryLYRFkfiNQaZ8V8GbCjDPSQ=; b=dehsP0LjSAxt5IaimvUK5pDsT1WwSySygZ6Sh5WDW1juOdQkhnnbaEk+VgmXlPRuhN EA4bETBJD25arRjGMFWWRubWM4eHNg5kyoFbo26XI6N1Q/8ckLYvr0vnPqWXTVTMvTrn YBp0jovLzJAmVMScZO1ftNgRXI90zqFphBJIr8oDVhmqrKSrv10oNPlkhEboJ6ezBe1O /WdfoFsABZWsRN/VUL+UzOz90w+0cdJQG+rKpQVSLp4ITfl1CPECWMuyzGtHN6hxjeZ9 jESPM414d1jIpX7UZ/0vtDNxtnphEzhVwwFjKrt6raevOD8dQBqTIShc8N3UZxPxft7d IrXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785166106; x=1785770906; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=TtyCVpfIwq8dbOfs0FyryLYRFkfiNQaZ8V8GbCjDPSQ=; b=OUI/Z17oItQzlErFCqcJ+SK+7Iz9HQ0LAjM5Y1mNiweQc02TLWdkFPcJKYDTIKD9Jk 5BuCs4J1F/0mQ+HaGmy1UrvSY29dznA+/Xs9d8QdUuGBBiaDgaNKG3lVocy9/asG2nOl L8uj1ijsleM5k6pp38kegnUefQMUUzsPWLmaexMRnLN22jNjtXROCJ5RTRrSfeR/iCiI LKzsdtfwevibCMVDewVXSVkO0bqaRplOvNi4yZg1xoleo50D1Jx638qn3JJi4ueq4i3o w3hbmt7BSlbJyQ5xJ3RpdVI/8yPHzuOC3ibBra3/m8iRPe1pqyIktT9SWIay60lgkpxj F0sQ== X-Forwarded-Encrypted: i=1; AHgh+RoS9Vz6KG3M7WHYRac0J2Vt2uLis7vgfoKTiDv0XpM1qjdXU6i8LT+N2U7eEhDL1uXjMXXlAORKiF5nLt8=@vger.kernel.org X-Gm-Message-State: AOJu0Yxh4siGF+Dx270sZ3sQ6FtqS2KdAIu3pPQx97X0L8fTrB6D54mN F5TwCBxgm3ugK3d/Y9bBfHKHpCqktaaFYzwuy6cIHstJdp8AKJq6rEoW5fb0mxGI X-Gm-Gg: AR+sD10/M1HkAXfNJV8J5IiQCq8u0URvKPZ/n67xiLi+7vCMVTTNyLfuN9hdswBkXg8 XXFuN7L6zvmcty/JxU3g/3P+NdUKCfRXkF+sewUuZm21FM/ym+Sc6OcuDkH/tYDqFlzNE8sozE+ RqU5O7DAfP5bWoFQaGMBxefXhTqBZbsKJLLL2uGIAosR8E8HByd0BzDfsNHp0xKHLILXXDb5J9z DmFZ4zr0HgI5icyxJkhsZkYq2ejxCxhmAJkeXRVOGLrBku3nYtXPUbHIY7VCjm/QfnQGm5A03gt WCXaD6zI6iq1MTC1mPkSdlGFy2gk1udgMwM19iGND4qgOOyTtTbJxikMniZfbRbiVSEfNM+iaBj 1fDlKUJNAmW1x5Lh5wLYxQhRGK/lsQwbuf/rbYtAzv1nc+xEKgrETqk872pUWHbzw/vKFvsUTK2 2NrJwT3VI= X-Received: by 2002:a05:600c:8b52:b0:493:c2cc:aecb with SMTP id 5b1f17b1804b1-496b570fc3cmr122540755e9.38.1785166105587; Mon, 27 Jul 2026 08:28:25 -0700 (PDT) Received: from fra-x8664.lan ([151.16.232.22]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4957b816ef8sm214838735e9.1.2026.07.27.08.28.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2026 08:28:24 -0700 (PDT) From: Francesco Magazzu To: Lyude Paul , Danilo Krummrich Cc: dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, Karol Herbst Subject: [PATCH 1/2] drm/nouveau/clk: don't ignore RAM clock programming errors in nvkm_pstate_prog Date: Mon, 27 Jul 2026 17:28:20 +0200 Message-ID: <20260727152821.128432-2-postadelmaga@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260727152821.128432-1-postadelmaga@gmail.com> References: <20260727152821.128432-1-postadelmaga@gmail.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 The RAM reclock loop discards its own return value: once the do-while exits, ram->func->tidy() runs and the function falls straight into nvkm_cstate_prog(), whose result becomes the return value regardless of whether ram->func->calc()/prog() failed. A negative ret from RAM programming is silently dropped, so a failed memory clock transition is never reported and the core clock still gets reprogrammed on top of it. Return the RAM error (after tidy() has still run) instead of falling through to the core clock path. Found by Sashiko AI review (https://sashiko.dev) while reviewing "[PATCH v2 2/4] drm/nouveau/clk: don't use the pstate cursor after the loop" (20260712123616.1180830-1-postadelmaga@gmail.com) as a pre-existing issue. Signed-off-by: Francesco Magazzu --- nvkm/subdev/clk/base.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nvkm/subdev/clk/base.c b/nvkm/subdev/clk/base.c index 44dc86b..737bec8 100644 --- a/nvkm/subdev/clk/base.c +++ b/nvkm/subdev/clk/base.c @@ -298,6 +298,8 @@ nvkm_pstate_prog(struct nvkm_clk *clk, int pstatei) ret = ram->func->prog(ram); } while (ret > 0); ram->func->tidy(ram); + if (ret < 0) + return ret; } return nvkm_cstate_prog(clk, pstate, NVKM_CLK_CSTATE_HIGHEST); -- 2.55.0