From patchwork Fri Dec 11 16:11:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 11968591 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 53682C4361B for ; Fri, 11 Dec 2020 16:11:27 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 09F6D23BF0 for ; Fri, 11 Dec 2020 16:11:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 09F6D23BF0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1296E6E453; Fri, 11 Dec 2020 16:11:24 +0000 (UTC) Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by gabe.freedesktop.org (Postfix) with ESMTPS id 09BE56E44A for ; Fri, 11 Dec 2020 16:11:21 +0000 (UTC) Received: by mail-wm1-x342.google.com with SMTP id w206so4955192wma.0 for ; Fri, 11 Dec 2020 08:11:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OcgAlv73vEUDU74fbf2tp9Uw/scVqmobIWfJQ1/QSZI=; b=TMZK6wVNMmS6UnvQJKNvR8BU4h7qe2F8BL4X3W9vQmXVvWu4omP6/7MI8Iifd2b9PM t084AOo58Fzlwfo7B9L2HRONYR8yoCSlOYkg6/kUZSRkZ7XuC0VtzFihgUXTMxUopf/C Z5Ic0lEHcd4XOz6/cOou4jBFM0eylLo1QYPFM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OcgAlv73vEUDU74fbf2tp9Uw/scVqmobIWfJQ1/QSZI=; b=lY5/mI/3BNMee9wjeSPJTRhrhCSL/ysk6tA02D5w2sBZelDjLKKyLZz7Bbz7/Dcbbv o3juX/JQmbNL2tS1+hGXTiwU5OJvuqFURQ39YyHRO792yIdXaZS75zqZ4oilIevA42lE omZ5NkiKI3177oCxwYgvXmxSusSGL11BFzdKnjzYhGeMNZijKUFLKO1xCRCDLr640K7X 8Z7TRx5Ifm2DZd68qUJriF6Ajd/rhoUXTdX97sST5ALZ2HmR48OQw9Q1qvLMBCRT3N6m d5lG9um9fI7oR0F7dtur7bqUrHKQBT0IRvdmfWHfCrzH039XUw6kNMEy5RaRkP9KRI1n EM+w== X-Gm-Message-State: AOAM532F+t7gaQq7pTbqGOzlZpYNFSHj+yz/y88PiXwxGTXoF/0XXaXN ogwtqqcmfsqpB2CBLe8F9jygbnKp82C6mg== X-Google-Smtp-Source: ABdhPJzjVIglpvy08VrseZujbyMTPVujxgVBsSxyTtDcytI5Osccm0Bucreq6OGHdlD388ua7yprQA== X-Received: by 2002:a1c:7c09:: with SMTP id x9mr14373708wmc.98.1607703080240; Fri, 11 Dec 2020 08:11:20 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id 138sm17399981wma.41.2020.12.11.08.11.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Dec 2020 08:11:19 -0800 (PST) From: Daniel Vetter To: DRI Development Subject: [PATCH 1/2] drm/vkms: Unset preferred_depth Date: Fri, 11 Dec 2020 17:11:12 +0100 Message-Id: <20201211161113.3350061-1-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Haneen Mohammed , Rodrigo Siqueira , Daniel Vetter , Melissa Wen , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" There's a confusion between the preferred_depth uapi and the generic fbdev helpers. Former wants depth, latter wants bpp, and for XRGB8888 they don't match. Which hit me with vkms, which wants that. All other drivers setting this and using the generic fbdev helpers use 16, where both numbers match, for RGB565. Since fixing this is a bit involved (I think for atomic drivers we should just compute this all internally from the format list of the first primary plane) paper over the issue in vkms by using defaults everywhere. Then userspace will pick XRGB8888, and fbdev helpers will do the same, and we have what we want. Reported-by: Simon Ser Reviewed-by: Simon Ser Cc: Simon Ser Signed-off-by: Daniel Vetter Cc: Rodrigo Siqueira Cc: Melissa Wen Cc: Haneen Mohammed Cc: Daniel Vetter --- drivers/gpu/drm/vkms/vkms_drv.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c index d4d39227f2ed..aef29393b811 100644 --- a/drivers/gpu/drm/vkms/vkms_drv.c +++ b/drivers/gpu/drm/vkms/vkms_drv.c @@ -113,7 +113,10 @@ static int vkms_modeset_init(struct vkms_device *vkmsdev) dev->mode_config.max_height = YRES_MAX; dev->mode_config.cursor_width = 512; dev->mode_config.cursor_height = 512; - dev->mode_config.preferred_depth = 32; + /* FIXME: There's a confusion between bpp and depth between this and + * fbdev helpers. We have to go with 0, meaning "pick the default", + * which ix XRGB8888 in all cases. */ + dev->mode_config.preferred_depth = 0; dev->mode_config.helper_private = &vkms_mode_config_helpers; return vkms_output_init(vkmsdev, 0); From patchwork Fri Dec 11 16:11:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 11968589 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A4EAEC433FE for ; Fri, 11 Dec 2020 16:11:25 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ED83F23BF0 for ; Fri, 11 Dec 2020 16:11:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ED83F23BF0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E26476E44A; Fri, 11 Dec 2020 16:11:23 +0000 (UTC) Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by gabe.freedesktop.org (Postfix) with ESMTPS id E9F9F6E44A for ; Fri, 11 Dec 2020 16:11:22 +0000 (UTC) Received: by mail-wr1-x442.google.com with SMTP id c5so5945357wrp.6 for ; Fri, 11 Dec 2020 08:11:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4fssRouZbXWFBN44jHmfR7th1TsDBIkrLCwxCRLIp+k=; b=a7J7hp3rOnBRHKp2O1dvJkyvHfkYf5aeV8zMHMyFRYnoyhXuJHWULVnKPKBSDSbUyM ZYzDvc5iS34pUS9ySUgpTP4B1315nvQZoHz8ue2hbGAT5k5LWCn83dc464DfMChuxTkc rajeUQKxXiu87nKkNfbGDpy+Ax4kBhERODznY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4fssRouZbXWFBN44jHmfR7th1TsDBIkrLCwxCRLIp+k=; b=EXyu3BwBFOCpvNz0fg1R+enq8n99hjs1TRTzUIGZQQ/LNSdUJ/qdB22NqA0x1pBVIJ b4KRhOfulmOfNWiqahmOAjlGyeYWQr/MAgiRhylvePkuqcO9qcuoBYSZHhSELRSrnrFe lEZcdF04ClW5lpO8Zuf6BDJV4D6NFawsDkaMfdsevF4L1iWF19Ce5S2s6jAH1njsNqxP gLE7ZGIaPaslf++m5dm0HkCECezBcnixQzAjJ92MPo0V5Oc+Avsss9p+1tBrP4FQnVpP ru3THqM/h/qXX49CQPN+bSxJY2MC0MqM8NzquVllCIcYDL5c/hnvlZCf+X4gtXpebHwe B9Dg== X-Gm-Message-State: AOAM5322UFiqF8DEXM3p7cgAtrYiUCeXgMfSQm8BM8UVcjigKlWKO2pd k+xLzrWWkHmOgUywjtFRbciGtNHbZd4z8A== X-Google-Smtp-Source: ABdhPJzoXn2HvtkGWMCEoEEMjUDaNmyoVpu+u7chKPJnWQT+uhC+Q4ivftxPpGGUX58qennL8TuZ0Q== X-Received: by 2002:a5d:45d0:: with SMTP id b16mr14569951wrs.220.1607703081448; Fri, 11 Dec 2020 08:11:21 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id 138sm17399981wma.41.2020.12.11.08.11.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Dec 2020 08:11:20 -0800 (PST) From: Daniel Vetter To: DRI Development Subject: [PATCH 2/2] drm/fb-helper: Add a FIXME that generic_setup is very confusing Date: Fri, 11 Dec 2020 17:11:13 +0100 Message-Id: <20201211161113.3350061-2-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201211161113.3350061-1-daniel.vetter@ffwll.ch> References: <20201211161113.3350061-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , Daniel Vetter , Thomas Zimmermann , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" I tried to fix this for real, but it's very sprawling and lots of drivers get this mildly wrong one way or the other. Signed-off-by: Daniel Vetter Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: Thomas Zimmermann Cc: David Airlie Cc: Daniel Vetter Acked-by: Simon Ser Acked-by: Maxime Ripard --- drivers/gpu/drm/drm_fb_helper.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index 596255edf023..27deed4af015 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c @@ -2494,6 +2494,11 @@ void drm_fbdev_generic_setup(struct drm_device *dev, return; } + /* + * FIXME: This mixes up depth with bpp, which results in a glorious + * mess, resulting in some drivers picking wrong fbdev defaults and + * others wrong preferred_depth defaults. + */ if (!preferred_bpp) preferred_bpp = dev->mode_config.preferred_depth; if (!preferred_bpp)