[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