- 23 2月, 2015 1 次提交
-
-
由 Philipp Zabel 提交于
Decrementing the reference count of the previous endpoint node allows to use the of_graph_get_next_endpoint function in a for_each_... style macro. All current users of this function that pass a non-NULL prev parameter (that is, soc_camera and imx-drm) are changed to not decrement the passed prev argument's refcount themselves. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com> Acked-by: NMathieu Poirier <mathieu.poirier@linaro.org> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
- 08 1月, 2015 1 次提交
-
-
由 Russell King 提交于
We do not need to track the state of the IPU DI's clock flags by having each display bridge calling back into imx-drm-core, and then back out into ipuv3-crtc.c. ipuv3-crtc can instead just scan the list of encoders to retrieve their type, and build up a picture of which types of encoders are attached. We can then use this information to configure the IPU DI clocking mode without any uncertainty - if we have multiple bridges connected to the same DI, if one of them requires a synchronous DI clock, that's what we must use. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
-
- 07 1月, 2015 1 次提交
-
-
由 Russell King 提交于
Use the generic DRM OF helper to locate the possible CRTCs for the encoder, thereby shrinking the imx-drm driver some more. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
-
- 26 11月, 2014 1 次提交
-
-
由 Philipp Zabel 提交于
The imx-drm driver was put into staging mostly for the following reasons, all of which have been addressed or superseded: - convert the irq driver to use linear irq domains - work out the device tree bindings, this lead to the common of_graph bindings being used - factor out common helper functions, this mostly resulted in the component framework and drm of_graph helpers. Before adding new fixes, and certainly before adding new features, move it into its proper place below drivers/gpu/drm. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 05 11月, 2014 1 次提交
-
-
由 Daniel Vetter 提交于
Just a bit of OCD cleanup on headers - this function isn't the core interface any more but just a helper for drivers who haven't yet transitioned to universal planes. Put the declaration at the right spot and sprinkle necessary #includes over all drivers. Maybe this helps to encourage driver maintainers to do the switch. v2: Fix #include ordering for tegra, reported by 0-day builder. v3: Include required headers, reported by Thierry. Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Thierry Reding <treding@nvidia.com> Reviewed-by: NMatt Roper <matthew.d.roper@intel.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
-
- 04 11月, 2014 1 次提交
-
-
由 Fabio Estevam 提交于
There is no need to forward declare 'struct imx_drm_crtc' because the "imx-drm.h" header file already includes it. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 20 10月, 2014 2 次提交
-
-
由 Wolfram Sang 提交于
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Rene Kolarik 提交于
Wrapping two too long lines in two files of the imx-drm driver. Signed-off-by: NRene Kolarik <rene.kolarik@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 24 9月, 2014 1 次提交
-
-
由 Shawn Guo 提交于
HDMI currently stops working after a system suspend/resume cycle. The cause is that the mode setting states in hardware gets lost and isn't restored across the suspend/resume cycle. The patch adds a very basic suspend/resume support to imx-drm driver, and calls drm_helper_resume_force_mode() in .resume hook to restore the mode setting states, so that HDMI can continue working after a system suspend/resume cycle. Since the suspend/resume hook can be called with drm_device pointer being NULL from driver data, we need a check on the pointer in the hooks. And to avoid using a stale pointer from driver data, it also clears driver data in .unload hook. Signed-off-by: NShawn Guo <shawn.guo@freescale.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 10 9月, 2014 1 次提交
-
-
由 David Herrmann 提交于
One step closer to dropping all the drm_bus_* code: Add a driver->set_busid() callback and make all drivers use the generic helpers. Nouveau is the only driver that uses two different bus-types with the same drm_driver. This is totally broken if both buses are available on the same machine (unlikely, but lets be safe). Therefore, we create two different drivers for each platform during module_init() and set the set_busid() callback respectively. Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com> Reviewed-by: NThierry Reding <treding@nvidia.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 17 8月, 2014 2 次提交
-
-
由 Quentin Lambert 提交于
Add missing blank lines after declaration. Signed-off-by: NQuentin Lambert <lambert.quentin@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Julia Lawall 提交于
Of_node_put supports NULL as its argument, so the initial test is not necessary. Suggested by Uwe Kleine-König. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression e; @@ -if (e) of_node_put(e); // </smpl> Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 08 8月, 2014 1 次提交
-
-
由 Dave Airlie 提交于
This reverts commit 48ba8137. Thanks to Chris: "drm_file->is_master is not synomous with having drm_file->master == drm_file->minor->master. This is because drm_file->master is the same for all drm_files of the same generation and so when there is a master, every drm_file believes itself to be the master. Confusion ensues and things go pear shaped when one file is closed and there is no master anymore." Conflicts: drivers/gpu/drm/drm_drv.c drivers/gpu/drm/drm_stub.c
-
- 05 8月, 2014 1 次提交
-
-
由 David Herrmann 提交于
The drm_file->is_master field is redundant as it's equivalent to: drm_file->master && drm_file->master == drm_file->minor->master 1) "=>" Whenever we set drm_file->is_master, we also set: drm_file->minor->master = drm_file->master; Whenever we clear drm_file->is_master, we also call: drm_master_put(&drm_file->minor->master); which implicitly clears it to NULL. 2) "<=" minor->master cannot be set if it is non-NULL. Therefore, it stays as is unless a file drops it. If minor->master is NULL, it is only set by places that also adjust drm_file->is_master. Therefore, we can safely drop is_master and replace it by an inline helper that matches: drm_file->master && drm_file->master == drm_file->minor->master Reviewed-by: NAlex Deucher <alexander.deucher@amd.com> Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
-
- 05 7月, 2014 1 次提交
-
-
由 Russell King 提交于
Update the imx-drm driver to use the component match support rather than add_components. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 19 6月, 2014 1 次提交
-
-
由 Thomas Wood 提交于
Introduce generic functions to register and unregister connectors. This provides a common place to add and remove associated user space interfaces. Signed-off-by: NThomas Wood <thomas.wood@intel.com> Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com> Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
- 04 6月, 2014 1 次提交
-
-
由 Jani Nikula 提交于
Generated using semantic patch: @@ expression E; @@ - drm_get_connector_name(E) + E->name Acked-by: NDavid Herrmann <dh.herrmann@gmail.com> Signed-off-by: NJani Nikula <jani.nikula@intel.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 26 4月, 2014 1 次提交
-
-
由 Philipp Zabel 提交于
The decoder mux id is equal to the port id of the encoder's input port that is connected to the given crtc, not to the endpoint id (which is arbitrary and usually zero). Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Tested-by: NShawn Guo <shawn.guo@freescale.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 22 4月, 2014 1 次提交
-
-
由 Andrzej Hajda 提交于
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: NDaniel Vetter <daniel.vetter@ffwll.ch>
-
- 19 4月, 2014 2 次提交
-
-
由 Shawn Guo 提交于
In a board setup which disables LDB device node completely by changing status to 'disabled', and only enables HDMI device, we're running into the problem that imx-drm master never succeeds in binding, and hence HDMI does not come up either. &ldb { status = "disabled"; lvds-channel@1 { ... status = "okay"; }; }; The imx-drm-core should really skip the LVDS channels no matter what lvds-channel's status is, if LDB device is disabled. Let's consider such setup a misconfiguration, give a warning in there and not add the component. Signed-off-by: NShawn Guo <shawn.guo@freescale.com> Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Philipp Zabel 提交于
The decoder mux id is equal to the port id of the encoder's input port that is connected to the given crtc, not to the endpoint id (which is arbitrary and usually zero). Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Tested-by: NShawn Guo <shawn.guo@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 08 3月, 2014 2 次提交
-
-
由 Philipp Zabel 提交于
Using of_graph_parse_endpoint recovers the port id from an endpoint device tree node. This just replaces an open coded read of the "reg" property. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Philipp Zabel 提交于
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: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 28 2月, 2014 1 次提交
-
-
由 Fabio Estevam 提交于
Fix the following static checker warning: drivers/staging/imx-drm/imx-drm-core.c:89:21: warning: symbol 'imx_drm_find_crtc' was not declared. Should it be static? Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 24 2月, 2014 16 次提交
-
-
由 Russell King 提交于
Add core imx-drm support for hotplug connector support. We need to setup the poll helper after we've setup the connectors; the helper scans the connectors to determine their capabilities. Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
Various cleanups are possible after the previous round of changes; these have no real functional bearing other than tidying up the code. Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
It is now no longer necessary to keep this structure around; we can allocate it upon DRM driver load and destroy it thereafter without affecting the other components now. Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
This mutex doesn't protect anything anymore; get rid of it. Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
Since we're now operating like a conventional DRM driver, doing all the initialisation within the driver's ->load callback, we don't need to mess around with the mode groups - we can rely on the one in the DRM platform code. Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
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: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
Provide two helper functions to assist with cleaning up imx-drm connectors and encoders. Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
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: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
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: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
imx-fb.c doesn't need to be separate from imx-drm-core.c - all it is doing is setting up the minimum and maximum sizes of the scanout buffers, and setting up the mode_config function pointers. Move the contents into imx-drm-core.c and kill this file. Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
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: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
Delay publishing sysfs connector entries until all components have initialised. This reduces the probability of generating false hotplug events when we're uncertain whether the driver can fully initialise. This also pulls that code out of the individual imx-drm connector drivers. Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
Use the componentised device support for imx-drm. This requires all the sub-components and the master device to register with the component device support. Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
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: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
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: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
由 Russell King 提交于
The DRM core indexes vblank by number, so there's little point maintaining a list, and have to scan the list to find the appropriate structure. Instead, use an array of pointers to the CRTCs. Acked-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Reviewed-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-