drm/nouveau/kms/nv50-: enable modern color management properties
authorIlia Mirkin <imirkin@alum.mit.edu>
Tue, 11 Jun 2019 02:32:45 +0000 (22:32 -0400)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 23 Aug 2019 02:55:32 +0000 (12:55 +1000)
For GF119:GV100, we can enable DEGAMMA/CTM/GAMMA. For earlier GPUs, as
there is no CTM, having both degamma and gamma is a bit pointless. Later
GPUs currently lack an implementation.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/dispnv50/head.c

index 929d93b1677e73c3d94501c4f236201b2c556f53..46e7f4c51f10e8c79e6617fc6a7910673c51808a 100644 (file)
@@ -512,6 +512,11 @@ nv50_head_create(struct drm_device *dev, int index)
                                  &nv50_head_func, "head-%d", head->base.index);
        drm_crtc_helper_add(crtc, &nv50_head_help);
        drm_mode_crtc_set_gamma_size(crtc, 256);
+       if (disp->disp->object.oclass >= GF110_DISP &&
+           disp->disp->object.oclass < GV100_DISP)
+               drm_crtc_enable_color_mgmt(crtc, 256, true, 256);
+       else
+               drm_crtc_enable_color_mgmt(crtc, 0, false, 256);
 
        if (head->func->olut_set) {
                ret = nv50_lut_init(disp, &drm->client.mmu, &head->olut);