OpenWrt – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | From 641b88e2572a66be56c2c1d5aae9acd38d8c6932 Mon Sep 17 00:00:00 2001 |
2 | From: Stefan Schake <stschake@gmail.com> |
||
3 | Date: Fri, 9 Mar 2018 01:53:34 +0100 |
||
4 | Subject: [PATCH 344/454] drm/vc4: Set premultiplied for alpha formats |
||
5 | |||
6 | commit 05202c241f1476d8e2b30bb2699f6780962972e8 upstream. |
||
7 | |||
8 | Alpha formats in DRM are assumed to be premultiplied, so we should be |
||
9 | setting the PREMULT bit in the plane configuration for HVS. |
||
10 | |||
11 | Changes from v1: |
||
12 | - Use correct has_alpha |
||
13 | |||
14 | Signed-off-by: Stefan Schake <stschake@gmail.com> |
||
15 | Signed-off-by: Eric Anholt <eric@anholt.net> |
||
16 | Reviewed-by: Eric Anholt <eric@anholt.net> |
||
17 | Link: https://patchwork.freedesktop.org/patch/msgid/1520556817-97297-2-git-send-email-stschake@gmail.com |
||
18 | --- |
||
19 | drivers/gpu/drm/vc4/vc4_plane.c | 3 ++- |
||
20 | drivers/gpu/drm/vc4/vc4_regs.h | 1 + |
||
21 | 2 files changed, 3 insertions(+), 1 deletion(-) |
||
22 | |||
23 | --- a/drivers/gpu/drm/vc4/vc4_plane.c |
||
24 | +++ b/drivers/gpu/drm/vc4/vc4_plane.c |
||
25 | @@ -621,13 +621,14 @@ static int vc4_plane_mode_set(struct drm |
||
26 | SCALER_POS1_SCL_HEIGHT)); |
||
27 | } |
||
28 | |||
29 | - /* Position Word 2: Source Image Size, Alpha Mode */ |
||
30 | + /* Position Word 2: Source Image Size, Alpha */ |
||
31 | vc4_state->pos2_offset = vc4_state->dlist_count; |
||
32 | vc4_dlist_write(vc4_state, |
||
33 | VC4_SET_FIELD(format->has_alpha ? |
||
34 | SCALER_POS2_ALPHA_MODE_PIPELINE : |
||
35 | SCALER_POS2_ALPHA_MODE_FIXED, |
||
36 | SCALER_POS2_ALPHA_MODE) | |
||
37 | + (format->has_alpha ? SCALER_POS2_ALPHA_PREMULT : 0) | |
||
38 | VC4_SET_FIELD(vc4_state->src_w[0], SCALER_POS2_WIDTH) | |
||
39 | VC4_SET_FIELD(vc4_state->src_h[0], SCALER_POS2_HEIGHT)); |
||
40 | |||
41 | --- a/drivers/gpu/drm/vc4/vc4_regs.h |
||
42 | +++ b/drivers/gpu/drm/vc4/vc4_regs.h |
||
43 | @@ -877,6 +877,7 @@ enum hvs_pixel_format { |
||
44 | #define SCALER_POS2_ALPHA_MODE_FIXED 1 |
||
45 | #define SCALER_POS2_ALPHA_MODE_FIXED_NONZERO 2 |
||
46 | #define SCALER_POS2_ALPHA_MODE_FIXED_OVER_0x07 3 |
||
47 | +#define SCALER_POS2_ALPHA_PREMULT BIT(29) |
||
48 | |||
49 | #define SCALER_POS2_HEIGHT_MASK VC4_MASK(27, 16) |
||
50 | #define SCALER_POS2_HEIGHT_SHIFT 16 |