<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/gpu/drm/msm/mdp, branch v4.2</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>drm/msm/mdp5: release SMB (shared memory blocks) in various cases</title>
<updated>2015-07-29T20:38:24+00:00</updated>
<author>
<name>Wentao Xu</name>
<email>wentaox@codeaurora.org</email>
</author>
<published>2015-06-19T18:03:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b4cba04f05ed6b9b2278547295ecc5c40180e612'/>
<id>b4cba04f05ed6b9b2278547295ecc5c40180e612</id>
<content type='text'>
Release all blocks after the pipe is disabled, even when vsync
didn't happen in some error cases. Allow requesting SMB multiple
times before configuring to hardware, by releasing blocks not
programmed to hardware yet for shrinking case.

This fixes a potential leak of shared memory pool blocks.

Signed-off-by: Wentao Xu &lt;wentaox@codeaurora.org&gt;
Tested-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Release all blocks after the pipe is disabled, even when vsync
didn't happen in some error cases. Allow requesting SMB multiple
times before configuring to hardware, by releasing blocks not
programmed to hardware yet for shrinking case.

This fixes a potential leak of shared memory pool blocks.

Signed-off-by: Wentao Xu &lt;wentaox@codeaurora.org&gt;
Tested-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: mdp4: Fix drm_framebuffer dereference crash</title>
<updated>2015-07-29T20:38:24+00:00</updated>
<author>
<name>Archit Taneja</name>
<email>architt@codeaurora.org</email>
</author>
<published>2015-06-26T10:19:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a1c3e3e01ee301de6a13e696ef8775f40ca339ac'/>
<id>a1c3e3e01ee301de6a13e696ef8775f40ca339ac</id>
<content type='text'>
mdp4_get_frame_format() can dereference a drm_framebuffer when it's NULL.
Call it in mdp4_plane_mode_set only when we know fb is non-NULL.

Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
mdp4_get_frame_format() can dereference a drm_framebuffer when it's NULL.
Call it in mdp4_plane_mode_set only when we know fb is non-NULL.

Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/mdp: Add support for more 32-bit RGB formats</title>
<updated>2015-06-11T17:11:05+00:00</updated>
<author>
<name>Stephane Viau</name>
<email>sviau@codeaurora.org</email>
</author>
<published>2015-06-03T21:27:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=fbd4ae8a4eab0a3549f3646c3fb6ddbb414da4b3'/>
<id>fbd4ae8a4eab0a3549f3646c3fb6ddbb414da4b3</id>
<content type='text'>
That will complete the lists of Alpha + RGB formats.

Signed-off-by: Stephane Viau &lt;sviau@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
That will complete the lists of Alpha + RGB formats.

Signed-off-by: Stephane Viau &lt;sviau@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/mdp5: Always generate active-high sync signals for DSI</title>
<updated>2015-06-11T17:11:05+00:00</updated>
<author>
<name>Hai Li</name>
<email>hali@codeaurora.org</email>
</author>
<published>2015-05-22T14:16:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1efb92a306f08119c81de148b05afc24446b8d7a'/>
<id>1efb92a306f08119c81de148b05afc24446b8d7a</id>
<content type='text'>
DSI video mode engine can only take active-high sync signals. This
change prevents MDP5 sending active-low sync signals to DSI in any
case.

Signed-off-by: Hai Li &lt;hali@codeaurora.org&gt;
Tested-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DSI video mode engine can only take active-high sync signals. This
change prevents MDP5 sending active-low sync signals to DSI in any
case.

Signed-off-by: Hai Li &lt;hali@codeaurora.org&gt;
Tested-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/mdp5: Wait for PP_DONE irq for command mode CRTC atomic commit</title>
<updated>2015-06-11T17:11:04+00:00</updated>
<author>
<name>Hai Li</name>
<email>hali@codeaurora.org</email>
</author>
<published>2015-04-28T23:35:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=68cdbed90777ed0291214f30a3532a8f795b481e'/>
<id>68cdbed90777ed0291214f30a3532a8f795b481e</id>
<content type='text'>
CRTCs in DSI command mode data path should wait for pingpong done,
instead of vblank, to finish atomic commit.

This change is to enable PP_DONE irq on command mode CRTCs and wait for
this irq happens before atomic commit completion.

Signed-off-by: Hai Li &lt;hali@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CRTCs in DSI command mode data path should wait for pingpong done,
instead of vblank, to finish atomic commit.

This change is to enable PP_DONE irq on command mode CRTCs and wait for
this irq happens before atomic commit completion.

Signed-off-by: Hai Li &lt;hali@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: Use customized function to wait for atomic commit done</title>
<updated>2015-06-11T17:11:04+00:00</updated>
<author>
<name>Hai Li</name>
<email>hali@codeaurora.org</email>
</author>
<published>2015-04-28T23:35:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=0a5c9aad119c4415e14ece4c17cec66aa572e827'/>
<id>0a5c9aad119c4415e14ece4c17cec66aa572e827</id>
<content type='text'>
MDP FLUSH registers could indicate if the previous flush updates
has taken effect at vsync boundary. Making use of this H/W feature
can catch the vsync that happened between CRTC atomic_flush and
*_wait_for_vblanks, to avoid unnecessary wait.

This change allows kms CRTCs to use their own *_wait_for_commit_done
functions to wait for FLUSH register cleared at vsync, before commit
completion.

Signed-off-by: Hai Li &lt;hali@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MDP FLUSH registers could indicate if the previous flush updates
has taken effect at vsync boundary. Making use of this H/W feature
can catch the vsync that happened between CRTC atomic_flush and
*_wait_for_vblanks, to avoid unnecessary wait.

This change allows kms CRTCs to use their own *_wait_for_commit_done
functions to wait for FLUSH register cleared at vsync, before commit
completion.

Signed-off-by: Hai Li &lt;hali@codeaurora.org&gt;
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/mdp5: fix for crash in disable path</title>
<updated>2015-06-11T17:11:02+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2015-05-15T00:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e5989ee1342a686764934fff01e743aa06803d21'/>
<id>e5989ee1342a686764934fff01e743aa06803d21</id>
<content type='text'>
Seems like disable can race with complete_flip() in process of disabling
a crtc, leading to:

[   49.065364] Call trace:
[   49.071441] [&lt;ffffffc00041d5a0&gt;] mdp5_ctl_blend+0x20/0x1c0
[   49.073788] [&lt;ffffffc00041ebcc&gt;] mdp5_crtc_disable+0x3c/0xa8
[   49.079348] [&lt;ffffffc0003e7854&gt;] disable_outputs.isra.4+0x11c/0x220
[   49.085164] [&lt;ffffffc0003e7afc&gt;] drm_atomic_helper_commit_modeset_disables+0x14/0x38
[   49.091155] [&lt;ffffffc000425c80&gt;] complete_commit+0x40/0xb8
[   49.099136] [&lt;ffffffc0004260ac&gt;] msm_atomic_commit+0x364/0x398
[   49.104430] [&lt;ffffffc00040a614&gt;] drm_atomic_commit+0x3c/0x70
[   49.110249] [&lt;ffffffc0003e67b8&gt;] drm_atomic_helper_set_config+0x1b0/0x3e0
[   49.116065] [&lt;ffffffc0003f99bc&gt;] drm_mode_set_config_internal+0x64/0xf8
[   49.122746] [&lt;ffffffc0003fa624&gt;] drm_framebuffer_remove+0xe4/0x128
[   49.129171] [&lt;ffffffc0003feaf8&gt;] drm_mode_rmfb+0xc0/0x100
[   49.135420] [&lt;ffffffc0003efba8&gt;] drm_ioctl+0x258/0x4d0
[   49.140889] [&lt;ffffffc0001b0388&gt;] do_vfs_ioctl+0x338/0x5d0
[   49.145921] [&lt;ffffffc0001b06a8&gt;] SyS_ioctl+0x88/0xa0

It makes no sense to free the ctl without disabling all stages, so lets
just move them together to avoid the crash.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Seems like disable can race with complete_flip() in process of disabling
a crtc, leading to:

[   49.065364] Call trace:
[   49.071441] [&lt;ffffffc00041d5a0&gt;] mdp5_ctl_blend+0x20/0x1c0
[   49.073788] [&lt;ffffffc00041ebcc&gt;] mdp5_crtc_disable+0x3c/0xa8
[   49.079348] [&lt;ffffffc0003e7854&gt;] disable_outputs.isra.4+0x11c/0x220
[   49.085164] [&lt;ffffffc0003e7afc&gt;] drm_atomic_helper_commit_modeset_disables+0x14/0x38
[   49.091155] [&lt;ffffffc000425c80&gt;] complete_commit+0x40/0xb8
[   49.099136] [&lt;ffffffc0004260ac&gt;] msm_atomic_commit+0x364/0x398
[   49.104430] [&lt;ffffffc00040a614&gt;] drm_atomic_commit+0x3c/0x70
[   49.110249] [&lt;ffffffc0003e67b8&gt;] drm_atomic_helper_set_config+0x1b0/0x3e0
[   49.116065] [&lt;ffffffc0003f99bc&gt;] drm_mode_set_config_internal+0x64/0xf8
[   49.122746] [&lt;ffffffc0003fa624&gt;] drm_framebuffer_remove+0xe4/0x128
[   49.129171] [&lt;ffffffc0003feaf8&gt;] drm_mode_rmfb+0xc0/0x100
[   49.135420] [&lt;ffffffc0003efba8&gt;] drm_ioctl+0x258/0x4d0
[   49.140889] [&lt;ffffffc0001b0388&gt;] do_vfs_ioctl+0x338/0x5d0
[   49.145921] [&lt;ffffffc0001b06a8&gt;] SyS_ioctl+0x88/0xa0

It makes no sense to free the ctl without disabling all stages, so lets
just move them together to avoid the crash.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: clarify downstream bus scaling</title>
<updated>2015-06-11T17:11:01+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2015-06-04T14:26:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6490ad47404539b479ca33f96793c4624bef2924'/>
<id>6490ad47404539b479ca33f96793c4624bef2924</id>
<content type='text'>
A few spots in the driver have support for downstream android
CONFIG_MSM_BUS_SCALING.  This is mainly to simplify backporting the
driver for various devices which do not have sufficient upstream
kernel support.  But the intentionally dead code seems to cause
some confusion.  Rename the #define to make this more clear.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A few spots in the driver have support for downstream android
CONFIG_MSM_BUS_SCALING.  This is mainly to simplify backporting the
driver for various devices which do not have sufficient upstream
kernel support.  But the intentionally dead code seems to cause
some confusion.  Rename the #define to make this more clear.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm/mdp4: Support NV12MT format in mdp4</title>
<updated>2015-06-11T17:11:01+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2015-01-30T14:48:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=570655b09b065d2fff1b8ab9bdb8308f4c5a05a3'/>
<id>570655b09b065d2fff1b8ab9bdb8308f4c5a05a3</id>
<content type='text'>
Using fb modifier flag, support NV12MT format in MDP4.

v2:
- rework the modifier's description [Daniel Vetter's comment]
- drop .set_mode_config() callback [Rob Clark's comment]
v3:
- change VENDOR's name and restrict usage to NV12 [pointed by Daniel]

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using fb modifier flag, support NV12MT format in MDP4.

v2:
- rework the modifier's description [Daniel Vetter's comment]
- drop .set_mode_config() callback [Rob Clark's comment]
v3:
- change VENDOR's name and restrict usage to NV12 [pointed by Daniel]

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/msm: update generated headers</title>
<updated>2015-06-11T17:11:01+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2015-05-20T14:50:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=af6cb4c1a451b0e68a0581a6487f6c0423caeeb3'/>
<id>af6cb4c1a451b0e68a0581a6487f6c0423caeeb3</id>
<content type='text'>
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
