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

Sharma, Shashank shashank.sharma at intel.com
Fri Aug 26 14:54:19 UTC 2016


Regards

Shashank


On 8/25/2016 8:59 PM, Imre Deak wrote:
> 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
I am using a BXT-T board with external LSPCON debug chip, and I don't 
see this problem with my setup.
Let me try to test this with APL too.

Shashank
>>   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