OSDN Git Service

drm_hwcomposer: Add feature to search for KMS DRI card
authorMatvii Zorin <matvii.zorin@globallogic.com>
Fri, 17 Jul 2020 09:08:45 +0000 (12:08 +0300)
committerMatvii Zorin <matvii.zorin@globallogic.com>
Fri, 24 Jul 2020 08:08:18 +0000 (11:08 +0300)
commitec75ccd0735213423d6cf89409f8a3bfdaeddcee
tree080773381c0bfdf23fd6a217e68c280d097e26f3
parent2619aabb8754718ce4469407afd3004bfdea768e
drm_hwcomposer: Add feature to search for KMS DRI card

Most modern SOCs have separate IP cores for GPU and Display Unit (KMS).
Also, there is no warranty that the KMS card will always have
/dev/dri/card0 path and GPU - /dev/dri/card1, but drm_hwcomposer should
open only KMS device. The order can depend on many factors. For example:
on the rpi4 board, it was observed that enabling the WIFI kernel module
swapping the card order. Therefore searching for the KMS card is the only
efficient solution.

The IsKMSDev function returns true when the file descriptor on the path
is successfully opened, the drmlib function is returned resources and
the target device has at least one CTRC, connector, and encoder. Also,
the patch enables finding KMS devices in the case of the absence of
the system property specification.

Signed-off-by: Matvii Zorin <matvii.zorin@globallogic.com>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: I8874a50188207833389fadd4815b42a80bf69240
drm/resourcemanager.cpp
include/resourcemanager.h