Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp703046rwb; Wed, 16 Nov 2022 06:40:06 -0800 (PST) X-Google-Smtp-Source: AA0mqf4MgBI6TJHbddBClDJCGgQZtX0zWJ9CXIOuz7xI+7krRn/AHk3CY7wjXF4Zg9ldkfKAuJ+q X-Received: by 2002:a63:e748:0:b0:46e:bfec:d611 with SMTP id j8-20020a63e748000000b0046ebfecd611mr20710704pgk.281.1668609606521; Wed, 16 Nov 2022 06:40:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668609606; cv=none; d=google.com; s=arc-20160816; b=NnnJAogyeDIjXJOgCXKv/cfC1FJM14h5CTTQtPwGgd8+NGq/jro9LawZYdhmtqSZMA SVJJJV9TuIZ+xdukaPCijTUfLa5lEPKyCUQyGT7mZgdZct4oG1eTYjQIPw+Ci9lAUgaw d7GuGY2dEpN13hdLXWgo2vVQ90c62xbedn0E1kaMBRMQcFRR9Qf9tgCu4urx2orXzxbN iteJ8Czx9pbeTgnb0/KhvybRuaumPkyzCnZI61m5KYMsP5uWsHzjxzCIdfNZpI2ijhEZ JAmeDAMoN9mvPihART2G8Epa2NELdTcVry7eVMxZi5450PAHKy/ShYe7QCHOCLNX2M0R LAHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Z8czfhSUs3mWHeIfFdLH5/G0a3Uk3RSmYGgvVFUZjxw=; b=Ye6rA4yUdUS+57Pg8wBWkQpf/95WS5JLcSRjgsgCa3fD+vVxh0g4Ouws4AUr9Z3H6Q gCwDxGR+S7mBYEIdCovC1X26HL1kas0hHyJpBpSGF5Sm0bnnu2ZNV2kzkQ5Ln1yK2ueF PdJ7lKNLXcItTV1QkVuljiOXguzBsoY6HQDyO5ekh3j+XcxwAZLHO9dXiVSCWXLfdBOe vyvFP63WxLcaXxvy2e0FUHXeg1NkVvSIYQGMcK97spdrOp0/F22cs7CF1rxPpsRBZxGu 9jInqK2z8tt5/cn6MPb3kEGPUZn41I3jL3FskfmTNZbZRoCTxeKnqXEczA/j40Vys3kn +V1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20210112 header.b=NT+BUGGt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h69-20020a638348000000b00476e94ad17esi1926537pge.234.2022.11.16.06.39.48; Wed, 16 Nov 2022 06:40:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20210112 header.b=NT+BUGGt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231656AbiKPNon (ORCPT + 91 others); Wed, 16 Nov 2022 08:44:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229531AbiKPNoj (ORCPT ); Wed, 16 Nov 2022 08:44:39 -0500 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BED11B1D for ; Wed, 16 Nov 2022 05:44:35 -0800 (PST) Received: by mail-wr1-x436.google.com with SMTP id g12so29761830wrs.10 for ; Wed, 16 Nov 2022 05:44:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Z8czfhSUs3mWHeIfFdLH5/G0a3Uk3RSmYGgvVFUZjxw=; b=NT+BUGGtGZAE2pjUnqSGkFkx3B1JCAolXNU5i9AiCCH7MdU4HJuegoVnVsC45K8Iow jzJ7a8el4ZGSDJ6zEC9Z/GE3NEKoZvkhcIXqAon3nxxO47/i0Y/ELCUOUX7GkxB94T2I SZcO9pXD6CAGQKO7LeaJ21mYHK6PnybDztnrrEAYG/4oEPk268L6V2HJ40V9/2cupmT/ DDknWLgdezM7NSFros3VfLOKEKYVXpzEfx+V34ZRARZs7EBxkVCwAWORLorCfNzaYRwl f6b7K1Kzm+WZNZoM96e7VIMNs6xtYjc9YbRKrRU8A/Y8I7s1NmOPmfXAzC03wBPejwdH 2euA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Z8czfhSUs3mWHeIfFdLH5/G0a3Uk3RSmYGgvVFUZjxw=; b=GibHJ8rYLJpSPzwopaZkJGpxOcu4umnzC80x1LypIX/satFI0ziZARq6eFfs3t7yDr wDy+C8bYz0A7aBXNYC2WLjgcEX1a2LWQnImuwtws4ane6qlkWFOdjN4j3qwQjRtb4nN4 WZvTS0Alj9mNtaR8d1oqdRTUDtxr5LjVhRzP8IO9tWSWSP26GcmP+ileVqqItzwKbYRp GGYuEcr/S2YhZjqo7/CZut/w+/pR683tBrfv05Mv8zPuQWaxEI4RgECubSbTvA919xVw qNYpXpAFynqZF2LZHSQgYaqXdiBbIcdnCd5NSNJ8s+YPYYER0Albrb4uvdhxfrD0N7q9 Ggdw== X-Gm-Message-State: ANoB5pnKmj1k08yNCyjLlOaFcccKMymM16LJ3Rhg3cboh1YPquqSyWP8 41HzDMJrOMgMEo0J0fjz9Sk= X-Received: by 2002:a5d:6f06:0:b0:236:5726:f1b with SMTP id ay6-20020a5d6f06000000b0023657260f1bmr13685093wrb.231.1668606274179; Wed, 16 Nov 2022 05:44:34 -0800 (PST) Received: from localhost.localdomain ([2a01:e0a:5da:d460:bf85:51f8:ca78:20c2]) by smtp.googlemail.com with ESMTPSA id g18-20020a05600c4ed200b003cf6e1df4a8sm2594584wmq.15.2022.11.16.05.44.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Nov 2022 05:44:33 -0800 (PST) From: Guillaume BRUN To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org Cc: Guillaume BRUN , Christian Hewitt Subject: [PATCH] drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420 Date: Wed, 16 Nov 2022 14:44:19 +0100 Message-Id: <20221116134419.16581-1-the.cheaterman@gmail.com> X-Mailer: git-send-email 2.37.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Cheap monitors sometimes advertise YUV modes they don't really have (HDMI specification mandates YUV support so even monitors without actual support will often wrongfully advertise it) which results in YUV matches and user forum complaints of a red tint to light colour display areas in common desktop environments. Moving the default RGB fall-back before YUV selection results in RGB mode matching in most cases, reducing complaints. Fixes: 6c3c719936da ("drm/bridge: synopsys: dw-hdmi: add bus format negociation") Signed-off-by: Guillaume BRUN Tested-by: Christian Hewitt --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 40d8ca37f5bc..aa51c61a78c7 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2720,6 +2720,9 @@ static u32 *dw_hdmi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge, * if supported. In any case the default RGB888 format is added */ + /* Default 8bit RGB fallback */ + output_fmts[i++] = MEDIA_BUS_FMT_RGB888_1X24; + if (max_bpc >= 16 && info->bpc == 16) { if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444) output_fmts[i++] = MEDIA_BUS_FMT_YUV16_1X48; @@ -2753,9 +2756,6 @@ static u32 *dw_hdmi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge, if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444) output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24; - /* Default 8bit RGB fallback */ - output_fmts[i++] = MEDIA_BUS_FMT_RGB888_1X24; - *num_output_fmts = i; return output_fmts; -- 2.37.3