mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 22:14:03 +02:00
drm/sun4i: vi scaler: Restore opaque alpha in video modes
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: c50519e6db ("drm/sun4i: Add basic support for DE3")
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Acked-by: Chen-Yu Tsai <wens@kernel.org>
Link: https://patch.msgid.link/c48ba85b9e4478d51afde4f36839fd1c1d363b23.1785772659.git.jernej.skrabec@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
This commit is contained in:
parent
5c31990b21
commit
583d99165a
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user