[PATCH] drm/exynos/dsi: simplify hotplug code

Andrzej Hajda a.hajda at samsung.com
Thu Nov 6 05:30:26 PST 2014


On 11/06/2014 02:18 PM, Thierry Reding wrote:
> On Thu, Nov 06, 2014 at 12:35:48PM +0100, Andrzej Hajda wrote:
>> Exynos DSI driver uses DSI bus attach/detach callbacks to implement
>> panel hotplug mechanism. The patch moves panel attachment code
>> from .detect callback to DSI bus callbacks. It makes the code
>> simpler and more straightforward.
>> The patch removes also redundant and lock unprotected dpms_off call
>> from unbind code.
>>
>> Signed-off-by: Andrzej Hajda <a.hajda at samsung.com>
>> ---
>> Hi,
>>
>> This patch simplifies drm part of hotplug mechanism in dsi attach/detach callbacks.
>> It also fixes minor bug with unprotected dpms_off call, which is unneccesary anyway.
>>
>> But the main reason I have looked at this code again is to show that
>> we do not need zombie panels, we can kill panels properly if we have hot plug/unplug
>> callbacks. And it is quite simple: we just need to take mode_config.mutex locks
>> to synchronize dsi callbacks with drm, nothing more.
>> It works nicely because of two things:
>> - panel callbacks are called always under this lock,
>> - callbacks are installed after drmdev creation and deinstalled before drmdev destroy - 
>> this way we assure drmdev is always present in callbacks.
> Again, something like what you propose is going to work only for DSI
> devices. What we need is a solution that works for all other types of
> panels, too. This is even more important when we consider bridges
> because they are less likely to be on a DSI bus.

Again:) I say that all we need are just hot plug/unplug callbacks,
no zombie panels, no revoke, no try_module_get, etc.

Regards
Andrzej


>
> Thierry



More information about the dri-devel mailing list