search for: driver_priv

Displaying 20 results from an estimated 98 matches for "driver_priv".

Did you mean: driver_prime
2009 Aug 12
4
TV-out modesetting DDX patches
[PATCH 1/3] kms: Don't hardcode the output properties [PATCH 2/3] kms: Implement output->get_property when RandR1.3 is available. [PATCH 3/3] kms: Add TV-out support src/drmmode_display.c | 403 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 261 insertions(+), 142 deletions(-)
2010 Aug 05
0
[PATCH] drmmode: Add backlight support
...ivate_ptr; static void drmmode_output_dpms(xf86OutputPtr output, int mode); @@ -160,6 +182,155 @@ drmmode_ConvertToKMode(ScrnInfoPtr scrn, drmModeModeInfo *kmode, } static void +drmmode_backlight_set(xf86OutputPtr output, int level) +{ + drmmode_output_private_ptr drmmode_output = output->driver_private; + char path[BACKLIGHT_PATH_LEN], val[BACKLIGHT_VALUE_LEN]; + int fd, len, ret; + + if (level > drmmode_output->backlight_max) + level = drmmode_output->backlight_max; + if (!drmmode_output->backlight_iface || level < 0) + return; + + len = snprintf(val, BACKLIGHT_VALUE_LEN, &qu...
2018 Oct 09
0
[PATCH] drmmode: update logic for dynamic connectors, paths, and tiles
...ertyBlobPtr edid_blob; + drmModePropertyBlobPtr tile_blob; int num_props; drmmode_prop_ptr props; } drmmode_output_private_rec, *drmmode_output_private_ptr; @@ -477,6 +477,8 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode, continue; drmmode_output = output->driver_private; + if (drmmode_output->output_id == -1) + continue; output_ids[output_count] = drmmode_output->mode_output->connector_id; output_count++; @@ -770,7 +772,7 @@ static const xf86CrtcFuncsRec drmmode_crtc_funcs = { static unsigned int -drmmode_crtc_init(ScrnInfoPtr pScrn,...
2019 Jul 02
2
[PATCH v6 16/18] drm/virtio: rework virtio_gpu_cmd_context_{attach, detach}_resource
...e75819dbba80 100644 --- a/drivers/gpu/drm/virtio/virtgpu_gem.c +++ b/drivers/gpu/drm/virtio/virtgpu_gem.c @@ -111,19 +111,18 @@ int virtio_gpu_gem_object_open(struct drm_gem_object *obj, { struct virtio_gpu_device *vgdev = obj->dev->dev_private; struct virtio_gpu_fpriv *vfpriv = file->driver_priv; - struct virtio_gpu_object *qobj = gem_to_virtio_gpu_obj(obj); - int r; + struct virtio_gpu_object_array *objs; if (!vgdev->has_virgl_3d) return 0; - r = virtio_gpu_object_reserve(qobj); - if (r) - return r; + objs = virtio_gpu_array_alloc(1); + if (!objs) + return -ENOMEM; + virtio_...
2019 Jul 02
2
[PATCH v6 16/18] drm/virtio: rework virtio_gpu_cmd_context_{attach, detach}_resource
...e75819dbba80 100644 --- a/drivers/gpu/drm/virtio/virtgpu_gem.c +++ b/drivers/gpu/drm/virtio/virtgpu_gem.c @@ -111,19 +111,18 @@ int virtio_gpu_gem_object_open(struct drm_gem_object *obj, { struct virtio_gpu_device *vgdev = obj->dev->dev_private; struct virtio_gpu_fpriv *vfpriv = file->driver_priv; - struct virtio_gpu_object *qobj = gem_to_virtio_gpu_obj(obj); - int r; + struct virtio_gpu_object_array *objs; if (!vgdev->has_virgl_3d) return 0; - r = virtio_gpu_object_reserve(qobj); - if (r) - return r; + objs = virtio_gpu_array_alloc(1); + if (!objs) + return -ENOMEM; + virtio_...
2018 Jan 13
0
[PATCH] drmmode: update logic for dynamic connectors, paths, and tiles
...dx = koutput_get_prop_idx(fd, koutput, DRM_MODE_PROP_BLOB, name); + + if (idx > -1) + blob = drmModeGetPropertyBlob(fd, koutput->prop_values[idx]); + + return blob; +} + +static void +drmmode_output_attach_tile(xf86OutputPtr output) +{ + drmmode_output_private_ptr drmmode_output = output->driver_private; + drmModeConnectorPtr koutput = drmmode_output->mode_output; + drmmode_ptr drmmode = drmmode_output->drmmode; + struct xf86CrtcTileInfo tile_info, *set = NULL; + + if (!koutput) { + xf86OutputSetTile(output, NULL); + return; + } + + drmModeFreePropertyBlob(drmmode_output->tile_blob);...
2007 Jul 05
0
RANDR1.2 and LVDS
...a5c 100644 --- a/src/nv_output.c +++ b/src/nv_output.c @@ -287,6 +287,23 @@ nv_output_mode_valid(xf86OutputPtr output, DisplayModePtr pMode) return MODE_OK; } +static int +nv_output_lvds_mode_valid(xf86OutputPtr output, DisplayModePtr pMode) +{ + NVOutputPrivatePtr nv_output = output->driver_private; + + if (pMode->Flags & V_DBLSCAN) + return MODE_NO_DBLESCAN; + + if (pMode->Clock > 400000 || pMode->Clock < 25000) + return MODE_CLOCK_RANGE; + + if (pMode->HDisplay > nv_output->fpWidth + || pMode->VDisplay > nv_output->fpHeight) + return M...
2016 Jun 03
2
[PATCH xf86-video-nouveau] Properly cleanup fb for reverse-prime-offload
...play.c +++ b/src/drmmode_display.c @@ -680,10 +680,16 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix) PixmapPtr screenpix = screen->GetScreenPixmap(screen); xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(crtc->scrn); drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; + drmmode_ptr drmmode = drmmode_crtc->drmmode; int c, total_width = 0, max_height = 0, this_x = 0; if (!ppix) { - if (crtc->randr_crtc->scanout_pixmap) + if (crtc->randr_crtc->scanout_pixmap) { PixmapStopDirtyTracking(crtc->randr_crtc->scanout_pixmap, screenpix);...
2009 Aug 17
2
[PATCH] kms: Fix <nv11 hardware cursor.
...src/drmmode_display.c index f2fe0e8..7acddf1 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -333,7 +333,14 @@ done: static void drmmode_set_cursor_colors (xf86CrtcPtr crtc, int bg, int fg) { + NVPtr pNv = NVPTR(crtc->scrn); + drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; + struct nouveau_bo *bo = drmmode_crtc->cursor; + nouveau_bo_map(bo, NOUVEAU_BO_WR); + nv_cursor_convert_cursor(pNv->curImage, bo->map, nv_cursor_width(pNv), + 64, 32, fg | (0xff << 24), bg | (0xff << 24)); + nouveau_bo_unmap(bo); } static void @@ -346,6 +353,24 @...
2023 Mar 22
0
[PATCH v2 1/2] drm/virtio: Refactor job submission code path
...struct drm_device *dev, > + struct drm_file *file, > + struct virtio_gpu_fence *fence, > + uint32_t ring_idx) > +{ > + struct virtio_gpu_fpriv *vfpriv = file->driver_priv; > + struct virtio_gpu_fence_event *e = NULL; > + int ret; > + > + if (!(vfpriv->ring_idx_mask & BIT_ULL(ring_idx))) > + return 0; > + > + e = kzalloc(sizeof(*e), GFP_KERNEL); > + if (!e) > + return -ENOMEM;...
2019 Aug 02
0
[PATCH v7 12/18] drm/virtio: rework virtio_gpu_cmd_context_{attach, detach}_resource
...80736add8ffa 100644 --- a/drivers/gpu/drm/virtio/virtgpu_gem.c +++ b/drivers/gpu/drm/virtio/virtgpu_gem.c @@ -136,19 +136,18 @@ int virtio_gpu_gem_object_open(struct drm_gem_object *obj, { struct virtio_gpu_device *vgdev = obj->dev->dev_private; struct virtio_gpu_fpriv *vfpriv = file->driver_priv; - struct virtio_gpu_object *qobj = gem_to_virtio_gpu_obj(obj); - int r; + struct virtio_gpu_object_array *objs; if (!vgdev->has_virgl_3d) return 0; - r = virtio_gpu_object_reserve(qobj); - if (r) - return r; + objs = virtio_gpu_array_alloc(1); + if (!objs) + return -ENOMEM; + virtio_...
2009 Sep 07
1
[PATCH] drm/nouveau: fix ref leak in nouveau_gem_pushbuf_validate()
...nouveau_bo **bop) +{ + struct drm_gem_object *gem; + struct nouveau_bo *nvbo; + int ret; + + gem = drm_gem_object_lookup(chan->dev, file_priv, pbbo->handle); + if (!gem) { + NV_ERROR(chan->dev, "Unknown handle 0x%08x\n", pbbo->handle); + return -EINVAL; + } + nvbo = gem->driver_private; + + ret = ttm_bo_reserve(&nvbo->bo, false, false, true, + chan->fence.sequence); + switch (ret) { + case 0: + *bop = nvbo; + return 0; + case -EAGAIN: + ret = ttm_bo_wait_unreserved(&nvbo->bo, false); + if (ret == 0) + ret = -EAGAIN; + /* fall through */ + default...
2017 Dec 28
3
[PATCH] drm/virtio: Add window server support
...oll = winsrv_poll, + .unlocked_ioctl = winsrv_ioctl, + .release = winsrv_release, +}; + +static int virtio_gpu_winsrv_connect(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct virtio_gpu_device *vgdev = dev->dev_private; + struct virtio_gpu_fpriv *vfpriv = file->driver_priv; + struct drm_virtgpu_winsrv_connect *args = data; + struct virtio_gpu_winsrv_conn *conn; + int ret; + + conn = kzalloc(sizeof(*conn), GFP_KERNEL); + if (!conn) + return -ENOMEM; + + conn->vgdev = vgdev; + conn->drm_file = file; + spin_lock_init(&conn->lock); + INIT_LIST_HEAD(&con...
2017 Dec 28
3
[PATCH] drm/virtio: Add window server support
...oll = winsrv_poll, + .unlocked_ioctl = winsrv_ioctl, + .release = winsrv_release, +}; + +static int virtio_gpu_winsrv_connect(struct drm_device *dev, void *data, + struct drm_file *file) +{ + struct virtio_gpu_device *vgdev = dev->dev_private; + struct virtio_gpu_fpriv *vfpriv = file->driver_priv; + struct drm_virtgpu_winsrv_connect *args = data; + struct virtio_gpu_winsrv_conn *conn; + int ret; + + conn = kzalloc(sizeof(*conn), GFP_KERNEL); + if (!conn) + return -ENOMEM; + + conn->vgdev = vgdev; + conn->drm_file = file; + spin_lock_init(&conn->lock); + INIT_LIST_HEAD(&con...
2015 Sep 21
2
[PATCH v2 4/6] virtio-gpu: add 3d/virgl support
...ap(struct drm_file *file_priv, drm_gem_object_unreference_unlocked(gobj); return 0; } + +int virtio_gpu_gem_object_open(struct drm_gem_object *obj, + struct drm_file *file) +{ + struct virtio_gpu_device *vgdev = obj->dev->dev_private; + struct virtio_gpu_fpriv *vfpriv = file->driver_priv; + struct virtio_gpu_object *qobj = gem_to_virtio_gpu_obj(obj); + int r; + + if (!vgdev->has_virgl_3d) + return 0; + + r = virtio_gpu_object_reserve(qobj, false); + if (r) + return r; + + virtio_gpu_cmd_context_attach_resource(vgdev, vfpriv->ctx_id, + qobj->hw_res_handle); + v...
2015 Sep 21
2
[PATCH v2 4/6] virtio-gpu: add 3d/virgl support
...ap(struct drm_file *file_priv, drm_gem_object_unreference_unlocked(gobj); return 0; } + +int virtio_gpu_gem_object_open(struct drm_gem_object *obj, + struct drm_file *file) +{ + struct virtio_gpu_device *vgdev = obj->dev->dev_private; + struct virtio_gpu_fpriv *vfpriv = file->driver_priv; + struct virtio_gpu_object *qobj = gem_to_virtio_gpu_obj(obj); + int r; + + if (!vgdev->has_virgl_3d) + return 0; + + r = virtio_gpu_object_reserve(qobj, false); + if (r) + return r; + + virtio_gpu_cmd_context_attach_resource(vgdev, vfpriv->ctx_id, + qobj->hw_res_handle); + v...
2020 Sep 16
2
[PATCH v2 04/21] drm/exynos: Introduce GEM object functions
.../gpu/drm/exynos/exynos_drm_drv.c > index dbd80f1e4c78..fe46680ca208 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c > @@ -75,11 +75,6 @@ static void exynos_drm_postclose(struct drm_device *dev, struct drm_file *file) > file->driver_priv = NULL; > } > > -static const struct vm_operations_struct exynos_drm_gem_vm_ops = { > - .open = drm_gem_vm_open, > - .close = drm_gem_vm_close, > -}; > - > static const struct drm_ioctl_desc exynos_ioctls[] = { > DRM_IOCTL_DEF_DRV(EXYNOS_GEM_CREATE, exynos_drm_gem_c...
2015 Oct 02
0
[PATCH v3 4/7] virtio-gpu: add 3d/virgl support
...ap(struct drm_file *file_priv, drm_gem_object_unreference_unlocked(gobj); return 0; } + +int virtio_gpu_gem_object_open(struct drm_gem_object *obj, + struct drm_file *file) +{ + struct virtio_gpu_device *vgdev = obj->dev->dev_private; + struct virtio_gpu_fpriv *vfpriv = file->driver_priv; + struct virtio_gpu_object *qobj = gem_to_virtio_gpu_obj(obj); + int r; + + if (!vgdev->has_virgl_3d) + return 0; + + r = virtio_gpu_object_reserve(qobj, false); + if (r) + return r; + + virtio_gpu_cmd_context_attach_resource(vgdev, vfpriv->ctx_id, + qobj->hw_res_handle); + v...
2015 Oct 02
0
[PATCH v3 4/7] virtio-gpu: add 3d/virgl support
...ap(struct drm_file *file_priv, drm_gem_object_unreference_unlocked(gobj); return 0; } + +int virtio_gpu_gem_object_open(struct drm_gem_object *obj, + struct drm_file *file) +{ + struct virtio_gpu_device *vgdev = obj->dev->dev_private; + struct virtio_gpu_fpriv *vfpriv = file->driver_priv; + struct virtio_gpu_object *qobj = gem_to_virtio_gpu_obj(obj); + int r; + + if (!vgdev->has_virgl_3d) + return 0; + + r = virtio_gpu_object_reserve(qobj, false); + if (r) + return r; + + virtio_gpu_cmd_context_attach_resource(vgdev, vfpriv->ctx_id, + qobj->hw_res_handle); + v...
2019 Jul 03
0
[PATCH v6 16/18] drm/virtio: rework virtio_gpu_cmd_context_{attach, detach}_resource
...virtio/virtgpu_gem.c > +++ b/drivers/gpu/drm/virtio/virtgpu_gem.c > @@ -111,19 +111,18 @@ int virtio_gpu_gem_object_open(struct drm_gem_object > *obj, > { > struct virtio_gpu_device *vgdev = obj->dev->dev_private; > struct virtio_gpu_fpriv *vfpriv = file->driver_priv; > - struct virtio_gpu_object *qobj = gem_to_virtio_gpu_obj(obj); > - int r; > + struct virtio_gpu_object_array *objs; > > if (!vgdev->has_virgl_3d) > return 0; > > - r = virtio_gpu_object_reserve(qobj); > - if (r)...