1. 14 3月, 2017 8 次提交
  2. 11 3月, 2017 1 次提交
  3. 10 3月, 2017 10 次提交
  4. 09 3月, 2017 10 次提交
  5. 08 3月, 2017 3 次提交
  6. 07 3月, 2017 8 次提交
    • G
      drm: virtio: use kmem_cache · f5985bf9
      Gerd Hoffmann 提交于
      Just use kmem_cache instead of rolling
      our own, limited implementation.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1488377348-5006-1-git-send-email-kraxel@redhat.com
      f5985bf9
    • G
      qxl: fix qxl_conn_get_modes · 2d856f94
      Gerd Hoffmann 提交于
      Call qxl_add_monitors_config_modes() unconditionally.  Do all sanity
      checks in that function.
      
      Fix sanity checks.  monitors_config is the current monitor
      configuration, whereas client_monitors_config is the configuration
      requested by the spice client.  So when filling the mode list, based on
      the spice client request, we need to look at
      client_monitors_config->count not monitors_config->count.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Reviewed-by: NGabriel Krisman Bertazi <krisman@collabora.co.uk>
      Link: http://patchwork.freedesktop.org/patch/msgid/1488363154-6889-5-git-send-email-kraxel@redhat.com
      2d856f94
    • G
      qxl: read monitors config at boot · c50fad8f
      Gerd Hoffmann 提交于
      Try to read the client monitors config at driver load time, even without
      explicit notification.  So in case that info was filled before the driver
      loaded and we've missed the notifications because of that the settings
      will still be used.
      
      With that place we now have to take care to properly handle a empty client
      monitors config, so we don't trip over an uninitialized client monitors
      config.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Reviewed-by: NGabriel Krisman Bertazi <krisman@collabora.co.uk>
      Link: http://patchwork.freedesktop.org/patch/msgid/1488363154-6889-4-git-send-email-kraxel@redhat.com
      c50fad8f
    • G
      qxl: limit monitor config read retries · 9062155d
      Gerd Hoffmann 提交于
      When reading the monitor config fails, don't retry forever.  If it fails
      ten times in a row just give up to avoid the driver hangs.  Also add a
      small delay after each attempt, so the host has a chance to complete a
      partial update.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Reviewed-by: NGabriel Krisman Bertazi <krisman@collabora.co.uk>
      Link: http://patchwork.freedesktop.org/patch/msgid/1488363154-6889-3-git-send-email-kraxel@redhat.com
      9062155d
    • G
      qxl: drop mode_info.modes & related code. · ecefd94e
      Gerd Hoffmann 提交于
      very old qxl hardware revisions (predating qxl ksm support by a few
      years) supported a fixed list of video modes only.  The list is still
      provided by the virtual hardware, for backward compatibility reasons.
      
      The qxl kms driver never ever looks at it, except for dumping it to
      the kernel log at load time in case debug logging is enabled.  Drop
      that pointless code.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Reviewed-by: NGabriel Krisman Bertazi <krisman@collabora.co.uk>
      Link: http://patchwork.freedesktop.org/patch/msgid/1488363154-6889-2-git-send-email-kraxel@redhat.com
      ecefd94e
    • G
      drm: qxl: Don't alloc fbdev if emulation is not supported · 86107838
      Gabriel Krisman Bertazi 提交于
      If fbdev emulation is disabled, the QXL shutdown path will try to clean
      a framebuffer that wasn't initialized, hitting the Oops below.  The
      problem is that even when FBDEV_EMULATION is disabled we allocate the
      qfbdev strutucture, but we don't initialize it.  The fix is to stop
      allocating the memory, since it won't be used.  This allows the existing
      verification in the cleanup hook to do it's job preventing the oops.
      
      Now that we don't allocate the unused fbdev structure, we need to be
      careful when dereferencing it in the PM suspend hook.
      
      [   24.284684] BUG: unable to handle kernel NULL pointer dereference at 00000000000002e0
      [   24.285627] IP: mutex_lock+0x18/0x30
      [   24.286049] PGD 78cdf067
      [   24.286050] PUD 7940f067
      [   24.286344] PMD 0
      [   24.286649]
      [   24.287072] Oops: 0002 [#1] SMP
      [   24.287422] Modules linked in: qxl
      [   24.287806] CPU: 0 PID: 2328 Comm: bash Not tainted 4.10.0-rc5+ #97
      [   24.288515] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
      [   24.289681] task: ffff88007c4c0000 task.stack: ffffc90001b58000
      [   24.290354] RIP: 0010:mutex_lock+0x18/0x30
      [   24.290812] RSP: 0018:ffffc90001b5bcb0 EFLAGS: 00010246
      [   24.291401] RAX: 0000000000000000 RBX: 00000000000002e0 RCX: 0000000000000000
      [   24.292209] RDX: ffff88007c4c0000 RSI: 0000000000000001 RDI: 00000000000002e0
      [   24.292987] RBP: ffffc90001b5bcb8 R08: fffffffffffffffe R09: 0000000000000001
      [   24.293797] R10: ffff880078d80b80 R11: 0000000000011400 R12: 0000000000000000
      [   24.294601] R13: 00000000000002e0 R14: ffffffffa0009c28 R15: 0000000000000060
      [   24.295439] FS:  00007f30e3acbb40(0000) GS:ffff88007fc00000(0000) knlGS:0000000000000000
      [   24.296364] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   24.296997] CR2: 00000000000002e0 CR3: 0000000078c7b000 CR4: 00000000000006f0
      [   24.297813] Call Trace:
      [   24.298097]  drm_framebuffer_cleanup+0x1f/0x70
      [   24.298612]  qxl_fbdev_fini+0x68/0x90 [qxl]
      [   24.299074]  qxl_modeset_fini+0xd/0x30 [qxl]
      [   24.299562]  qxl_pci_remove+0x22/0x50 [qxl]
      [   24.300025]  pci_device_remove+0x34/0xb0
      [   24.300507]  device_release_driver_internal+0x150/0x200
      [   24.301082]  device_release_driver+0xd/0x10
      [   24.301587]  unbind_store+0x108/0x150
      [   24.301993]  drv_attr_store+0x20/0x30
      [   24.302402]  sysfs_kf_write+0x32/0x40
      [   24.302827]  kernfs_fop_write+0x108/0x190
      [   24.303269]  __vfs_write+0x23/0x120
      [   24.303678]  ? security_file_permission+0x36/0xb0
      [   24.304193]  ? rw_verify_area+0x49/0xb0
      [   24.304636]  vfs_write+0xb0/0x190
      [   24.305004]  SyS_write+0x41/0xa0
      [   24.305362]  entry_SYSCALL_64_fastpath+0x1a/0xa9
      [   24.305887] RIP: 0033:0x7f30e31d9620
      [   24.306285] RSP: 002b:00007ffc54b47e68 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
      [   24.307128] RAX: ffffffffffffffda RBX: 00007f30e3497600 RCX: 00007f30e31d9620
      [   24.307928] RDX: 000000000000000d RSI: 0000000000da2008 RDI: 0000000000000001
      [   24.308727] RBP: 000000000070bc60 R08: 00007f30e3498760 R09: 00007f30e3acbb40
      [   24.309504] R10: 0000000000000073 R11: 0000000000000246 R12: 0000000000000001
      [   24.310295] R13: 0000000000000000 R14: 0000000000000000 R15: 00007ffc54b47f34
      [   24.311095] Code: 0e 01 e9 7b fe ff ff 66 90 66 2e 0f 1f 84 00 00 00 00 00
      55 48 89 e5 53 48 89 fb e8 83 e8 ff ff 65 48 8b 14 25 40 c4 00 00 31 c0 <3e>
      48 0f b1 13 48 85 c0 74 08 48 89 df e8 66 fd ff ff 5b 5d c3
      [   24.313182] RIP: mutex_lock+0x18/0x30 RSP: ffffc90001b5bcb0
      [   24.313811] CR2: 00000000000002e0
      [   24.314208] ---[ end trace 29669c1593cae14b ]---
      Signed-off-by: NGabriel Krisman Bertazi <krisman@collabora.co.uk>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170227203330.18542-1-krisman@collabora.co.ukSigned-off-by: NGerd Hoffmann <kraxel@redhat.com>
      86107838
    • S
      drm/rockchip: Fix link error when CONFIG_DRM_ANALOGIX_DP undefined · 6cca3869
      Sean Paul 提交于
      Fixes the following link error when CONFIG_DRM_ANALOGIX_DP is not defined:
      
      ERROR: "analogix_dp_start_crc" [drivers/gpu/drm/rockchip/rockchipdrm.ko] undefined!
      ERROR: "analogix_dp_stop_crc" [drivers/gpu/drm/rockchip/rockchipdrm.ko] undefined!
      
      Fixes: 3190e58d ("drm/rockchip: Implement CRC debugfs API")
      Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
      Cc: Mark Yao <mark.yao@rock-chips.com>
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: dri-devel@lists.freedesktop.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-rockchip@lists.infradead.org
      Cc: Emil Velikov <emil.l.velikov@gmail.com>
      Reviewed-by: NEmil Velikov <emil.l.velikov@gmail.com>
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      6cca3869
    • S
      drm: Fix compilation error when CONFIG_DEBUG_FS is undefined · 47f6cdd2
      Sean Paul 提交于
      This patch fixes the following compilation error when CONFIG_DEBUG_FS is not defined.
      
      ../drivers/gpu/drm/drm_dp_helper.c: In function ‘drm_dp_aux_crc_work’:
      ../drivers/gpu/drm/drm_dp_helper.c:1029:13: error: ‘struct drm_crtc’ has no member named ‘crc’
      ../drivers/gpu/drm/drm_dp_helper.c:1031:12: error: ‘struct drm_crtc’ has no member named ‘crc’
        make[4]: *** [drivers/gpu/drm/drm_dp_helper.o] Error 1
        make[4]: *** Waiting for unfinished jobs....
      
      Fixes: 79c1da7c ("drm/dp: add helpers for capture of frame CRCs")
      Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: dri-devel@lists.freedesktop.org
      Reviewed-by: NEmil Velikov <emil.l.velikov@gmail.com>
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      47f6cdd2