linux/drivers/gpu/drm/msm
Ajay Kumar 3d3f8b1f8b drm/bridge: make bridge registration independent of drm flow
Currently, third party bridge drivers(ptn3460) are dependent
on the corresponding encoder driver init, since bridge driver
needs a drm_device pointer to finish drm initializations.
The encoder driver passes the drm_device pointer to the
bridge driver. Because of this dependency, third party drivers
like ptn3460 doesn't adhere to the driver model.

In this patch, we reframe the bridge registration framework
so that bridge initialization is split into 2 steps, and
bridge registration happens independent of drm flow:
--Step 1: gather all the bridge settings independent of drm and
	  add the bridge onto a global list of bridges.
--Step 2: when the encoder driver is probed, call drm_bridge_attach
	  for the corresponding bridge so that the bridge receives
	  drm_device pointer and continues with connector and other
	  drm initializations.

The old set of bridge helpers are removed, and a set of new helpers
are added to accomplish the 2 step initialization.

The bridge devices register themselves onto global list of bridges
when they get probed by calling "drm_bridge_add".

The parent encoder driver waits till the bridge is available
in the lookup table(by calling "of_drm_find_bridge") and then
continues with its initialization.

The encoder driver should also call "drm_bridge_attach" to pass
on the drm_device to the bridge object.

drm_bridge_attach inturn calls "bridge->funcs->attach" so that
bridge can continue with drm related initializations.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Acked-by: Inki Dae <inki.dae@samsung.com>
Tested-by: Rahul Sharma <rahul.sharma@samsung.com>
Tested-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Tested-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Tested-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2015-01-28 08:45:40 +01:00
..
adreno drm/msm: Deletion of unnecessary checks before the function call "release_firmware" 2014-12-17 10:59:49 -05:00
dsi drm/msm: update generated headers 2014-11-16 14:22:42 -05:00
hdmi drm/bridge: make bridge registration independent of drm flow 2015-01-28 08:45:40 +01:00
mdp Merge tag 'topic/atomic-core-2015-01-05' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-09 09:22:40 +10:00
Kconfig drm/msm: select REGULATOR 2014-11-16 14:22:42 -05:00
Makefile drm/msm: add multiple CRTC and overlay support 2014-11-21 08:57:19 -05:00
msm_atomic.c Merge tag 'topic/atomic-core-2015-01-05' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-09 09:22:40 +10:00
msm_drv.c Merge tag 'topic/atomic-core-2015-01-05' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-09 09:22:40 +10:00
msm_drv.h Merge tag 'topic/atomic-core-2015-01-05' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-09 09:22:40 +10:00
msm_fb.c drm/msm: atomic fixes 2014-11-21 08:57:22 -05:00
msm_fbdev.c drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
msm_gem_prime.c drm/msm: Allow exported dma-bufs to be mapped 2014-11-16 14:22:43 -05:00
msm_gem_submit.c drm/msm: add rd logging debugfs 2014-06-02 07:36:11 -04:00
msm_gem.c drm/msm: Deletion of unnecessary checks before two function calls 2014-12-17 10:59:49 -05:00
msm_gem.h drm/msm: small fence cleanup 2014-11-16 14:27:35 -05:00
msm_gpu.c drm/msm: fix potential deadlock in gpu init 2014-08-04 11:55:29 -04:00
msm_gpu.h drm/msm/adreno: move decision about what gpu to to load 2014-09-10 11:19:08 -04:00
msm_iommu.c drm/msm: avoid flood of kernel logs on faults 2014-08-26 10:43:31 -04:00
msm_kms.h drm/msm: switch to atomic-helpers iterator macros 2014-11-27 15:39:09 +01:00
msm_mmu.h drm/msm: use upstream iommu 2014-08-04 11:55:29 -04:00
msm_perf.c drm/msm: add perf logging debugfs 2014-06-02 07:36:21 -04:00
msm_rd.c drm/msm: add rd logging debugfs 2014-06-02 07:36:11 -04:00
msm_ringbuffer.c drm/msm: add a3xx gpu support 2013-08-24 14:57:18 -04:00
msm_ringbuffer.h drm/msm: add a3xx gpu support 2013-08-24 14:57:18 -04:00
NOTES drm/msm: add mdp5/apq8x74 2014-01-09 14:44:06 -05:00