[Bug 91434] [IVB/HSW] 23.976Hz & 24Hz modes broken on dual-display with recent (4.0.x) kernels

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jan 21 11:21:13 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=91434

--- Comment #61 from Martin Andersen <martin.x.andersen at gmail.com> ---
How does one actually use this new property?

I have tested several kernels from mainline 4.18.x, 4.19.x to drm-tip and there
is still no "max bpc" option to drm.ko or i915.ko -

name:           i915
vermagic:       5.0.0-994-lowlatency SMP preempt mod_unload 
signat:         PKCS#7
signer:         
sig_key:        
sig_hashalgo:   md4
parm:           modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force
vga console preference [default]) (int)
parm:           enable_dc:Enable power-saving display C-states. (-1=auto
[default]; 0=disable; 1=up to DC5; 2=up to DC6) (int)
parm:           enable_fbc:Enable frame buffer compression for power savings
(default: -1 (use per-chip default)) (int)
parm:           lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS
[default], 1=single-channel, 2=dual-channel) (int)
parm:           panel_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP]
(default: auto from VBT) (int)
parm:           vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel
mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
parm:           reset:Attempt GPU resets (0=disabled, 1=full gpu reset,
2=engine reset [default]) (int)
parm:           vbt_firmware:Load VBT from specified file under /lib/firmware
(charp)
parm:           error_capture:Record the GPU state following a hang. This
information in /sys/class/drm/card<N>/error is vital for triaging and debugging
hangs. (bool)
parm:           enable_hangcheck:Periodically check GPU activity for detecting
hangs. WARNING: Disabling this can cause system wide hangs. (default: true)
(bool)
parm:           enable_psr:Enable PSR (0=disabled, 1=enabled) Default: -1 (use
per-chip default) (int)
parm:           alpha_support:Enable alpha quality driver support for latest
hardware. See also CONFIG_DRM_I915_ALPHA_SUPPORT. (bool)
parm:           disable_power_well:Disable display power wells when possible
(-1=auto [default], 0=power wells always on, 1=power wells disabled when
possible) (int)
parm:           enable_ips:Enable IPS (default: true) (int)
parm:           fastboot:Try to skip unnecessary mode sets at boot time
(default: false) (bool)
parm:           prefault_disable:Disable page prefaulting for
pread/pwrite/reloc (default:false). For developers only. (bool)
parm:           load_detect_test:Force-enable the VGA load detect code for
testing (default:false). For developers only. (bool)
parm:           force_reset_modeset_test:Force a modeset during gpu reset for
testing (default:false). For developers only. (bool)
parm:           invert_brightness:Invert backlight brightness (-1 force normal,
0 machine defaults, 1 force inversion), please report PCI device ID, subsystem
vendor and subsystem device ID to dri-devel at lists.freedesktop.org, if your
machine needs it. It will then be included in an upcoming module version. (int)
parm:           disable_display:Disable display (default: false) (bool)
parm:           mmio_debug:Enable the MMIO debug code for the first N failures
(default: off). This may negatively affect performance. (int)
parm:           verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in
case of unexpected hw state conditions. (bool)
parm:           nuclear_pageflip:Force enable atomic functionality on platforms
that don't have full support yet. (bool)
parm:           edp_vswing:Ignore/Override vswing pre-emph table selection from
VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default
swing(400mV)) (int)
parm:           enable_guc:Enable GuC load for GuC submission and/or HuC load.
Required functionality can be selected using bitmask values. (-1=auto,
0=disable [default], 1=GuC submission, 2=HuC load) (int)
parm:           guc_log_level:GuC firmware logging level. Requires GuC to be
loaded. (-1=auto [default], 0=disable, 1..4=enable with verbosity min..max)
(int)
parm:           guc_firmware_path:GuC firmware path to use instead of the
default one (charp)
parm:           huc_firmware_path:HuC firmware path to use instead of the
default one (charp)
parm:           dmc_firmware_path:DMC firmware path to use instead of the
default one (charp)
parm:           enable_dp_mst:Enable multi-stream transport (MST) for new
DisplayPort sinks. (default: true) (bool)
parm:           enable_dpcd_backlight:Enable support for DPCD backlight control
(default:false) (bool)
parm:           enable_gvt:Enable support for Intel GVT-g graphics
virtualization host support(default:false) (bool)


name:           drm
vermagic:       5.0.0-994-lowlatency SMP preempt mod_unload 
signat:         PKCS#7
signer:         
sig_key:        
sig_hashalgo:   md4
parm:           edid_firmware:Do not probe monitor, use specified EDID blob
from built-in data or /lib/firmware instead.  (string)
parm:           vblankoffdelay:Delay until vblank irq auto-disable [msecs] (0:
never disable, <0: disable immediately) (int)
parm:           timestamp_precision_usec:Max. error on timestamps [usecs] (int)
parm:           edid_fixup:Minimum number of valid EDID header bytes (0-8,
default 6) (int)
parm:           debug:Enable debug output, where each bit enables a debug
category.
                Bit 0 (0x01)  will enable CORE messages (drm core code)
                Bit 1 (0x02)  will enable DRIVER messages (drm controller code)
                Bit 2 (0x04)  will enable KMS messages (modesetting code)
                Bit 3 (0x08)  will enable PRIME messages (prime code)
                Bit 4 (0x10)  will enable ATOMIC messages (atomic code)
                Bit 5 (0x20)  will enable VBL messages (vblank code)
                Bit 7 (0x80)  will enable LEASE messages (leasing code)
                Bit 8 (0x100) will enable DP messages (displayport code) (int)


Running strings on the drm.ko module reveals the following:

strings /lib/modules/5.0.0-994-lowlatency/kernel/drivers/gpu/drm/drm.ko|grep -i
bpc
max bpc
%s: Assigning HDMI sink color depth as %d bpc.
%s: Assigning DFP sink color depth as %d bpc.
%s: Assigning EDID-1.4 digital sink color depth as %d bpc.
drm_connector_attach_max_bpc_property
__ksymtab_drm_connector_attach_max_bpc_property
__kstrtab_drm_connector_attach_max_bpc_property


Which is different from previous versions. However, I still do not have the
Correct(tm) syntax to pass this along to the driver as a kernel option and
actually test it.

Some guesswork was tried;

[    0.074177] Kernel command line:
BOOT_IMAGE=/boot/vmlinuz-5.0.0-994-lowlatency
root=UUID=83d53be4-28c6-4c1c-8a5d-bba7b62e6470 ro quiet splash vt.handoff=1
drm.drm_connector_attach_max_bpc_property=8 i915.max_bpc=8

[    1.491819] drm: unknown parameter 'drm_connector_attach_max_bpc_property'
ignored
[    1.537074] i915: unknown parameter 'max_bpc' ignored


[    0.074292] Kernel command line:
BOOT_IMAGE=/boot/vmlinuz-5.0.0-994-lowlatency
root=UUID=83d53be4-28c6-4c1c-8a5d-bba7b62e6470 ro "drm.max bpc=8"
i915.max_bpc=8 i915.bpc=8 drm.i915.bpc=8 drm.debug=0xe vt.handoff=1
[    5.024459] i915: unknown parameter 'max_bpc' ignored
[    5.049545] i915: unknown parameter 'bpc' ignored


[    0.074731] Kernel command line:
BOOT_IMAGE=/boot/vmlinuz-5.0.0-994-lowlatency
root=UUID=83d53be4-28c6-4c1c-8a5d-bba7b62e6470 ro "drm.max bpc=8" drm.max_bpc=8
drm.debug=0xe vt.handoff=1
[    4.648024] drm: unknown parameter 'max_bpc' ignored


[    0.074400] Kernel command line:
BOOT_IMAGE=/boot/vmlinuz-5.0.0-994-lowlatency
root=UUID=83d53be4-28c6-4c1c-8a5d-bba7b62e6470 ro quiet splash vt.handoff=1
drm.bpc=8
[    1.467922] drm: unknown parameter 'bpc' ignored

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20190121/5dd27213/attachment-0001.html>


More information about the intel-gfx-bugs mailing list