[PATCH] drm/ssd130x: Init display before the SSD130X_DISPLAY_ON command

Javier Martinez Canillas javierm at redhat.com
Thu Jan 26 19:18:53 UTC 2023


On 1/25/23 20:56, Thomas Zimmermann wrote:
> 
> 
> Am 25.01.23 um 19:42 schrieb Javier Martinez Canillas:
>> Commit 622113b9f11f ("drm/ssd130x: Replace simple display helpers with the
>> atomic helpers") changed the driver to just use the atomic helpers instead
>> of the simple KMS abstraction layer.
>>
>> But the commit also made a subtle change on the display power sequence and
>> initialization order, by moving the ssd130x_power_on() call to the encoder
>> .atomic_enable handler and the ssd130x_init() call to CRTC .reset handler.
>>
>> Before this change, both ssd130x_power_on() and ssd130x_init() were called
>> in the simple display pipeline .enable handler, so the display was already
>> initialized by the time the SSD130X_DISPLAY_ON command was sent.
>>
>> For some reasons, it only made the ssd130x SPI driver to fail but the I2C
>> was still working. That is the reason why the bug was not noticed before.
>>
>> To revert to the old driver behavior, move the ssd130x_init() call to the
>> encoder .atomic_enable as well. Besides fixing the panel not being turned
>> on when using SPI, it also gets rid of the custom CRTC .reset callback.
>>
>> Fixes: 622113b9f11f ("drm/ssd130x: Replace simple display helpers with the atomic helpers")
>> Signed-off-by: Javier Martinez Canillas <javierm at redhat.com>
> 
> Reviewed-by: Thomas Zimmermann <tzimmermann at suse.de>
> 

Applied this to drm-misc (drm-misc-next). Thanks!

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat



More information about the dri-devel mailing list