diff options
Diffstat (limited to 'drivers/gpu/drm/vc4/vc4_plane.c')
-rw-r--r-- | drivers/gpu/drm/vc4/vc4_plane.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c index 515f97997624..61ad955645a5 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c | |||
@@ -85,47 +85,46 @@ static const struct hvs_format { | |||
85 | u32 drm; /* DRM_FORMAT_* */ | 85 | u32 drm; /* DRM_FORMAT_* */ |
86 | u32 hvs; /* HVS_FORMAT_* */ | 86 | u32 hvs; /* HVS_FORMAT_* */ |
87 | u32 pixel_order; | 87 | u32 pixel_order; |
88 | bool has_alpha; | ||
89 | } hvs_formats[] = { | 88 | } hvs_formats[] = { |
90 | { | 89 | { |
91 | .drm = DRM_FORMAT_XRGB8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888, | 90 | .drm = DRM_FORMAT_XRGB8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888, |
92 | .pixel_order = HVS_PIXEL_ORDER_ABGR, .has_alpha = false, | 91 | .pixel_order = HVS_PIXEL_ORDER_ABGR, |
93 | }, | 92 | }, |
94 | { | 93 | { |
95 | .drm = DRM_FORMAT_ARGB8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888, | 94 | .drm = DRM_FORMAT_ARGB8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888, |
96 | .pixel_order = HVS_PIXEL_ORDER_ABGR, .has_alpha = true, | 95 | .pixel_order = HVS_PIXEL_ORDER_ABGR, |
97 | }, | 96 | }, |
98 | { | 97 | { |
99 | .drm = DRM_FORMAT_ABGR8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888, | 98 | .drm = DRM_FORMAT_ABGR8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888, |
100 | .pixel_order = HVS_PIXEL_ORDER_ARGB, .has_alpha = true, | 99 | .pixel_order = HVS_PIXEL_ORDER_ARGB, |
101 | }, | 100 | }, |
102 | { | 101 | { |
103 | .drm = DRM_FORMAT_XBGR8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888, | 102 | .drm = DRM_FORMAT_XBGR8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888, |
104 | .pixel_order = HVS_PIXEL_ORDER_ARGB, .has_alpha = false, | 103 | .pixel_order = HVS_PIXEL_ORDER_ARGB, |
105 | }, | 104 | }, |
106 | { | 105 | { |
107 | .drm = DRM_FORMAT_RGB565, .hvs = HVS_PIXEL_FORMAT_RGB565, | 106 | .drm = DRM_FORMAT_RGB565, .hvs = HVS_PIXEL_FORMAT_RGB565, |
108 | .pixel_order = HVS_PIXEL_ORDER_XRGB, .has_alpha = false, | 107 | .pixel_order = HVS_PIXEL_ORDER_XRGB, |
109 | }, | 108 | }, |
110 | { | 109 | { |
111 | .drm = DRM_FORMAT_BGR565, .hvs = HVS_PIXEL_FORMAT_RGB565, | 110 | .drm = DRM_FORMAT_BGR565, .hvs = HVS_PIXEL_FORMAT_RGB565, |
112 | .pixel_order = HVS_PIXEL_ORDER_XBGR, .has_alpha = false, | 111 | .pixel_order = HVS_PIXEL_ORDER_XBGR, |
113 | }, | 112 | }, |
114 | { | 113 | { |
115 | .drm = DRM_FORMAT_ARGB1555, .hvs = HVS_PIXEL_FORMAT_RGBA5551, | 114 | .drm = DRM_FORMAT_ARGB1555, .hvs = HVS_PIXEL_FORMAT_RGBA5551, |
116 | .pixel_order = HVS_PIXEL_ORDER_ABGR, .has_alpha = true, | 115 | .pixel_order = HVS_PIXEL_ORDER_ABGR, |
117 | }, | 116 | }, |
118 | { | 117 | { |
119 | .drm = DRM_FORMAT_XRGB1555, .hvs = HVS_PIXEL_FORMAT_RGBA5551, | 118 | .drm = DRM_FORMAT_XRGB1555, .hvs = HVS_PIXEL_FORMAT_RGBA5551, |
120 | .pixel_order = HVS_PIXEL_ORDER_ABGR, .has_alpha = false, | 119 | .pixel_order = HVS_PIXEL_ORDER_ABGR, |
121 | }, | 120 | }, |
122 | { | 121 | { |
123 | .drm = DRM_FORMAT_RGB888, .hvs = HVS_PIXEL_FORMAT_RGB888, | 122 | .drm = DRM_FORMAT_RGB888, .hvs = HVS_PIXEL_FORMAT_RGB888, |
124 | .pixel_order = HVS_PIXEL_ORDER_XRGB, .has_alpha = false, | 123 | .pixel_order = HVS_PIXEL_ORDER_XRGB, |
125 | }, | 124 | }, |
126 | { | 125 | { |
127 | .drm = DRM_FORMAT_BGR888, .hvs = HVS_PIXEL_FORMAT_RGB888, | 126 | .drm = DRM_FORMAT_BGR888, .hvs = HVS_PIXEL_FORMAT_RGB888, |
128 | .pixel_order = HVS_PIXEL_ORDER_XBGR, .has_alpha = false, | 127 | .pixel_order = HVS_PIXEL_ORDER_XBGR, |
129 | }, | 128 | }, |
130 | { | 129 | { |
131 | .drm = DRM_FORMAT_YUV422, | 130 | .drm = DRM_FORMAT_YUV422, |
@@ -622,7 +621,7 @@ static int vc4_plane_mode_set(struct drm_plane *plane, | |||
622 | /* Position Word 2: Source Image Size, Alpha Mode */ | 621 | /* Position Word 2: Source Image Size, Alpha Mode */ |
623 | vc4_state->pos2_offset = vc4_state->dlist_count; | 622 | vc4_state->pos2_offset = vc4_state->dlist_count; |
624 | vc4_dlist_write(vc4_state, | 623 | vc4_dlist_write(vc4_state, |
625 | VC4_SET_FIELD(format->has_alpha ? | 624 | VC4_SET_FIELD(fb->format->has_alpha ? |
626 | SCALER_POS2_ALPHA_MODE_PIPELINE : | 625 | SCALER_POS2_ALPHA_MODE_PIPELINE : |
627 | SCALER_POS2_ALPHA_MODE_FIXED, | 626 | SCALER_POS2_ALPHA_MODE_FIXED, |
628 | SCALER_POS2_ALPHA_MODE) | | 627 | SCALER_POS2_ALPHA_MODE) | |