From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 5D7673D0939 for ; Mon, 3 Aug 2026 16:11:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785773483; cv=none; b=UrL+SR7uJ0OCN0wbbIRVzrNGmh+U6MXY9GimoSAyI2BHwaDYLyDB74E5oTq3/uJK63qLBBlzbDRI3k3PCcB91kgkvgsN1zqtwpS95SmpVLpQNaQxHJnxhtk/L35gItRKsmIW3v6eQfqYkyZak7v/3hLiZEKaYTwgM+Z6vfaZ67Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785773483; c=relaxed/simple; bh=80mgdYTJk4Rz9CLE9ia/R7HWxlTEEHYwqY28O878r2M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nvXNZVPwqti5lZx2Sh/wImD24NCKup59adKQycMuzSlmBOXpitFZCLA/xZIh+jTd7hIOlX0TX44iT9eBX63HXY3InNI0ifBXF3zwZSsX0nP3JRwiHqNNKRmpc+Nd7bTFicwBO1w9BNCweLjx8fNYTdTzsnCJvCXKmgnm7s3Hm+0= 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=DP+tOnP3; arc=none smtp.client-ip=209.85.128.48 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="DP+tOnP3" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-490cf322ed0so12695605e9.1 for ; Mon, 03 Aug 2026 09:11:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785773478; x=1786378278; 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=R8mU3xQ3VaqFI9TKErwKoPI9PJbEs0xdMOgJUVHqdkY=; b=DP+tOnP3thpjd41RsVX8PR0o+w6192zf+fRV8LxoN+63qblBIjAur92Q8KD5W5Ujbg Y5uheZvE3/37JJTk5xNuT+BPaldwC/14OS7f9Vd9ZUJqJUCPh51w2g3DBBuhtqr9skSS 8xk6fbNrW6GeG6+slgd9CQ4Z9t+6nWU6AZsbud0qJ0+w4jwKf0lo+GNnDa28Xd+bAsHE eBi0SORGpYYK6Z3xfCpgmbRe+NMQ3TqX6pBABt/Z4qUR6Xpb6I0HTEC8gS0haFS2C7UI 0oEocnq8V0EYwiNiAOv4o/Y4od0Y6P/rbhLHmx2FfxzA/Y5sMAMWefm3zGK/Hy1lwUiM IbtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785773478; x=1786378278; 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=R8mU3xQ3VaqFI9TKErwKoPI9PJbEs0xdMOgJUVHqdkY=; b=B6SOOakdY+xvvegsKbBjYzYva8NyVz1knXIRbqnJ33bUd8sCyx1dawtjDVva1b8HBG Eutg+wAECqbjTMBW1BI8bAjzIsR12pTHxWUPssgdOWLS+NdUkEdYooXpJVTTBgiKcYbh 0CvAMshAthBkylxF4DzzltN3WqyIz/nP8Jj5y6SiEyCBEmGbOZw6wREhDZyCKnLwYEk6 QkA9GxTopfGzHVXNvMIZ5SWT6wxcZgL/Ap4PmOZyK2avyqq8LI7WmpMgLB97e+4m0EGe YQkzdq1gdPbrkJ44H81Mry03dQV/jovphbPSxA6XWvOuWKTVThr8Qqa5Yw8rCYf5KvDr mftg== X-Forwarded-Encrypted: i=1; AHgh+RpxAR3j87PxoLtJWH5gU8mhqUGqVGLMcoLr6vQgcPxkTaeqPxmwrsM2ac4jTuyltFFSIb3iwZUK4ZCjSmQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzeKO4jpay70AbxtLQ882U+am1YiT90rID+JyAgeQM5dwbfkrfZ weEVlHO8F6KgPtBWIZuU0m+e+YPbgRHNn8pWrknwyS7Qkrj8b2A3vMTP X-Gm-Gg: AR+sD13CUwZpwYVSE8szX2sSnCdX9gQu53nbBy2eDYI97cIhU9s8Iil4hqhLPCAKp/O me/jszrBUiIBbQ9pHD24dexM5H4n6bSHDJ+uzi0SjcrSwnDfPeC+/9YbZXPgkMsqMMk0bZ7/sa+ +GpRqq28/H4UYzK3fDyXvPXnxAqAjpdKCXOEAzbr+m97ZICUr2X7cF2ExTMtfrnXONjJtXk6ryF h3VaDDfc274ltUrRKm8SaVHB1KX2LNaBaq6ec+YmBLgaNfOvumB9Wc6nXVCDjz3kNSoWMQ70tHt djBQAwBe9DTTLuNlVS+3dFBO+rjpebHSrCrpf7/J98+QbYGyuvT7FymIX7qMVvhiY3ygOEtu3X4 85ksIaSOKAz2rALLtMb7uO0z5Kz4kJrhzPGNgJX2de3jebWY9fiyK79bbv74l7mUOLQeZxtEvd5 zHq+u6+wkOLR8jG3CcVD0/71eTqxDdJ+N5T6CeJt7uJWObQcPxzoVMB6D5lb4vvarId39fCwPrZ 7mCWFJzwt4MMtbZ2OTucL9qXQPVEBoYvSDDWdB7dAR+8zxCqh5GwZAt9Kab+4mC3nWQtSZeVDtI RyJGobznrzRmkEwWG2RkwGOO9Kx+Wo0dkWQ/2LTquSIdp9kVMkVN3zbIscdd7h4TNyucAOz4f20 ZYrvpkLlSrt96rNb1f01LwoUb+FxY6xZRPX9XWBjX5JS/N3xK8tqsWdTD88mjX/ghbawCNRCPGo 2hug== X-Received: by 2002:a05:600c:8b43:b0:496:c93d:35d9 with SMTP id 5b1f17b1804b1-4980c66b45emr202147415e9.6.1785773478485; Mon, 03 Aug 2026 09:11:18 -0700 (PDT) Received: from jernej-laptop (APN-122-100-117-gprs.simobil.net. [46.122.100.117]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49949fc2da2sm3363735e9.3.2026.08.03.09.11.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 09:11:18 -0700 (PDT) From: Jernej Skrabec To: wens@kernel.org Cc: maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, samuel@sholland.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Jernej Skrabec Subject: [PATCH 03/13] drm/sun4i: vi scaler: Restore opaque alpha in video modes Date: Mon, 3 Aug 2026 18:10:41 +0200 Message-ID: X-Mailer: git-send-email 2.55.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 The DE3 mixer initialization clears the entire mixer register space. This also clears VSU_GLOBAL_ALPHA, despite its hardware reset value being 0xff. The VI scaler uses Video Normal mode for subsampled YUV formats. In this mode, VSU_GLOBAL_ALPHA provides the scaler output alpha. Leaving the register at zero causes the scaler to produce fully transparent output. Set VSU_GLOBAL_ALPHA to 0xff whenever configuring a DE3 or newer VI scaler. The register is ignored in UI scaling mode. Fixes: c50519e6db4d ("drm/sun4i: Add basic support for DE3") Signed-off-by: Jernej Skrabec --- drivers/gpu/drm/sun4i/sun8i_vi_scaler.c | 2 ++ drivers/gpu/drm/sun4i/sun8i_vi_scaler.h | 1 + 2 files changed, 3 insertions(+) diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_scaler.c b/drivers/gpu/drm/sun4i/sun8i_vi_scaler.c index d4412a62c2f0..a5cc99981006 100644 --- a/drivers/gpu/drm/sun4i/sun8i_vi_scaler.c +++ b/drivers/gpu/drm/sun4i/sun8i_vi_scaler.c @@ -975,6 +975,8 @@ void sun8i_vi_scaler_setup(struct sun8i_layer *layer, regmap_write(layer->regs, SUN50I_SCALER_VSU_SCALE_MODE(base), val); + regmap_write(layer->regs, + SUN50I_SCALER_VSU_GLB_ALPHA(base), 0xff); } regmap_write(layer->regs, diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_scaler.h b/drivers/gpu/drm/sun4i/sun8i_vi_scaler.h index 245fe2f431c3..d89c0cbe188d 100644 --- a/drivers/gpu/drm/sun4i/sun8i_vi_scaler.h +++ b/drivers/gpu/drm/sun4i/sun8i_vi_scaler.h @@ -36,6 +36,7 @@ #define SUN50I_SCALER_VSU_EDSCL_CTRL(base) ((base) + 0x28) #define SUN50I_SCALER_VSU_ANGLE_THR(base) ((base) + 0x2c) #define SUN8I_SCALER_VSU_OUTSIZE(base) ((base) + 0x40) +#define SUN50I_SCALER_VSU_GLB_ALPHA(base) ((base) + 0x44) #define SUN8I_SCALER_VSU_YINSIZE(base) ((base) + 0x80) #define SUN8I_SCALER_VSU_YHSTEP(base) ((base) + 0x88) #define SUN8I_SCALER_VSU_YVSTEP(base) ((base) + 0x8c) -- 2.43.0