All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Dave Airlie <airlied@redhat.com>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	virtualization@lists.linux-foundation.org,
	Gerd Hoffmann <kraxel@redhat.com>,
	spice-devel@lists.freedesktop.org,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH 27/59] drm/qxl: Don't use drm_device->dev_private
Date: Fri, 24 Apr 2020 17:12:55 +0200	[thread overview]
Message-ID: <20200424151255.GC20856@ravnborg.org> (raw)
In-Reply-To: <20200415074034.175360-28-daniel.vetter@ffwll.ch>

On Wed, Apr 15, 2020 at 09:40:02AM +0200, Daniel Vetter wrote:
> Upcasting using a container_of macro is more typesafe, faster and
> easier for the compiler to optimize.
> 
> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: virtualization@lists.linux-foundation.org
> Cc: spice-devel@lists.freedesktop.org
Acked-by: Sam Ravnborg <sam@ravnborg.org>

> ---
>  drivers/gpu/drm/qxl/qxl_debugfs.c |  7 +++----
>  drivers/gpu/drm/qxl/qxl_display.c | 32 +++++++++++++++----------------
>  drivers/gpu/drm/qxl/qxl_drv.c     |  8 ++++----
>  drivers/gpu/drm/qxl/qxl_drv.h     |  4 ++--
>  drivers/gpu/drm/qxl/qxl_dumb.c    |  2 +-
>  drivers/gpu/drm/qxl/qxl_gem.c     |  2 +-
>  drivers/gpu/drm/qxl/qxl_ioctl.c   | 14 +++++++-------
>  drivers/gpu/drm/qxl/qxl_irq.c     |  2 +-
>  drivers/gpu/drm/qxl/qxl_kms.c     |  1 -
>  drivers/gpu/drm/qxl/qxl_object.c  |  2 +-
>  drivers/gpu/drm/qxl/qxl_release.c |  2 +-
>  drivers/gpu/drm/qxl/qxl_ttm.c     |  2 +-
>  12 files changed, 38 insertions(+), 40 deletions(-)
> 
> diff --git a/drivers/gpu/drm/qxl/qxl_debugfs.c b/drivers/gpu/drm/qxl/qxl_debugfs.c
> index 88123047fdd4..524d35b648d8 100644
> --- a/drivers/gpu/drm/qxl/qxl_debugfs.c
> +++ b/drivers/gpu/drm/qxl/qxl_debugfs.c
> @@ -39,7 +39,7 @@ static int
>  qxl_debugfs_irq_received(struct seq_file *m, void *data)
>  {
>  	struct drm_info_node *node = (struct drm_info_node *) m->private;
> -	struct qxl_device *qdev = node->minor->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(node->minor->dev);
>  
>  	seq_printf(m, "%d\n", atomic_read(&qdev->irq_received));
>  	seq_printf(m, "%d\n", atomic_read(&qdev->irq_received_display));
> @@ -53,7 +53,7 @@ static int
>  qxl_debugfs_buffers_info(struct seq_file *m, void *data)
>  {
>  	struct drm_info_node *node = (struct drm_info_node *) m->private;
> -	struct qxl_device *qdev = node->minor->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(node->minor->dev);
>  	struct qxl_bo *bo;
>  
>  	list_for_each_entry(bo, &qdev->gem.objects, list) {
> @@ -83,8 +83,7 @@ void
>  qxl_debugfs_init(struct drm_minor *minor)
>  {
>  #if defined(CONFIG_DEBUG_FS)
> -	struct qxl_device *dev =
> -		(struct qxl_device *) minor->dev->dev_private;
> +	struct qxl_device *dev = to_qxl(minor->dev);
>  
>  	drm_debugfs_create_files(qxl_debugfs_list, QXL_DEBUGFS_ENTRIES,
>  				 minor->debugfs_root, minor);
> diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
> index 09583a08e141..1082cd5d2fd4 100644
> --- a/drivers/gpu/drm/qxl/qxl_display.c
> +++ b/drivers/gpu/drm/qxl/qxl_display.c
> @@ -221,7 +221,7 @@ static int qxl_add_mode(struct drm_connector *connector,
>  			bool preferred)
>  {
>  	struct drm_device *dev = connector->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_display_mode *mode = NULL;
>  	int rc;
>  
> @@ -242,7 +242,7 @@ static int qxl_add_mode(struct drm_connector *connector,
>  static int qxl_add_monitors_config_modes(struct drm_connector *connector)
>  {
>  	struct drm_device *dev = connector->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_output *output = drm_connector_to_qxl_output(connector);
>  	int h = output->index;
>  	struct qxl_head *head;
> @@ -310,7 +310,7 @@ static void qxl_crtc_update_monitors_config(struct drm_crtc *crtc,
>  					    const char *reason)
>  {
>  	struct drm_device *dev = crtc->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_crtc *qcrtc = to_qxl_crtc(crtc);
>  	struct qxl_head head;
>  	int oldcount, i = qcrtc->index;
> @@ -400,7 +400,7 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
>  					 unsigned int num_clips)
>  {
>  	/* TODO: vmwgfx where this was cribbed from had locking. Why? */
> -	struct qxl_device *qdev = fb->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(fb->dev);
>  	struct drm_clip_rect norect;
>  	struct qxl_bo *qobj;
>  	bool is_primary;
> @@ -462,7 +462,7 @@ static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = {
>  static int qxl_primary_atomic_check(struct drm_plane *plane,
>  				    struct drm_plane_state *state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct qxl_bo *bo;
>  
>  	if (!state->crtc || !state->fb)
> @@ -476,7 +476,7 @@ static int qxl_primary_atomic_check(struct drm_plane *plane,
>  static int qxl_primary_apply_cursor(struct drm_plane *plane)
>  {
>  	struct drm_device *dev = plane->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_framebuffer *fb = plane->state->fb;
>  	struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc);
>  	struct qxl_cursor_cmd *cmd;
> @@ -523,7 +523,7 @@ static int qxl_primary_apply_cursor(struct drm_plane *plane)
>  static void qxl_primary_atomic_update(struct drm_plane *plane,
>  				      struct drm_plane_state *old_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct qxl_bo *bo = gem_to_qxl_bo(plane->state->fb->obj[0]);
>  	struct qxl_bo *primary;
>  	struct drm_clip_rect norect = {
> @@ -554,7 +554,7 @@ static void qxl_primary_atomic_update(struct drm_plane *plane,
>  static void qxl_primary_atomic_disable(struct drm_plane *plane,
>  				       struct drm_plane_state *old_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  
>  	if (old_state->fb) {
>  		struct qxl_bo *bo = gem_to_qxl_bo(old_state->fb->obj[0]);
> @@ -570,7 +570,7 @@ static void qxl_cursor_atomic_update(struct drm_plane *plane,
>  				     struct drm_plane_state *old_state)
>  {
>  	struct drm_device *dev = plane->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_framebuffer *fb = plane->state->fb;
>  	struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc);
>  	struct qxl_release *release;
> @@ -679,7 +679,7 @@ static void qxl_cursor_atomic_update(struct drm_plane *plane,
>  static void qxl_cursor_atomic_disable(struct drm_plane *plane,
>  				      struct drm_plane_state *old_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct qxl_release *release;
>  	struct qxl_cursor_cmd *cmd;
>  	int ret;
> @@ -762,7 +762,7 @@ static void qxl_calc_dumb_shadow(struct qxl_device *qdev,
>  static int qxl_plane_prepare_fb(struct drm_plane *plane,
>  				struct drm_plane_state *new_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct drm_gem_object *obj;
>  	struct qxl_bo *user_bo;
>  	struct qxl_surface surf;
> @@ -923,7 +923,7 @@ static int qdev_crtc_init(struct drm_device *dev, int crtc_id)
>  {
>  	struct qxl_crtc *qxl_crtc;
>  	struct drm_plane *primary, *cursor;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	int r;
>  
>  	qxl_crtc = kzalloc(sizeof(struct qxl_crtc), GFP_KERNEL);
> @@ -965,7 +965,7 @@ static int qdev_crtc_init(struct drm_device *dev, int crtc_id)
>  static int qxl_conn_get_modes(struct drm_connector *connector)
>  {
>  	struct drm_device *dev = connector->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_output *output = drm_connector_to_qxl_output(connector);
>  	unsigned int pwidth = 1024;
>  	unsigned int pheight = 768;
> @@ -991,7 +991,7 @@ static enum drm_mode_status qxl_conn_mode_valid(struct drm_connector *connector,
>  			       struct drm_display_mode *mode)
>  {
>  	struct drm_device *ddev = connector->dev;
> -	struct qxl_device *qdev = ddev->dev_private;
> +	struct qxl_device *qdev = to_qxl(ddev);
>  
>  	if (qxl_check_mode(qdev, mode->hdisplay, mode->vdisplay) != 0)
>  		return MODE_BAD;
> @@ -1021,7 +1021,7 @@ static enum drm_connector_status qxl_conn_detect(
>  	struct qxl_output *output =
>  		drm_connector_to_qxl_output(connector);
>  	struct drm_device *ddev = connector->dev;
> -	struct qxl_device *qdev = ddev->dev_private;
> +	struct qxl_device *qdev = to_qxl(ddev);
>  	bool connected = false;
>  
>  	/* The first monitor is always connected */
> @@ -1071,7 +1071,7 @@ static int qxl_mode_create_hotplug_mode_update_property(struct qxl_device *qdev)
>  
>  static int qdev_output_init(struct drm_device *dev, int num_output)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_output *qxl_output;
>  	struct drm_connector *connector;
>  	struct drm_encoder *encoder;
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c
> index 6b4ae4c5fb76..13872b882775 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.c
> +++ b/drivers/gpu/drm/qxl/qxl_drv.c
> @@ -137,7 +137,7 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  
>  static void qxl_drm_release(struct drm_device *dev)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  
>  	/*
>  	 * TODO: qxl_device_fini() call should be in qxl_pci_remove(),
> @@ -164,7 +164,7 @@ DEFINE_DRM_GEM_FOPS(qxl_fops);
>  static int qxl_drm_freeze(struct drm_device *dev)
>  {
>  	struct pci_dev *pdev = dev->pdev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	int ret;
>  
>  	ret = drm_mode_config_helper_suspend(dev);
> @@ -186,7 +186,7 @@ static int qxl_drm_freeze(struct drm_device *dev)
>  
>  static int qxl_drm_resume(struct drm_device *dev, bool thaw)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  
>  	qdev->ram_header->int_mask = QXL_INTERRUPT_MASK;
>  	if (!thaw) {
> @@ -245,7 +245,7 @@ static int qxl_pm_restore(struct device *dev)
>  {
>  	struct pci_dev *pdev = to_pci_dev(dev);
>  	struct drm_device *drm_dev = pci_get_drvdata(pdev);
> -	struct qxl_device *qdev = drm_dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(drm_dev);
>  
>  	qxl_io_reset(qdev);
>  	return qxl_drm_resume(drm_dev, false);
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
> index 86ac191d9205..31e35f787df2 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.h
> +++ b/drivers/gpu/drm/qxl/qxl_drv.h
> @@ -192,8 +192,6 @@ struct qxl_debugfs {
>  
>  int qxl_debugfs_fence_init(struct qxl_device *rdev);
>  
> -struct qxl_device;
> -
>  struct qxl_device {
>  	struct drm_device ddev;
>  
> @@ -273,6 +271,8 @@ struct qxl_device {
>  	int monitors_config_height;
>  };
>  
> +#define to_qxl(dev) container_of(dev, struct qxl_device, ddev)
> +
>  extern const struct drm_ioctl_desc qxl_ioctls[];
>  extern int qxl_max_ioctl;
>  
> diff --git a/drivers/gpu/drm/qxl/qxl_dumb.c b/drivers/gpu/drm/qxl/qxl_dumb.c
> index 272d19b677d8..24e903383aa1 100644
> --- a/drivers/gpu/drm/qxl/qxl_dumb.c
> +++ b/drivers/gpu/drm/qxl/qxl_dumb.c
> @@ -32,7 +32,7 @@ int qxl_mode_dumb_create(struct drm_file *file_priv,
>  			    struct drm_device *dev,
>  			    struct drm_mode_create_dumb *args)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_bo *qobj;
>  	uint32_t handle;
>  	int r;
> diff --git a/drivers/gpu/drm/qxl/qxl_gem.c b/drivers/gpu/drm/qxl/qxl_gem.c
> index 69f37db1027a..5ff6fa9b799c 100644
> --- a/drivers/gpu/drm/qxl/qxl_gem.c
> +++ b/drivers/gpu/drm/qxl/qxl_gem.c
> @@ -34,7 +34,7 @@ void qxl_gem_object_free(struct drm_gem_object *gobj)
>  	struct qxl_device *qdev;
>  	struct ttm_buffer_object *tbo;
>  
> -	qdev = (struct qxl_device *)gobj->dev->dev_private;
> +	qdev = to_qxl(gobj->dev);
>  
>  	qxl_surface_evict(qdev, qobj, false);
>  
> diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
> index 8117a45b3610..d9a583966949 100644
> --- a/drivers/gpu/drm/qxl/qxl_ioctl.c
> +++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
> @@ -36,7 +36,7 @@
>  static int qxl_alloc_ioctl(struct drm_device *dev, void *data,
>  			   struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_alloc *qxl_alloc = data;
>  	int ret;
>  	struct qxl_bo *qobj;
> @@ -64,7 +64,7 @@ static int qxl_alloc_ioctl(struct drm_device *dev, void *data,
>  static int qxl_map_ioctl(struct drm_device *dev, void *data,
>  			 struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_map *qxl_map = data;
>  
>  	return qxl_mode_dumb_mmap(file_priv, &qdev->ddev, qxl_map->handle,
> @@ -279,7 +279,7 @@ static int qxl_process_single_command(struct qxl_device *qdev,
>  static int qxl_execbuffer_ioctl(struct drm_device *dev, void *data,
>  				struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_execbuffer *execbuffer = data;
>  	struct drm_qxl_command user_cmd;
>  	int cmd_num;
> @@ -304,7 +304,7 @@ static int qxl_execbuffer_ioctl(struct drm_device *dev, void *data,
>  static int qxl_update_area_ioctl(struct drm_device *dev, void *data,
>  				 struct drm_file *file)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_update_area *update_area = data;
>  	struct qxl_rect area = {.left = update_area->left,
>  				.top = update_area->top,
> @@ -354,7 +354,7 @@ static int qxl_update_area_ioctl(struct drm_device *dev, void *data,
>  static int qxl_getparam_ioctl(struct drm_device *dev, void *data,
>  		       struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_getparam *param = data;
>  
>  	switch (param->param) {
> @@ -373,7 +373,7 @@ static int qxl_getparam_ioctl(struct drm_device *dev, void *data,
>  static int qxl_clientcap_ioctl(struct drm_device *dev, void *data,
>  				  struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_clientcap *param = data;
>  	int byte, idx;
>  
> @@ -394,7 +394,7 @@ static int qxl_clientcap_ioctl(struct drm_device *dev, void *data,
>  static int qxl_alloc_surf_ioctl(struct drm_device *dev, void *data,
>  				struct drm_file *file)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_alloc_surf *param = data;
>  	struct qxl_bo *qobj;
>  	int handle;
> diff --git a/drivers/gpu/drm/qxl/qxl_irq.c b/drivers/gpu/drm/qxl/qxl_irq.c
> index 8435af108632..1ba5a702d763 100644
> --- a/drivers/gpu/drm/qxl/qxl_irq.c
> +++ b/drivers/gpu/drm/qxl/qxl_irq.c
> @@ -32,7 +32,7 @@
>  irqreturn_t qxl_irq_handler(int irq, void *arg)
>  {
>  	struct drm_device *dev = (struct drm_device *) arg;
> -	struct qxl_device *qdev = (struct qxl_device *)dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	uint32_t pending;
>  
>  	pending = xchg(&qdev->ram_header->int_pending, 0);
> diff --git a/drivers/gpu/drm/qxl/qxl_kms.c b/drivers/gpu/drm/qxl/qxl_kms.c
> index 91a34dd835d7..a6d873052cd4 100644
> --- a/drivers/gpu/drm/qxl/qxl_kms.c
> +++ b/drivers/gpu/drm/qxl/qxl_kms.c
> @@ -114,7 +114,6 @@ int qxl_device_init(struct qxl_device *qdev,
>  
>  	qdev->ddev.pdev = pdev;
>  	pci_set_drvdata(pdev, &qdev->ddev);
> -	qdev->ddev.dev_private = qdev;
>  
>  	mutex_init(&qdev->gem.mutex);
>  	mutex_init(&qdev->update_area_mutex);
> diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
> index ab72dc3476e9..edc8a9916872 100644
> --- a/drivers/gpu/drm/qxl/qxl_object.c
> +++ b/drivers/gpu/drm/qxl/qxl_object.c
> @@ -33,7 +33,7 @@ static void qxl_ttm_bo_destroy(struct ttm_buffer_object *tbo)
>  	struct qxl_device *qdev;
>  
>  	bo = to_qxl_bo(tbo);
> -	qdev = (struct qxl_device *)bo->tbo.base.dev->dev_private;
> +	qdev = to_qxl(bo->tbo.base.dev);
>  
>  	qxl_surface_evict(qdev, bo, false);
>  	WARN_ON_ONCE(bo->map_count > 0);
> diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c
> index 2feca734c7b1..4fae3e393da1 100644
> --- a/drivers/gpu/drm/qxl/qxl_release.c
> +++ b/drivers/gpu/drm/qxl/qxl_release.c
> @@ -243,7 +243,7 @@ static int qxl_release_validate_bo(struct qxl_bo *bo)
>  		return ret;
>  
>  	/* allocate a surface for reserved + validated buffers */
> -	ret = qxl_bo_check_id(bo->tbo.base.dev->dev_private, bo);
> +	ret = qxl_bo_check_id(to_qxl(bo->tbo.base.dev), bo);
>  	if (ret)
>  		return ret;
>  	return 0;
> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
> index 93a2eb14844b..f09a712b1ed2 100644
> --- a/drivers/gpu/drm/qxl/qxl_ttm.c
> +++ b/drivers/gpu/drm/qxl/qxl_ttm.c
> @@ -243,7 +243,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo,
>  	if (!qxl_ttm_bo_is_qxl_bo(bo))
>  		return;
>  	qbo = to_qxl_bo(bo);
> -	qdev = qbo->tbo.base.dev->dev_private;
> +	qdev = to_qxl(qbo->tbo.base.dev);
>  
>  	if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id)
>  		qxl_surface_evict(qdev, qbo, new_mem ? true : false);
> -- 
> 2.25.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Dave Airlie <airlied@redhat.com>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	virtualization@lists.linux-foundation.org,
	Gerd Hoffmann <kraxel@redhat.com>,
	spice-devel@lists.freedesktop.org,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH 27/59] drm/qxl: Don't use drm_device->dev_private
Date: Fri, 24 Apr 2020 17:12:55 +0200	[thread overview]
Message-ID: <20200424151255.GC20856@ravnborg.org> (raw)
In-Reply-To: <20200415074034.175360-28-daniel.vetter@ffwll.ch>

On Wed, Apr 15, 2020 at 09:40:02AM +0200, Daniel Vetter wrote:
> Upcasting using a container_of macro is more typesafe, faster and
> easier for the compiler to optimize.
> 
> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: virtualization@lists.linux-foundation.org
> Cc: spice-devel@lists.freedesktop.org
Acked-by: Sam Ravnborg <sam@ravnborg.org>

> ---
>  drivers/gpu/drm/qxl/qxl_debugfs.c |  7 +++----
>  drivers/gpu/drm/qxl/qxl_display.c | 32 +++++++++++++++----------------
>  drivers/gpu/drm/qxl/qxl_drv.c     |  8 ++++----
>  drivers/gpu/drm/qxl/qxl_drv.h     |  4 ++--
>  drivers/gpu/drm/qxl/qxl_dumb.c    |  2 +-
>  drivers/gpu/drm/qxl/qxl_gem.c     |  2 +-
>  drivers/gpu/drm/qxl/qxl_ioctl.c   | 14 +++++++-------
>  drivers/gpu/drm/qxl/qxl_irq.c     |  2 +-
>  drivers/gpu/drm/qxl/qxl_kms.c     |  1 -
>  drivers/gpu/drm/qxl/qxl_object.c  |  2 +-
>  drivers/gpu/drm/qxl/qxl_release.c |  2 +-
>  drivers/gpu/drm/qxl/qxl_ttm.c     |  2 +-
>  12 files changed, 38 insertions(+), 40 deletions(-)
> 
> diff --git a/drivers/gpu/drm/qxl/qxl_debugfs.c b/drivers/gpu/drm/qxl/qxl_debugfs.c
> index 88123047fdd4..524d35b648d8 100644
> --- a/drivers/gpu/drm/qxl/qxl_debugfs.c
> +++ b/drivers/gpu/drm/qxl/qxl_debugfs.c
> @@ -39,7 +39,7 @@ static int
>  qxl_debugfs_irq_received(struct seq_file *m, void *data)
>  {
>  	struct drm_info_node *node = (struct drm_info_node *) m->private;
> -	struct qxl_device *qdev = node->minor->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(node->minor->dev);
>  
>  	seq_printf(m, "%d\n", atomic_read(&qdev->irq_received));
>  	seq_printf(m, "%d\n", atomic_read(&qdev->irq_received_display));
> @@ -53,7 +53,7 @@ static int
>  qxl_debugfs_buffers_info(struct seq_file *m, void *data)
>  {
>  	struct drm_info_node *node = (struct drm_info_node *) m->private;
> -	struct qxl_device *qdev = node->minor->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(node->minor->dev);
>  	struct qxl_bo *bo;
>  
>  	list_for_each_entry(bo, &qdev->gem.objects, list) {
> @@ -83,8 +83,7 @@ void
>  qxl_debugfs_init(struct drm_minor *minor)
>  {
>  #if defined(CONFIG_DEBUG_FS)
> -	struct qxl_device *dev =
> -		(struct qxl_device *) minor->dev->dev_private;
> +	struct qxl_device *dev = to_qxl(minor->dev);
>  
>  	drm_debugfs_create_files(qxl_debugfs_list, QXL_DEBUGFS_ENTRIES,
>  				 minor->debugfs_root, minor);
> diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
> index 09583a08e141..1082cd5d2fd4 100644
> --- a/drivers/gpu/drm/qxl/qxl_display.c
> +++ b/drivers/gpu/drm/qxl/qxl_display.c
> @@ -221,7 +221,7 @@ static int qxl_add_mode(struct drm_connector *connector,
>  			bool preferred)
>  {
>  	struct drm_device *dev = connector->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_display_mode *mode = NULL;
>  	int rc;
>  
> @@ -242,7 +242,7 @@ static int qxl_add_mode(struct drm_connector *connector,
>  static int qxl_add_monitors_config_modes(struct drm_connector *connector)
>  {
>  	struct drm_device *dev = connector->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_output *output = drm_connector_to_qxl_output(connector);
>  	int h = output->index;
>  	struct qxl_head *head;
> @@ -310,7 +310,7 @@ static void qxl_crtc_update_monitors_config(struct drm_crtc *crtc,
>  					    const char *reason)
>  {
>  	struct drm_device *dev = crtc->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_crtc *qcrtc = to_qxl_crtc(crtc);
>  	struct qxl_head head;
>  	int oldcount, i = qcrtc->index;
> @@ -400,7 +400,7 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
>  					 unsigned int num_clips)
>  {
>  	/* TODO: vmwgfx where this was cribbed from had locking. Why? */
> -	struct qxl_device *qdev = fb->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(fb->dev);
>  	struct drm_clip_rect norect;
>  	struct qxl_bo *qobj;
>  	bool is_primary;
> @@ -462,7 +462,7 @@ static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = {
>  static int qxl_primary_atomic_check(struct drm_plane *plane,
>  				    struct drm_plane_state *state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct qxl_bo *bo;
>  
>  	if (!state->crtc || !state->fb)
> @@ -476,7 +476,7 @@ static int qxl_primary_atomic_check(struct drm_plane *plane,
>  static int qxl_primary_apply_cursor(struct drm_plane *plane)
>  {
>  	struct drm_device *dev = plane->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_framebuffer *fb = plane->state->fb;
>  	struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc);
>  	struct qxl_cursor_cmd *cmd;
> @@ -523,7 +523,7 @@ static int qxl_primary_apply_cursor(struct drm_plane *plane)
>  static void qxl_primary_atomic_update(struct drm_plane *plane,
>  				      struct drm_plane_state *old_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct qxl_bo *bo = gem_to_qxl_bo(plane->state->fb->obj[0]);
>  	struct qxl_bo *primary;
>  	struct drm_clip_rect norect = {
> @@ -554,7 +554,7 @@ static void qxl_primary_atomic_update(struct drm_plane *plane,
>  static void qxl_primary_atomic_disable(struct drm_plane *plane,
>  				       struct drm_plane_state *old_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  
>  	if (old_state->fb) {
>  		struct qxl_bo *bo = gem_to_qxl_bo(old_state->fb->obj[0]);
> @@ -570,7 +570,7 @@ static void qxl_cursor_atomic_update(struct drm_plane *plane,
>  				     struct drm_plane_state *old_state)
>  {
>  	struct drm_device *dev = plane->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_framebuffer *fb = plane->state->fb;
>  	struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc);
>  	struct qxl_release *release;
> @@ -679,7 +679,7 @@ static void qxl_cursor_atomic_update(struct drm_plane *plane,
>  static void qxl_cursor_atomic_disable(struct drm_plane *plane,
>  				      struct drm_plane_state *old_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct qxl_release *release;
>  	struct qxl_cursor_cmd *cmd;
>  	int ret;
> @@ -762,7 +762,7 @@ static void qxl_calc_dumb_shadow(struct qxl_device *qdev,
>  static int qxl_plane_prepare_fb(struct drm_plane *plane,
>  				struct drm_plane_state *new_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct drm_gem_object *obj;
>  	struct qxl_bo *user_bo;
>  	struct qxl_surface surf;
> @@ -923,7 +923,7 @@ static int qdev_crtc_init(struct drm_device *dev, int crtc_id)
>  {
>  	struct qxl_crtc *qxl_crtc;
>  	struct drm_plane *primary, *cursor;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	int r;
>  
>  	qxl_crtc = kzalloc(sizeof(struct qxl_crtc), GFP_KERNEL);
> @@ -965,7 +965,7 @@ static int qdev_crtc_init(struct drm_device *dev, int crtc_id)
>  static int qxl_conn_get_modes(struct drm_connector *connector)
>  {
>  	struct drm_device *dev = connector->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_output *output = drm_connector_to_qxl_output(connector);
>  	unsigned int pwidth = 1024;
>  	unsigned int pheight = 768;
> @@ -991,7 +991,7 @@ static enum drm_mode_status qxl_conn_mode_valid(struct drm_connector *connector,
>  			       struct drm_display_mode *mode)
>  {
>  	struct drm_device *ddev = connector->dev;
> -	struct qxl_device *qdev = ddev->dev_private;
> +	struct qxl_device *qdev = to_qxl(ddev);
>  
>  	if (qxl_check_mode(qdev, mode->hdisplay, mode->vdisplay) != 0)
>  		return MODE_BAD;
> @@ -1021,7 +1021,7 @@ static enum drm_connector_status qxl_conn_detect(
>  	struct qxl_output *output =
>  		drm_connector_to_qxl_output(connector);
>  	struct drm_device *ddev = connector->dev;
> -	struct qxl_device *qdev = ddev->dev_private;
> +	struct qxl_device *qdev = to_qxl(ddev);
>  	bool connected = false;
>  
>  	/* The first monitor is always connected */
> @@ -1071,7 +1071,7 @@ static int qxl_mode_create_hotplug_mode_update_property(struct qxl_device *qdev)
>  
>  static int qdev_output_init(struct drm_device *dev, int num_output)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_output *qxl_output;
>  	struct drm_connector *connector;
>  	struct drm_encoder *encoder;
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c
> index 6b4ae4c5fb76..13872b882775 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.c
> +++ b/drivers/gpu/drm/qxl/qxl_drv.c
> @@ -137,7 +137,7 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  
>  static void qxl_drm_release(struct drm_device *dev)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  
>  	/*
>  	 * TODO: qxl_device_fini() call should be in qxl_pci_remove(),
> @@ -164,7 +164,7 @@ DEFINE_DRM_GEM_FOPS(qxl_fops);
>  static int qxl_drm_freeze(struct drm_device *dev)
>  {
>  	struct pci_dev *pdev = dev->pdev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	int ret;
>  
>  	ret = drm_mode_config_helper_suspend(dev);
> @@ -186,7 +186,7 @@ static int qxl_drm_freeze(struct drm_device *dev)
>  
>  static int qxl_drm_resume(struct drm_device *dev, bool thaw)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  
>  	qdev->ram_header->int_mask = QXL_INTERRUPT_MASK;
>  	if (!thaw) {
> @@ -245,7 +245,7 @@ static int qxl_pm_restore(struct device *dev)
>  {
>  	struct pci_dev *pdev = to_pci_dev(dev);
>  	struct drm_device *drm_dev = pci_get_drvdata(pdev);
> -	struct qxl_device *qdev = drm_dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(drm_dev);
>  
>  	qxl_io_reset(qdev);
>  	return qxl_drm_resume(drm_dev, false);
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
> index 86ac191d9205..31e35f787df2 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.h
> +++ b/drivers/gpu/drm/qxl/qxl_drv.h
> @@ -192,8 +192,6 @@ struct qxl_debugfs {
>  
>  int qxl_debugfs_fence_init(struct qxl_device *rdev);
>  
> -struct qxl_device;
> -
>  struct qxl_device {
>  	struct drm_device ddev;
>  
> @@ -273,6 +271,8 @@ struct qxl_device {
>  	int monitors_config_height;
>  };
>  
> +#define to_qxl(dev) container_of(dev, struct qxl_device, ddev)
> +
>  extern const struct drm_ioctl_desc qxl_ioctls[];
>  extern int qxl_max_ioctl;
>  
> diff --git a/drivers/gpu/drm/qxl/qxl_dumb.c b/drivers/gpu/drm/qxl/qxl_dumb.c
> index 272d19b677d8..24e903383aa1 100644
> --- a/drivers/gpu/drm/qxl/qxl_dumb.c
> +++ b/drivers/gpu/drm/qxl/qxl_dumb.c
> @@ -32,7 +32,7 @@ int qxl_mode_dumb_create(struct drm_file *file_priv,
>  			    struct drm_device *dev,
>  			    struct drm_mode_create_dumb *args)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_bo *qobj;
>  	uint32_t handle;
>  	int r;
> diff --git a/drivers/gpu/drm/qxl/qxl_gem.c b/drivers/gpu/drm/qxl/qxl_gem.c
> index 69f37db1027a..5ff6fa9b799c 100644
> --- a/drivers/gpu/drm/qxl/qxl_gem.c
> +++ b/drivers/gpu/drm/qxl/qxl_gem.c
> @@ -34,7 +34,7 @@ void qxl_gem_object_free(struct drm_gem_object *gobj)
>  	struct qxl_device *qdev;
>  	struct ttm_buffer_object *tbo;
>  
> -	qdev = (struct qxl_device *)gobj->dev->dev_private;
> +	qdev = to_qxl(gobj->dev);
>  
>  	qxl_surface_evict(qdev, qobj, false);
>  
> diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
> index 8117a45b3610..d9a583966949 100644
> --- a/drivers/gpu/drm/qxl/qxl_ioctl.c
> +++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
> @@ -36,7 +36,7 @@
>  static int qxl_alloc_ioctl(struct drm_device *dev, void *data,
>  			   struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_alloc *qxl_alloc = data;
>  	int ret;
>  	struct qxl_bo *qobj;
> @@ -64,7 +64,7 @@ static int qxl_alloc_ioctl(struct drm_device *dev, void *data,
>  static int qxl_map_ioctl(struct drm_device *dev, void *data,
>  			 struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_map *qxl_map = data;
>  
>  	return qxl_mode_dumb_mmap(file_priv, &qdev->ddev, qxl_map->handle,
> @@ -279,7 +279,7 @@ static int qxl_process_single_command(struct qxl_device *qdev,
>  static int qxl_execbuffer_ioctl(struct drm_device *dev, void *data,
>  				struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_execbuffer *execbuffer = data;
>  	struct drm_qxl_command user_cmd;
>  	int cmd_num;
> @@ -304,7 +304,7 @@ static int qxl_execbuffer_ioctl(struct drm_device *dev, void *data,
>  static int qxl_update_area_ioctl(struct drm_device *dev, void *data,
>  				 struct drm_file *file)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_update_area *update_area = data;
>  	struct qxl_rect area = {.left = update_area->left,
>  				.top = update_area->top,
> @@ -354,7 +354,7 @@ static int qxl_update_area_ioctl(struct drm_device *dev, void *data,
>  static int qxl_getparam_ioctl(struct drm_device *dev, void *data,
>  		       struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_getparam *param = data;
>  
>  	switch (param->param) {
> @@ -373,7 +373,7 @@ static int qxl_getparam_ioctl(struct drm_device *dev, void *data,
>  static int qxl_clientcap_ioctl(struct drm_device *dev, void *data,
>  				  struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_clientcap *param = data;
>  	int byte, idx;
>  
> @@ -394,7 +394,7 @@ static int qxl_clientcap_ioctl(struct drm_device *dev, void *data,
>  static int qxl_alloc_surf_ioctl(struct drm_device *dev, void *data,
>  				struct drm_file *file)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_alloc_surf *param = data;
>  	struct qxl_bo *qobj;
>  	int handle;
> diff --git a/drivers/gpu/drm/qxl/qxl_irq.c b/drivers/gpu/drm/qxl/qxl_irq.c
> index 8435af108632..1ba5a702d763 100644
> --- a/drivers/gpu/drm/qxl/qxl_irq.c
> +++ b/drivers/gpu/drm/qxl/qxl_irq.c
> @@ -32,7 +32,7 @@
>  irqreturn_t qxl_irq_handler(int irq, void *arg)
>  {
>  	struct drm_device *dev = (struct drm_device *) arg;
> -	struct qxl_device *qdev = (struct qxl_device *)dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	uint32_t pending;
>  
>  	pending = xchg(&qdev->ram_header->int_pending, 0);
> diff --git a/drivers/gpu/drm/qxl/qxl_kms.c b/drivers/gpu/drm/qxl/qxl_kms.c
> index 91a34dd835d7..a6d873052cd4 100644
> --- a/drivers/gpu/drm/qxl/qxl_kms.c
> +++ b/drivers/gpu/drm/qxl/qxl_kms.c
> @@ -114,7 +114,6 @@ int qxl_device_init(struct qxl_device *qdev,
>  
>  	qdev->ddev.pdev = pdev;
>  	pci_set_drvdata(pdev, &qdev->ddev);
> -	qdev->ddev.dev_private = qdev;
>  
>  	mutex_init(&qdev->gem.mutex);
>  	mutex_init(&qdev->update_area_mutex);
> diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
> index ab72dc3476e9..edc8a9916872 100644
> --- a/drivers/gpu/drm/qxl/qxl_object.c
> +++ b/drivers/gpu/drm/qxl/qxl_object.c
> @@ -33,7 +33,7 @@ static void qxl_ttm_bo_destroy(struct ttm_buffer_object *tbo)
>  	struct qxl_device *qdev;
>  
>  	bo = to_qxl_bo(tbo);
> -	qdev = (struct qxl_device *)bo->tbo.base.dev->dev_private;
> +	qdev = to_qxl(bo->tbo.base.dev);
>  
>  	qxl_surface_evict(qdev, bo, false);
>  	WARN_ON_ONCE(bo->map_count > 0);
> diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c
> index 2feca734c7b1..4fae3e393da1 100644
> --- a/drivers/gpu/drm/qxl/qxl_release.c
> +++ b/drivers/gpu/drm/qxl/qxl_release.c
> @@ -243,7 +243,7 @@ static int qxl_release_validate_bo(struct qxl_bo *bo)
>  		return ret;
>  
>  	/* allocate a surface for reserved + validated buffers */
> -	ret = qxl_bo_check_id(bo->tbo.base.dev->dev_private, bo);
> +	ret = qxl_bo_check_id(to_qxl(bo->tbo.base.dev), bo);
>  	if (ret)
>  		return ret;
>  	return 0;
> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
> index 93a2eb14844b..f09a712b1ed2 100644
> --- a/drivers/gpu/drm/qxl/qxl_ttm.c
> +++ b/drivers/gpu/drm/qxl/qxl_ttm.c
> @@ -243,7 +243,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo,
>  	if (!qxl_ttm_bo_is_qxl_bo(bo))
>  		return;
>  	qbo = to_qxl_bo(bo);
> -	qdev = qbo->tbo.base.dev->dev_private;
> +	qdev = to_qxl(qbo->tbo.base.dev);
>  
>  	if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id)
>  		qxl_surface_evict(qdev, qbo, new_mem ? true : false);
> -- 
> 2.25.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Dave Airlie <airlied@redhat.com>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	virtualization@lists.linux-foundation.org,
	Gerd Hoffmann <kraxel@redhat.com>,
	spice-devel@lists.freedesktop.org,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [Intel-gfx] [PATCH 27/59] drm/qxl: Don't use drm_device->dev_private
Date: Fri, 24 Apr 2020 17:12:55 +0200	[thread overview]
Message-ID: <20200424151255.GC20856@ravnborg.org> (raw)
In-Reply-To: <20200415074034.175360-28-daniel.vetter@ffwll.ch>

On Wed, Apr 15, 2020 at 09:40:02AM +0200, Daniel Vetter wrote:
> Upcasting using a container_of macro is more typesafe, faster and
> easier for the compiler to optimize.
> 
> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Dave Airlie <airlied@redhat.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: virtualization@lists.linux-foundation.org
> Cc: spice-devel@lists.freedesktop.org
Acked-by: Sam Ravnborg <sam@ravnborg.org>

> ---
>  drivers/gpu/drm/qxl/qxl_debugfs.c |  7 +++----
>  drivers/gpu/drm/qxl/qxl_display.c | 32 +++++++++++++++----------------
>  drivers/gpu/drm/qxl/qxl_drv.c     |  8 ++++----
>  drivers/gpu/drm/qxl/qxl_drv.h     |  4 ++--
>  drivers/gpu/drm/qxl/qxl_dumb.c    |  2 +-
>  drivers/gpu/drm/qxl/qxl_gem.c     |  2 +-
>  drivers/gpu/drm/qxl/qxl_ioctl.c   | 14 +++++++-------
>  drivers/gpu/drm/qxl/qxl_irq.c     |  2 +-
>  drivers/gpu/drm/qxl/qxl_kms.c     |  1 -
>  drivers/gpu/drm/qxl/qxl_object.c  |  2 +-
>  drivers/gpu/drm/qxl/qxl_release.c |  2 +-
>  drivers/gpu/drm/qxl/qxl_ttm.c     |  2 +-
>  12 files changed, 38 insertions(+), 40 deletions(-)
> 
> diff --git a/drivers/gpu/drm/qxl/qxl_debugfs.c b/drivers/gpu/drm/qxl/qxl_debugfs.c
> index 88123047fdd4..524d35b648d8 100644
> --- a/drivers/gpu/drm/qxl/qxl_debugfs.c
> +++ b/drivers/gpu/drm/qxl/qxl_debugfs.c
> @@ -39,7 +39,7 @@ static int
>  qxl_debugfs_irq_received(struct seq_file *m, void *data)
>  {
>  	struct drm_info_node *node = (struct drm_info_node *) m->private;
> -	struct qxl_device *qdev = node->minor->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(node->minor->dev);
>  
>  	seq_printf(m, "%d\n", atomic_read(&qdev->irq_received));
>  	seq_printf(m, "%d\n", atomic_read(&qdev->irq_received_display));
> @@ -53,7 +53,7 @@ static int
>  qxl_debugfs_buffers_info(struct seq_file *m, void *data)
>  {
>  	struct drm_info_node *node = (struct drm_info_node *) m->private;
> -	struct qxl_device *qdev = node->minor->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(node->minor->dev);
>  	struct qxl_bo *bo;
>  
>  	list_for_each_entry(bo, &qdev->gem.objects, list) {
> @@ -83,8 +83,7 @@ void
>  qxl_debugfs_init(struct drm_minor *minor)
>  {
>  #if defined(CONFIG_DEBUG_FS)
> -	struct qxl_device *dev =
> -		(struct qxl_device *) minor->dev->dev_private;
> +	struct qxl_device *dev = to_qxl(minor->dev);
>  
>  	drm_debugfs_create_files(qxl_debugfs_list, QXL_DEBUGFS_ENTRIES,
>  				 minor->debugfs_root, minor);
> diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
> index 09583a08e141..1082cd5d2fd4 100644
> --- a/drivers/gpu/drm/qxl/qxl_display.c
> +++ b/drivers/gpu/drm/qxl/qxl_display.c
> @@ -221,7 +221,7 @@ static int qxl_add_mode(struct drm_connector *connector,
>  			bool preferred)
>  {
>  	struct drm_device *dev = connector->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_display_mode *mode = NULL;
>  	int rc;
>  
> @@ -242,7 +242,7 @@ static int qxl_add_mode(struct drm_connector *connector,
>  static int qxl_add_monitors_config_modes(struct drm_connector *connector)
>  {
>  	struct drm_device *dev = connector->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_output *output = drm_connector_to_qxl_output(connector);
>  	int h = output->index;
>  	struct qxl_head *head;
> @@ -310,7 +310,7 @@ static void qxl_crtc_update_monitors_config(struct drm_crtc *crtc,
>  					    const char *reason)
>  {
>  	struct drm_device *dev = crtc->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_crtc *qcrtc = to_qxl_crtc(crtc);
>  	struct qxl_head head;
>  	int oldcount, i = qcrtc->index;
> @@ -400,7 +400,7 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
>  					 unsigned int num_clips)
>  {
>  	/* TODO: vmwgfx where this was cribbed from had locking. Why? */
> -	struct qxl_device *qdev = fb->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(fb->dev);
>  	struct drm_clip_rect norect;
>  	struct qxl_bo *qobj;
>  	bool is_primary;
> @@ -462,7 +462,7 @@ static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = {
>  static int qxl_primary_atomic_check(struct drm_plane *plane,
>  				    struct drm_plane_state *state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct qxl_bo *bo;
>  
>  	if (!state->crtc || !state->fb)
> @@ -476,7 +476,7 @@ static int qxl_primary_atomic_check(struct drm_plane *plane,
>  static int qxl_primary_apply_cursor(struct drm_plane *plane)
>  {
>  	struct drm_device *dev = plane->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_framebuffer *fb = plane->state->fb;
>  	struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc);
>  	struct qxl_cursor_cmd *cmd;
> @@ -523,7 +523,7 @@ static int qxl_primary_apply_cursor(struct drm_plane *plane)
>  static void qxl_primary_atomic_update(struct drm_plane *plane,
>  				      struct drm_plane_state *old_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct qxl_bo *bo = gem_to_qxl_bo(plane->state->fb->obj[0]);
>  	struct qxl_bo *primary;
>  	struct drm_clip_rect norect = {
> @@ -554,7 +554,7 @@ static void qxl_primary_atomic_update(struct drm_plane *plane,
>  static void qxl_primary_atomic_disable(struct drm_plane *plane,
>  				       struct drm_plane_state *old_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  
>  	if (old_state->fb) {
>  		struct qxl_bo *bo = gem_to_qxl_bo(old_state->fb->obj[0]);
> @@ -570,7 +570,7 @@ static void qxl_cursor_atomic_update(struct drm_plane *plane,
>  				     struct drm_plane_state *old_state)
>  {
>  	struct drm_device *dev = plane->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_framebuffer *fb = plane->state->fb;
>  	struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc);
>  	struct qxl_release *release;
> @@ -679,7 +679,7 @@ static void qxl_cursor_atomic_update(struct drm_plane *plane,
>  static void qxl_cursor_atomic_disable(struct drm_plane *plane,
>  				      struct drm_plane_state *old_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct qxl_release *release;
>  	struct qxl_cursor_cmd *cmd;
>  	int ret;
> @@ -762,7 +762,7 @@ static void qxl_calc_dumb_shadow(struct qxl_device *qdev,
>  static int qxl_plane_prepare_fb(struct drm_plane *plane,
>  				struct drm_plane_state *new_state)
>  {
> -	struct qxl_device *qdev = plane->dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(plane->dev);
>  	struct drm_gem_object *obj;
>  	struct qxl_bo *user_bo;
>  	struct qxl_surface surf;
> @@ -923,7 +923,7 @@ static int qdev_crtc_init(struct drm_device *dev, int crtc_id)
>  {
>  	struct qxl_crtc *qxl_crtc;
>  	struct drm_plane *primary, *cursor;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	int r;
>  
>  	qxl_crtc = kzalloc(sizeof(struct qxl_crtc), GFP_KERNEL);
> @@ -965,7 +965,7 @@ static int qdev_crtc_init(struct drm_device *dev, int crtc_id)
>  static int qxl_conn_get_modes(struct drm_connector *connector)
>  {
>  	struct drm_device *dev = connector->dev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_output *output = drm_connector_to_qxl_output(connector);
>  	unsigned int pwidth = 1024;
>  	unsigned int pheight = 768;
> @@ -991,7 +991,7 @@ static enum drm_mode_status qxl_conn_mode_valid(struct drm_connector *connector,
>  			       struct drm_display_mode *mode)
>  {
>  	struct drm_device *ddev = connector->dev;
> -	struct qxl_device *qdev = ddev->dev_private;
> +	struct qxl_device *qdev = to_qxl(ddev);
>  
>  	if (qxl_check_mode(qdev, mode->hdisplay, mode->vdisplay) != 0)
>  		return MODE_BAD;
> @@ -1021,7 +1021,7 @@ static enum drm_connector_status qxl_conn_detect(
>  	struct qxl_output *output =
>  		drm_connector_to_qxl_output(connector);
>  	struct drm_device *ddev = connector->dev;
> -	struct qxl_device *qdev = ddev->dev_private;
> +	struct qxl_device *qdev = to_qxl(ddev);
>  	bool connected = false;
>  
>  	/* The first monitor is always connected */
> @@ -1071,7 +1071,7 @@ static int qxl_mode_create_hotplug_mode_update_property(struct qxl_device *qdev)
>  
>  static int qdev_output_init(struct drm_device *dev, int num_output)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_output *qxl_output;
>  	struct drm_connector *connector;
>  	struct drm_encoder *encoder;
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c
> index 6b4ae4c5fb76..13872b882775 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.c
> +++ b/drivers/gpu/drm/qxl/qxl_drv.c
> @@ -137,7 +137,7 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  
>  static void qxl_drm_release(struct drm_device *dev)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  
>  	/*
>  	 * TODO: qxl_device_fini() call should be in qxl_pci_remove(),
> @@ -164,7 +164,7 @@ DEFINE_DRM_GEM_FOPS(qxl_fops);
>  static int qxl_drm_freeze(struct drm_device *dev)
>  {
>  	struct pci_dev *pdev = dev->pdev;
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	int ret;
>  
>  	ret = drm_mode_config_helper_suspend(dev);
> @@ -186,7 +186,7 @@ static int qxl_drm_freeze(struct drm_device *dev)
>  
>  static int qxl_drm_resume(struct drm_device *dev, bool thaw)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  
>  	qdev->ram_header->int_mask = QXL_INTERRUPT_MASK;
>  	if (!thaw) {
> @@ -245,7 +245,7 @@ static int qxl_pm_restore(struct device *dev)
>  {
>  	struct pci_dev *pdev = to_pci_dev(dev);
>  	struct drm_device *drm_dev = pci_get_drvdata(pdev);
> -	struct qxl_device *qdev = drm_dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(drm_dev);
>  
>  	qxl_io_reset(qdev);
>  	return qxl_drm_resume(drm_dev, false);
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
> index 86ac191d9205..31e35f787df2 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.h
> +++ b/drivers/gpu/drm/qxl/qxl_drv.h
> @@ -192,8 +192,6 @@ struct qxl_debugfs {
>  
>  int qxl_debugfs_fence_init(struct qxl_device *rdev);
>  
> -struct qxl_device;
> -
>  struct qxl_device {
>  	struct drm_device ddev;
>  
> @@ -273,6 +271,8 @@ struct qxl_device {
>  	int monitors_config_height;
>  };
>  
> +#define to_qxl(dev) container_of(dev, struct qxl_device, ddev)
> +
>  extern const struct drm_ioctl_desc qxl_ioctls[];
>  extern int qxl_max_ioctl;
>  
> diff --git a/drivers/gpu/drm/qxl/qxl_dumb.c b/drivers/gpu/drm/qxl/qxl_dumb.c
> index 272d19b677d8..24e903383aa1 100644
> --- a/drivers/gpu/drm/qxl/qxl_dumb.c
> +++ b/drivers/gpu/drm/qxl/qxl_dumb.c
> @@ -32,7 +32,7 @@ int qxl_mode_dumb_create(struct drm_file *file_priv,
>  			    struct drm_device *dev,
>  			    struct drm_mode_create_dumb *args)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct qxl_bo *qobj;
>  	uint32_t handle;
>  	int r;
> diff --git a/drivers/gpu/drm/qxl/qxl_gem.c b/drivers/gpu/drm/qxl/qxl_gem.c
> index 69f37db1027a..5ff6fa9b799c 100644
> --- a/drivers/gpu/drm/qxl/qxl_gem.c
> +++ b/drivers/gpu/drm/qxl/qxl_gem.c
> @@ -34,7 +34,7 @@ void qxl_gem_object_free(struct drm_gem_object *gobj)
>  	struct qxl_device *qdev;
>  	struct ttm_buffer_object *tbo;
>  
> -	qdev = (struct qxl_device *)gobj->dev->dev_private;
> +	qdev = to_qxl(gobj->dev);
>  
>  	qxl_surface_evict(qdev, qobj, false);
>  
> diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
> index 8117a45b3610..d9a583966949 100644
> --- a/drivers/gpu/drm/qxl/qxl_ioctl.c
> +++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
> @@ -36,7 +36,7 @@
>  static int qxl_alloc_ioctl(struct drm_device *dev, void *data,
>  			   struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_alloc *qxl_alloc = data;
>  	int ret;
>  	struct qxl_bo *qobj;
> @@ -64,7 +64,7 @@ static int qxl_alloc_ioctl(struct drm_device *dev, void *data,
>  static int qxl_map_ioctl(struct drm_device *dev, void *data,
>  			 struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_map *qxl_map = data;
>  
>  	return qxl_mode_dumb_mmap(file_priv, &qdev->ddev, qxl_map->handle,
> @@ -279,7 +279,7 @@ static int qxl_process_single_command(struct qxl_device *qdev,
>  static int qxl_execbuffer_ioctl(struct drm_device *dev, void *data,
>  				struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_execbuffer *execbuffer = data;
>  	struct drm_qxl_command user_cmd;
>  	int cmd_num;
> @@ -304,7 +304,7 @@ static int qxl_execbuffer_ioctl(struct drm_device *dev, void *data,
>  static int qxl_update_area_ioctl(struct drm_device *dev, void *data,
>  				 struct drm_file *file)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_update_area *update_area = data;
>  	struct qxl_rect area = {.left = update_area->left,
>  				.top = update_area->top,
> @@ -354,7 +354,7 @@ static int qxl_update_area_ioctl(struct drm_device *dev, void *data,
>  static int qxl_getparam_ioctl(struct drm_device *dev, void *data,
>  		       struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_getparam *param = data;
>  
>  	switch (param->param) {
> @@ -373,7 +373,7 @@ static int qxl_getparam_ioctl(struct drm_device *dev, void *data,
>  static int qxl_clientcap_ioctl(struct drm_device *dev, void *data,
>  				  struct drm_file *file_priv)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_clientcap *param = data;
>  	int byte, idx;
>  
> @@ -394,7 +394,7 @@ static int qxl_clientcap_ioctl(struct drm_device *dev, void *data,
>  static int qxl_alloc_surf_ioctl(struct drm_device *dev, void *data,
>  				struct drm_file *file)
>  {
> -	struct qxl_device *qdev = dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	struct drm_qxl_alloc_surf *param = data;
>  	struct qxl_bo *qobj;
>  	int handle;
> diff --git a/drivers/gpu/drm/qxl/qxl_irq.c b/drivers/gpu/drm/qxl/qxl_irq.c
> index 8435af108632..1ba5a702d763 100644
> --- a/drivers/gpu/drm/qxl/qxl_irq.c
> +++ b/drivers/gpu/drm/qxl/qxl_irq.c
> @@ -32,7 +32,7 @@
>  irqreturn_t qxl_irq_handler(int irq, void *arg)
>  {
>  	struct drm_device *dev = (struct drm_device *) arg;
> -	struct qxl_device *qdev = (struct qxl_device *)dev->dev_private;
> +	struct qxl_device *qdev = to_qxl(dev);
>  	uint32_t pending;
>  
>  	pending = xchg(&qdev->ram_header->int_pending, 0);
> diff --git a/drivers/gpu/drm/qxl/qxl_kms.c b/drivers/gpu/drm/qxl/qxl_kms.c
> index 91a34dd835d7..a6d873052cd4 100644
> --- a/drivers/gpu/drm/qxl/qxl_kms.c
> +++ b/drivers/gpu/drm/qxl/qxl_kms.c
> @@ -114,7 +114,6 @@ int qxl_device_init(struct qxl_device *qdev,
>  
>  	qdev->ddev.pdev = pdev;
>  	pci_set_drvdata(pdev, &qdev->ddev);
> -	qdev->ddev.dev_private = qdev;
>  
>  	mutex_init(&qdev->gem.mutex);
>  	mutex_init(&qdev->update_area_mutex);
> diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
> index ab72dc3476e9..edc8a9916872 100644
> --- a/drivers/gpu/drm/qxl/qxl_object.c
> +++ b/drivers/gpu/drm/qxl/qxl_object.c
> @@ -33,7 +33,7 @@ static void qxl_ttm_bo_destroy(struct ttm_buffer_object *tbo)
>  	struct qxl_device *qdev;
>  
>  	bo = to_qxl_bo(tbo);
> -	qdev = (struct qxl_device *)bo->tbo.base.dev->dev_private;
> +	qdev = to_qxl(bo->tbo.base.dev);
>  
>  	qxl_surface_evict(qdev, bo, false);
>  	WARN_ON_ONCE(bo->map_count > 0);
> diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c
> index 2feca734c7b1..4fae3e393da1 100644
> --- a/drivers/gpu/drm/qxl/qxl_release.c
> +++ b/drivers/gpu/drm/qxl/qxl_release.c
> @@ -243,7 +243,7 @@ static int qxl_release_validate_bo(struct qxl_bo *bo)
>  		return ret;
>  
>  	/* allocate a surface for reserved + validated buffers */
> -	ret = qxl_bo_check_id(bo->tbo.base.dev->dev_private, bo);
> +	ret = qxl_bo_check_id(to_qxl(bo->tbo.base.dev), bo);
>  	if (ret)
>  		return ret;
>  	return 0;
> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
> index 93a2eb14844b..f09a712b1ed2 100644
> --- a/drivers/gpu/drm/qxl/qxl_ttm.c
> +++ b/drivers/gpu/drm/qxl/qxl_ttm.c
> @@ -243,7 +243,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo,
>  	if (!qxl_ttm_bo_is_qxl_bo(bo))
>  		return;
>  	qbo = to_qxl_bo(bo);
> -	qdev = qbo->tbo.base.dev->dev_private;
> +	qdev = to_qxl(qbo->tbo.base.dev);
>  
>  	if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id)
>  		qxl_surface_evict(qdev, qbo, new_mem ? true : false);
> -- 
> 2.25.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2020-04-24 15:12 UTC|newest]

Thread overview: 317+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-15  7:39 [PATCH 00/59] devm_drm_dev_alloc, v2 Daniel Vetter
2020-04-15  7:39 ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 01/59] drm: Add devm_drm_dev_alloc macro Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-20 13:36   ` Thomas Zimmermann
2020-04-20 13:36     ` [Intel-gfx] " Thomas Zimmermann
2020-04-21 10:45     ` Daniel Vetter
2020-04-21 10:45       ` [Intel-gfx] " Daniel Vetter
2020-04-21 14:03       ` Thomas Zimmermann
2020-04-21 14:03         ` [Intel-gfx] " Thomas Zimmermann
2020-04-21 20:32         ` Sam Ravnborg
2020-04-21 20:32           ` [Intel-gfx] " Sam Ravnborg
2020-04-28 13:06           ` Daniel Vetter
2020-04-28 13:06             ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 02/59] drm/vboxvideo: drop DRM_MTRR_WC #define Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15 15:01   ` Hans de Goede
2020-04-15 15:01     ` [Intel-gfx] " Hans de Goede
2020-04-15  7:39 ` [PATCH 03/59] drm/vboxvideo: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15 15:02   ` Hans de Goede
2020-04-15 15:02     ` [Intel-gfx] " Hans de Goede
2020-04-24 16:33   ` Sam Ravnborg
2020-04-24 16:33     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:39 ` [PATCH 04/59] drm/vboxvideo: Stop using drm_device->dev_private Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15 15:02   ` Hans de Goede
2020-04-15 15:02     ` [Intel-gfx] " Hans de Goede
2020-04-15  7:39 ` [PATCH 05/59] drm/vboxvidoe: use managed pci functions Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15 15:03   ` Hans de Goede
2020-04-15 15:03     ` [Intel-gfx] " Hans de Goede
2020-04-15 17:44     ` Daniel Vetter
2020-04-15 17:44       ` [Intel-gfx] " Daniel Vetter
2020-04-20 13:16       ` Hans de Goede
2020-04-20 13:16         ` [Intel-gfx] " Hans de Goede
2020-04-15 17:32   ` Thomas Zimmermann
2020-04-15 17:32     ` [Intel-gfx] " Thomas Zimmermann
2020-04-15  7:39 ` [PATCH 06/59] drm/vboxvideo: Use devm_gen_pool_create Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15 15:04   ` Hans de Goede
2020-04-15 15:04     ` [Intel-gfx] " Hans de Goede
2020-04-15  7:39 ` [PATCH 07/59] drm/v3d: Don't set drm_device->dev_private Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 08/59] drm/v3d: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 09/59] drm/v3d: Delete v3d_dev->dev Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 10/59] drm/v3d: Delete v3d_dev->pdev Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 11/59] drm/udl: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:55   ` Thomas Zimmermann
2020-04-15  7:55     ` [Intel-gfx] " Thomas Zimmermann
2020-04-24 14:55   ` Sam Ravnborg
2020-04-24 14:55     ` [Intel-gfx] " Sam Ravnborg
2020-04-28 13:18     ` Daniel Vetter
2020-04-28 13:18       ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 12/59] drm/udl: don't set drm_device->dev_private Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 13/59] drm/st7735r: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 14/59] drm/st7586: " Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 15/59] drm/repaper: " Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 16/59] drm/mi0283qt: " Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 17/59] drm/ili9486: " Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 18/59] drm/ili9341: " Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 19/59] drm/ili9225: " Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 20/59] drm/hx8357d: " Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:39 ` [PATCH 21/59] drm/gm12u320: " Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15 15:04   ` Hans de Goede
2020-04-15 15:04     ` [Intel-gfx] " Hans de Goede
2020-04-15  7:39 ` [PATCH 22/59] drm/gm12u320: Don't use drm_device->dev_private Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-15 15:05   ` Hans de Goede
2020-04-15 15:05     ` [Intel-gfx] " Hans de Goede
2020-04-15  7:39 ` [PATCH 23/59] drm/tidss: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-21 11:03   ` Tomi Valkeinen
2020-04-21 11:03     ` [Intel-gfx] " Tomi Valkeinen
2020-04-15  7:39 ` [PATCH 24/59] drm/tidss: Don't use drm_device->dev_private Daniel Vetter
2020-04-15  7:39   ` [Intel-gfx] " Daniel Vetter
2020-04-21 11:05   ` Tomi Valkeinen
2020-04-21 11:05     ` [Intel-gfx] " Tomi Valkeinen
2020-04-15  7:40 ` [PATCH 25/59] drm/tidss: Delete tidss->saved_state Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-21 11:05   ` Tomi Valkeinen
2020-04-21 11:05     ` [Intel-gfx] " Tomi Valkeinen
2020-04-15  7:40 ` [PATCH 26/59] drm/qxl: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40   ` Daniel Vetter
2020-04-24 15:09   ` Sam Ravnborg
2020-04-24 15:09     ` [Intel-gfx] " Sam Ravnborg
2020-04-24 15:09     ` Sam Ravnborg
2020-04-28 14:00     ` Daniel Vetter
2020-04-28 14:00       ` [Intel-gfx] " Daniel Vetter
2020-04-28 14:00       ` Daniel Vetter
2020-04-28 17:00       ` Sam Ravnborg
2020-04-28 17:00         ` [Intel-gfx] " Sam Ravnborg
2020-04-28 17:00         ` Sam Ravnborg
2020-04-28 18:04         ` Daniel Vetter
2020-04-28 18:04           ` [Intel-gfx] " Daniel Vetter
2020-04-28 18:04           ` Daniel Vetter
2020-04-15  7:40 ` [PATCH 27/59] drm/qxl: Don't use drm_device->dev_private Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40   ` Daniel Vetter
2020-04-24 15:12   ` Sam Ravnborg [this message]
2020-04-24 15:12     ` [Intel-gfx] " Sam Ravnborg
2020-04-24 15:12     ` Sam Ravnborg
2020-04-15  7:40 ` [PATCH 28/59] drm/mcde: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15 12:20   ` Linus Walleij
2020-04-15 12:20     ` [Intel-gfx] " Linus Walleij
2020-04-15  7:40 ` [PATCH 29/59] drm/mcde: Don't use drm_device->dev_private Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40 ` [PATCH 30/59] drm/ingenic: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40 ` [PATCH 31/59] drm/ingenic: Don't set drm_device->dev_private Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40 ` [PATCH 32/59] drm/komeda: use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40 ` [PATCH 33/59] drm/armada: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40 ` [PATCH 34/59] drm/armada: Don't use drm_device->dev_private Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40 ` [PATCH 35/59] drm/cirrus: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40   ` Daniel Vetter
2020-04-15  7:40 ` [PATCH 36/59] drm/cirrus: Don't use drm_device->dev_private Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40   ` Daniel Vetter
2020-04-15  7:40 ` [PATCH 37/59] drm/cirrus: Move to drm/tiny Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40   ` Daniel Vetter
2020-04-15  8:01   ` Thomas Zimmermann
2020-04-15  8:01     ` [Intel-gfx] " Thomas Zimmermann
2020-04-15  8:01     ` Thomas Zimmermann
2020-04-15  8:19     ` Daniel Vetter
2020-04-15  8:19       ` [Intel-gfx] " Daniel Vetter
2020-04-15  8:19       ` Daniel Vetter
2020-04-15  8:46       ` Thomas Zimmermann
2020-04-15  8:46         ` [Intel-gfx] " Thomas Zimmermann
2020-04-15  8:46         ` Thomas Zimmermann
2020-04-15  9:31         ` Daniel Vetter
2020-04-15  9:31           ` [Intel-gfx] " Daniel Vetter
2020-04-15  9:31           ` Daniel Vetter
2020-04-21  7:37   ` Gerd Hoffmann
2020-04-21  7:37     ` [Intel-gfx] " Gerd Hoffmann
2020-04-21  7:37     ` Gerd Hoffmann
2020-04-24 16:37   ` Sam Ravnborg
2020-04-24 16:37     ` [Intel-gfx] " Sam Ravnborg
2020-04-24 16:37     ` Sam Ravnborg
2020-04-15  7:40 ` [PATCH 38/59] drm/i915: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-28 18:52   ` Daniel Vetter
2020-04-28 18:52     ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40 ` [PATCH 39/59] drm/arcpgu: Switch to devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 16:43   ` Sam Ravnborg
2020-04-24 16:43     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 40/59] drm/arcpgu: Stop using drm_device->dev_private Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 16:46   ` Sam Ravnborg
2020-04-24 16:46     ` [Intel-gfx] " Sam Ravnborg
2020-09-04 13:42     ` Daniel Vetter
2020-09-04 13:42       ` [Intel-gfx] " Daniel Vetter
2020-09-04 14:42       ` Sam Ravnborg
2020-09-04 14:42         ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 41/59] drm/arcpgu: Delete arcpgu_priv->fb Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 16:47   ` Sam Ravnborg
2020-04-24 16:47     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 42/59] drm/arc: Embedded a drm_simple_display_pipe Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 17:34   ` Sam Ravnborg
2020-04-24 17:34     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 43/59] drm/arc: Embedd a drm_connector for sim case Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 17:34   ` Sam Ravnborg
2020-04-24 17:34     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 44/59] drm/arc: Drop surplus connector registration Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 16:51   ` Sam Ravnborg
2020-04-24 16:51     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 45/59] drm/arc: Use drmm_mode_config_cleanup Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 17:36   ` Sam Ravnborg
2020-04-24 17:36     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 46/59] drm/arc: Align with simple pipe helpers Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-25 12:24   ` Sam Ravnborg
2020-04-25 12:24     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 47/59] drm/arc: Convert to drm_simple_kms_pipe_helper Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 17:40   ` Sam Ravnborg
2020-04-24 17:40     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 48/59] drm/arc: Drop fb/crtc check in arc_pgu_update Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 17:45   ` Sam Ravnborg
2020-04-24 17:45     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 49/59] drm/arc: Inline arcpgu_crtc.c Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 17:51   ` Sam Ravnborg
2020-04-24 17:51     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 50/59] drm/arc: Inline arcpgu_drm_hdmi_init Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 17:54   ` Sam Ravnborg
2020-04-24 17:54     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 51/59] drm/arc: Inline remaining files Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 17:56   ` Sam Ravnborg
2020-04-24 17:56     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 52/59] drm/arc: Initialize sim connector before display pipe Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-24 17:58   ` Sam Ravnborg
2020-04-24 17:58     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 53/59] drm/arc: Move to drm/tiny Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  8:04   ` Thomas Zimmermann
2020-04-15  8:04     ` [Intel-gfx] " Thomas Zimmermann
2020-04-15  8:22     ` Daniel Vetter
2020-04-15  8:22       ` [Intel-gfx] " Daniel Vetter
2020-04-15  9:45   ` Sam Ravnborg
2020-04-15  9:45     ` [Intel-gfx] " Sam Ravnborg
2020-04-15 12:02     ` Alexey Brodkin
2020-04-15 12:02       ` [Intel-gfx] " Alexey Brodkin
2020-04-15 12:20       ` Daniel Vetter
2020-04-15 12:20         ` [Intel-gfx] " Daniel Vetter
2020-04-28 14:08         ` Daniel Vetter
2020-04-28 14:08           ` [Intel-gfx] " Daniel Vetter
2020-05-08 13:56           ` Alexey Brodkin
2020-05-08 13:56             ` [Intel-gfx] " Alexey Brodkin
2020-05-08 18:07             ` Daniel Vetter
2020-05-08 18:07               ` [Intel-gfx] " Daniel Vetter
2020-06-04  8:05               ` Daniel Vetter
2020-06-04  8:05                 ` [Intel-gfx] " Daniel Vetter
2020-06-04 10:38                 ` Eugeniy Paltsev
2020-06-04 10:38                   ` [Intel-gfx] " Eugeniy Paltsev
2020-06-04 11:19                   ` Daniel Vetter
2020-06-04 11:19                     ` [Intel-gfx] " Daniel Vetter
2020-06-04 19:00                     ` Eugeniy Paltsev
2020-06-04 19:00                       ` [Intel-gfx] " Eugeniy Paltsev
2020-06-05 19:55                       ` Daniel Vetter
2020-06-05 19:55                         ` [Intel-gfx] " Daniel Vetter
2020-06-09 12:08                         ` Eugeniy Paltsev
2020-06-09 12:08                           ` [Intel-gfx] " Eugeniy Paltsev
2020-06-09 13:02                           ` Daniel Vetter
2020-06-09 13:02                             ` [Intel-gfx] " Daniel Vetter
2020-07-17  9:04                             ` Daniel Vetter
2020-07-17  9:04                               ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40 ` [PATCH 54/59] drm/aspeed: Drop aspeed_gfx->fbdev Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40   ` Daniel Vetter
2020-04-24 18:00   ` Sam Ravnborg
2020-04-24 18:00     ` [Intel-gfx] " Sam Ravnborg
2020-04-24 18:00     ` Sam Ravnborg
2020-04-15  7:40 ` [PATCH 55/59] drm/aspeed: Use devm_drm_dev_alloc Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40   ` Daniel Vetter
2020-04-24 18:02   ` Sam Ravnborg
2020-04-24 18:02     ` [Intel-gfx] " Sam Ravnborg
2020-04-24 18:02     ` Sam Ravnborg
2020-04-15  7:40 ` [PATCH 56/59] drm/aspeed: Use managed drmm_mode_config_cleanup Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40   ` Daniel Vetter
2020-04-24 18:10   ` Sam Ravnborg
2020-04-24 18:10     ` [Intel-gfx] " Sam Ravnborg
2020-04-24 18:10     ` Sam Ravnborg
2020-04-28 14:12     ` Daniel Vetter
2020-04-28 14:12       ` [Intel-gfx] " Daniel Vetter
2020-04-28 14:12       ` Daniel Vetter
2020-04-28 17:03       ` Sam Ravnborg
2020-04-28 17:03         ` [Intel-gfx] " Sam Ravnborg
2020-04-28 17:03         ` Sam Ravnborg
2020-04-15  7:40 ` [PATCH 57/59] drm/ast: Use managed pci functions Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:52   ` Thomas Zimmermann
2020-04-15  7:52     ` [Intel-gfx] " Thomas Zimmermann
2020-04-15  8:09     ` Daniel Vetter
2020-04-15  8:09       ` [Intel-gfx] " Daniel Vetter
2020-04-15  8:17       ` Daniel Vetter
2020-04-15  8:17         ` [Intel-gfx] " Daniel Vetter
2020-04-15 12:23         ` Daniel Vetter
2020-04-15 12:23           ` [Intel-gfx] " Daniel Vetter
2020-06-11 12:04   ` Thomas Zimmermann
2020-06-11 12:04     ` [Intel-gfx] " Thomas Zimmermann
2020-06-16 11:55     ` Daniel Vetter
2020-06-16 11:55       ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40 ` [PATCH 58/59] drm/ast: Drop explicit connector register/unregister Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:53   ` Thomas Zimmermann
2020-04-15  7:53     ` [Intel-gfx] " Thomas Zimmermann
2020-04-24 18:11   ` Sam Ravnborg
2020-04-24 18:11     ` [Intel-gfx] " Sam Ravnborg
2020-04-15  7:40 ` [PATCH 59/59] drm/bochs: Remove explicit drm_connector_register Daniel Vetter
2020-04-15  7:40   ` [Intel-gfx] " Daniel Vetter
2020-04-15  7:40   ` Daniel Vetter
2020-04-21  7:39   ` Gerd Hoffmann
2020-04-21  7:39     ` [Intel-gfx] " Gerd Hoffmann
2020-04-21  7:39     ` Gerd Hoffmann
2020-04-24 18:11   ` Sam Ravnborg
2020-04-24 18:11     ` [Intel-gfx] " Sam Ravnborg
2020-04-24 18:11     ` Sam Ravnborg
2020-04-15  8:04 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for devm_drm_dev_alloc, v2 Patchwork
2020-04-15  8:23 ` [Intel-gfx] ✗ Fi.CI.DOCS: " Patchwork
2020-04-15  8:26 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-04-15 23:45 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2020-06-04 11:58 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for devm_drm_dev_alloc, v2 (rev2) Patchwork
2020-06-04 19:36 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for devm_drm_dev_alloc, v2 (rev3) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200424151255.GC20856@ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=airlied@redhat.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kraxel@redhat.com \
    --cc=spice-devel@lists.freedesktop.org \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.