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)...