[R32.2.1] Attach monitor TX1 when TX1 already boots up

Hi:

With R32.2.1,
Once I boot the TX1 (without any monitor connected).
After several minutes, attach the monitor to TX1 then (HDMI + eDP),
the monitor will show nothing by chance.

Check the log, it shows

pcp-desktop login: [ 50.764590] tegradc tegradc.0: dp: aux write got error (0x10000100)
[ 50.764593] tegradc tegradc.0: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
[ 65.862077] tegradc tegradc.0: dp: aux write got error (0x10000100)
[ 65.862080] tegradc tegradc.0: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
[ 74.783154] Host read timeout at address 5458045c
[ 120.030869] Host read timeout at address 5458045c
[ 129.062846] Host read timeout at address 5458045c
[ 197.730934] Host read timeout at address 5458045c
[ 197.731688] nvgpu: 57000000.gpu __nvgpu_timeout_expired_msg_cpu:94 [ERR] Timeout detected @ nvgpu_vm_unmap+0xe0/0x188 [nvgpu] sync-unmap failed on 0x1e12600000
[ 206.442854] Host read timeout at address 5458045c

If set the display mode to “clone”,
this won’t happen.

Pls help

Hi,

I believe this is a custom carrier board, right?

  1. What do you mean “If set the display mode to “clone”,” ?
  2. May I know what is your device tree change to enable extra display on head0?

Hi Wayne:

Yes, this a customized board,
This board has 2 video ports output, HDMIx1 and eDPx1 output.

  1. For the clone mode, sorry for my unclear wrods, it’s should be mirror, pls see the attachment.

  2. For head0, I think you mean the 1st display device, is it right?
    my sor0 is to edp, and sor1 is to HDMI.

    and enable the ‘CONFIG_TEGRA_DP’.

    Those are what I did to the display.

Pls kindly comment.

Hi,

I’m still confused by the method you enabled it.

First, need to clarify you are using eDP connection or DP. These two are different. You could refer to TX1 OEM design guide on our download center.

If you follow the connection of eDP section which has no hpd pin, then I would call it a eDP.
Otherwise, it would be a DP. These two would go to different drivers.

Second, you don’t need to intentionally enable CONFIG_TEGRA_DP(I guess you put it to tegra_defconfig). By default, dp driver would be put into image.

For general case, you should add or change something in device tree to make DP work. What I want to know is this part.

Hi Wayne:

Thanks for your comment,
I can resolve that problems mostly.

And some more related questions,

Since I set the port as eDP,
should (could I) I set “nvidia,is_ext_dp_panel = <1>;”

I think it would be better if you could tell us what is your hardware connection because DP and eDP are actually 2 different driver flows in nv display driver.

“Since I set the port as eDP” → Do you mean your connection matches the connection of eDP section on OEM design guide?

Please note that eDP does not have hotplug function if you follow that connection.

“should (could I) I set “nvidia,is_ext_dp_panel = <1>;”” → ext_dp_panel is actually for DP monitor but not eDP in our driver. So again please clarify previous question first.

Hi:

  1. The attachment is my HW connection, I think it should match the requirement described in OEM design guide.

  2. I check the kernel source, it defines 3 types of DP interface
    #define TEGRA_DC_OUT_DP 3
    #define TEGRA_DC_OUT_NVSR_DP 5
    #define TEGRA_DC_OUT_FAKE_DP 6
    What are the differences?

Hi,

  1. If you have HPD connection on your side, then it is DP monitor in our driver definition.

  2. Please ignore TEGRA_DC_OUT_NVSR_DP and TEGRA_DC_OUT_FAKE_DP. They are just for debug use in early bring up stage.

Hi:

It’s now clear to me.

Thanks for your help.