Re: [PATCH v2] drm/meson: Fix an Alpha Primary Plane bug on Meson GXL/GXM SoCs

From: Neil Armstrong
Date: Mon Dec 03 2018 - 05:11:03 EST


On 03/12/2018 10:04, Maxime Jourdan wrote:
> Hi Neil,
> On Wed, Nov 28, 2018 at 11:07 AM Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote:
>>
>> On the Amlogic GXL & GXM SoCs, a bug occurs on the primary plane when
>> alpha is used where the alpha is not aligned with the pixel content.
>>
>> The woraround Amlogic implemented is to reset the OSD1 plane hardware
>> block each time the plane is (re)enabled, solving the issue.
>>
>
> typo: woraround -> workaround

I'll fix when applying !

>
>> In the reset, we still need to save the content of 2 registers which
>> depends on the status of the plane, in addition to reload the scaler
>> conversion matrix at the same time.
>>
>> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
>> ---
>> Changes since v1 at [1]:
>> - Fix flickering and shaking by moving reset when plane is disabled
>>
>> [1] https://patchwork.freedesktop.org/patch/263550/
>>
>> drivers/gpu/drm/meson/meson_plane.c | 12 ++++++++++++
>> drivers/gpu/drm/meson/meson_viu.c | 27 +++++++++++++++++++++++++++
>> drivers/gpu/drm/meson/meson_viu.h | 1 +
>> 3 files changed, 40 insertions(+)
>>
>
> I can confirm the fix works on GXL (aml-s905x-cc), tested with
> LibreElec, 1080p resolution.
>
> Anything using alpha on the primary plane used to be randomly
> "shifted" with black patches, and this was particularly visible with
> subtitles.
>
> Things seem OK now. Thanks!
>
> Tested-by: Maxime Jourdan <mjourdan@xxxxxxxxxxxx>
> Reviewed-by: Maxime Jourdan <mjourdan@xxxxxxxxxxxx>
>

Thanks,

Applied on drm-misc-next

Neil