return NULL;
        }
 
-       if (dcb[0] >= 0x41) {
+       if (dcb[0] >= 0x42) {
                NV_WARN(drm, "DCB version 0x%02x unknown\n", dcb[0]);
                return NULL;
        } else
                        entry->dpconf.link_bw = 540000;
                        break;
                }
-               switch ((conf & 0x0f000000) >> 24) {
-               case 0xf:
-                       entry->dpconf.link_nr = 4;
-                       break;
-               case 0x3:
-                       entry->dpconf.link_nr = 2;
-                       break;
-               default:
-                       entry->dpconf.link_nr = 1;
-                       break;
+               entry->dpconf.link_nr = (conf & 0x0f000000) >> 24;
+               if (dcb->version < 0x41) {
+                       switch (entry->dpconf.link_nr) {
+                       case 0xf:
+                               entry->dpconf.link_nr = 4;
+                               break;
+                       case 0x3:
+                               entry->dpconf.link_nr = 2;
+                               break;
+                       default:
+                               entry->dpconf.link_nr = 1;
+                               break;
+                       }
                }
                link = entry->dpconf.sor.link;
                entry->i2c_index += NV_I2C_AUX(0);
 
                .pushbuf = 0xb0007d00,
        };
        static const u32 oclass[] = {
+               GM204_DISP_CORE_CHANNEL_DMA,
                GM107_DISP_CORE_CHANNEL_DMA,
                GK110_DISP_CORE_CHANNEL_DMA,
                GK104_DISP_CORE_CHANNEL_DMA,