Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp713516rwb; Wed, 7 Dec 2022 04:15:32 -0800 (PST) X-Google-Smtp-Source: AA0mqf6T2enjqdykP3ryy3wRjt2lDVNj+P0BBDBPc8QhgYi1yVPCHdGiMVsJUXcMi+M5cHr4RbNB X-Received: by 2002:a17:906:7185:b0:7c0:deb6:e13c with SMTP id h5-20020a170906718500b007c0deb6e13cmr14045007ejk.457.1670415331959; Wed, 07 Dec 2022 04:15:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670415331; cv=none; d=google.com; s=arc-20160816; b=f4nviHmLkHZIOgvV07FCWRy6PLmRd77I6psIGc+p+D3qPBFj2iQGvTQk4IlZFic2p0 u0xa2hpcYTZ5120/D2qlPfJMrLFZi3RmEkKLjjZ/3rItSm8ZsT73Uj/dajEhEhqzI2DY YQqkEhbog38WuD4Ey3I7KCCW/elLHcph+oOLBIdwf15Fl5ULA6awVKsM9ptlD2eRtOyb +6Pu81VGKukTEcDNls8WSoj1Wt7ZPEw1frCZFKlW1WvXsWATiIM0r0Z1NaQjRS0l1ISI +1bk3S792qsFmRVFqvYo3UyaJowDQ9sfr9JcPffxom4d/ES51OAxAs3HSsIOpA41vZY0 gNSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :feedback-id:dkim-signature:dkim-signature; bh=8JXNhnLEO28YrVpxQj1wOWrxTedcnvz7vhR6KkgQoco=; b=dQxZ/TtwbTiFwDGX5RgiiHCXCU/0VWMcvEomTl2ZZW9MNqBLlkThZSMcLssq3CqJIv RAGA2IyqJJK3x7zNS8lTIcqAq9ifnsuxGWuBDO/h7UX8+Hcdr9os/JsABX/dJfnJlJT0 O4xzD6180zvAX9sQgIY3XGEkvf6AjcjhV64X+PQKfY3UqjYQSab3KQ9MUvylOs6bMhiq o6+H7LzimAKyZFUo4VC/jODspE6MTDlKmMa6bAkb2BgmYeQAd5Fe1IJhQ18RVRHiXBtJ 8Z65iL+tZ0sm+x+W67InK92+eNd6ir6HlvZ5QZkp2sA1MPngRBIoqic3E3wZp3dKGgPT kwFw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm2 header.b=RLmKnjjX; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=pFt34ah9; 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=pass (p=NONE sp=NONE dis=NONE) header.from=cerno.tech Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id jg33-20020a170907972100b007a8beb3aa4csi16884655ejc.872.2022.12.07.04.15.13; Wed, 07 Dec 2022 04:15:31 -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=pass header.i=@cerno.tech header.s=fm2 header.b=RLmKnjjX; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=pFt34ah9; 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=pass (p=NONE sp=NONE dis=NONE) header.from=cerno.tech Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230224AbiLGL4K (ORCPT + 76 others); Wed, 7 Dec 2022 06:56:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229559AbiLGLza (ORCPT ); Wed, 7 Dec 2022 06:55:30 -0500 Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6ADA0DF09 for ; Wed, 7 Dec 2022 03:55:29 -0800 (PST) Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id D64665C01EE; Wed, 7 Dec 2022 06:55:28 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Wed, 07 Dec 2022 06:55:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1670414128; x= 1670500528; bh=8JXNhnLEO28YrVpxQj1wOWrxTedcnvz7vhR6KkgQoco=; b=R LmKnjjXZBm6rBghyUwCjAT9o/I/63f95yIyiAFZzYdCE9yrjv7mUtlipTewOb9eN wwafVTRbR4v/cMIdILFVBh4tTioq22RL4UoQMMG9Z9sEEoCO816NyJ/Qu5ab5LbW OxjdrT7QBHpuB1DHcfGbvF08MhJoq4n+hJB+CkLJRRw0Ks+HiWhIZ95n4oXSt3Be k5qCr4OTpDiq1Wr8xaaKNoUZF0Gfz2uJri5U80QcHlqv2xsFrpxPnAJpebP9b2Cj uNkfGN0V3VjtzWgpRemDiwN1+BkF9WAOh4PontCJBYGEIUZrIbfqm27M02r+Nvkv 5RZsuleR4K22SW0Y/rxqg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1670414128; x= 1670500528; bh=8JXNhnLEO28YrVpxQj1wOWrxTedcnvz7vhR6KkgQoco=; b=p Ft34ah9Fu13Yv7AllVsSCvN7m6JJvCKcAEa1SZoUh9WYB3PoqnvmJMAWNRxVCSiz hzHdS8iTSLCOxxeXL1OkLu+lFfwFX7puwMsSe2Ts1meus9Xpda+Fpg9P0AKRZ2ep t6ymLvKYz54w3ViQ8qYJEeINM5rFRdaHjvHEfE5yFTxb53dNqCvluTz/eOyGIFID Q/54PsDKnrvFr1etXD8b4qbWOv6XzpGCDvMooazvEL8f4wG7jEOLVIIDhsvweoRD zuIzGdt4/J+1ih+eI4VAuNghWEWv29H/Z0LrTnDqC+HJxAqQWn8sRXiU+zQr+DNp caIeYf25VY49y3q02IQBg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudekgdefgecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffugggtgffkfhgjvfevofesthejredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpeevvdelieejgedvkeffheekheeilefhgefgffehteekueelvddtueffheet ledtffenucevlhhushhtvghrufhiiigvpedunecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 7 Dec 2022 06:55:28 -0500 (EST) From: Maxime Ripard Date: Wed, 07 Dec 2022 12:53:20 +0100 Subject: [PATCH 09/15] drm/vc4: plane: Allow using 0 as a pixel order value MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20221207-rpi-hvs-crtc-misc-v1-9-1f8e0770798b@cerno.tech> References: <20221207-rpi-hvs-crtc-misc-v1-0-1f8e0770798b@cerno.tech> In-Reply-To: <20221207-rpi-hvs-crtc-misc-v1-0-1f8e0770798b@cerno.tech> To: Emma Anholt , Maxime Ripard , David Airlie , Daniel Vetter , Eric Anholt Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dave Stevenson , Mateusz Kwiatkowski , Maxime Ripard X-Mailer: b4 0.11.0-dev-8c583 X-Developer-Signature: v=1; a=openpgp-sha256; l=3691; i=maxime@cerno.tech; h=from:subject:message-id; bh=D88ulcoenFvBXOL7I0IQHsqV5VXn1HkB+dnvXbQe7Wg=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMkT6lZ+5nstOE3Avry7+Leqn7ulwv2rVWoH/igtP9EcmTVL 50NJRykLgxgXg6yYIkuMsPmSuFOzXney8c2DmcPKBDKEgYtTACayTpyR4UdEs8CS2R6suke1ntu4P/ vFMWPWxdhTC6dtT2mwbU/0L2P4n6acL/dvQr5lS7GhQN9KqfCCfkmROO0bh59FBnb0SlWxAQA= X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,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 From: Dave Stevenson vc4_plane_mode_set for HVS5 was using pixel_order unless pixel_order_hvs5 was non-zero, except 0 is a valid value for the pixel_order. Specify pixel_order_hvs5 for all formats and remove the conditional. Signed-off-by: Dave Stevenson Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vc4/vc4_plane.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c index eb0ac2167937..8b4805c937f0 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -65,11 +65,13 @@ static const struct hvs_format { .drm = DRM_FORMAT_RGB565, .hvs = HVS_PIXEL_FORMAT_RGB565, .pixel_order = HVS_PIXEL_ORDER_XRGB, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XRGB, }, { .drm = DRM_FORMAT_BGR565, .hvs = HVS_PIXEL_FORMAT_RGB565, .pixel_order = HVS_PIXEL_ORDER_XBGR, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XBGR, }, { .drm = DRM_FORMAT_ARGB1555, @@ -87,56 +89,67 @@ static const struct hvs_format { .drm = DRM_FORMAT_RGB888, .hvs = HVS_PIXEL_FORMAT_RGB888, .pixel_order = HVS_PIXEL_ORDER_XRGB, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XRGB, }, { .drm = DRM_FORMAT_BGR888, .hvs = HVS_PIXEL_FORMAT_RGB888, .pixel_order = HVS_PIXEL_ORDER_XBGR, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XBGR, }, { .drm = DRM_FORMAT_YUV422, .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_3PLANE, .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCBCR, }, { .drm = DRM_FORMAT_YVU422, .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_3PLANE, .pixel_order = HVS_PIXEL_ORDER_XYCRCB, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCRCB, }, { .drm = DRM_FORMAT_YUV420, .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_3PLANE, .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCBCR, }, { .drm = DRM_FORMAT_YVU420, .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_3PLANE, .pixel_order = HVS_PIXEL_ORDER_XYCRCB, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCRCB, }, { .drm = DRM_FORMAT_NV12, .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_2PLANE, .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCBCR, }, { .drm = DRM_FORMAT_NV21, .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_2PLANE, .pixel_order = HVS_PIXEL_ORDER_XYCRCB, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCRCB, }, { .drm = DRM_FORMAT_NV16, .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_2PLANE, .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCBCR, }, { .drm = DRM_FORMAT_NV61, .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_2PLANE, .pixel_order = HVS_PIXEL_ORDER_XYCRCB, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCRCB, }, { .drm = DRM_FORMAT_P030, .hvs = HVS_PIXEL_FORMAT_YCBCR_10BIT, .pixel_order = HVS_PIXEL_ORDER_XYCBCR, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCBCR, .hvs5_only = true, }, { @@ -1031,15 +1044,10 @@ static int vc4_plane_mode_set(struct drm_plane *plane, vc4_dlist_write(vc4_state, 0xc0c0c0c0); } else { - u32 hvs_pixel_order = format->pixel_order; - - if (format->pixel_order_hvs5) - hvs_pixel_order = format->pixel_order_hvs5; - /* Control word */ vc4_dlist_write(vc4_state, SCALER_CTL0_VALID | - (hvs_pixel_order << SCALER_CTL0_ORDER_SHIFT) | + (format->pixel_order_hvs5 << SCALER_CTL0_ORDER_SHIFT) | (hvs_format << SCALER_CTL0_PIXEL_FORMAT_SHIFT) | VC4_SET_FIELD(tiling, SCALER_CTL0_TILING) | (vc4_state->is_unity ? -- 2.38.1