[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