Public bug reported: [Impact]
* Some 4K monitors can not display as maximum resolution from i915 graphic. * In some 4k monitors, it's support higher pixel clock The following is the case I have: Modeline "Mode 0" 533.25 3840 3888 3920 4000 2160 2163 2168 2222 +hsync -vsync Which will be dropped because the mode rate is greater than i915 maximum data rate. kernel: [drm:drm_mode_debug_printmodeline [drm]] Modeline "3840x2160": 60 533250 3840 3888 3920 4000 2160 2163 2168 2222 0x48 0x9 kernel: [drm:drm_mode_prune_invalid [drm]] Not using 3840x2160 mode: CLOCK_HIGH The BDB version of Intel vBIOS is 237 kernel: i915 0000:00:02.0: [drm:intel_bios_init [i915]] VBT signature "$VBT TIGERLAKE ", BDB version 237 In old i915 parsing rule (for greater than v216), the common rate is decoded as 16200 kernel: i915 0000:00:02.0: [drm:intel_dp_print_rates [i915]] common rates: 162000 Since the Intel updated the parsing rule (for greater then 230). the common rate is up to 540000 kernel: i915 0000:00:02.0: [drm:intel_dp_print_rates [i915]] common rates: 162000, 270000, 540000 There are 4 lanes support. i915 0000:00:02.0: [drm:intel_dp_link_train_phy [i915]] [CONNECTOR:184:DP-2] Link Training passed at link rate = 162000, lane count = 4, at DPRX In this monitor, the max rate (max_link_clock * max_lanes) is: 162000 * 4 = 648000 # if using old parsing rule (> 210) 540000 * 4 = 2160000 # if using updated parsing rule (> 230) the maximum mode rate is DIV_ROUND_UP(pixel_clock * bpp, 8); the bpp here is minimum bpp, which is 6 * 3 = 18 ... max bpc: 12 range: (6, 12) ... thus: 533250 * 18 + 8 - 1 / 8 = 1199813 # this is maximum mode rate of this monitor. [Fix] It needs to use the updated parsing table (intel BDB table version > 230) for supporting high pixel clock monitors. [Test Plan] * Steps to reproduce 1. Connect a high pixel clock monitor (533KHz in my case) to i915 graphic which vbios version is v237 (In my case: ModelName "U2879G6" VendorName "AOC" 2. Check the display setting, expect a 3840*2160*60Hz option but there is not 3840*2160*60Hz option. * if upgrade drm debugging level then you will see the modeline be dropped because of high clock. kernel: [drm:drm_mode_prune_invalid [drm]] Not using 3840x2160 mode: CLOCK_HIGH * after applying the change, the resolution work good. [Where problems could occur] * This change considered the backward compatibility, which will check the BDB version before applying different parsing rule. * From software perspective, the monitor will show nothing if Intel vBIOS using BDB > 230 with undefined dp_max_link_rate field. * Otherwise, it looks quite ok. ** Affects: oem-priority Importance: Critical Assignee: jeremyszu (os369510) Status: In Progress ** Affects: linux (Ubuntu) Importance: Undecided Assignee: jeremyszu (os369510) Status: New ** Tags: oem-priority originate-from-1920881 stella ** Changed in: linux (Ubuntu) Assignee: (unassigned) => jeremyszu (os369510) ** Tags added: oem-priority originate-from-1920881 stella ** Summary changed: - i915 doesn't support 4k * 60Hz monitor + i915 doesn't support some high pixel clock 4k * 60Hz monitors ** Changed in: oem-priority Assignee: (unassigned) => jeremyszu (os369510) ** Changed in: oem-priority Importance: Undecided => High ** Changed in: oem-priority Status: New => In Progress ** Changed in: oem-priority Importance: High => Critical -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1922372 Title: i915 doesn't support some high pixel clock 4k * 60Hz monitors To manage notifications about this bug go to: https://bugs.launchpad.net/oem-priority/+bug/1922372/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs