DB820c: DSI panel status shows always connected

Hi,

DSI panel status shows always connected, even if DSI panel has been removed(kernel-4.14)
#cat /sys/class/drm/card0-DSI-1/status
connected
#cat /sys/class/drm/card0-DSI-1/enabled
enabled

@architt
@Loic

Thanks,
Arun

Hi @doitright @Loic @danielt

I have been trying to fix the same, just as there is a HDMI detect which monitors the gpio and supports change of : /sys/class/drm/card0-HDMI-A-1/status

The DSI entry is stating always connected, is there any way to solve this issue ??

Hmm, someone can correct me if I’m wrong (I’ve never worked with DSI before), but unlike HDMI, that isn’t a pluggable interface. Consequently, there is no context for it to be considered “disconnected”.

AFAIK hotplug detect isn’t on the scope of DSI because there is no hotplug signal.

If you have implemented HPD with a GPIO line then you’d need to add support for it in your panel driver.

Thanks for the responces,

Yes, but when it comes to response from the hardware is there any difference in the signals when DSI connected/disconnected. Will the gpio react even after I assign it and add support in driver ?

I was trying to find out any unique signal (TP_RESET_N ,MDP_VSYNC_P, LCD_BL_EN, LCD_BL_PWM, LCD_PWR_EN, MDP_VSYNC_S) which changes in this scenario.

Yes, but when it comes to response from the hardware is there any
difference in the signals when DSI connected/disconnected. Will the
gpio react even after I assign it and add support in driver ?

I don’t understand what you mean here. I understood the DSI signals on the HS connector to be output only. If you want hotplug detect then you must supply the circuitry to do to that. In other words HPD is a job for the panel (and its driver), it is not part of DSI.

There is NO signal available to the CPU that tells it if there is a DSI panel plugged in or not. It makes no sense to have such a signal, because DSI is not a type of interface that you would plug or unplug from a live system (phones, tablets → ALWAYS PLUGGED IN). There is no negotiating a configuration with the panel – configuration is hardcoded in the kernel. ALL signals related to DSI are OUTPUT ONLY.

The only reason why those “enabled” and “status” paths are present in sysfs is because those interfaces are GENERIC – they’re also used for interfaces like HDMI, which is pluggable.

fyi,

@Arunkumar @ymj
In general some panels will have LCD_ID pins which goes to gpio to detect panel is present or not.

there is dcs commands Read Display Identification Information (04h) which might help to read the details of the panel which might resolve the connector status connected/disconnected.

regards,
vinaysimha