aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/dispnv04
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2013-11-15 11:26:44 -0500
committerBen Skeggs <bskeggs@redhat.com>2014-01-22 22:38:27 -0500
commit7ffb078172d6906c4712914321c551d4f595875f (patch)
tree38848aaadcc97a3c3b15c65d8623a2aa50101f63 /drivers/gpu/drm/nouveau/dispnv04
parenta554090664728384c94b027ba15bc7df87f9ac09 (diff)
drm/nv10/plane: add YUYV support
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/dispnv04')
-rw-r--r--drivers/gpu/drm/nouveau/dispnv04/overlay.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/nouveau/dispnv04/overlay.c b/drivers/gpu/drm/nouveau/dispnv04/overlay.c
index 32e7064b819b..ba40c7be3787 100644
--- a/drivers/gpu/drm/nouveau/dispnv04/overlay.c
+++ b/drivers/gpu/drm/nouveau/dispnv04/overlay.c
@@ -58,6 +58,7 @@ struct nouveau_plane {
58}; 58};
59 59
60static uint32_t formats[] = { 60static uint32_t formats[] = {
61 DRM_FORMAT_YUYV,
61 DRM_FORMAT_UYVY, 62 DRM_FORMAT_UYVY,
62 DRM_FORMAT_NV12, 63 DRM_FORMAT_NV12,
63}; 64};
@@ -140,10 +141,10 @@ nv10_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
140 nv_wr32(dev, NV_PVIDEO_POINT_OUT(flip), crtc_y << 16 | crtc_x); 141 nv_wr32(dev, NV_PVIDEO_POINT_OUT(flip), crtc_y << 16 | crtc_x);
141 nv_wr32(dev, NV_PVIDEO_SIZE_OUT(flip), crtc_h << 16 | crtc_w); 142 nv_wr32(dev, NV_PVIDEO_SIZE_OUT(flip), crtc_h << 16 | crtc_w);
142 143
143 if (fb->pixel_format == DRM_FORMAT_NV12) { 144 if (fb->pixel_format != DRM_FORMAT_UYVY)
144 format |= NV_PVIDEO_FORMAT_COLOR_LE_CR8YB8CB8YA8; 145 format |= NV_PVIDEO_FORMAT_COLOR_LE_CR8YB8CB8YA8;
146 if (fb->pixel_format == DRM_FORMAT_NV12)
145 format |= NV_PVIDEO_FORMAT_PLANAR; 147 format |= NV_PVIDEO_FORMAT_PLANAR;
146 }
147 if (nv_plane->iturbt_709) 148 if (nv_plane->iturbt_709)
148 format |= NV_PVIDEO_FORMAT_MATRIX_ITURBT709; 149 format |= NV_PVIDEO_FORMAT_MATRIX_ITURBT709;
149 if (nv_plane->colorkey & (1 << 24)) 150 if (nv_plane->colorkey & (1 << 24))
@@ -266,7 +267,7 @@ nv10_overlay_init(struct drm_device *device)
266 case 0x15: 267 case 0x15:
267 case 0x1a: 268 case 0x1a:
268 case 0x20: 269 case 0x20:
269 num_formats = 1; 270 num_formats = 2;
270 break; 271 break;
271 } 272 }
272 273