Re: [PATCH v4 0/4] Enable lspcon support for GEN9 devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@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@60 modeset with:
- BXT-T board
- Single HDMI 4k@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@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


_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux