Bug 91789

Summary: MST (multi stream) with Asus PQ321 drm_dp_calc_pbn_mode() fails
Product: DRI Reporter: Peter.Blum
Component: GeneralAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: airlied
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Peter.Blum 2015-08-28 08:12:55 UTC
If a Asus monitor PQ321 is used in MST mode it gets no signal.
This is because the function drm_dp_calc_pbn_mode() in drm_dp_mst_topology.c returns a bad pixel bandwith number for the mode

Modeline 131:"1920x2160" 60 297000 1920 2008 2052 2200 2160 2168 2178 2250 0x48 0x5

The function return 8 and not the correct value of 1063.

Using simple u32 arithmetic in drm_dp_calc_pbn_mode() the monitor works fine.

I'm not sure if unsigned 32 bit would overflow in some cases.
Comment 1 Jani Nikula 2016-04-25 12:24:46 UTC
Presumed fixed by

commit a9ebb3e46c7ef6112c0da466ef0954673ad36832
Author: Harry Wentland <harry.wentland@amd.com>
Date:   Fri Jan 22 17:07:26 2016 -0500

    drm/dp/mst: Calculate MST PBN with 31.32 fixed point

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.