On 10 September 2015 at 15:23, Gerd Hoffmann <kraxel at redhat.com>
wrote:> On Do, 2015-09-10 at 09:59 +0100, Emil Velikov wrote:
>> On 9 September 2015 at 12:42, Gerd Hoffmann <kraxel at
redhat.com> wrote:
>> > From: Dave Airlie <airlied at redhat.com>
>> >
>> > Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
>> > ---
>> > drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +-
>> > 1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c
b/drivers/gpu/drm/virtio/virtgpu_drv.c
>> > index 1245d09..e00298e 100644
>> > --- a/drivers/gpu/drm/virtio/virtgpu_drv.c
>> > +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c
>> > @@ -113,7 +113,7 @@ static const struct file_operations
virtio_gpu_driver_fops = {
>> >
>> >
>> > static struct drm_driver driver = {
>> > - .driver_features = DRIVER_MODESET | DRIVER_GEM |
DRIVER_PRIME,
>> > + .driver_features = DRIVER_MODESET | DRIVER_GEM |
DRIVER_PRIME | DRIVER_RENDER,
>>
>> I believe that this will only create the renderD# node. Shouldn't
one
>> also tag the relevant ioctls with DRM_RENDER_ALLOW ?
>
> Dave? Looking at the ioctls they are all fine for render nodes, there
> isn't anything modesetting related in the device-specific ioctls.
>
> Correct?
>
Unless I've overdone the coffee this time - modesetting is done via
the card# node, while render via either card# or renderD#.
So I'm suspecting that you're using card# node which would explain why
things work. Otherwise drm_ioctl_permit will bail out with -EACCESS.
Regards,
Emil