[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230306115249.2223042-1-u.kleine-koenig@pengutronix.de>
Date: Mon, 6 Mar 2023 12:52:47 +0100
From: Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>
To: Philipp Zabel <p.zabel@...gutronix.de>,
David Airlie <airlied@...il.com>,
Daniel Vetter <daniel@...ll.ch>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Sam Ravnborg <sam@...nborg.org>, Liu Ying <victor.liu@....com>,
Danilo Krummrich <dakr@...hat.com>,
Lucas Stach <l.stach@...gutronix.de>
Cc: Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
NXP Linux Team <linux-imx@....com>,
dri-devel@...ts.freedesktop.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: [PATCH v6 0/2] drm/imx/lcdc: Implement DRM driver for imx25
Hello,
in response to Philipp's reply to v5 here comes a v6. The code changes are:
| diff --git a/drivers/gpu/drm/imx/lcdc/imx-lcdc.c b/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
| index c2197fc50306..24bc7b310367 100644
| --- a/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
| +++ b/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
| @@ -7,7 +7,6 @@
| #include <drm/drm_fbdev_generic.h>
| #include <drm/drm_fb_dma_helper.h>
| #include <drm/drm_fourcc.h>
| -#include <drm/drm_fourcc.h>
| #include <drm/drm_framebuffer.h>
| #include <drm/drm_gem_atomic_helper.h>
| #include <drm/drm_gem_dma_helper.h>
| @@ -101,8 +100,6 @@
| struct imx_lcdc {
| struct drm_device drm;
| struct drm_simple_display_pipe pipe;
| - const struct drm_display_mode *mode;
| - struct drm_bridge *bridge;
| struct drm_connector *connector;
| void __iomem *base;
|
| @@ -122,23 +119,17 @@ static inline struct imx_lcdc *imx_lcdc_from_drmdev(struct drm_device *drm)
|
| static unsigned int imx_lcdc_get_format(unsigned int drm_format)
| {
| - unsigned int bpp;
| -
| switch (drm_format) {
| default:
| DRM_WARN("Format not supported - fallback to XRGB8888\n");
| fallthrough;
|
| case DRM_FORMAT_XRGB8888:
| - bpp = BPP_XRGB8888;
| - break;
| + return BPP_XRGB8888;
|
| case DRM_FORMAT_RGB565:
| - bpp = BPP_RGB565;
| - break;
| + return BPP_RGB565;
| }
| -
| - return bpp;
| }
|
| static void imx_lcdc_update_hw_registers(struct drm_simple_display_pipe *pipe,
| @@ -401,6 +392,7 @@ static int imx_lcdc_probe(struct platform_device *pdev)
| {
| struct imx_lcdc *lcdc;
| struct drm_device *drm;
| + struct drm_bridge *bridge;
| int irq;
| int ret;
| struct device *dev = &pdev->dev;
| @@ -416,9 +408,9 @@ static int imx_lcdc_probe(struct platform_device *pdev)
| if (IS_ERR(lcdc->base))
| return dev_err_probe(dev, PTR_ERR(lcdc->base), "Cannot get IO memory\n");
|
| - lcdc->bridge = devm_drm_of_get_bridge(dev, dev->of_node, 0, 0);
| - if (IS_ERR(lcdc->bridge))
| - return dev_err_probe(dev, PTR_ERR(lcdc->bridge), "Failed to find bridge\n");
| + bridge = devm_drm_of_get_bridge(dev, dev->of_node, 0, 0);
| + if (IS_ERR(bridge))
| + return dev_err_probe(dev, PTR_ERR(bridge), "Failed to find bridge\n");
|
| /* Get Clocks */
| lcdc->clk_ipg = devm_clk_get(dev, "ipg");
| @@ -454,7 +446,7 @@ static int imx_lcdc_probe(struct platform_device *pdev)
| if (ret < 0)
| return dev_err_probe(drm->dev, ret, "Failed to initialize vblank\n");
|
| - ret = drm_bridge_attach(&lcdc->pipe.encoder, lcdc->bridge, NULL, DRM_BRIDGE_ATTACH_NO_CONNECTOR);
| + ret = drm_bridge_attach(&lcdc->pipe.encoder, bridge, NULL, DRM_BRIDGE_ATTACH_NO_CONNECTOR);
| if (ret)
| return dev_err_probe(drm->dev, ret, "Cannot attach bridge\n");
(I quoted the patch in the hope that this way it won't interfere with b4
am or whatever is used to pickup this series.)
Other than that I rebased the series to v6.3-rc1 and added the tags by
Rob and Phillip that I got for v5.
Marian Cichy (1):
drm/imx/lcdc: Implement DRM driver for imx25
Uwe Kleine-König (1):
dt-bindings: display: imx: Describe drm binding for fsl,imx-lcdc
.../bindings/display/imx/fsl,imx-lcdc.yaml | 46 +-
drivers/gpu/drm/imx/Kconfig | 1 +
drivers/gpu/drm/imx/Makefile | 1 +
drivers/gpu/drm/imx/lcdc/Kconfig | 7 +
drivers/gpu/drm/imx/lcdc/Makefile | 1 +
drivers/gpu/drm/imx/lcdc/imx-lcdc.c | 545 ++++++++++++++++++
6 files changed, 600 insertions(+), 1 deletion(-)
create mode 100644 drivers/gpu/drm/imx/lcdc/Kconfig
create mode 100644 drivers/gpu/drm/imx/lcdc/Makefile
create mode 100644 drivers/gpu/drm/imx/lcdc/imx-lcdc.c
base-commit: fe15c26ee26efa11741a7b632e9f23b01aca4cc6
--
2.39.1
Powered by blists - more mailing lists