On Wed, Jan 29, 2014 at 03:01:47PM +0100, David Herrmann wrote:
Hi
I was looking into our minor-allocation code and it has one major drawback: char-dev minor-IDs are unreliable. The <id>+128 hacks we use in user-space to calculate render-node IDs based on the original card just does not work.
Instead of allocating dummy IDs for each driver, I went ahead and tried to fix it properly. So this series changes the minor-ID management to just allocate a single dev->minor_base ID instead of one ID per "drm_minor". Now we can use this base to calculate the correct offset minor-ID for each existing DRM-minor.
While at it, I introduced drm-refcounts to make minor-lookup independent of drm_global_mutex. This is still not finished (and dev->open_count still exists) but I already have the next patches waiting here.
Comments welcome!
Branch is also available here: http://cgit.freedesktop.org/~dvdhrm/linux/log/?h=minor If someone could pull this into their tree and push to Fengguang's test-framework, I'd appreciate it a lot! I'm still waiting for a reply from him.
The series:
Tested-by: Thierry Reding treding@nvidia.com