UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Participant fostercl1
Participant
748 Views
Registered: ‎01-31-2018

HDMI RX Subsystem no longer locks to some sources

We've been developing an HDMI input system. It has been upgraded with newer versions of SDK / Vivado over time.

I've noticed that I get a PIO interrupt that switches the HDMI RX Subsystem from DVI mode to HDMI mode. 

Ever since this commit to the embeddedsw repository, this interrupt takes the system from a Stream Up state to a Stream Down state in the HDMIRX_Clear call.

This only makes connections to devices that utilize that feature unstable. For instance, a Marshall Electronics V-SG4K-HDI test pattern generater never invokes the PIO interrupt to change the mode from DVI to HDMI. Instead this device invokes HDMI mode from the Aux InfoFrame.

In the case of a Samsung UBD-M8500, connections are infrequent at best. Maybe 10-25% of hot-plug detect cycles cause the video path to properly remain in the Stream Up state. 

 

I've found by commenting out the PIO interrupt code when the mode is switched, this causes proper video sync to happen seemingly 100% of the time.

 

The commit message regarding this change is unclear, so I wonder if that was actually an intended change or something that might have slipped through the cracks.

 

I believe this issue was introduced in the 2018.1 version of SDK.

Tags (2)
0 Kudos
7 Replies
Scholar watari
Scholar
701 Views
Registered: ‎06-16-2013

Re: HDMI RX Subsystem no longer locks to some sources

Hi @fostercl1

 

I have some question.

Could you tell me them ?

 

1. What resolution do you input your HDMI input system ? 4K or FHD or other ?

2. Can you share your schematic of PCB ?

3. Can you share your EDID ?

 

Best regards,

 

 

0 Kudos
Participant fostercl1
Participant
686 Views
Registered: ‎01-31-2018

Re: HDMI RX Subsystem no longer locks to some sources

Thanks for the quick response!

 


 1. What resolution do you input your HDMI input system ? 4K or FHD or other ?

 We're testing 4k60, but have noticed intermittent issues with most (if not all) resolutions from that source. 

 


2. Can you share your schematic of PCB ?

Relevant circuitry is here. We've been measuring eye diagrams and everything seems alright from a signal quality standpoint.

 

InputAdapterCircuit.PNG


3. Can you share your EDID ?

The EDID we're using is this:

0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x61, 0x98, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12,
0x1F, 0x19, 0x01, 0x03, 0x80, 0x59, 0x32, 0x78, 0x0A, 0xEE, 0x91, 0xA3, 0x54, 0x4C, 0x99, 0x26,
0x0F, 0x50, 0x54, 0x21, 0x00, 0x00, 0x01, 0x00, 0x81, 0xC0, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x02, 0x3A, 0x80, 0x18, 0x71, 0x38, 0x2D, 0x40, 0x58, 0x2C,
0x45, 0x00, 0x20, 0xC2, 0x31, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x49, 0x44, 0x49,
0x4F, 0x4D, 0x20, 0x48, 0x44, 0x4D, 0x49, 0x0A, 0x20, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4C,
0x02, 0x03, 0x2D, 0x71, 0x52, 0x61, 0x10, 0x1F, 0x04, 0x13, 0x05, 0x14, 0x20, 0x21, 0x22, 0x5D,
0x5E, 0x5F, 0x60, 0x16, 0x12, 0x03, 0x07, 0x23, 0x0D, 0x07, 0x07, 0x67, 0x03, 0x0C, 0x00, 0x10,
0x00, 0x78, 0x3C, 0x67, 0xD8, 0x5D, 0xC4, 0x01, 0x78, 0x80, 0x00, 0xE1, 0x0F, 0x02, 0x3A, 0x80,
0x18, 0x71, 0x38, 0x2D, 0x40, 0x58, 0x2C, 0x45, 0x00, 0x20, 0xC2, 0x31, 0x00, 0x00, 0x1E, 0x08,
0xE8, 0x00, 0x30, 0xF2, 0x70, 0x5A, 0x80, 0xB0, 0x58, 0x8A, 0x00, 0x20, 0xC2, 0x31, 0x00, 0x00,
0x1E, 0x04, 0x74, 0x00, 0x30, 0xF2, 0x70, 0x5A, 0x80, 0xB0, 0x58, 0x8A, 0x00, 0x20, 0x52, 0x31,
0x00, 0x00, 0x1E, 0x66, 0x21, 0x56, 0xAA, 0x51, 0x00, 0x1E, 0x30, 0x46, 0x8F, 0x33, 0x00, 0x50,
0x1D, 0x74, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,

0 Kudos
Participant fostercl1
Participant
592 Views
Registered: ‎01-31-2018

Re: HDMI RX Subsystem no longer locks to some sources

Just a check to see if this is still being investigated

0 Kudos
Scholar watari
Scholar
537 Views
Registered: ‎06-16-2013

Re: HDMI RX Subsystem no longer locks to some sources

Hi @fostercl1

 

Sorry for my late reply.

 

It seems that there are not any problem.

I'm not familier with XC7Z035. It might hard achive 4K60Hz by causing GTX issue.

The, I have question.

 

What video timing do you use, when you encounter this problem ? CTA-861 ? CVT ? CVT-RB ? CVT-RB2 ? or other ?

I guess you use CVT or CTA-861. It might hard achive 4K60Hz.

 

Best regards,

0 Kudos
Participant fostercl1
Participant
518 Views
Registered: ‎01-31-2018

Re: HDMI RX Subsystem no longer locks to some sources

Much of the testing has been at 4k60. I believe I'd seen the issue at lower frequencies, but can't confirm that 100% right now.

 

What I did just test was 10 power ups, followed by a cable insertion.
With the original BSP (the state switches to idle, and a 10ms timer gets set) I saw 3 successes, and 7 failures. The three successes were on trials 3, 4, and 7. 

On the successful cases, I'd see an HDMI RX log that looks like this:

HDMI RX log
------
Initializing HDMI RX core....
Initializing HDCP 1.4 core....
Initializing AXI Timer core....
Initializing HDCP 2.2 core....
RX HDCP 1.4 Enabled
RX HDCP 2.2 Disabled
Reset HDMI RX Subsystem....
RX cable is connected....
RX HDCP 1.4 Enabled
RX HDCP 2.2 Disabled
RX HDCP 1.4 Disabled
RX HDCP 2.2 Enabled
RX TMDS reference clock change
RX Stream Init
RX mode changed to HDMI
RX Stream Start
RX Stream is Up

On the unsuccessful cases, I saw a log that looks like this:

HDMI RX log
------
Initializing HDMI RX core....
Initializing HDCP 1.4 core....
Initializing AXI Timer core....
Initializing HDCP 2.2 core....
RX HDCP 1.4 Enabled
RX HDCP 2.2 Disabled
Reset HDMI RX Subsystem....
RX cable is connected....
RX HDCP 1.4 Enabled
RX HDCP 2.2 Disabled
RX HDCP 1.4 Disabled
RX HDCP 2.2 Enabled
RX TMDS reference clock change
RX Stream Init
RX mode changed to HDMI
RX Stream Start
RX Stream is Up
RX Stream is Down
RX mode changed to DVI
RX mode changed to HDMI
RX Stream Start
RX Stream is Down
RX Stream is Down
RX mode changed to DVI

 

I then modified the BSP to remove the mode switching in the interrupt and ran 10 more trials. All 10 of these trials succeeded.  I did see three different sequences in the HDMI log:

Sequence 1 (trials 1, 3, 5, 6, 7, 9, 10)

HDMI RX log
------
Initializing HDMI RX core....
Initializing HDCP 1.4 core....
Initializing AXI Timer core....
Initializing HDCP 2.2 core....
RX HDCP 1.4 Enabled
RX HDCP 2.2 Disabled
Reset HDMI RX Subsystem....
RX cable is connected....
RX HDCP 1.4 Enabled
RX HDCP 2.2 Disabled
RX HDCP 1.4 Disabled
RX HDCP 2.2 Enabled
RX TMDS reference clock change
RX Stream Init
RX mode changed to HDMI
RX Stream Start
RX Stream is Up
RX mode changed to DVI
RX mode changed to HDMI

Sequence 2 (trials 2, 4):

HDMI RX log
------
Initializing HDMI RX core....
Initializing HDCP 1.4 core....
Initializing AXI Timer core....
Initializing HDCP 2.2 core....
RX HDCP 1.4 Enabled
RX HDCP 2.2 Disabled
Reset HDMI RX Subsystem....
RX cable is connected....
RX HDCP 1.4 Enabled
RX HDCP 2.2 Disabled
RX HDCP 1.4 Disabled
RX HDCP 2.2 Enabled
RX TMDS reference clock change
RX Stream Init
RX mode changed to HDMI
RX Stream Start
RX Stream is Up

Sequence 3 (Trial 8):

HDMI RX log
------
Initializing HDMI RX core....
Initializing HDCP 1.4 core....
Initializing AXI Timer core....
Initializing HDCP 2.2 core....
RX HDCP 1.4 Enabled
RX HDCP 2.2 Disabled
Reset HDMI RX Subsystem....
RX cable is connected....
RX HDCP 1.4 Enabled
RX HDCP 2.2 Disabled
RX HDCP 1.4 Disabled
RX HDCP 2.2 Enabled
RX TMDS reference clock change
RX Stream Init
RX mode changed to HDMI
RX Stream Start
RX mode changed to DVI
RX mode changed to HDMI
RX Stream is Up

My guess is that the idle stream logic during the second case would have disconnected the streams for sequences 1 and 3. Sequence 2 would have been the only one to have succeeded, since the mode doesn't switch to DVI then back to HDMI.

 

In all of these trials, I was using the same source. The XVidC_ReportStreamInfo reports this:

        Color Format:     YUV_422
        Color Depth:      12
        Pixels Per Clock: 2
        Mode:             Progressive
        Frame Rate:       60Hz
        Resolution:       3840x2160@60Hz
        Pixel Clock:      594000000

 

What would cause the HDMI RX subsystem to invoke a switch to HDMI, then back to DVI mode, then back to HDMI? Seeing as how the switch back to DVI mode seems to happen after Stream Up, it would cause the stream to disconnect via the XV_HdmiRx_Clear call. Is the 10ms timer then designed to invoke a reconnection? It seems to remain idle, never to recover.

0 Kudos
Scholar watari
Scholar
508 Views
Registered: ‎06-16-2013

Re: HDMI RX Subsystem no longer locks to some sources

Hi @fostercl1

 

According to your video format, I'm not sure that I suspect bandwidth issue or SI issue or receiver issue.

 

I will check the bandwidth of relationship among clock line, data line and pixel format.

If I find good news, I reply it.

 

Best regards,

0 Kudos
Moderator
Moderator
431 Views
Registered: ‎04-12-2017

Re: HDMI RX Subsystem no longer locks to some sources

Hello @fostercl1  @watari 

We worked along with development on this particular issue.

With exact same setup we are not able to reproduce this issue.

So its suspected that this issue is with respect to particular video source in posession with customer.

Thank You.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos