On Wed, Jun 15, 2016 at 7:13 PM, Daniel Vetter daniel@ffwll.ch wrote:
On Wed, Jun 15, 2016 at 6:17 PM, Liviu Dudau Liviu.Dudau@arm.com wrote:
On Wed, Jun 15, 2016 at 05:23:10PM +0200, Daniel Vetter wrote:
On Wed, Jun 15, 2016 at 03:51:34PM +0100, Liviu Dudau wrote:
Add support for the new family of Display Processors from ARM Ltd. This commit adds basic support for Mali DP500, DP550 and DP650 parts, with only the display engine being supported at the moment.
Cc: David Brown David.Brown@arm.com Cc: Brian Starkey Brian.Starkey@arm.com
Signed-off-by: Liviu Dudau Liviu.Dudau@arm.com
Small thing I noticed: drm_dev_register/connector_register_all should be the last step in your init code, and unregister the first. Atm it's somewhere in the middle. But perfectly fine to do that as a follow-up.
I've tried that, but the connector and encoder that gets registered as part of the component_bind_all() fails if there is no drm dev registered. You did comment on the v4 version about that and I did test your idea, sorry for forgeting to update you on that.
Why does it fail? That shouldn't happen ... we need to be able to set up everything first, before we register.
To clarify: As soon as drm_dev_register completes userspace can access the drm_device instance. If you add/init anything like crtc, planes or encoders later on it can blow up, since drm doesn't support hot-adding those at all. Therefore you _must_ delay the registering until all components are set up. -Daniel