<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/gpu, branch v3.4.107</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>drm/i915: Only fence tiled region of object.</title>
<updated>2015-04-14T09:33:56+00:00</updated>
<author>
<name>Bob Paauwe</name>
<email>bob.j.paauwe@intel.com</email>
</author>
<published>2014-12-18T17:51:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0f1de5af9774eb62a69921e86139bc52d90c4683'/>
<id>0f1de5af9774eb62a69921e86139bc52d90c4683</id>
<content type='text'>
commit af1a7301c7cf8912dca03065d448c4437c5c239f upstream.

When creating a fence for a tiled object, only fence the area that
makes up the actual tiles.  The object may be larger than the tiled
area and if we allow those extra addresses to be fenced, they'll
get converted to addresses beyond where the object is mapped. This
opens up the possiblity of writes beyond the end of object.

To prevent this, we adjust the size of the fence to only encompass
the area that makes up the actual tiles.  The extra space is considered
un-tiled and now behaves as if it was a linear object.

Testcase: igt/gem_tiled_fence_overflow
Reported-by: Dan Hettena &lt;danh@ghs.com&gt;
Signed-off-by: Bob Paauwe &lt;bob.j.paauwe@intel.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
[lizf: Backported to 3.4:
 - adjust context
 - adjust indentation
 - make the same change to both sandybridge_write_fence_reg()
   and i965_write_fence_reg()]
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit af1a7301c7cf8912dca03065d448c4437c5c239f upstream.

When creating a fence for a tiled object, only fence the area that
makes up the actual tiles.  The object may be larger than the tiled
area and if we allow those extra addresses to be fenced, they'll
get converted to addresses beyond where the object is mapped. This
opens up the possiblity of writes beyond the end of object.

To prevent this, we adjust the size of the fence to only encompass
the area that makes up the actual tiles.  The extra space is considered
un-tiled and now behaves as if it was a linear object.

Testcase: igt/gem_tiled_fence_overflow
Reported-by: Dan Hettena &lt;danh@ghs.com&gt;
Signed-off-by: Bob Paauwe &lt;bob.j.paauwe@intel.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
[lizf: Backported to 3.4:
 - adjust context
 - adjust indentation
 - make the same change to both sandybridge_write_fence_reg()
   and i965_write_fence_reg()]
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/radeon: check the right ring in radeon_evict_flags()</title>
<updated>2015-04-14T09:33:45+00:00</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2014-12-03T05:03:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b3995df24d92632192ca83f0a50d7436c74a40d3'/>
<id>b3995df24d92632192ca83f0a50d7436c74a40d3</id>
<content type='text'>
commit 5e5c21cac1001089007260c48b0c89ebaace0e71 upstream.

Check the that ring we are using for copies is functional
rather than the GFX ring.  On newer asics we use the DMA
ring for bo moves.

Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5e5c21cac1001089007260c48b0c89ebaace0e71 upstream.

Check the that ring we are using for copies is functional
rather than the GFX ring.  On newer asics we use the DMA
ring for bo moves.

Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/vmwgfx: Fix fence event code</title>
<updated>2015-04-14T09:33:44+00:00</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2014-12-02T11:36:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6fe79f9ea59c384a73079f1a3e48eeea8b0d01c3'/>
<id>6fe79f9ea59c384a73079f1a3e48eeea8b0d01c3</id>
<content type='text'>
commit 89669e7a7f96be3ee8d9a22a071d7c0d3b4428fc upstream.

The commit "vmwgfx: Rework fence event action" introduced a number of bugs
that are fixed with this commit:

a) A forgotten return stateemnt.
b) An if statement with identical branches.

Reported-by: Rob Clark &lt;robdclark@gmail.com&gt;
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 89669e7a7f96be3ee8d9a22a071d7c0d3b4428fc upstream.

The commit "vmwgfx: Rework fence event action" introduced a number of bugs
that are fixed with this commit:

a) A forgotten return stateemnt.
b) An if statement with identical branches.

Reported-by: Rob Clark &lt;robdclark@gmail.com&gt;
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/vmwgfx: Don't use memory accounting for kernel-side fence objects</title>
<updated>2015-04-14T09:33:44+00:00</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2014-12-02T11:32:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=cf1d72fd288232f84d5a20a16691fdee89bb2070'/>
<id>cf1d72fd288232f84d5a20a16691fdee89bb2070</id>
<content type='text'>
commit 1f563a6a46544602183e7493b6ef69769d3d76d9 upstream.

Kernel side fence objects are used when unbinding resources and may thus be
created as part of a memory reclaim operation. This might trigger recursive
memory reclaims and result in the kernel running out of stack space.

So a simple way out is to avoid accounting of these fence objects.
In principle this is OK since while user-space can trigger the creation of
such objects, it can't really hold on to them. However, their lifetime is
quite long, so some form of accounting should perhaps be implemented in the
future.

Fixes kernel crashes when running, for example viewperf11 ensight-04 test 3
with low system memory settings.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 1f563a6a46544602183e7493b6ef69769d3d76d9 upstream.

Kernel side fence objects are used when unbinding resources and may thus be
created as part of a memory reclaim operation. This might trigger recursive
memory reclaims and result in the kernel running out of stack space.

So a simple way out is to avoid accounting of these fence objects.
In principle this is OK since while user-space can trigger the creation of
such objects, it can't really hold on to them. However, their lifetime is
quite long, so some form of accounting should perhaps be implemented in the
future.

Fixes kernel crashes when running, for example viewperf11 ensight-04 test 3
with low system memory settings.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/radeon: kernel panic in drm_calc_vbltimestamp_from_scanoutpos with 3.18.0-rc6</title>
<updated>2015-04-14T09:33:39+00:00</updated>
<author>
<name>Petr Mladek</name>
<email>pmladek@suse.cz</email>
</author>
<published>2014-11-27T15:57:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9cc1941edd87e481fd27dd28f114ab8672c11c10'/>
<id>9cc1941edd87e481fd27dd28f114ab8672c11c10</id>
<content type='text'>
commit f5475cc43c899e33098d4db44b7c5e710f16589d upstream.

I was unable too boot 3.18.0-rc6 because of the following kernel
panic in drm_calc_vbltimestamp_from_scanoutpos():

    [drm] Initialized drm 1.1.0 20060810
    [drm] radeon kernel modesetting enabled.
    [drm] initializing kernel modesetting (RV100 0x1002:0x515E 0x15D9:0x8080).
    [drm] register mmio base: 0xC8400000
    [drm] register mmio size: 65536
    radeon 0000:0b:01.0: VRAM: 128M 0x00000000D0000000 - 0x00000000D7FFFFFF (16M used)
    radeon 0000:0b:01.0: GTT: 512M 0x00000000B0000000 - 0x00000000CFFFFFFF
    [drm] Detected VRAM RAM=128M, BAR=128M
    [drm] RAM width 16bits DDR
    [TTM] Zone  kernel: Available graphics memory: 3829346 kiB
    [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
    [TTM] Initializing pool allocator
    [TTM] Initializing DMA pool allocator
    [drm] radeon: 16M of VRAM memory ready
    [drm] radeon: 512M of GTT memory ready.
    [drm] GART: num cpu pages 131072, num gpu pages 131072
    [drm] PCI GART of 512M enabled (table at 0x0000000037880000).
    radeon 0000:0b:01.0: WB disabled
    radeon 0000:0b:01.0: fence driver on ring 0 use gpu addr 0x00000000b0000000 and cpu addr 0xffff8800bbbfa000
    [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [drm] Driver supports precise vblank timestamp query.
    [drm] radeon: irq initialized.
    [drm] Loading R100 Microcode
    radeon 0000:0b:01.0: Direct firmware load for radeon/R100_cp.bin failed with error -2
    radeon_cp: Failed to load firmware "radeon/R100_cp.bin"
    [drm:r100_cp_init] *ERROR* Failed to load firmware!
    radeon 0000:0b:01.0: failed initializing CP (-2).
    radeon 0000:0b:01.0: Disabling GPU acceleration
    [drm] radeon: cp finalized
    BUG: unable to handle kernel NULL pointer dereference at 000000000000025c
    IP: [&lt;ffffffff8150423b&gt;] drm_calc_vbltimestamp_from_scanoutpos+0x4b/0x320
    PGD 0
    Oops: 0000 [#1] SMP
    Modules linked in:
    CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.18.0-rc6-4-default #2649
    Hardware name: Supermicro X7DB8/X7DB8, BIOS 6.00 07/26/2006
    task: ffff880234da2010 ti: ffff880234da4000 task.ti: ffff880234da4000
    RIP: 0010:[&lt;ffffffff8150423b&gt;]  [&lt;ffffffff8150423b&gt;] drm_calc_vbltimestamp_from_scanoutpos+0x4b/0x320
    RSP: 0000:ffff880234da7918  EFLAGS: 00010086
    RAX: ffffffff81557890 RBX: 0000000000000000 RCX: ffff880234da7a48
    RDX: ffff880234da79f4 RSI: 0000000000000000 RDI: ffff880232e15000
    RBP: ffff880234da79b8 R08: 0000000000000000 R09: 0000000000000000
    R10: 000000000000000a R11: 0000000000000001 R12: ffff880232dda1c0
    R13: ffff880232e1518c R14: 0000000000000292 R15: ffff880232e15000
    FS:  0000000000000000(0000) GS:ffff88023fc40000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 000000000000025c CR3: 0000000002014000 CR4: 00000000000007e0
    Stack:
     ffff880234da79d8 0000000000000286 ffff880232dcbc00 0000000000002480
     ffff880234da7958 0000000000000296 ffff880234da7998 ffffffff8151b51d
     ffff880234da7a48 0000000032dcbeb0 ffff880232dcbc00 ffff880232dcbc58
    Call Trace:
     [&lt;ffffffff8151b51d&gt;] ? drm_vma_offset_remove+0x1d/0x110
     [&lt;ffffffff8152dc98&gt;] radeon_get_vblank_timestamp_kms+0x38/0x60
     [&lt;ffffffff8152076a&gt;] ? ttm_bo_release_list+0xba/0x180
     [&lt;ffffffff81503751&gt;] drm_get_last_vbltimestamp+0x41/0x70
     [&lt;ffffffff81503933&gt;] vblank_disable_and_save+0x73/0x1d0
     [&lt;ffffffff81106b2f&gt;] ? try_to_del_timer_sync+0x4f/0x70
     [&lt;ffffffff81505245&gt;] drm_vblank_cleanup+0x65/0xa0
     [&lt;ffffffff815604fa&gt;] radeon_irq_kms_fini+0x1a/0x70
     [&lt;ffffffff8156c07e&gt;] r100_init+0x26e/0x410
     [&lt;ffffffff8152ae3e&gt;] radeon_device_init+0x7ae/0xb50
     [&lt;ffffffff8152d57f&gt;] radeon_driver_load_kms+0x8f/0x210
     [&lt;ffffffff81506965&gt;] drm_dev_register+0xb5/0x110
     [&lt;ffffffff8150998f&gt;] drm_get_pci_dev+0x8f/0x200
     [&lt;ffffffff815291cd&gt;] radeon_pci_probe+0xad/0xe0
     [&lt;ffffffff8141a365&gt;] local_pci_probe+0x45/0xa0
     [&lt;ffffffff8141b741&gt;] pci_device_probe+0xd1/0x130
     [&lt;ffffffff81633dad&gt;] driver_probe_device+0x12d/0x3e0
     [&lt;ffffffff8163413b&gt;] __driver_attach+0x9b/0xa0
     [&lt;ffffffff816340a0&gt;] ? __device_attach+0x40/0x40
     [&lt;ffffffff81631cd3&gt;] bus_for_each_dev+0x63/0xa0
     [&lt;ffffffff8163378e&gt;] driver_attach+0x1e/0x20
     [&lt;ffffffff81633390&gt;] bus_add_driver+0x180/0x240
     [&lt;ffffffff81634914&gt;] driver_register+0x64/0xf0
     [&lt;ffffffff81419cac&gt;] __pci_register_driver+0x4c/0x50
     [&lt;ffffffff81509bf5&gt;] drm_pci_init+0xf5/0x120
     [&lt;ffffffff821dc871&gt;] ? ttm_init+0x6a/0x6a
     [&lt;ffffffff821dc908&gt;] radeon_init+0x97/0xb5
     [&lt;ffffffff810002fc&gt;] do_one_initcall+0xbc/0x1f0
     [&lt;ffffffff810e3278&gt;] ? __wake_up+0x48/0x60
     [&lt;ffffffff8218e256&gt;] kernel_init_freeable+0x18a/0x215
     [&lt;ffffffff8218d983&gt;] ? initcall_blacklist+0xc0/0xc0
     [&lt;ffffffff818a78f0&gt;] ? rest_init+0x80/0x80
     [&lt;ffffffff818a78fe&gt;] kernel_init+0xe/0xf0
     [&lt;ffffffff818c0c3c&gt;] ret_from_fork+0x7c/0xb0
     [&lt;ffffffff818a78f0&gt;] ? rest_init+0x80/0x80
    Code: 45 ac 0f 88 a8 01 00 00 3b b7 d0 01 00 00 49 89 ff 0f 83 99 01 00 00 48 8b 47 20 48 8b 80 88 00 00 00 48 85 c0 0f 84 cd 01 00 00 &lt;41&gt; 8b b1 5c 02 00 00 41 8b 89 58 02 00 00 89 75 98 41 8b b1 60
    RIP  [&lt;ffffffff8150423b&gt;] drm_calc_vbltimestamp_from_scanoutpos+0x4b/0x320
     RSP &lt;ffff880234da7918&gt;
    CR2: 000000000000025c
    ---[ end trace ad2c0aadf48e2032 ]---
    Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009

It has helped me to add a NULL pointer check that was suggested at
http://lists.freedesktop.org/archives/dri-devel/2014-October/070663.html

I am not familiar with the code. But the change looks sane
and we need something fast at this stage of 3.18 development.

Suggested-by: Helge Deller &lt;deller@gmx.de&gt;
Signed-off-by: Petr Mladek &lt;pmladek@suse.cz&gt;
Tested-by: Petr Mladek &lt;pmladek@suse.cz&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f5475cc43c899e33098d4db44b7c5e710f16589d upstream.

I was unable too boot 3.18.0-rc6 because of the following kernel
panic in drm_calc_vbltimestamp_from_scanoutpos():

    [drm] Initialized drm 1.1.0 20060810
    [drm] radeon kernel modesetting enabled.
    [drm] initializing kernel modesetting (RV100 0x1002:0x515E 0x15D9:0x8080).
    [drm] register mmio base: 0xC8400000
    [drm] register mmio size: 65536
    radeon 0000:0b:01.0: VRAM: 128M 0x00000000D0000000 - 0x00000000D7FFFFFF (16M used)
    radeon 0000:0b:01.0: GTT: 512M 0x00000000B0000000 - 0x00000000CFFFFFFF
    [drm] Detected VRAM RAM=128M, BAR=128M
    [drm] RAM width 16bits DDR
    [TTM] Zone  kernel: Available graphics memory: 3829346 kiB
    [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
    [TTM] Initializing pool allocator
    [TTM] Initializing DMA pool allocator
    [drm] radeon: 16M of VRAM memory ready
    [drm] radeon: 512M of GTT memory ready.
    [drm] GART: num cpu pages 131072, num gpu pages 131072
    [drm] PCI GART of 512M enabled (table at 0x0000000037880000).
    radeon 0000:0b:01.0: WB disabled
    radeon 0000:0b:01.0: fence driver on ring 0 use gpu addr 0x00000000b0000000 and cpu addr 0xffff8800bbbfa000
    [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [drm] Driver supports precise vblank timestamp query.
    [drm] radeon: irq initialized.
    [drm] Loading R100 Microcode
    radeon 0000:0b:01.0: Direct firmware load for radeon/R100_cp.bin failed with error -2
    radeon_cp: Failed to load firmware "radeon/R100_cp.bin"
    [drm:r100_cp_init] *ERROR* Failed to load firmware!
    radeon 0000:0b:01.0: failed initializing CP (-2).
    radeon 0000:0b:01.0: Disabling GPU acceleration
    [drm] radeon: cp finalized
    BUG: unable to handle kernel NULL pointer dereference at 000000000000025c
    IP: [&lt;ffffffff8150423b&gt;] drm_calc_vbltimestamp_from_scanoutpos+0x4b/0x320
    PGD 0
    Oops: 0000 [#1] SMP
    Modules linked in:
    CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.18.0-rc6-4-default #2649
    Hardware name: Supermicro X7DB8/X7DB8, BIOS 6.00 07/26/2006
    task: ffff880234da2010 ti: ffff880234da4000 task.ti: ffff880234da4000
    RIP: 0010:[&lt;ffffffff8150423b&gt;]  [&lt;ffffffff8150423b&gt;] drm_calc_vbltimestamp_from_scanoutpos+0x4b/0x320
    RSP: 0000:ffff880234da7918  EFLAGS: 00010086
    RAX: ffffffff81557890 RBX: 0000000000000000 RCX: ffff880234da7a48
    RDX: ffff880234da79f4 RSI: 0000000000000000 RDI: ffff880232e15000
    RBP: ffff880234da79b8 R08: 0000000000000000 R09: 0000000000000000
    R10: 000000000000000a R11: 0000000000000001 R12: ffff880232dda1c0
    R13: ffff880232e1518c R14: 0000000000000292 R15: ffff880232e15000
    FS:  0000000000000000(0000) GS:ffff88023fc40000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 000000000000025c CR3: 0000000002014000 CR4: 00000000000007e0
    Stack:
     ffff880234da79d8 0000000000000286 ffff880232dcbc00 0000000000002480
     ffff880234da7958 0000000000000296 ffff880234da7998 ffffffff8151b51d
     ffff880234da7a48 0000000032dcbeb0 ffff880232dcbc00 ffff880232dcbc58
    Call Trace:
     [&lt;ffffffff8151b51d&gt;] ? drm_vma_offset_remove+0x1d/0x110
     [&lt;ffffffff8152dc98&gt;] radeon_get_vblank_timestamp_kms+0x38/0x60
     [&lt;ffffffff8152076a&gt;] ? ttm_bo_release_list+0xba/0x180
     [&lt;ffffffff81503751&gt;] drm_get_last_vbltimestamp+0x41/0x70
     [&lt;ffffffff81503933&gt;] vblank_disable_and_save+0x73/0x1d0
     [&lt;ffffffff81106b2f&gt;] ? try_to_del_timer_sync+0x4f/0x70
     [&lt;ffffffff81505245&gt;] drm_vblank_cleanup+0x65/0xa0
     [&lt;ffffffff815604fa&gt;] radeon_irq_kms_fini+0x1a/0x70
     [&lt;ffffffff8156c07e&gt;] r100_init+0x26e/0x410
     [&lt;ffffffff8152ae3e&gt;] radeon_device_init+0x7ae/0xb50
     [&lt;ffffffff8152d57f&gt;] radeon_driver_load_kms+0x8f/0x210
     [&lt;ffffffff81506965&gt;] drm_dev_register+0xb5/0x110
     [&lt;ffffffff8150998f&gt;] drm_get_pci_dev+0x8f/0x200
     [&lt;ffffffff815291cd&gt;] radeon_pci_probe+0xad/0xe0
     [&lt;ffffffff8141a365&gt;] local_pci_probe+0x45/0xa0
     [&lt;ffffffff8141b741&gt;] pci_device_probe+0xd1/0x130
     [&lt;ffffffff81633dad&gt;] driver_probe_device+0x12d/0x3e0
     [&lt;ffffffff8163413b&gt;] __driver_attach+0x9b/0xa0
     [&lt;ffffffff816340a0&gt;] ? __device_attach+0x40/0x40
     [&lt;ffffffff81631cd3&gt;] bus_for_each_dev+0x63/0xa0
     [&lt;ffffffff8163378e&gt;] driver_attach+0x1e/0x20
     [&lt;ffffffff81633390&gt;] bus_add_driver+0x180/0x240
     [&lt;ffffffff81634914&gt;] driver_register+0x64/0xf0
     [&lt;ffffffff81419cac&gt;] __pci_register_driver+0x4c/0x50
     [&lt;ffffffff81509bf5&gt;] drm_pci_init+0xf5/0x120
     [&lt;ffffffff821dc871&gt;] ? ttm_init+0x6a/0x6a
     [&lt;ffffffff821dc908&gt;] radeon_init+0x97/0xb5
     [&lt;ffffffff810002fc&gt;] do_one_initcall+0xbc/0x1f0
     [&lt;ffffffff810e3278&gt;] ? __wake_up+0x48/0x60
     [&lt;ffffffff8218e256&gt;] kernel_init_freeable+0x18a/0x215
     [&lt;ffffffff8218d983&gt;] ? initcall_blacklist+0xc0/0xc0
     [&lt;ffffffff818a78f0&gt;] ? rest_init+0x80/0x80
     [&lt;ffffffff818a78fe&gt;] kernel_init+0xe/0xf0
     [&lt;ffffffff818c0c3c&gt;] ret_from_fork+0x7c/0xb0
     [&lt;ffffffff818a78f0&gt;] ? rest_init+0x80/0x80
    Code: 45 ac 0f 88 a8 01 00 00 3b b7 d0 01 00 00 49 89 ff 0f 83 99 01 00 00 48 8b 47 20 48 8b 80 88 00 00 00 48 85 c0 0f 84 cd 01 00 00 &lt;41&gt; 8b b1 5c 02 00 00 41 8b 89 58 02 00 00 89 75 98 41 8b b1 60
    RIP  [&lt;ffffffff8150423b&gt;] drm_calc_vbltimestamp_from_scanoutpos+0x4b/0x320
     RSP &lt;ffff880234da7918&gt;
    CR2: 000000000000025c
    ---[ end trace ad2c0aadf48e2032 ]---
    Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009

It has helped me to add a NULL pointer check that was suggested at
http://lists.freedesktop.org/archives/dri-devel/2014-October/070663.html

I am not familiar with the code. But the change looks sane
and we need something fast at this stage of 3.18 development.

Suggested-by: Helge Deller &lt;deller@gmx.de&gt;
Signed-off-by: Petr Mladek &lt;pmladek@suse.cz&gt;
Tested-by: Petr Mladek &lt;pmladek@suse.cz&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/i915: Unlock panel even when LVDS is disabled</title>
<updated>2015-04-14T09:33:39+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2014-12-01T16:56:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=558ab6ce908a98d6fa73041fda646fc172b7dd19'/>
<id>558ab6ce908a98d6fa73041fda646fc172b7dd19</id>
<content type='text'>
commit b0616c5306b342ceca07044dbc4f917d95c4f825 upstream.

Otherwise we'll have backtraces in assert_panel_unlocked because the
BIOS locks the register. In the reporter's case this regression was
introduced in

commit c31407a3672aaebb4acddf90944a114fa5c8af7b
Author: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Date:   Thu Oct 18 21:07:01 2012 +0100

    drm/i915: Add no-lvds quirk for Supermicro X7SPA-H

Reported-by: Alexey Orishko &lt;alexey.orishko@gmail.com&gt;
Cc: Alexey Orishko &lt;alexey.orishko@gmail.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Francois Tigeot &lt;ftigeot@wolfpond.org&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Tested-by: Alexey Orishko &lt;alexey.orishko@gmail.com&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b0616c5306b342ceca07044dbc4f917d95c4f825 upstream.

Otherwise we'll have backtraces in assert_panel_unlocked because the
BIOS locks the register. In the reporter's case this regression was
introduced in

commit c31407a3672aaebb4acddf90944a114fa5c8af7b
Author: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Date:   Thu Oct 18 21:07:01 2012 +0100

    drm/i915: Add no-lvds quirk for Supermicro X7SPA-H

Reported-by: Alexey Orishko &lt;alexey.orishko@gmail.com&gt;
Cc: Alexey Orishko &lt;alexey.orishko@gmail.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Francois Tigeot &lt;ftigeot@wolfpond.org&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Tested-by: Alexey Orishko &lt;alexey.orishko@gmail.com&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/radeon: add missing crtc unlock when setting up the MC</title>
<updated>2015-02-02T09:05:18+00:00</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2014-11-05T22:14:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4dc9a295a5975b4e60edd87f8e469dd5746dded5'/>
<id>4dc9a295a5975b4e60edd87f8e469dd5746dded5</id>
<content type='text'>
commit f0d7bfb9407fccb6499ec01c33afe43512a439a2 upstream.

Need to unlock the crtc after updating the blanking state.

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f0d7bfb9407fccb6499ec01c33afe43512a439a2 upstream.

Need to unlock the crtc after updating the blanking state.

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/vmwgfx: Filter out modes those cannot be supported by the current VRAM size.</title>
<updated>2015-02-02T09:05:09+00:00</updated>
<author>
<name>Sinclair Yeh</name>
<email>syeh@vmware.com</email>
</author>
<published>2014-10-31T08:58:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7aff1a05050df389dd41eb1d2b9ade8d9ecb3c6c'/>
<id>7aff1a05050df389dd41eb1d2b9ade8d9ecb3c6c</id>
<content type='text'>
commit 9a72384d86b26cb8a2b25106677e1197f606668f upstream.

When screen objects are enabled, the bpp is assumed to be 32, otherwise
it is set to 16.

v2:
* Use u32 instead of u64 for assumed_bpp.
* Fixed mechanism to check for screen objects
* Limit the back buffer size to VRAM.

Signed-off-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
Reviewed-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
[lizf: Backported to 3.4: drop the changes to vmw_driver_load()]
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 9a72384d86b26cb8a2b25106677e1197f606668f upstream.

When screen objects are enabled, the bpp is assumed to be 32, otherwise
it is set to 16.

v2:
* Use u32 instead of u64 for assumed_bpp.
* Fixed mechanism to check for screen objects
* Limit the back buffer size to VRAM.

Signed-off-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
Reviewed-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
[lizf: Backported to 3.4: drop the changes to vmw_driver_load()]
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/radeon: add connector quirk for fujitsu board</title>
<updated>2014-12-01T10:02:26+00:00</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2014-09-08T17:55:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2c858d84af5c7bebbee0c27383916e5fee649717'/>
<id>2c858d84af5c7bebbee0c27383916e5fee649717</id>
<content type='text'>
commit 1952f24d0fa6292d65f886887af87ba8ac79b3ba upstream.

Vbios connector table lists non-existent VGA port.

Bug:
https://bugs.freedesktop.org/show_bug.cgi?id=83184

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 1952f24d0fa6292d65f886887af87ba8ac79b3ba upstream.

Vbios connector table lists non-existent VGA port.

Bug:
https://bugs.freedesktop.org/show_bug.cgi?id=83184

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/vmwgfx: Fix a potential infinite spin waiting for fifo idle</title>
<updated>2014-12-01T10:02:21+00:00</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2014-08-28T09:53:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=94667ee06fc9383403396c5a8e9b5df55f98a2e2'/>
<id>94667ee06fc9383403396c5a8e9b5df55f98a2e2</id>
<content type='text'>
commit f01ea0c3d9db536c64d47922716d8b3b8f21d850 upstream.

The code waiting for fifo idle was incorrect and could possibly spin
forever under certain circumstances.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reported-by: Mark Sheldon &lt;markshel@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
Reivewed-by: Mark Sheldon &lt;markshel@vmware.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f01ea0c3d9db536c64d47922716d8b3b8f21d850 upstream.

The code waiting for fifo idle was incorrect and could possibly spin
forever under certain circumstances.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reported-by: Mark Sheldon &lt;markshel@vmware.com&gt;
Reviewed-by: Jakob Bornecrantz &lt;jakob@vmware.com&gt;
Reivewed-by: Mark Sheldon &lt;markshel@vmware.com&gt;
Signed-off-by: Zefan Li &lt;lizefan@huawei.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
