[Intel-gfx] [PATCH 51/59] drm/arc: Inline remaining files

Sam Ravnborg sam at ravnborg.org
Fri Apr 24 17:56:00 UTC 2020


On Wed, Apr 15, 2020 at 09:40:26AM +0200, Daniel Vetter wrote:
> At less than 500 lines total feels like the right thing to do.
> 
> Also noticed that the simple wrapper around drm_connector_cleanup can
> be dropped.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
Acked-by: Sam Ravnborg <sam at ravnborg.org>
> ---
>  drivers/gpu/drm/arc/Makefile      |   2 +-
>  drivers/gpu/drm/arc/arcpgu.h      |  39 ------------
>  drivers/gpu/drm/arc/arcpgu_drv.c  | 102 +++++++++++++++++++++++++++++-
>  drivers/gpu/drm/arc/arcpgu_regs.h |  31 ---------
>  drivers/gpu/drm/arc/arcpgu_sim.c  |  74 ----------------------
>  5 files changed, 101 insertions(+), 147 deletions(-)
>  delete mode 100644 drivers/gpu/drm/arc/arcpgu.h
>  delete mode 100644 drivers/gpu/drm/arc/arcpgu_regs.h
>  delete mode 100644 drivers/gpu/drm/arc/arcpgu_sim.c
> 
> diff --git a/drivers/gpu/drm/arc/Makefile b/drivers/gpu/drm/arc/Makefile
> index 379a1145bc2f..b26f2495c532 100644
> --- a/drivers/gpu/drm/arc/Makefile
> +++ b/drivers/gpu/drm/arc/Makefile
> @@ -1,3 +1,3 @@
>  # SPDX-License-Identifier: GPL-2.0-only
> -arcpgu-y := arcpgu_sim.o arcpgu_drv.o
> +arcpgu-y := arcpgu_drv.o
>  obj-$(CONFIG_DRM_ARCPGU) += arcpgu.o
> diff --git a/drivers/gpu/drm/arc/arcpgu.h b/drivers/gpu/drm/arc/arcpgu.h
> deleted file mode 100644
> index 7dce0c2313ba..000000000000
> --- a/drivers/gpu/drm/arc/arcpgu.h
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -/*
> - * ARC PGU DRM driver.
> - *
> - * Copyright (C) 2016 Synopsys, Inc. (www.synopsys.com)
> - */
> -
> -#ifndef _ARCPGU_H_
> -#define _ARCPGU_H_
> -
> -#include <drm/drm_simple_kms_helper.h>
> -
> -struct arcpgu_drm_private {
> -	struct drm_device	drm;
> -	void __iomem		*regs;
> -	struct clk		*clk;
> -	struct drm_simple_display_pipe pipe;
> -	struct drm_connector	sim_conn;
> -};
> -
> -#define dev_to_arcpgu(x) container_of(x, struct arcpgu_drm_private, drm)
> -
> -#define pipe_to_arcpgu_priv(x) container_of(x, struct arcpgu_drm_private, pipe)
> -
> -static inline void arc_pgu_write(struct arcpgu_drm_private *arcpgu,
> -				 unsigned int reg, u32 value)
> -{
> -	iowrite32(value, arcpgu->regs + reg);
> -}
> -
> -static inline u32 arc_pgu_read(struct arcpgu_drm_private *arcpgu,
> -			       unsigned int reg)
> -{
> -	return ioread32(arcpgu->regs + reg);
> -}
> -
> -int arcpgu_drm_sim_init(struct drm_device *drm, struct device_node *np);
> -
> -#endif
> diff --git a/drivers/gpu/drm/arc/arcpgu_drv.c b/drivers/gpu/drm/arc/arcpgu_drv.c
> index 8fbfd956de0a..b0c941d91545 100644
> --- a/drivers/gpu/drm/arc/arcpgu_drv.c
> +++ b/drivers/gpu/drm/arc/arcpgu_drv.c
> @@ -17,13 +17,111 @@
>  #include <drm/drm_gem_framebuffer_helper.h>
>  #include <drm/drm_of.h>
>  #include <drm/drm_probe_helper.h>
> +#include <drm/drm_simple_kms_helper.h>
>  #include <linux/dma-mapping.h>
>  #include <linux/module.h>
>  #include <linux/of_reserved_mem.h>
>  #include <linux/platform_device.h>
>  
> -#include "arcpgu.h"
> -#include "arcpgu_regs.h"
> +#define ARCPGU_REG_CTRL		0x00
> +#define ARCPGU_REG_STAT		0x04
> +#define ARCPGU_REG_FMT		0x10
> +#define ARCPGU_REG_HSYNC	0x14
> +#define ARCPGU_REG_VSYNC	0x18
> +#define ARCPGU_REG_ACTIVE	0x1c
> +#define ARCPGU_REG_BUF0_ADDR	0x40
> +#define ARCPGU_REG_STRIDE	0x50
> +#define ARCPGU_REG_START_SET	0x84
> +
> +#define ARCPGU_REG_ID		0x3FC
> +
> +#define ARCPGU_CTRL_ENABLE_MASK	0x02
> +#define ARCPGU_CTRL_VS_POL_MASK	0x1
> +#define ARCPGU_CTRL_VS_POL_OFST	0x3
> +#define ARCPGU_CTRL_HS_POL_MASK	0x1
> +#define ARCPGU_CTRL_HS_POL_OFST	0x4
> +#define ARCPGU_MODE_XRGB8888	BIT(2)
> +#define ARCPGU_STAT_BUSY_MASK	0x02
> +
> +struct arcpgu_drm_private {
> +	struct drm_device	drm;
> +	void __iomem		*regs;
> +	struct clk		*clk;
> +	struct drm_simple_display_pipe pipe;
> +	struct drm_connector	sim_conn;
> +};
> +
> +#define dev_to_arcpgu(x) container_of(x, struct arcpgu_drm_private, drm)
> +
> +#define pipe_to_arcpgu_priv(x) container_of(x, struct arcpgu_drm_private, pipe)
> +
> +static inline void arc_pgu_write(struct arcpgu_drm_private *arcpgu,
> +				 unsigned int reg, u32 value)
> +{
> +	iowrite32(value, arcpgu->regs + reg);
> +}
> +
> +static inline u32 arc_pgu_read(struct arcpgu_drm_private *arcpgu,
> +			       unsigned int reg)
> +{
> +	return ioread32(arcpgu->regs + reg);
> +}
> +
> +#define XRES_DEF	640
> +#define YRES_DEF	480
> +
> +#define XRES_MAX	8192
> +#define YRES_MAX	8192
> +
> +static int arcpgu_drm_connector_get_modes(struct drm_connector *connector)
> +{
> +	int count;
> +
> +	count = drm_add_modes_noedid(connector, XRES_MAX, YRES_MAX);
> +	drm_set_preferred_mode(connector, XRES_DEF, YRES_DEF);
> +	return count;
> +}
> +
> +static const struct drm_connector_helper_funcs
> +arcpgu_drm_connector_helper_funcs = {
> +	.get_modes = arcpgu_drm_connector_get_modes,
> +};
> +
> +static const struct drm_connector_funcs arcpgu_drm_connector_funcs = {
> +	.reset = drm_atomic_helper_connector_reset,
> +	.fill_modes = drm_helper_probe_single_connector_modes,
> +	.destroy = drm_connector_cleanup,
> +	.atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
> +	.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
> +};
> +
> +static int arcpgu_drm_sim_init(struct drm_device *drm, struct device_node *np)
> +{
> +	struct arcpgu_drm_private *arcpgu = dev_to_arcpgu(drm);
> +	struct drm_encoder *encoder;
> +	struct drm_connector *connector;
> +	int ret;
> +
> +	encoder = &arcpgu->pipe.encoder;
> +
> +	connector = &arcpgu->sim_conn;
> +	drm_connector_helper_add(connector, &arcpgu_drm_connector_helper_funcs);
> +
> +	ret = drm_connector_init(drm, connector, &arcpgu_drm_connector_funcs,
> +			DRM_MODE_CONNECTOR_VIRTUAL);
> +	if (ret < 0) {
> +		dev_err(drm->dev, "failed to initialize drm connector\n");
> +		return ret;
> +	}
> +
> +	ret = drm_connector_attach_encoder(connector, encoder);
> +	if (ret < 0) {
> +		dev_err(drm->dev, "could not attach connector to encoder\n");
> +		return ret;
> +	}
> +
> +	return 0;
> +}
>  
>  #define ENCODE_PGU_XY(x, y)	((((x) - 1) << 16) | ((y) - 1))
>  
> diff --git a/drivers/gpu/drm/arc/arcpgu_regs.h b/drivers/gpu/drm/arc/arcpgu_regs.h
> deleted file mode 100644
> index b689a382d556..000000000000
> --- a/drivers/gpu/drm/arc/arcpgu_regs.h
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -/*
> - * ARC PGU DRM driver.
> - *
> - * Copyright (C) 2016 Synopsys, Inc. (www.synopsys.com)
> - */
> -
> -#ifndef _ARC_PGU_REGS_H_
> -#define _ARC_PGU_REGS_H_
> -
> -#define ARCPGU_REG_CTRL		0x00
> -#define ARCPGU_REG_STAT		0x04
> -#define ARCPGU_REG_FMT		0x10
> -#define ARCPGU_REG_HSYNC	0x14
> -#define ARCPGU_REG_VSYNC	0x18
> -#define ARCPGU_REG_ACTIVE	0x1c
> -#define ARCPGU_REG_BUF0_ADDR	0x40
> -#define ARCPGU_REG_STRIDE	0x50
> -#define ARCPGU_REG_START_SET	0x84
> -
> -#define ARCPGU_REG_ID		0x3FC
> -
> -#define ARCPGU_CTRL_ENABLE_MASK	0x02
> -#define ARCPGU_CTRL_VS_POL_MASK	0x1
> -#define ARCPGU_CTRL_VS_POL_OFST	0x3
> -#define ARCPGU_CTRL_HS_POL_MASK	0x1
> -#define ARCPGU_CTRL_HS_POL_OFST	0x4
> -#define ARCPGU_MODE_XRGB8888	BIT(2)
> -#define ARCPGU_STAT_BUSY_MASK	0x02
> -
> -#endif
> diff --git a/drivers/gpu/drm/arc/arcpgu_sim.c b/drivers/gpu/drm/arc/arcpgu_sim.c
> deleted file mode 100644
> index 1a63f0868504..000000000000
> --- a/drivers/gpu/drm/arc/arcpgu_sim.c
> +++ /dev/null
> @@ -1,74 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * ARC PGU DRM driver.
> - *
> - * Copyright (C) 2016 Synopsys, Inc. (www.synopsys.com)
> - */
> -
> -#include <drm/drm_atomic_helper.h>
> -#include <drm/drm_device.h>
> -#include <drm/drm_probe_helper.h>
> -
> -#include "arcpgu.h"
> -
> -#define XRES_DEF	640
> -#define YRES_DEF	480
> -
> -#define XRES_MAX	8192
> -#define YRES_MAX	8192
> -
> -
> -static int arcpgu_drm_connector_get_modes(struct drm_connector *connector)
> -{
> -	int count;
> -
> -	count = drm_add_modes_noedid(connector, XRES_MAX, YRES_MAX);
> -	drm_set_preferred_mode(connector, XRES_DEF, YRES_DEF);
> -	return count;
> -}
> -
> -static void arcpgu_drm_connector_destroy(struct drm_connector *connector)
> -{
> -	drm_connector_cleanup(connector);
> -}
> -
> -static const struct drm_connector_helper_funcs
> -arcpgu_drm_connector_helper_funcs = {
> -	.get_modes = arcpgu_drm_connector_get_modes,
> -};
> -
> -static const struct drm_connector_funcs arcpgu_drm_connector_funcs = {
> -	.reset = drm_atomic_helper_connector_reset,
> -	.fill_modes = drm_helper_probe_single_connector_modes,
> -	.destroy = arcpgu_drm_connector_destroy,
> -	.atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
> -	.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
> -};
> -
> -int arcpgu_drm_sim_init(struct drm_device *drm, struct device_node *np)
> -{
> -	struct arcpgu_drm_private *arcpgu = dev_to_arcpgu(drm);
> -	struct drm_encoder *encoder;
> -	struct drm_connector *connector;
> -	int ret;
> -
> -	encoder = &arcpgu->pipe.encoder;
> -
> -	connector = &arcpgu->sim_conn;
> -	drm_connector_helper_add(connector, &arcpgu_drm_connector_helper_funcs);
> -
> -	ret = drm_connector_init(drm, connector, &arcpgu_drm_connector_funcs,
> -			DRM_MODE_CONNECTOR_VIRTUAL);
> -	if (ret < 0) {
> -		dev_err(drm->dev, "failed to initialize drm connector\n");
> -		return ret;
> -	}
> -
> -	ret = drm_connector_attach_encoder(connector, encoder);
> -	if (ret < 0) {
> -		dev_err(drm->dev, "could not attach connector to encoder\n");
> -		return ret;
> -	}
> -
> -	return 0;
> -}
> -- 
> 2.25.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the Intel-gfx mailing list