From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: limiting modes on 4k monitors on Haswell ULT Date: Tue, 7 Oct 2014 16:07:25 +0300 Message-ID: <20141007130725.GV32511@intel.com> References: <20141002080050.GU12343@phenom.ffwll.local> <20141002084045.GM32511@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 05FC489DD2 for ; Tue, 7 Oct 2014 06:07:57 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dave Airlie Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org On Thu, Oct 02, 2014 at 08:56:54PM +1000, Dave Airlie wrote: > On 2 October 2014 18:40, Ville Syrj=E4l=E4 wrote: > > On Thu, Oct 02, 2014 at 10:00:50AM +0200, Daniel Vetter wrote: > >> On Thu, Oct 02, 2014 at 01:30:48PM +1000, Dave Airlie wrote: > >> > Hey guys, > >> > > >> > so I have a haswell ULT laptop (lenovo t440s), and got access to a > >> > Samsung single panel 4k monitor (no MST). > >> > > >> > Now we detect the monitor fine, but unfortunately the ULT hsw can't > >> > run it over DP, as it has clock limits in place. However we still > >> > offer the 60hz mode and we pick it by default, ensuing black screens. > >> > > >> > I've tested the same monitor with a haswell in a t540p and it works > >> > fine due to having the higher limits in place. > >> > >> We have the IS_HSW_ULX check in intel_dp_max_link_bw, and that's used = by > >> both compute_config and mode_valid. So it should work, and from a quick > >> look I don't see any bugs. But obviously something is busted. > >> > >> Can you please printk-augment intel_dp_mode_valid and check what's goi= ng > >> wrong there? > > > > Or maybe this is about cdclk instead of link clock? I believe the max > > cdclk ULT can support is 450MHz. I'm not sure if the default would be > > 450MHz or 337.5MHz. Also we still don't have support for changing that > > during runtime even though I regularly try to trick people into > > implementing it. What's the pixel clock of the mode that fails? > = > yup it appears to max cdclk, which is 450Mhz on the ULT and 540Mhz on > normal hsw. > = > Modeline "3840x2160R" 533.00 3840 3888 3920 4000 2160 2163 2168 > 2222 +hsync -vsync > = > cvt gives me that for reduced blank, so around that I guess, I can get > the exact mode line from logs tomorrow if required. Just FYI I went ahead and implemented something for dynamically changing the cdclk frequency on HSW/BDW. But I only have a HSW-ULT on me currently so I couldn't actually test it. While doing that I added cdclk extraction support to all the platforms for which I could find sane docs. For the rest I went with a best guess, which means after my patches we can rely on dev_priv->max_cdclk_freq on all platforms. That should make it trivial to add some .mode_valid() checks based on the max cdclk, but I didn't actually implemnt such checks yet. Here's the code (includes a whole pile of cdclk related stuff) for the brave: git://gitorious.org/vsyrjala/linux.git cdclk_3 -- = Ville Syrj=E4l=E4 Intel OTC