Re: [PATCH] OMAPDSS: HDMI: wait for RXDET before putting phy in TX_ON

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

 



Hi Tomi,

>> Damage never happens with the cable connected for a long time.. Damage
>> happens only
>> when the cable is connected when the PHY is in TX ON state. Which
>> requires the following sequence to be followed.
>> 1. Wait for HPD connect
>> 2. Wait for the PHY connect ( TMDS lines are up)
>> 3. Enable PHY
>> We are currently missing step 2.
>
> Doesn't HPD already tell us that the cable is connected?
>
Yes HPD tells us that cable is connected but does not guarantee that
the line is ready for transmission of data, HPD just means the DDC
line is up.
>> I am not very sure which TRM you have but the HDMI_WP_WP_DEBUG_DATA
>> can also be used to probe the TMDS lines as well, but i might as well
>> try pad config and let you know.
>
> I have 4460 HDMI TRM vF and 4430 HDMI TRM vL. Both look the same
> regarding the debug registers. Can you send me the latest ones that
> explain the DEBUG registers correctly?
sure.
>

>> > In the worst case the above causes a 7.5ms busy loop in an interrupt
>> > handler. That's not very good thing. Why is there a need for the loop?
>> I agree looping in interrupt context is bad.. That was the reason i
>> had a threaded irq handler and i case even here it is the threaded irq
>> handler i dont think it is happening in irq context.
>
> We should nevertheless avoid 7.5ms busyloop if at all possible. Is there
> an estimate of how long it takes for the PHY to connect? I think we
> could just start a delayed work from the interrupt, and do the check
> after a short delay. I don't think the user cares if the connect happens
> after 1ms or 10ms from the moment the cable is plugged in =).
>
Actually by using the PHY_CONNECT interrupt we can avoid the wait.
If the TV channel is the same as the HDMI port connected to then there
is hardly any delay between HPD and TMDS lines. Problem is when user
connects to HDMI but is running  say AV1 /AV2  on TV.
In such case we will see that HPD is high but TMDS lines are low, So
there is no guarantee it will be done in certain period, as it is user
dependent.
So i am more inclined to have a interrupt based way, On receiving HPD
in the threaded irq handler we can wait_on_completion of PHY_CONNECT
which will put the thread in sleep until TMDS lines are high.
I shall make that patch test out and post it soon.

Thanks and regards,
Mythri.

>  Tomi
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux