From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 7AFE282899; Sun, 1 Mar 2026 01:38:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772329133; cv=none; b=USxwkDxCTQDpqpctQGmjO+JujnxUWym4+gKDYIRhH5maLHnridW4ObG9b7MjBQJXl7fsrK0Y/wP4mM91K+ItLRSJ1LTVyXEYv/3+jEPs79ZyZYEx2Xnq2PzG2TPmnjKO39lxnhh9in8VBTdF4hrvFDkeQ6CmcWZLDmstp06uAA8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772329133; c=relaxed/simple; bh=5Xva1eZI0AO3gVorIrL+S1z90S9dZUAjxTLeTe0bEP4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=hHDp3/a/tIli/+JvW2fSXQdSp8zIoJujdTsBEiMnyjD+fZUaVMRQ/7XOltyHh4r6NYh7QKdO2Ssnmd5rBlfTz+dMJGCeedLwnwsxzRB0mfL3C8x/7ghv0afkVe3gNi6mdcpscBS9x9g5gWyhCPrJ2pCgEcShZgwioLACYQlQDlg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LajWTeFG; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LajWTeFG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A9733C19421; Sun, 1 Mar 2026 01:38:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772329133; bh=5Xva1eZI0AO3gVorIrL+S1z90S9dZUAjxTLeTe0bEP4=; h=From:To:Cc:Subject:Date:From; b=LajWTeFGqltiO53poyRKWq7Rt5eUz/n/wUwuiC8EoMMtpTfTT3fHrocSC0yjMVbVV 8DYQskYbKi7VjJjgpRT+N4viFQ5Beh3Ow36cnaigIJkf+a/4JgcjGoPwF5zEcXX2HJ RYuC0743MnfrYhSletlOY3VpNEOPXArr76wgDKqpP41T7jaq5Nj5XsQ8Lj/XVghzt4 zeW2keA3edeg3tX+tZpceW3lLR9HZt9Y+TtzT/LSGsmbT/R9Feh1vuOeQ9ARgYXYq4 xrOMUIefVKCs83vTLHTqHu/EQX8MihN1UNw2DaByng4EJUVWag9h0ryoPU9pqm2Xdr 01l57FD0/smJA== From: Sasha Levin To: stable@vger.kernel.org, rene@exactco.de Cc: stable@kernel.org, Helge Deller , linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: FAILED: Patch "fbdev: ffb: fix corrupted video output on Sun FFB1" failed to apply to 6.6-stable tree Date: Sat, 28 Feb 2026 20:38:51 -0500 Message-ID: <20260301013851.1699649-1-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-fbdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Hint: ignore X-stable: review Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The patch below does not apply to the 6.6-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to . Thanks, Sasha ------------------ original commit in Linus's tree ------------------ >From b28da0d092461ac239ff034a8ac3129320177ba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Rebe?= Date: Thu, 5 Feb 2026 16:49:58 +0100 Subject: [PATCH] fbdev: ffb: fix corrupted video output on Sun FFB1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix Sun FFB1 corrupted video out ([1] and [2]) by disabling overlay and initializing window mode to a known state. The issue never appeared on my FFB2+/vertical nor Elite3D/M6. It could also depend on the PROM version. /SUNW,ffb@1e,0: FFB at 000001fc00000000, type 11, DAC pnum[236c] rev[10] manuf_rev[4] X (II) /dev/fb0: Detected FFB1, Z-buffer, Single-buffered. X (II) /dev/fb0: BT9068 (PAC1) ramdac detected (with normal cursor control) X (II) /dev/fb0: Detected Creator/Creator3D [1] https://www.instagram.com/p/DUTcSmSjSem/ [2] https://chaos.social/@ReneRebe/116023241660154102 Signed-off-by: René Rebe Cc: stable@kernel.org Signed-off-by: Helge Deller --- drivers/video/fbdev/ffb.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/video/fbdev/ffb.c b/drivers/video/fbdev/ffb.c index 34b6abff9493e..da531b4cb4513 100644 --- a/drivers/video/fbdev/ffb.c +++ b/drivers/video/fbdev/ffb.c @@ -335,6 +335,9 @@ struct ffb_dac { }; #define FFB_DAC_UCTRL 0x1001 /* User Control */ +#define FFB_DAC_UCTRL_OVENAB 0x00000008 /* Overlay Enable */ +#define FFB_DAC_UCTRL_WMODE 0x00000030 /* Window Mode */ +#define FFB_DAC_UCTRL_WM_COMB 0x00000000 /* Window Mode = Combined */ #define FFB_DAC_UCTRL_MANREV 0x00000f00 /* 4-bit Manufacturing Revision */ #define FFB_DAC_UCTRL_MANREV_SHIFT 8 #define FFB_DAC_TGEN 0x6000 /* Timing Generator */ @@ -425,7 +428,7 @@ static void ffb_switch_from_graph(struct ffb_par *par) { struct ffb_fbc __iomem *fbc = par->fbc; struct ffb_dac __iomem *dac = par->dac; - unsigned long flags; + unsigned long flags, uctrl; spin_lock_irqsave(&par->lock, flags); FFBWait(par); @@ -450,6 +453,15 @@ static void ffb_switch_from_graph(struct ffb_par *par) upa_writel((FFB_DAC_CUR_CTRL_P0 | FFB_DAC_CUR_CTRL_P1), &dac->value2); + /* Disable overlay and window modes. */ + upa_writel(FFB_DAC_UCTRL, &dac->type); + uctrl = upa_readl(&dac->value); + uctrl &= ~FFB_DAC_UCTRL_WMODE; + uctrl |= FFB_DAC_UCTRL_WM_COMB; + uctrl &= ~FFB_DAC_UCTRL_OVENAB; + upa_writel(FFB_DAC_UCTRL, &dac->type); + upa_writel(uctrl, &dac->value); + spin_unlock_irqrestore(&par->lock, flags); } -- 2.51.0