Summary: | [hsw] eDP can't display on Hsw-ULT in UEFI mode -- requires 24bpp bw calculation for 18bpp pipe | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | XiongZhang <xiong.y.zhang> | ||||||||||
Component: | DRM/Intel | Assignee: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||||
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||||
Severity: | normal | ||||||||||||
Priority: | medium | CC: | przanoni | ||||||||||
Version: | XOrg git | ||||||||||||
Hardware: | Other | ||||||||||||
OS: | All | ||||||||||||
See Also: | https://bugzilla.kernel.org/show_bug.cgi?id=59841 | ||||||||||||
Whiteboard: | |||||||||||||
i915 platform: | i915 features: | ||||||||||||
Attachments: |
|
Description
XiongZhang
2013-05-27 06:41:09 UTC
platform: SharkBay-ULT: BIOS: HSWLPTU1.86C.114.R07 CPU: Pre-release Intel MCP processor code named Hasswell M,(2+2) 2 cores,GT2,C0 Chipset :Lynx Point-LP A0(QDBY) Baseboard: Intel ULT board code named Whitetip Mountain Fab 3. Kernel: drm-intel-next-queued OS: Ubuntu 13.04 step to reproduce: 1. set "csm always off " in bios 2. boot drm-intel-next-queued kernel in UEFI native mode 3. after i915 modle load and run 4. the eDP display is black, can't show anything. System is still running and I can login in through SSH. Created attachment 79828 [details]
dmesg that eDP can't display
The issue seems relate to dp link bandwidth. If I add following patch, eDP can display correctly. diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 3426a61..2d26f8f 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -724,6 +724,8 @@ intel_dp_compute_config(struct intel_encoder *encoder, bpp = min_t(int, 8*3, pipe_config->pipe_bpp); if (is_edp(intel_dp) && dev_priv->vbt.edp_bpp) bpp = min_t(int, bpp, dev_priv->vbt.edp_bpp); + + bpp = 24; for (; bpp >= 6*3; bpp -= 2*3) { mode_rate = intel_dp_link_required(target_clock, bpp); @@ -744,6 +746,8 @@ intel_dp_compute_config(struct intel_encoder *encoder, return false; found: + bpp = 18; + if (intel_dp->color_range_auto) { Bios report dev_priv->vbt.edp_bpp=18. The effect of that hack would be to increase the number of lanes used or increase the frequency. It would be useful to attach the dmesg from the working configuration so that we can compare. Iirc Paulo has a similarly unhappy eDP panel which wants the higher clock ... Created attachment 79876 [details]
dmesg that eDP can display correctly
Created attachment 79877 [details]
intel_reg_dump that eDP can't display
Created attachment 79878 [details]
intel_reg_dump that eDP can display correctly
I updated by BIOS and for some reason the VBT is not saying it supports 18bpp (even though the BIOS is configured to boot with 18bpp). Not a big problem since this is a development machine. But if I force vbt.bpp to 18 I get a black screen when booting. We now have bug 67950, https://bugzilla.kernel.org/show_bug.cgi?id=59841 and https://bugzilla.kernel.org/show_bug.cgi?id=60881 with presumably the same issue too. Does this still happen in current drm-intel-nightly? We have added some workarounds since then. commit 1021442098ee9328fdd4d113d63a3a7f2f40c37b Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Mon Nov 18 07:38:16 2013 +0100 drm/i915: Replicate BIOS eDP bpp clamping hack for hsw and bug 71049. Yeah, this should be fixed now, please reopen if this is not the case. |
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.