<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/gpu/drm/cirrus/cirrus_fbdev.c, branch v3.18.2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>drm/cirrus: use container_of to resolve cirrus_fbdev from drm_fb_helper</title>
<updated>2014-09-24T10:09:24+00:00</updated>
<author>
<name>Fabian Frederick</name>
<email>fabf@skynet.be</email>
</author>
<published>2014-09-14T16:40:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ea0622cfb4c0dbf3a8e6c4b448b8636ea75e1069'/>
<id>ea0622cfb4c0dbf3a8e6c4b448b8636ea75e1069</id>
<content type='text'>
Use container_of instead of casting first structure member.

Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use container_of instead of casting first structure member.

Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: Introduce drm_fb_helper_prepare()</title>
<updated>2014-07-08T01:31:28+00:00</updated>
<author>
<name>Thierry Reding</name>
<email>treding@nvidia.com</email>
</author>
<published>2014-06-27T15:19:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=10a231026574f9ec9761b6435394b8830b485e4e'/>
<id>10a231026574f9ec9761b6435394b8830b485e4e</id>
<content type='text'>
To implement hotplug detection in a race-free manner, drivers must call
drm_kms_helper_poll_init() before hotplug events can be triggered. Such
events can be triggered right after any of the encoders or connectors
are initialized. At the same time, if the drm_fb_helper_hotplug_event()
helper is used by a driver, then the poll helper requires some parts of
the FB helper to be initialized to prevent a crash.

At the same time, drm_fb_helper_init() requires information that is not
necessarily available at such an early stage (number of CRTCs and
connectors), so it cannot be used yet.

Add a new helper, drm_fb_helper_prepare(), that initializes the bare
minimum needed to allow drm_kms_helper_poll_init() to execute and any
subsequent hotplug events to be processed properly.

Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To implement hotplug detection in a race-free manner, drivers must call
drm_kms_helper_poll_init() before hotplug events can be triggered. Such
events can be triggered right after any of the encoders or connectors
are initialized. At the same time, if the drm_fb_helper_hotplug_event()
helper is used by a driver, then the poll helper requires some parts of
the FB helper to be initialized to prevent a crash.

At the same time, drm_fb_helper_init() requires information that is not
necessarily available at such an early stage (number of CRTCs and
connectors), so it cannot be used yet.

Add a new helper, drm_fb_helper_prepare(), that initializes the bare
minimum needed to allow drm_kms_helper_poll_init() to execute and any
subsequent hotplug events to be processed properly.

Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: Constify struct drm_fb_helper_funcs</title>
<updated>2014-07-08T01:31:15+00:00</updated>
<author>
<name>Thierry Reding</name>
<email>treding@nvidia.com</email>
</author>
<published>2014-06-27T15:19:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3a4938799dec32783759b0c66ee3bb8c82dd9937'/>
<id>3a4938799dec32783759b0c66ee3bb8c82dd9937</id>
<content type='text'>
There's no need for this to be modifiable. Make it const so that it can
be put into the .rodata section.

Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
Acked-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There's no need for this to be modifiable. Make it const so that it can
be put into the .rodata section.

Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
Acked-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/mgag200,ast,cirrus: fix regression with drm_can_sleep conversion</title>
<updated>2014-02-06T01:39:03+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2014-02-05T04:47:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8b7ad1bb3d440da888f2a939dc870eba429b9192'/>
<id>8b7ad1bb3d440da888f2a939dc870eba429b9192</id>
<content type='text'>
I totally sign inverted my way out of this one.

Cc: stable@vger.kernel.org
Reported-by: "Sabrina Dubroca" &lt;sd@queasysnail.net&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I totally sign inverted my way out of this one.

Cc: stable@vger.kernel.org
Reported-by: "Sabrina Dubroca" &lt;sd@queasysnail.net&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: ast,cirrus,mgag200: use drm_can_sleep</title>
<updated>2014-01-29T00:51:52+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2014-01-23T23:50:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f4b4718b61d1d5a7442a4fd6863ea80c3a10e508'/>
<id>f4b4718b61d1d5a7442a4fd6863ea80c3a10e508</id>
<content type='text'>
these 3 were checking in_interrupt but we have situations where
calling vunmap under this could cause a BUG to be hit in
smp_call_function_many. Use the drm_can_sleep macro instead,
which should stop this path from been taken in this case.

Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
these 3 were checking in_interrupt but we have situations where
calling vunmap under this could cause a BUG to be hit in
smp_call_function_many. Use the drm_can_sleep macro instead,
which should stop this path from been taken in this case.

Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/cirrus: Fix cirrus drm driver for fbdev + qemu</title>
<updated>2014-01-13T04:15:04+00:00</updated>
<author>
<name>Martin Koegler</name>
<email>martin.koegler@chello.at</email>
</author>
<published>2014-01-09T09:05:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=99d4a8ae93ead27b5a88cdbd09dc556fe96ac3a8'/>
<id>99d4a8ae93ead27b5a88cdbd09dc556fe96ac3a8</id>
<content type='text'>
Xorg fbdev driver requires smem_start/smem_len, otherwise
it tries to map 0 bytes as video memory.

Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=856760
Signed-off-by: Martin Koegler &lt;martin.koegler@chello.at&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Xorg fbdev driver requires smem_start/smem_len, otherwise
it tries to map 0 bytes as video memory.

Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=856760
Signed-off-by: Martin Koegler &lt;martin.koegler@chello.at&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/cirrus: do not attempt to acquire a reservation while in an interrupt handler</title>
<updated>2013-06-28T01:56:30+00:00</updated>
<author>
<name>Maarten Lankhorst</name>
<email>m.b.lankhorst@gmail.com</email>
</author>
<published>2013-06-27T11:38:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=19d4b72c0c22c14900313f89765c5f7ef0a2718a'/>
<id>19d4b72c0c22c14900313f89765c5f7ef0a2718a</id>
<content type='text'>
Mutexes should not be acquired in interrupt context. While the trylock
fastpath is arguably safe on all implementations, the slowpath
unlock path definitely isn't. This fixes the following lockdep splat:

[   13.044313] ------------[ cut here ]------------
[   13.044367] WARNING: at /c/kernel-tests/src/tip/kernel/mutex.c:858 mutex_trylock+0x87/0x220()
[   13.044378] DEBUG_LOCKS_WARN_ON(in_interrupt())
[   13.044378] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.10.0-rc4-00296-ga2963dd #20
[   13.044379] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
[   13.044390]  0000000000000009 ffff88000de039f8 ffffffff81fc86d5 ffff88000de03a38
[   13.044395]  ffffffff810d511b ffff880000000018 ffff88000f33c690 0000000000000001
[   13.044398]  00000000000003f0 ffff88000f4677c8 0000000000000000 ffff88000de03a98
[   13.044400] Call Trace:
[   13.044412]  &lt;IRQ&gt;  [&lt;ffffffff81fc86d5&gt;] dump_stack+0x19/0x1b
[   13.044441]  [&lt;ffffffff810d511b&gt;] warn_slowpath_common+0x6b/0x90
[   13.044445]  [&lt;ffffffff810d51a6&gt;] warn_slowpath_fmt+0x46/0x50
[   13.044448]  [&lt;ffffffff81fd34d7&gt;] mutex_trylock+0x87/0x220
[   13.044482]  [&lt;ffffffff8186484d&gt;] cirrus_dirty_update+0x1cd/0x330
[   13.044486]  [&lt;ffffffff818649e8&gt;] cirrus_imageblit+0x38/0x50
[   13.044506]  [&lt;ffffffff8165782e&gt;] soft_cursor+0x22e/0x240
[   13.044510]  [&lt;ffffffff81656c31&gt;] bit_cursor+0x581/0x5b0
[   13.044525]  [&lt;ffffffff815de9f4&gt;] ? vsnprintf+0x124/0x670
[   13.044529]  [&lt;ffffffff81651333&gt;] ? get_color.isra.16+0x43/0x130
[   13.044532]  [&lt;ffffffff81653fca&gt;] fbcon_cursor+0x18a/0x1d0
[   13.044535]  [&lt;ffffffff816566b0&gt;] ? update_attr.isra.2+0xa0/0xa0
[   13.044556]  [&lt;ffffffff81754b82&gt;] hide_cursor+0x32/0xa0
[   13.044565]  [&lt;ffffffff81755bd3&gt;] vt_console_print+0x103/0x3b0
[   13.044569]  [&lt;ffffffff810d58ac&gt;] ? print_time+0x9c/0xb0
[   13.044576]  [&lt;ffffffff810d5960&gt;] ? print_prefix+0xa0/0xc0
[   13.044580]  [&lt;ffffffff810d63f6&gt;] call_console_drivers.constprop.6+0x146/0x1f0
[   13.044593]  [&lt;ffffffff815f9b38&gt;] ? do_raw_spin_unlock+0xc8/0x100
[   13.044597]  [&lt;ffffffff810d6f27&gt;] console_unlock+0x2f7/0x460
[   13.044600]  [&lt;ffffffff810d787a&gt;] vprintk_emit+0x59a/0x5e0
[   13.044615]  [&lt;ffffffff81fb676c&gt;] printk+0x4d/0x4f
[   13.044650]  [&lt;ffffffff82ba5511&gt;] print_local_APIC+0x28/0x41c
[   13.044672]  [&lt;ffffffff8114db55&gt;] generic_smp_call_function_single_interrupt+0x145/0x2b0
[   13.044688]  [&lt;ffffffff8106f9e7&gt;] smp_call_function_single_interrupt+0x27/0x40
[   13.044697]  [&lt;ffffffff81fd8f72&gt;] call_function_single_interrupt+0x72/0x80
[   13.044707]  &lt;EOI&gt;  [&lt;ffffffff81078166&gt;] ? native_safe_halt+0x6/0x10
[   13.044717]  [&lt;ffffffff811425cd&gt;] ? trace_hardirqs_on+0xd/0x10
[   13.044738]  [&lt;ffffffff8104f669&gt;] default_idle+0x59/0x120
[   13.044742]  [&lt;ffffffff810501e8&gt;] arch_cpu_idle+0x18/0x40
[   13.044754]  [&lt;ffffffff811320c5&gt;] cpu_startup_entry+0x235/0x410
[   13.044763]  [&lt;ffffffff81f9e781&gt;] rest_init+0xd1/0xe0
[   13.044766]  [&lt;ffffffff81f9e6b5&gt;] ? rest_init+0x5/0xe0
[   13.044778]  [&lt;ffffffff82b93ec2&gt;] start_kernel+0x425/0x493
[   13.044781]  [&lt;ffffffff82b93810&gt;] ? repair_env_string+0x5e/0x5e
[   13.044786]  [&lt;ffffffff82b93595&gt;] x86_64_start_reservations+0x2a/0x2c
[   13.044789]  [&lt;ffffffff82b93688&gt;] x86_64_start_kernel+0xf1/0x100
[   13.044799] ---[ end trace 113ad28772af4058 ]---

Reported-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Maarten Lankhorst &lt;maarten.lankhorst@canonical.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mutexes should not be acquired in interrupt context. While the trylock
fastpath is arguably safe on all implementations, the slowpath
unlock path definitely isn't. This fixes the following lockdep splat:

[   13.044313] ------------[ cut here ]------------
[   13.044367] WARNING: at /c/kernel-tests/src/tip/kernel/mutex.c:858 mutex_trylock+0x87/0x220()
[   13.044378] DEBUG_LOCKS_WARN_ON(in_interrupt())
[   13.044378] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.10.0-rc4-00296-ga2963dd #20
[   13.044379] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
[   13.044390]  0000000000000009 ffff88000de039f8 ffffffff81fc86d5 ffff88000de03a38
[   13.044395]  ffffffff810d511b ffff880000000018 ffff88000f33c690 0000000000000001
[   13.044398]  00000000000003f0 ffff88000f4677c8 0000000000000000 ffff88000de03a98
[   13.044400] Call Trace:
[   13.044412]  &lt;IRQ&gt;  [&lt;ffffffff81fc86d5&gt;] dump_stack+0x19/0x1b
[   13.044441]  [&lt;ffffffff810d511b&gt;] warn_slowpath_common+0x6b/0x90
[   13.044445]  [&lt;ffffffff810d51a6&gt;] warn_slowpath_fmt+0x46/0x50
[   13.044448]  [&lt;ffffffff81fd34d7&gt;] mutex_trylock+0x87/0x220
[   13.044482]  [&lt;ffffffff8186484d&gt;] cirrus_dirty_update+0x1cd/0x330
[   13.044486]  [&lt;ffffffff818649e8&gt;] cirrus_imageblit+0x38/0x50
[   13.044506]  [&lt;ffffffff8165782e&gt;] soft_cursor+0x22e/0x240
[   13.044510]  [&lt;ffffffff81656c31&gt;] bit_cursor+0x581/0x5b0
[   13.044525]  [&lt;ffffffff815de9f4&gt;] ? vsnprintf+0x124/0x670
[   13.044529]  [&lt;ffffffff81651333&gt;] ? get_color.isra.16+0x43/0x130
[   13.044532]  [&lt;ffffffff81653fca&gt;] fbcon_cursor+0x18a/0x1d0
[   13.044535]  [&lt;ffffffff816566b0&gt;] ? update_attr.isra.2+0xa0/0xa0
[   13.044556]  [&lt;ffffffff81754b82&gt;] hide_cursor+0x32/0xa0
[   13.044565]  [&lt;ffffffff81755bd3&gt;] vt_console_print+0x103/0x3b0
[   13.044569]  [&lt;ffffffff810d58ac&gt;] ? print_time+0x9c/0xb0
[   13.044576]  [&lt;ffffffff810d5960&gt;] ? print_prefix+0xa0/0xc0
[   13.044580]  [&lt;ffffffff810d63f6&gt;] call_console_drivers.constprop.6+0x146/0x1f0
[   13.044593]  [&lt;ffffffff815f9b38&gt;] ? do_raw_spin_unlock+0xc8/0x100
[   13.044597]  [&lt;ffffffff810d6f27&gt;] console_unlock+0x2f7/0x460
[   13.044600]  [&lt;ffffffff810d787a&gt;] vprintk_emit+0x59a/0x5e0
[   13.044615]  [&lt;ffffffff81fb676c&gt;] printk+0x4d/0x4f
[   13.044650]  [&lt;ffffffff82ba5511&gt;] print_local_APIC+0x28/0x41c
[   13.044672]  [&lt;ffffffff8114db55&gt;] generic_smp_call_function_single_interrupt+0x145/0x2b0
[   13.044688]  [&lt;ffffffff8106f9e7&gt;] smp_call_function_single_interrupt+0x27/0x40
[   13.044697]  [&lt;ffffffff81fd8f72&gt;] call_function_single_interrupt+0x72/0x80
[   13.044707]  &lt;EOI&gt;  [&lt;ffffffff81078166&gt;] ? native_safe_halt+0x6/0x10
[   13.044717]  [&lt;ffffffff811425cd&gt;] ? trace_hardirqs_on+0xd/0x10
[   13.044738]  [&lt;ffffffff8104f669&gt;] default_idle+0x59/0x120
[   13.044742]  [&lt;ffffffff810501e8&gt;] arch_cpu_idle+0x18/0x40
[   13.044754]  [&lt;ffffffff811320c5&gt;] cpu_startup_entry+0x235/0x410
[   13.044763]  [&lt;ffffffff81f9e781&gt;] rest_init+0xd1/0xe0
[   13.044766]  [&lt;ffffffff81f9e6b5&gt;] ? rest_init+0x5/0xe0
[   13.044778]  [&lt;ffffffff82b93ec2&gt;] start_kernel+0x425/0x493
[   13.044781]  [&lt;ffffffff82b93810&gt;] ? repair_env_string+0x5e/0x5e
[   13.044786]  [&lt;ffffffff82b93595&gt;] x86_64_start_reservations+0x2a/0x2c
[   13.044789]  [&lt;ffffffff82b93688&gt;] x86_64_start_kernel+0xf1/0x100
[   13.044799] ---[ end trace 113ad28772af4058 ]---

Reported-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Maarten Lankhorst &lt;maarten.lankhorst@canonical.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/cirrus: deal with bo reserve fail in dirty update path</title>
<updated>2013-05-02T02:46:56+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2013-05-02T06:45:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f3b2bbdc8a87a080ccd23d27fca4b87d61340dd4'/>
<id>f3b2bbdc8a87a080ccd23d27fca4b87d61340dd4</id>
<content type='text'>
Port over the mgag200 fix to cirrus as it suffers the same issue.

    On F19 testing, it was noticed we get a lot of errors in dmesg
    about being unable to reserve the buffer when plymouth starts,
    this is due to the buffer being in the process of migrating,
    so it makes sense we can't reserve it.

    In order to deal with it, this adds delayed updates for the dirty
    updates, when the bo is unreservable, in the normal console case
    this shouldn't ever happen, its just when plymouth or X is
    pushing the console bo to system memory.

Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Port over the mgag200 fix to cirrus as it suffers the same issue.

    On F19 testing, it was noticed we get a lot of errors in dmesg
    about being unable to reserve the buffer when plymouth starts,
    this is due to the buffer being in the process of migrating,
    so it makes sense we can't reserve it.

    In order to deal with it, this adds delayed updates for the dirty
    updates, when the bo is unreservable, in the normal console case
    this shouldn't ever happen, its just when plymouth or X is
    pushing the console bo to system memory.

Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/&lt;drivers&gt;: simplify -&gt;fb_probe callback</title>
<updated>2013-02-13T23:07:58+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2013-01-21T22:42:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cd5428a5447cc6ca77ec6547d6f86834b205eac7'/>
<id>cd5428a5447cc6ca77ec6547d6f86834b205eac7</id>
<content type='text'>
The fb helper lost its support for reallocating an fb completely, so
no need to return special success values any more.

Reviewed-by: Rob Clark &lt;robdclark@gmail.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The fb helper lost its support for reallocating an fb completely, so
no need to return special success values any more.

Reviewed-by: Rob Clark &lt;robdclark@gmail.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/fb-helper: don't disable everything in initial_config</title>
<updated>2013-02-13T23:07:53+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2013-01-20T22:12:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=76a39dbfb2d1bc45219839e5a95d4ceaf6ca114f'/>
<id>76a39dbfb2d1bc45219839e5a95d4ceaf6ca114f</id>
<content type='text'>
This should be done in the drivers for two reasons:
- it gets in the way of fastboot efforts
- it links the fb helpers with the crtc helpers instead of going
  through the real interface vfuncs, forcing i915 to fake all the
  -&gt;disable callbacks used by the crtc helper to avoid ugly Oopsen

v2: Resolve conflicts since drivers still call
drm_fb_helper_single_add_all_connectors.

Reviewed-by: Rob Clark &lt;robdclark@gmail.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should be done in the drivers for two reasons:
- it gets in the way of fastboot efforts
- it links the fb helpers with the crtc helpers instead of going
  through the real interface vfuncs, forcing i915 to fake all the
  -&gt;disable callbacks used by the crtc helper to avoid ugly Oopsen

v2: Resolve conflicts since drivers still call
drm_fb_helper_single_add_all_connectors.

Reviewed-by: Rob Clark &lt;robdclark@gmail.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</pre>
</div>
</content>
</entry>
</feed>
