[Intel-gfx] [PATCH v4 0/4] Enable lspcon support for GEN9 devices

Sharma, Shashank shashank.sharma at intel.com
Thu Sep 22 18:45:04 UTC 2016


Hello Imre, 

Sorry, it took me some time to come back, suspend resume was broken for us, it just got fixed, and I could test the LSPCON code with Android APL.
I am not able to reproduce this issue on Android APL board. 
I tried to reproduce this issue on APL + Ubuntu-Linux, but I am not able to boot Linux tree on APL, as I do on a BXT-T. 
Looks like kernel image is not being picked by BIOS. 
Can you please let me know which defconfig you are following to boot Linux on APL or any special BKMs ? 

Regards
Shashank
-----Original Message-----
From: Deak, Imre 
Sent: Thursday, August 25, 2016 8:59 PM
To: Sharma, Shashank <shashank.sharma at intel.com>; intel-gfx at lists.freedesktop.org; ville.syrjala at linux.intel.com
Cc: Vivi, Rodrigo <rodrigo.vivi at intel.com>
Subject: Re: [Intel-gfx] [PATCH v4 0/4] Enable lspcon support for GEN9 devices

Hi,

On ti, 2016-08-16 at 22:17 +0530, Shashank Sharma wrote:
> LSPCON is essentially a dp++->hdmi adapter with dual mode of operation.
> 
> These modes are:
> - Level Shifter mode: In LS mode, this device works as a type2 
> dp->hdmi passive dongle, which steps up DP++ output to appropriate HDMI 1.4 signal.
> This mode doesn't do any conversion at the protocol level.
> 
> - Protocol Converter mode: In PCON mode, this device acts as an active 
> DP++->HDMI 2.0 dongle, which converts the DP++ output to compatible 
> HDMI 2.0 output. In PCON mode, lspcon can support 4k at 60 outputs, using 
> DP HBR2 mode.
> 
> Many of Intel GEN9 devices come with in-built lspcon card in 
> motherboartd down mode. This patch series adds support for lspcon 
> devices in I915 driver.
> 
> While unit-testing this code, I was able to see a 4k at 60 modeset with:
> - BXT-T board
> - Single HDMI 4k at 60 display (ACER S)
> - Ubuntu 14.04 desktop
> 
> V2: Worked on review comments from Ville
> - In general, Ville suggested not to use the dual personality of
>   DDI to drive lspcon, so this patch set drives it just as DP++ display.
>   There is no separate detection for lspcon (hpd_pulse is good 
> enough), and
>   its being driven as a DP display with special initialization and 
> EDID
>   read sequence. To be able to do this, we driving lspcon in PCON mode 
> only,
>   where it can serve both HDMI1.3/HDMI1.4 sinks as well as 4k at 60 
> capable
>   HDMI 2.0 sinks. So compared to previous series, there is one patch 
> less,
>   as we have dropped lspcon detection patch.
> 
> 
> V3: Addressed review comments from Rodrigo
>     Details available with respective patch.
> 
> V4: Addressed review comments from Ville
>     Details available with respective patch.
> 
> Shashank Sharma (4):
>   drm: Helper for lspcon in drm_dp_dual_mode
>   drm/i915: Add lspcon support for I915 driver
>   drm/i915: Parse VBT data for lspcon
>   drm/i915: Enable lspcon initialization

Testing these patches on my APL RVP, modesetting works fine, but after suspend-to-ram the LSPCON output stops working. Link training fails during the resume time enabling and I can't get any hotplug interrupts afterwards, or make it recover in any way.

Debugging it further I see that right after resume a DPCD read succeeds but returns corrupted values. I'm thinking that there is some delay while the LSPCON HW/FW is initializing and trying to do link training during this time gets it into the broken state. At least delaying the encoder enabling after resume by 100ms fixes things, DPCD reads return correct values and link training/modesetting will succeed.

Have you seen this on the other platforms?

The FW version I have is 1.39 as reported by DPCD 0x50A/0x50B.

--Imre

> 
>  drivers/gpu/drm/drm_dp_dual_mode_helper.c | 103 
> ++++++++++++++++++++++++
>  drivers/gpu/drm/i915/Makefile             |   1 +
>  drivers/gpu/drm/i915/i915_drv.h           |   5 ++
>  drivers/gpu/drm/i915/intel_bios.c         |  49 ++++++++++++
>  drivers/gpu/drm/i915/intel_ddi.c          |  29 ++++++-
>  drivers/gpu/drm/i915/intel_drv.h          |  13 ++-
>  drivers/gpu/drm/i915/intel_lspcon.c       | 127 
> ++++++++++++++++++++++++++++++
>  include/drm/drm_dp_dual_mode_helper.h     |  26 ++++++
>  8 files changed, 351 insertions(+), 2 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/intel_lspcon.c
> 


More information about the Intel-gfx mailing list