History log of /drivers/staging/imx-drm/imx-drm.h
Revision Date Author Comments
f9b0e251dfbf2c4da642ec9210db29a7ac63b81a 02-Apr-2014 Andrzej Hajda <a.hajda@samsung.com> drm: make mode_valid callback optional

Many drm connectors do not need mode validation.
The patch makes this callback optional and removes dumb implementations.

v2: Rebase:
- imx move to a shared (but still dummy) ->mode_valid implementation.
- probe helpers have been extracted to drm_probe_helper.c

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
655b43ccb7937325db287ab1e4e1ac4ec3f233fe 05-Mar-2014 Philipp Zabel <philipp.zabel@gmail.com> staging: imx-drm-core: Use OF graph to find components and connections between encoder and crtcs

This patch adds support to find the involved components connected to
the IPU display interface ports using the OF graph bindings documented
in Documentation/devicetree/bindings/media/video-interfaces.txt.
It makes use of the of_graph (formerly v4l2_of) parsing helpers and
thus depends on the patch that moves those out to drivers/of.

Each display interface needs to have an associated port node in the
device tree. We can associate this node with the crtc platform device
and use it to find the crtc corresponding to a given port node instead
of using a combination of parent device node and id number, as before.

Explicitly converting the void* cookie to the port device tree node
allows to get rid of the ipu_id and di_id fields. The multiplexer
setting on i.MX6 now can be obtained from the port id (reg property)
in the device tree.

The imx-drm node now needs a ports property that contains phandles
to each of the IPU display interface port nodes. From there, all
attached encoders are scanned and enabled encoders are added to a
waiting list.
The bind order makes sure that once all components are probed, crtcs
are bound before encoders, so that imx_drm_encoder_parse_of can be
called from the encoder bind callbacks.

For parsing the OF graph, temporary copies of the V4L2 OF graph
helpers are used, that can be removed again once those are available
at a generic place.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
7f4392aa87448bca69aa46b185744b15106e5a13 25-Feb-2014 Philipp Zabel <p.zabel@pengutronix.de> imx-drm: Move IPU_PIX_FMT_GBR24 definition into imx-ipu-v3.h

The IPU display controller supports a non-standard green-red-blue ordered
format that is used on the connection between IPU display interface 1 and
the TV encoder on i.MX53.
In preparation for the move of IPU core code out of staging, place the
IPU_PIX_FMT_GBR24 definition in imx-ipu-v3.h, so that both the IPU
display interface driver and the TVE encoder driver can access it.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
e7d6231e67b92b6a45921a57cca5cafcc47c7746 03-Nov-2013 Russell King <rmk+kernel@arm.linux.org.uk> imx-drm: imx-drm-core: various cleanups

Various cleanups are possible after the previous round of changes; these
have no real functional bearing other than tidying up the code.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
8d71de61526924f516548707a5f16ac9e564aeee 03-Nov-2013 Russell King <rmk+kernel@arm.linux.org.uk> imx-drm: imx-drm-core: remove imx_drm_connector and imx_drm_encoder code

The core imx_drm_connector and imx_drm_encoder code is no longer
required - the connectors and encoders are all using the component
support, so we can remove this.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
8a51a33b3562de301d522eea1d167c243a16b6df 03-Nov-2013 Russell King <rmk+kernel@arm.linux.org.uk> imx-drm: imx-drm-core: provide common connector and encoder cleanup functions

Provide two helper functions to assist with cleaning up imx-drm
connectors and encoders.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
9e2d410d18bf93c620877a4ea0cab213362a2dda 03-Nov-2013 Russell King <rmk+kernel@arm.linux.org.uk> imx-drm: imx-drm-core: provide helper function to parse possible crtcs

Provide a helper function to parse possible crtcs before the encoder
is registered. The crtc mask is derived from the position of the
CRTCs registered in the drm_device.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
32266b4520352f5fbae2f236c50daf4fa49c860d 03-Nov-2013 Russell King <rmk+kernel@arm.linux.org.uk> imx-drm: use supplied drm_device where possible

The component helper provides us the drm_device which is being
registered. Rather than having to reference a global in imx-drm-core,
use this to get the imxdrm device, and also use it to register the CRTC
against.

This means we never have CRTCs/encoders/connectors without the drivers
private data being accessible.

Remove the module owner field as well; this provides no protection
against the device being unbound.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
8acba02f7e8538a54d4bf3ed8a2d3b31dd5eca45 03-Nov-2013 Russell King <rmk+kernel@arm.linux.org.uk> imx-drm: remove separate imx-fbdev

Now that we know when the components of the imx-drm subsystem will be
initialised, we can move the fbdev helper initialisation and teardown
into imx-drm-core. This gives us the required ordering that DRM wants
in both driver load and unload methods.

We can also stop exporting the imx_drm_device_get() and
imx_drm_device_put() methods; nothing but the fbdev helper was making
use of these.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
f2d66aad1aade34df678177c5ccb58feaea72156 03-Nov-2013 Russell King <rmk+kernel@arm.linux.org.uk> imx-drm: simplify setup of panel format

The encoder format passed into imx_drm_crtc_panel_format*() is the
encoder format used for DRM in most cases; the HDMI encoder sets
this to none, but this is incorrect, it should be TMDS.

Since this is the case, we can pass the drm_encoder structure
directly into this function and use the supplied fields there to
configure the CRTC.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
baa68c4bfd9f85ada2d7bb3416f76561a84f1a0e 09-Nov-2013 Russell King <rmk+kernel@arm.linux.org.uk> imx-drm: provide common connector mode validation function

Provide a common connector mode validation function, which can be used
to limit the available modes according to other components in the
system.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
e76171b046e95e45266f3a4f4b900a5647e80d70 24-Nov-2013 Russell King <rmk+kernel@arm.linux.org.uk> imx-drm: imx-drm-core: sanitise imx_drm_encoder_get_mux_id()

Address the following issues:
- imx_drm_encoder_get_mux_id() searches the CRTC list for the matching
CRTC, and returns the position within this list as the MUX programming
value for encoders. This is sub-optimal for two reasons:
1. It relies upon the CRTC list not changing during the lifetime of
the driver.
2. It is dependent on the initialisation order of the CRTCs.

We address (1) in this patch, leaving (2) until a better solution can
be found, as (2) requires larger changes.

- imx_drm_encoder is unused. Instead, pass the drm_encoder which is
slightly more useful; all callers pass encoder->crtc as the required
crtc, so move this inside the function.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
b8d181e408af6a017da8143eccae9ce8f2157d2f 10-Oct-2013 Philipp Zabel <p.zabel@pengutronix.de> staging: drm/imx: add drm plane support

This patch adds support for a drm overlay plane on DI0 using the DP.
In principle, the overlay plane could also be used on DI1, but to switch
the overlay plane between display interfaces, the base planes would have
to be exchanged transparently while both display interfaces are inactive.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2ea42608ba977bd05ce7b2d8a1f65efacfc84352 08-Apr-2013 Philipp Zabel <p.zabel@pengutronix.de> staging: drm/imx: Add support for VGA via TVE on i.MX53

This adds display interface timings for the Television Encoder
connected to IPU DI1 on i.MX53 and adds some configuration
glue code to select which IPU signal generators / pins are to
be used for HSYNC/VSYNC signals.

The default configuration is pin2/pin3 for hsync/vsync. The
VGA connector on i.MX53-QSB uses pin7/pin8, and the analog
part of the DVI-I connector on MBa53 connects to pin4/pin6.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
eeb14ec8da9ca0f800edf6f7652269cb6aa0028f 08-Apr-2013 Philipp Zabel <p.zabel@pengutronix.de> staging: drm/imx: ipu-dc: add 24-bit GBR support to DC

24-bit GBR order is needed on the display interface connected
to the Television Encoder (TVEv2) on i.MX53.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
e692da4d0e587f549ba101015e5f89903ba20b67 21-Sep-2012 Sascha Hauer <s.hauer@pengutronix.de> staging: drm/imx: Add i.MX drm core support

This patch adds the i.MX glue stuff between i.MX and drm.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>