[Freedreno] [PATCH v4] drm/msm/dp: enable HDP plugin/unplugged interrupts at hpd_enable/disable
Kuogee Hsieh
quic_khsieh at quicinc.com
Tue May 23 16:48:04 UTC 2023
On 5/23/2023 5:34 AM, Dmitry Baryshkov wrote:
> On 23/05/2023 15:35, Bjorn Andersson wrote:
>> On Mon, May 22, 2023 at 04:02:45PM -0700, Kuogee Hsieh wrote:
>>> The internal_hpd flag is set to true by dp_bridge_hpd_enable() and
>>> set to
>>> false by dp_bridge_hpd_disable() to handle GPIO pinmuxed into DP
>>> controller
>>> case. HDP related interrupts can not be enabled until internal_hpd
>>> is set
>>> to true. At current implementation dp_display_config_hpd() will
>>> initialize
>>> DP host controller first followed by enabling HDP related interrupts if
>>> internal_hpd was true at that time. Enable HDP related interrupts
>>> depends on
>>> internal_hpd status may leave system with DP driver host is in
>>> running state
>>> but without HDP related interrupts being enabled. This will prevent
>>> external
>>> display from being detected. Eliminated this dependency by moving
>>> HDP related
>>> interrupts enable/disable be done at dp_bridge_hpd_enable/disable()
>>> directly
>>> regardless of internal_hpd status.
>>>
>>> Changes in V3:
>>> -- dp_catalog_ctrl_hpd_enable() and dp_catalog_ctrl_hpd_disable()
>>> -- rewording ocmmit text
>>>
>>> Changes in V4:
>>> -- replace dp_display_config_hpd() with dp_display_host_start()
>>> -- move enable_irq() at dp_display_host_start();
>>
>> I think what Dmitry was asking for was that you remove the disable_irq()
>> from dp_display_request_irq(), but perhaps I missed some argumentation
>> for why that can't/shouldn't be done?
>>
>
> Yes, I was asking to get it removed. Kuogee, is there any reason for
> keeping the enable_irq() / disable_irq() calls?
I do not know the story regard this.
I can only guess after devm_request_irq() irq is enabled which may cause
some unexpected side effects.
I will remove both disable_irq() and enable_irq() and run more tests.
More information about the Freedreno
mailing list