lkml.org 
[lkml]   [2022]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 066/287] drm/vc4: txp: Force alpha to be 0xff if its disabled
    Date
    From: Maxime Ripard <maxime@cerno.tech>

    [ Upstream commit 5453343a88ede8b12812fced81ecd24cb888ccc3 ]

    If we use a format that has padding instead of the alpha component (such
    as XRGB8888), it appears that the Transposer will fill the padding to 0,
    disregarding what was stored in the input buffer padding.

    This leads to issues with IGT, since it will set the padding to 0xff,
    but will then compare the CRC of the two frames which will thus fail.
    Another nice side effect is that it is now possible to just use the
    buffer as ARGB.

    Fixes: 008095e065a8 ("drm/vc4: Add support for the transposer block")
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
    Link: https://lore.kernel.org/r/20220328153659.2382206-4-maxime@cerno.tech
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/vc4/vc4_txp.c | 6 ++++++
    1 file changed, 6 insertions(+)

    diff --git a/drivers/gpu/drm/vc4/vc4_txp.c b/drivers/gpu/drm/vc4/vc4_txp.c
    index 9b7810c3dd65..3b56558a5d65 100644
    --- a/drivers/gpu/drm/vc4/vc4_txp.c
    +++ b/drivers/gpu/drm/vc4/vc4_txp.c
    @@ -317,6 +317,12 @@ static void vc4_txp_connector_atomic_commit(struct drm_connector *conn,

    if (fb->format->has_alpha)
    ctrl |= TXP_ALPHA_ENABLE;
    + else
    + /*
    + * If TXP_ALPHA_ENABLE isn't set and TXP_ALPHA_INVERT is, the
    + * hardware will force the output padding to be 0xff.
    + */
    + ctrl |= TXP_ALPHA_INVERT;

    gem = drm_fb_cma_get_gem_obj(fb, 0);
    TXP_WRITE(TXP_DST_PTR, gem->paddr + fb->offsets[0]);
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-13 13:56    [W:4.056 / U:0.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site