forked from luck/tmp_suning_uos_patched
gpu: ipu-v3: Move i.MX IPUv3 core driver out of staging
The i.MX Image Processing Unit (IPU) contains a number of image processing blocks that sit right in the middle between DRM and V4L2. Some of the modules, such as Display Controller, Processor, and Interface (DC, DP, DI) or CMOS Sensor Interface (CSI) and their FIFOs could be assigned to either framework, but others, such as the dma controller (IDMAC) and image converter (IC) can be used by both. The IPUv3 core driver provides an internal API to access the modules, to be used by both DRM and V4L2 IPUv3 drivers. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d1db0eea85
commit
39b9004d1f
|
@ -1,2 +1,3 @@
|
|||
obj-y += drm/ vga/
|
||||
obj-$(CONFIG_TEGRA_HOST1X) += host1x/
|
||||
obj-$(CONFIG_IMX_IPUV3_CORE) += ipu-v3/
|
||||
|
|
7
drivers/gpu/ipu-v3/Kconfig
Normal file
7
drivers/gpu/ipu-v3/Kconfig
Normal file
|
@ -0,0 +1,7 @@
|
|||
config IMX_IPUV3_CORE
|
||||
tristate "IPUv3 core support"
|
||||
depends on SOC_IMX5 || SOC_IMX6Q || SOC_IMX6SL || ARCH_MULTIPLATFORM
|
||||
depends on RESET_CONTROLLER
|
||||
help
|
||||
Choose this if you have a i.MX5/6 system and want to use the Image
|
||||
Processing Unit. This option only enables IPU base support.
|
|
@ -1,3 +1,3 @@
|
|||
obj-$(CONFIG_DRM_IMX_IPUV3_CORE) += imx-ipu-v3.o
|
||||
obj-$(CONFIG_IMX_IPUV3_CORE) += imx-ipu-v3.o
|
||||
|
||||
imx-ipu-v3-objs := ipu-common.o ipu-dc.o ipu-di.o ipu-dp.o ipu-dmfc.o
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
#include <drm/drm_fourcc.h>
|
||||
|
||||
#include "imx-ipu-v3.h"
|
||||
#include <video/imx-ipu-v3.h>
|
||||
#include "ipu-prv.h"
|
||||
|
||||
static inline u32 ipu_cm_read(struct ipu_soc *ipu, unsigned offset)
|
|
@ -20,8 +20,7 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include "../imx-drm.h"
|
||||
#include "imx-ipu-v3.h"
|
||||
#include <video/imx-ipu-v3.h>
|
||||
#include "ipu-prv.h"
|
||||
|
||||
#define DC_MAP_CONF_PTR(n) (0x108 + ((n) & ~0x1) * 2)
|
|
@ -20,7 +20,7 @@
|
|||
#include <linux/err.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include "imx-ipu-v3.h"
|
||||
#include <video/imx-ipu-v3.h>
|
||||
#include "ipu-prv.h"
|
||||
|
||||
struct ipu_di {
|
|
@ -17,7 +17,7 @@
|
|||
#include <linux/errno.h>
|
||||
#include <linux/io.h>
|
||||
|
||||
#include "imx-ipu-v3.h"
|
||||
#include <video/imx-ipu-v3.h>
|
||||
#include "ipu-prv.h"
|
||||
|
||||
#define DMFC_RD_CHAN 0x0000
|
|
@ -19,7 +19,7 @@
|
|||
#include <linux/io.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
#include "imx-ipu-v3.h"
|
||||
#include <video/imx-ipu-v3.h>
|
||||
#include "ipu-prv.h"
|
||||
|
||||
#define DP_SYNC 0
|
|
@ -22,7 +22,7 @@ struct ipu_soc;
|
|||
#include <linux/clk.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include "imx-ipu-v3.h"
|
||||
#include <video/imx-ipu-v3.h>
|
||||
|
||||
#define IPUV3_CHANNEL_CSI0 0
|
||||
#define IPUV3_CHANNEL_CSI1 1
|
|
@ -39,19 +39,10 @@ config DRM_IMX_LDB
|
|||
Choose this to enable the internal LVDS Display Bridge (LDB)
|
||||
found on i.MX53 and i.MX6 processors.
|
||||
|
||||
config DRM_IMX_IPUV3_CORE
|
||||
tristate "IPUv3 core support"
|
||||
depends on DRM_IMX
|
||||
depends on RESET_CONTROLLER
|
||||
help
|
||||
Choose this if you have a i.MX5/6 system and want
|
||||
to use the IPU. This option only enables IPU base
|
||||
support.
|
||||
|
||||
config DRM_IMX_IPUV3
|
||||
tristate "DRM Support for i.MX IPUv3"
|
||||
depends on DRM_IMX
|
||||
depends on DRM_IMX_IPUV3_CORE
|
||||
depends on IMX_IPUV3_CORE
|
||||
help
|
||||
Choose this if you have a i.MX5 or i.MX6 processor.
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ obj-$(CONFIG_DRM_IMX) += imxdrm.o
|
|||
obj-$(CONFIG_DRM_IMX_PARALLEL_DISPLAY) += parallel-display.o
|
||||
obj-$(CONFIG_DRM_IMX_TVE) += imx-tve.o
|
||||
obj-$(CONFIG_DRM_IMX_LDB) += imx-ldb.o
|
||||
obj-$(CONFIG_DRM_IMX_IPUV3_CORE) += ipu-v3/
|
||||
|
||||
imx-ipuv3-crtc-objs := ipuv3-crtc.o ipuv3-plane.o
|
||||
obj-$(CONFIG_DRM_IMX_IPUV3) += imx-ipuv3-crtc.o
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
#include <drm/drm_crtc_helper.h>
|
||||
#include <drm/drm_edid.h>
|
||||
#include <drm/drm_encoder_slave.h>
|
||||
#include <video/imx-ipu-v3.h>
|
||||
|
||||
#include "ipu-v3/imx-ipu-v3.h"
|
||||
#include "imx-hdmi.h"
|
||||
#include "imx-drm.h"
|
||||
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
#include <drm/drmP.h>
|
||||
#include <drm/drm_fb_helper.h>
|
||||
#include <drm/drm_crtc_helper.h>
|
||||
#include <video/imx-ipu-v3.h>
|
||||
|
||||
#include "ipu-v3/imx-ipu-v3.h"
|
||||
#include "imx-drm.h"
|
||||
|
||||
#define TVE_COM_CONF_REG 0x00
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include <drm/drm_gem_cma_helper.h>
|
||||
#include <drm/drm_fb_cma_helper.h>
|
||||
|
||||
#include "ipu-v3/imx-ipu-v3.h"
|
||||
#include <video/imx-ipu-v3.h>
|
||||
#include "imx-drm.h"
|
||||
#include "ipuv3-plane.h"
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#include <drm/drm_fb_cma_helper.h>
|
||||
#include <drm/drm_gem_cma_helper.h>
|
||||
|
||||
#include "ipu-v3/imx-ipu-v3.h"
|
||||
#include "video/imx-ipu-v3.h"
|
||||
#include "ipuv3-plane.h"
|
||||
|
||||
#define to_ipu_plane(x) container_of(x, struct ipu_plane, base)
|
||||
|
|
|
@ -20,6 +20,7 @@ source "drivers/char/agp/Kconfig"
|
|||
source "drivers/gpu/vga/Kconfig"
|
||||
|
||||
source "drivers/gpu/host1x/Kconfig"
|
||||
source "drivers/gpu/ipu-v3/Kconfig"
|
||||
|
||||
menu "Direct Rendering Manager"
|
||||
source "drivers/gpu/drm/Kconfig"
|
||||
|
|
Loading…
Reference in New Issue
Block a user