On 2 March 2018 at 11:29, Thierry Reding <thierry.red...@gmail.com> wrote:
> From: Thierry Reding <tred...@nvidia.com>
> ARM SoCs usually have their DRM/KMS devices on the platform bus, so add
> support for this bus in order to allow use of the DRI_PRIME environment
> variable with those devices.
> While at it, also support the host1x bus, which is effectively the same
> but uses an additional layer in the bus hierarchy.
> Note that it isn't enough to support the bus that has the rendering GPU
> because the loader code will also try to construct an ID path tag for a
> scanout-only device if it is the default that is being opened.
> The ID path tag for a device can be obtained by running udevadm info on
> the device node, as shown in this example on NVIDIA Tegra:
>         $ udevadm info /dev/dri/card0 | grep ID_PATH_TAG
>         E: ID_PATH_TAG=platform-50000000_host1x
> The corresponding OF_FULLNAME property, from which the ID_PATH_TAG is
> constructed, can be found in the sysfs "uevent" attribute for the card0
> device's parent:
>         $ grep OF_FULLNAME /sys/devices/platform/50000000.host1x/drm/uevent
>         OF_FULLNAME=/host1x@50000000
> Similarily, /dev/dri/card1 corresponds to the GPU:
>         $ udevadm info /dev/dri/card1 | grep ID_PATH_TAG
>         E: ID_PATH_TAG=platform-57000000_gpu
> and:
>         $ grep OF_FULLNAME /sys/devices/platform/57000000.gpu/uevent
>         OF_FULLNAME=/gpu@57000000
> Changes in v2:
> - avoid confusing pre-increment in strdup()
> - add examples of tags to commit log
> Reviewed-by: Eric Engestrom <e...@engestrom.ch>
> Signed-off-by: Thierry Reding <tred...@nvidia.com>
Smashing, thanks for the examples Thierry.

Reviewed-by: Emil Velikov <emil.veli...@collabora.com>

mesa-dev mailing list

Reply via email to