Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp12720442rwd; Fri, 23 Jun 2023 09:42:34 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7pQ/PahFPGdE+qqoeMi5M/XSmlZ3jEHWPnHKh4lw5qHJy7e5Xnps2FdQ5bA+50nmHM2T8r X-Received: by 2002:a17:903:41c7:b0:1b6:7031:d22c with SMTP id u7-20020a17090341c700b001b67031d22cmr14250535ple.38.1687538553935; Fri, 23 Jun 2023 09:42:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687538553; cv=none; d=google.com; s=arc-20160816; b=Drs+gn8qahJ75TkHEonnbl+YKImUecEGyqFVd5tRSb/s6hLaHCfYKevTKClSYhYpB0 UtwUfKRcY6bNz3WEkZjAYoBq1Tz+Kc4tNALOXQXGtfVVBULwOmdxuVQKHfozsgnPuLKn UZo49uVi5J4/xTxQXZFCIU/yrVcYbvJQIVm3IkrGG4L0nsj5bj5xVof3oANQQRehqsy8 +2T4daC4qy2JVVixx3DUeuEHlWkPKO3hQFXzBRxQZa1pDdUQms4lP6yjQRHcldrksxyQ FpFENx9pK7gvYw8BkWg62vDvd8+S7Fop9ToUelQiqkKg1nW/egT+3gN7fndaSxX9csU5 iLrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=bBrPibZSp/KvPDEx8rvjQzeT9RKC2uFbZeBg+BsazJM=; b=mjBZIOTgxLHYKpUjBbJuTsy7sgqKKyMF2DYv/ohnIG8h/aGvEwen6iIQQ9dPqMHusj R+mF7EibFLSIJv5p5khbOaK5Yl8cW5uV+tFwYUOmRjoUOBumqjbm+0zr4ke6h+1YFKsB rn94CHcelZLKVRZBrmJLRUOvjziJrhQD2IGE1fvdmot6fqcDduJbjyNf2V5h6Q4KBsDO oBiNdzneo360E3hMKTgV+jOor0ny+PuXxhkeyssP9JXOEXFMe4DGe/93wZa3MxyvEKFe xF+jk7hwKJUD8Muzlkum4UXXcJM1kCaovLbTEX7TczQZwWsLseR8oN4oxR46TZG0vWi6 bBAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=d0Bg9TXG; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q1-20020a170902bd8100b001b3be4fadbfsi5479250pls.159.2023.06.23.09.42.21; Fri, 23 Jun 2023 09:42:33 -0700 (PDT) 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 (test mode) header.i=@ideasonboard.com header.s=mail header.b=d0Bg9TXG; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232454AbjFWPzN (ORCPT + 99 others); Fri, 23 Jun 2023 11:55:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57638 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231501AbjFWPzI (ORCPT ); Fri, 23 Jun 2023 11:55:08 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2C5482129; Fri, 23 Jun 2023 08:54:59 -0700 (PDT) Received: from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi [213.243.189.158]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id A82CC838; Fri, 23 Jun 2023 17:54:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1687535660; bh=qEimjjGheFgbhWQXyKIsZNL1k704juka4xzkdRWfhmA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=d0Bg9TXGisodDm3LzjjgUR+BvGhzJ/BuM8XmwOltXmcFnTJJiYuFF0XbkaaYKEq3I dcETVQ/tMoR7Um8MNvboCFmNnK/u6pbg4QlHMwOJsFsj5oFPv0r9VJKugekDlkIfR/ +FuSEj9egekqCoYrBX0L2DzuZY6JP4JluaPGgMIk= Date: Fri, 23 Jun 2023 18:54:56 +0300 From: Laurent Pinchart To: Geert Uytterhoeven Cc: Kieran Bingham , David Airlie , Daniel Vetter , Thomas Zimmermann , Magnus Damm , dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 22/39] drm: renesas: shmobile: Use media bus formats in platform data Message-ID: <20230623155456.GZ2112@pendragon.ideasonboard.com> References: <3599b9ee249afea0e5b5ced45ab3523e17503d31.1687423204.git.geert+renesas@glider.be> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <3599b9ee249afea0e5b5ced45ab3523e17503d31.1687423204.git.geert+renesas@glider.be> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 Hi Geert, Thank you for the patch. On Thu, Jun 22, 2023 at 11:21:34AM +0200, Geert Uytterhoeven wrote: > Replace the custom shmob_drm_interface enumeration values with standard > media bus formats. This simplifies driver handling of bus formats and > prepares for DT support. > > Signed-off-by: Geert Uytterhoeven Reviewed-by: Laurent Pinchart > --- > .../gpu/drm/renesas/shmobile/shmob_drm_drv.c | 52 +++++++++++++------ > include/linux/platform_data/shmob_drm.h | 13 +---- > 2 files changed, 38 insertions(+), 27 deletions(-) > > diff --git a/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c > index 1a1d66c6e817e227..e5be0ae99bd970be 100644 > --- a/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c > +++ b/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c > @@ -9,6 +9,7 @@ > > #include > #include > +#include > #include > #include > #include > @@ -34,24 +35,45 @@ > > static int shmob_drm_init_interface(struct shmob_drm_device *sdev) > { > - static const u32 ldmt1r[] = { > - [SHMOB_DRM_IFACE_RGB8] = LDMT1R_MIFTYP_RGB8, > - [SHMOB_DRM_IFACE_RGB9] = LDMT1R_MIFTYP_RGB9, > - [SHMOB_DRM_IFACE_RGB12A] = LDMT1R_MIFTYP_RGB12A, > - [SHMOB_DRM_IFACE_RGB12B] = LDMT1R_MIFTYP_RGB12B, > - [SHMOB_DRM_IFACE_RGB16] = LDMT1R_MIFTYP_RGB16, > - [SHMOB_DRM_IFACE_RGB18] = LDMT1R_MIFTYP_RGB18, > - [SHMOB_DRM_IFACE_RGB24] = LDMT1R_MIFTYP_RGB24, > - [SHMOB_DRM_IFACE_YUV422] = LDMT1R_MIFTYP_YCBCR, > - }; > - > - if (sdev->pdata->iface.interface >= ARRAY_SIZE(ldmt1r)) { > - dev_err(sdev->dev, "invalid interface type %u\n", > - sdev->pdata->iface.interface); > + switch (sdev->pdata->iface.bus_fmt) { > + case MEDIA_BUS_FMT_RGB888_3X8: > + sdev->ldmt1r = LDMT1R_MIFTYP_RGB8; > + break; > + > + case MEDIA_BUS_FMT_RGB666_2X9_BE: > + sdev->ldmt1r = LDMT1R_MIFTYP_RGB9; > + break; > + > + case MEDIA_BUS_FMT_RGB888_2X12_BE: > + sdev->ldmt1r = LDMT1R_MIFTYP_RGB12A; > + break; > + > + case MEDIA_BUS_FMT_RGB444_1X12: > + sdev->ldmt1r = LDMT1R_MIFTYP_RGB12B; > + break; > + > + case MEDIA_BUS_FMT_RGB565_1X16: > + sdev->ldmt1r = LDMT1R_MIFTYP_RGB16; > + break; > + > + case MEDIA_BUS_FMT_RGB666_1X18: > + sdev->ldmt1r = LDMT1R_MIFTYP_RGB18; > + break; > + > + case MEDIA_BUS_FMT_RGB888_1X24: > + sdev->ldmt1r = LDMT1R_MIFTYP_RGB24; > + break; > + > + case MEDIA_BUS_FMT_UYVY8_1X16: > + sdev->ldmt1r = LDMT1R_MIFTYP_YCBCR; > + break; > + > + default: > + dev_err(sdev->dev, "invalid bus format 0x%x\n", > + sdev->pdata->iface.bus_fmt); > return -EINVAL; > } > > - sdev->ldmt1r = ldmt1r[sdev->pdata->iface.interface]; > return 0; > } > > diff --git a/include/linux/platform_data/shmob_drm.h b/include/linux/platform_data/shmob_drm.h > index f3cb19ff9f818aca..5047e66f0a6823ba 100644 > --- a/include/linux/platform_data/shmob_drm.h > +++ b/include/linux/platform_data/shmob_drm.h > @@ -18,17 +18,6 @@ enum shmob_drm_clk_source { > SHMOB_DRM_CLK_EXTERNAL, > }; > > -enum shmob_drm_interface { > - SHMOB_DRM_IFACE_RGB8, /* 24bpp, 8:8:8 */ > - SHMOB_DRM_IFACE_RGB9, /* 18bpp, 9:9 */ > - SHMOB_DRM_IFACE_RGB12A, /* 24bpp, 12:12 */ > - SHMOB_DRM_IFACE_RGB12B, /* 12bpp */ > - SHMOB_DRM_IFACE_RGB16, /* 16bpp */ > - SHMOB_DRM_IFACE_RGB18, /* 18bpp */ > - SHMOB_DRM_IFACE_RGB24, /* 24bpp */ > - SHMOB_DRM_IFACE_YUV422, /* 16bpp */ > -}; > - > struct shmob_drm_panel_data { > unsigned int width_mm; /* Panel width in mm */ > unsigned int height_mm; /* Panel height in mm */ > @@ -36,7 +25,7 @@ struct shmob_drm_panel_data { > }; > > struct shmob_drm_interface_data { > - enum shmob_drm_interface interface; > + unsigned int bus_fmt; /* MEDIA_BUS_FMT_RGB888_* */ > unsigned int clk_div; > }; > -- Regards, Laurent Pinchart