lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ