diff options
Diffstat (limited to 'drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.h')
| -rw-r--r-- | drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.h b/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.h new file mode 100644 index 000000000000..088ac5381e91 --- /dev/null +++ b/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.h @@ -0,0 +1,52 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * shmob_drm.h -- SH Mobile DRM driver + * + * Copyright (C) 2012 Renesas Electronics Corporation + * + * Laurent Pinchart (laurent.pinchart@ideasonboard.com) + */ + +#ifndef __SHMOB_DRM_DRV_H__ +#define __SHMOB_DRM_DRV_H__ + +#include <linux/kernel.h> +#include <linux/platform_data/shmob_drm.h> +#include <linux/spinlock.h> + +#include "shmob_drm_crtc.h" + +struct clk; +struct device; +struct drm_device; + +struct shmob_drm_config { + enum shmob_drm_clk_source clk_source; + unsigned int clk_div; +}; + +struct shmob_drm_device { + struct device *dev; + const struct shmob_drm_platform_data *pdata; + struct shmob_drm_config config; + + void __iomem *mmio; + struct clk *clock; + u32 lddckr; + + unsigned int irq; + spinlock_t irq_lock; /* Protects hardware LDINTR register */ + + struct drm_device ddev; + + struct shmob_drm_crtc crtc; + struct drm_encoder encoder; + struct drm_connector *connector; +}; + +static inline struct shmob_drm_device *to_shmob_device(struct drm_device *dev) +{ + return container_of(dev, struct shmob_drm_device, ddev); +} + +#endif /* __SHMOB_DRM_DRV_H__ */ |
