<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/cirrus, branch v4.11.5</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.11.5</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.11.5'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-02-02T18:12:00+00:00</updated>
<entry>
<title>drm: Rely on mode_config data for fb_helper initialization</title>
<updated>2017-02-02T18:12:00+00:00</updated>
<author>
<name>Gabriel Krisman Bertazi</name>
<email>krisman@collabora.co.uk</email>
</author>
<published>2017-02-02T16:26:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e4563f6ba71792c77aeccb2092cc23149b44e642'/>
<id>urn:sha1:e4563f6ba71792c77aeccb2092cc23149b44e642</id>
<content type='text'>
Instead of receiving the num_crts as a parameter, we can read it
directly from the mode_config structure.  I audited the drivers that
invoke this helper and I believe all of them initialize the mode_config
struct accordingly, prior to calling the fb_helper.

I used the following coccinelle hack to make this transformation, except
for the function headers and comment updates.  The first and second
rules are split because I couldn't find a way to remove the unused
temporary variables at the same time I removed the parameter.

// &lt;smpl&gt;
@r@
expression A,B,D,E;
identifier C;
@@
(
- drm_fb_helper_init(A,B,C,D)
+ drm_fb_helper_init(A,B,D)
|
- drm_fbdev_cma_init_with_funcs(A,B,C,D,E)
+ drm_fbdev_cma_init_with_funcs(A,B,D,E)
|
- drm_fbdev_cma_init(A,B,C,D)
+ drm_fbdev_cma_init(A,B,D)
)

@@
expression A,B,C,D,E;
@@
(
- drm_fb_helper_init(A,B,C,D)
+ drm_fb_helper_init(A,B,D)
|
- drm_fbdev_cma_init_with_funcs(A,B,C,D,E)
+ drm_fbdev_cma_init_with_funcs(A,B,D,E)
|
- drm_fbdev_cma_init(A,B,C,D)
+ drm_fbdev_cma_init(A,B,D)
)

@@
identifier r.C;
type T;
expression V;
@@
- T C;
&lt;...
when != C
- C = V;
...&gt;
// &lt;/smpl&gt;

Changes since v1:
 - Rebased on top of the tip of drm-misc-next.
 - Remove mention to sti since a proper fix got merged.

Suggested-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Signed-off-by: Gabriel Krisman Bertazi &lt;krisman@collabora.co.uk&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170202162640.27261-1-krisman@collabora.co.uk
</content>
</entry>
<entry>
<title>drm/ttm: revert "implement LRU add callbacks v2"</title>
<updated>2017-01-27T17:20:34+00:00</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2017-01-12T10:50:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=260498f2cdfcf3a3a266b212a86c9059623ffa32'/>
<id>urn:sha1:260498f2cdfcf3a3a266b212a86c9059623ffa32</id>
<content type='text'>
The additional housekeeping had too much CPU overhead,
let's use the BO priorities instead.

agd: also revert hibmc changes

Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt;
Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-and-Tested-by: Roger.He &lt;Hongbo.He@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next</title>
<updated>2017-01-27T01:00:42+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2017-01-27T01:00:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b0df0b251b25b0bf89ef3e518330fcac300add86'/>
<id>urn:sha1:b0df0b251b25b0bf89ef3e518330fcac300add86</id>
<content type='text'>
Backmerge Linus master to get the connector locking revert.

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux: (645 commits)
  sysctl: fix proc_doulongvec_ms_jiffies_minmax()
  Revert "drm/probe-helpers: Drop locking from poll_enable"
  MAINTAINERS: add Dan Streetman to zbud maintainers
  MAINTAINERS: add Dan Streetman to zswap maintainers
  mm: do not export ioremap_page_range symbol for external module
  mn10300: fix build error of missing fpu_save()
  romfs: use different way to generate fsid for BLOCK or MTD
  frv: add missing atomic64 operations
  mm, page_alloc: fix premature OOM when racing with cpuset mems update
  mm, page_alloc: move cpuset seqcount checking to slowpath
  mm, page_alloc: fix fast-path race with cpuset update or removal
  mm, page_alloc: fix check for NULL preferred_zone
  kernel/panic.c: add missing \n
  fbdev: color map copying bounds checking
  frv: add atomic64_add_unless()
  mm/mempolicy.c: do not put mempolicy before using its nodemask
  radix-tree: fix private list warnings
  Documentation/filesystems/proc.txt: add VmPin
  mm, memcg: do not retry precharge charges
  proc: add a schedule point in proc_pid_readdir()
  ...
</content>
</entry>
<entry>
<title>drm: flip cirrus driver status to "obsolete".</title>
<updated>2017-01-10T13:00:40+00:00</updated>
<author>
<name>Gerd Hoffmann</name>
<email>kraxel@redhat.com</email>
</author>
<published>2016-11-21T18:32:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=af3076e67c31ceb3e314933dd61cb68a1d5120cf'/>
<id>urn:sha1:af3076e67c31ceb3e314933dd61cb68a1d5120cf</id>
<content type='text'>
Also update Kconfig help text, explaining things:

Cirrus is obsolete, the hardware was designed in the 90ies
and can't keep up with todays needs.  More background:
https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/

Better alternatives are:
  - stdvga (DRM_BOCHS, qemu -vga std, default in qemu 2.2+)
  - qxl (DRM_QXL, qemu -vga qxl, works best with spice)
  - virtio (VIRTIO_GPU), qemu -vga virtio)

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm: fix compilations issues introduced by "drm: allow to use mmuless SoC"</title>
<updated>2017-01-09T10:30:30+00:00</updated>
<author>
<name>Benjamin Gaignard</name>
<email>benjamin.gaignard@linaro.org</email>
</author>
<published>2017-01-07T11:39:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=011cda589938e56eb93685dee8ead0bb0506f9e2'/>
<id>urn:sha1:011cda589938e56eb93685dee8ead0bb0506f9e2</id>
<content type='text'>
Removing MMU configuration flag from DRM make few automatic
build failed when they answer yes to all flags.

Add asm/vga.h file on Blackfin architecture to not broke compilation.

Signed-off-by: Benjamin Gaignard &lt;benjamin.gaignard@linaro.org&gt;
Fixes: 62a0d98a188c ("drm: allow to use mmuless SoC")
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1483789151-6603-1-git-send-email-benjamin.gaignard@linaro.org
</content>
</entry>
<entry>
<title>drm: Change the return type of the unload hook to void</title>
<updated>2017-01-09T10:25:22+00:00</updated>
<author>
<name>Gabriel Krisman Bertazi</name>
<email>krisman@collabora.co.uk</email>
</author>
<published>2017-01-06T17:57:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=11b3c20bdd15d17382068be569740de1dccb173d'/>
<id>urn:sha1:11b3c20bdd15d17382068be569740de1dccb173d</id>
<content type='text'>
The integer returned by the unload hook is ignored by the drm core, so
let's make it void.

This patch was created using the following Coccinelle semantic script
(except for the declaration and comment in drm_drv.h):

Compile-tested only.

// &lt;smpl&gt;
@ get_name @
struct drm_driver drv;
identifier fn;
@@
drv.unload = fn;

@ replace_type @
identifier get_name.fn;
@@
- int
+ void
fn (...)
{
...
}

@ remove_return_param @
identifier get_name.fn;
@@
void fn (...)
{
&lt;...
if (...)
return
- ...
;
...&gt;
 }

@ drop_final_return @
identifier get_name.fn;
@@
void fn (...)
{
...

- return 0;
}
// &lt;/smpl&gt;

Suggested-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Signed-off-by: Gabriel Krisman Bertazi &lt;krisman@collabora.co.uk&gt;
Acked-by: Christian König &lt;christian.koenig@amd.com&gt;.
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170106175731.29196-1-krisman@collabora.co.uk
</content>
</entry>
<entry>
<title>drm: Don't include &lt;drm/drm_encoder.h&gt; in &lt;drm/drm_crtc.h&gt;</title>
<updated>2016-12-18T10:59:29+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart+renesas@ideasonboard.com</email>
</author>
<published>2016-11-28T18:51:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9338203c4f03ffe323b67f0b2fa17b9811fa9bb6'/>
<id>urn:sha1:9338203c4f03ffe323b67f0b2fa17b9811fa9bb6</id>
<content type='text'>
&lt;drm/drm_crtc.h&gt; used to define most of the in-kernel KMS API. It has
now been split into separate files for each object type, but still
includes most other KMS headers to avoid breaking driver compilation.

As a step towards fixing that problem, remove the inclusion of
&lt;drm/drm_encoder.h&gt; from &lt;drm/drm_crtc.h&gt; and include it instead where
appropriate. Also remove the forward declarations of the drm_encoder and
drm_encoder_helper_funcs structures from &lt;drm/drm_crtc.h&gt; as they're not
needed in the header.

&lt;drm/drm_encoder.h&gt; now has to include &lt;drm/drm_mode.h&gt; and contain a
forward declaration of struct drm_encoder in order to allow including it
as the first header in a compilation unit.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart+renesas@ideasonboard.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: Sinclair Yeh &lt;syeh@vmware.com&gt; # For vmwgfx
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1481709550-29226-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com
</content>
</entry>
<entry>
<title>drm: Nuke fb-&gt;bits_per_pixel</title>
<updated>2016-12-15T12:55:34+00:00</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2016-12-14T21:32:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=272725c7db4da1fd3229d944fc76d2e98e3a144e'/>
<id>urn:sha1:272725c7db4da1fd3229d944fc76d2e98e3a144e</id>
<content type='text'>
Replace uses of fb-&gt;bits_per_pixel with fb-&gt;format-&gt;cpp[0]*8.
Less duplicated information is a good thing.

Note that I didn't put parens around the cpp*8 in the below cocci script,
on account of not wanting spurious parens all over the place. Instead I
did the unsafe way, and tried to look over the entire diff to spot if
any dangerous expressions were produced. I didn't see any.

There are some cases where previously the code did X*bpp/8, so the
division happened after the multiplication. Those are now just X*cpp
so the division effectively happens before the multiplication,
but that is perfectly fine since bpp is always a multiple of 8.

@@
struct drm_framebuffer *FB;
expression E;
@@
 drm_helper_mode_fill_fb_struct(...) {
	...
-	FB-&gt;bits_per_pixel = E;
	...
 }

@@
struct drm_framebuffer *FB;
expression E;
@@
 i9xx_get_initial_plane_config(...) {
	...
-	FB-&gt;bits_per_pixel = E;
	...
 }

@@
struct drm_framebuffer *FB;
expression E;
@@
 ironlake_get_initial_plane_config(...) {
	...
-	FB-&gt;bits_per_pixel = E;
	...
 }

@@
struct drm_framebuffer *FB;
expression E;
@@
 skylake_get_initial_plane_config(...) {
	...
-	FB-&gt;bits_per_pixel = E;
	...
 }

@@
struct drm_framebuffer FB;
expression E;
@@
(
- E * FB.bits_per_pixel / 8
+ E * FB.format-&gt;cpp[0]
|
- FB.bits_per_pixel / 8
+ FB.format-&gt;cpp[0]
|
- E * FB.bits_per_pixel &gt;&gt; 3
+ E * FB.format-&gt;cpp[0]
|
- FB.bits_per_pixel &gt;&gt; 3
+ FB.format-&gt;cpp[0]
|
- (FB.bits_per_pixel + 7) / 8
+ FB.format-&gt;cpp[0]
|
- FB.bits_per_pixel
+ FB.format-&gt;cpp[0] * 8
|
- FB.format-&gt;cpp[0] * 8 != 8
+ FB.format-&gt;cpp[0] != 1
)

@@
struct drm_framebuffer *FB;
expression E;
@@
(
- E * FB-&gt;bits_per_pixel / 8
+ E * FB-&gt;format-&gt;cpp[0]
|
- FB-&gt;bits_per_pixel / 8
+ FB-&gt;format-&gt;cpp[0]
|
- E * FB-&gt;bits_per_pixel &gt;&gt; 3
+ E * FB-&gt;format-&gt;cpp[0]
|
- FB-&gt;bits_per_pixel &gt;&gt; 3
+ FB-&gt;format-&gt;cpp[0]
|
- (FB-&gt;bits_per_pixel + 7) / 8
+ FB-&gt;format-&gt;cpp[0]
|
- FB-&gt;bits_per_pixel
+ FB-&gt;format-&gt;cpp[0] * 8
|
- FB-&gt;format-&gt;cpp[0] * 8 != 8
+ FB-&gt;format-&gt;cpp[0] != 1
)

@@
struct drm_plane_state *state;
expression E;
@@
(
- E * state-&gt;fb-&gt;bits_per_pixel / 8
+ E * state-&gt;fb-&gt;format-&gt;cpp[0]
|
- state-&gt;fb-&gt;bits_per_pixel / 8
+ state-&gt;fb-&gt;format-&gt;cpp[0]
|
- E * state-&gt;fb-&gt;bits_per_pixel &gt;&gt; 3
+ E * state-&gt;fb-&gt;format-&gt;cpp[0]
|
- state-&gt;fb-&gt;bits_per_pixel &gt;&gt; 3
+ state-&gt;fb-&gt;format-&gt;cpp[0]
|
- (state-&gt;fb-&gt;bits_per_pixel + 7) / 8
+ state-&gt;fb-&gt;format-&gt;cpp[0]
|
- state-&gt;fb-&gt;bits_per_pixel
+ state-&gt;fb-&gt;format-&gt;cpp[0] * 8
|
- state-&gt;fb-&gt;format-&gt;cpp[0] * 8 != 8
+ state-&gt;fb-&gt;format-&gt;cpp[0] != 1
)

@@
@@
- (8 * 8)
+ 8 * 8

@@
struct drm_framebuffer FB;
@@
- (FB.format-&gt;cpp[0])
+ FB.format-&gt;cpp[0]

@@
struct drm_framebuffer *FB;
@@
- (FB-&gt;format-&gt;cpp[0])
+ FB-&gt;format-&gt;cpp[0]

@@
@@
 struct drm_framebuffer {
	 ...
-	 int bits_per_pixel;
	 ...
 };

v2: Clean up the 'cpp*8 != 8' and '(8 * 8)' cases (Laurent)
v3: Adjusted the semantic patch a bit and regenerated due to code
    changes

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt; (v1)
Link: http://patchwork.freedesktop.org/patch/msgid/1481751140-18352-1-git-send-email-ville.syrjala@linux.intel.com
</content>
</entry>
<entry>
<title>drm: Nuke fb-&gt;depth</title>
<updated>2016-12-15T12:55:33+00:00</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2016-12-14T21:31:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b00c600e91531df00aaa551049382416c4db745d'/>
<id>urn:sha1:b00c600e91531df00aaa551049382416c4db745d</id>
<content type='text'>
Replace uses of fb-&gt;depth with fb-&gt;format-&gt;depth. Less duplicate
information is a good thing.

@@
struct drm_framebuffer *fb;
expression E;
@@
 drm_helper_mode_fill_fb_struct(...) {
	...
-	fb-&gt;depth = E;
	...
 }

@@
struct nouveau_framebuffer *fb;
@@
- fb-&gt;base.depth
+ fb-&gt;base.format-&gt;depth

@@
struct drm_framebuffer fb;
@@
- fb.depth
+ fb.format-&gt;depth

@@
struct drm_framebuffer *fb;
@@
- fb-&gt;depth
+ fb-&gt;format-&gt;depth

@@
struct drm_framebuffer fb;
@@
- (fb.format-&gt;depth)
+ fb.format-&gt;depth

@@
struct drm_framebuffer *fb;
@@
- (fb-&gt;format-&gt;depth)
+ fb-&gt;format-&gt;depth

@@
@@
 struct drm_framebuffer {
	 ...
-	 unsigned int depth;
	 ...
 };

v2: Drop the vmw stuff (Daniel)
    Rerun spatch due to code changes

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1481751095-18249-1-git-send-email-ville.syrjala@linux.intel.com
</content>
</entry>
<entry>
<title>drm: Pass 'dev' to drm_helper_mode_fill_fb_struct()</title>
<updated>2016-12-15T12:03:30+00:00</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2016-12-14T20:48:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a3f913ca98925d7e5bae725e9b2b38408215a695'/>
<id>urn:sha1:a3f913ca98925d7e5bae725e9b2b38408215a695</id>
<content type='text'>
Pass the drm_device to drm_helper_mode_fill_fb_struct() so that we can
populate fb-&gt;dev early. Will make it easier to use the fb before we
register it.

@@
identifier fb, mode_cmd;
@@
 void drm_helper_mode_fill_fb_struct(
+				     struct drm_device *dev,
				     struct drm_framebuffer *fb,
				     const struct drm_mode_fb_cmd2 *mode_cmd
				     );

@@
identifier fb, mode_cmd;
@@
 void drm_helper_mode_fill_fb_struct(
+				     struct drm_device *dev,
				     struct drm_framebuffer *fb,
				     const struct drm_mode_fb_cmd2 *mode_cmd
				     )
{ ... }

@@
function func;
identifier dev;
expression E1, E2;
@@
func(struct drm_device *dev, ...)
{
 ...
 drm_helper_mode_fill_fb_struct(
+				dev,
				E1, E2);
 ...
}

@@
expression E1, E2;
@@
 drm_helper_mode_fill_fb_struct(
+				dev,
				E1, E2);

v2: Rerun spatch due to code changes

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1481748539-18283-1-git-send-email-ville.syrjala@linux.intel.com
</content>
</entry>
</feed>
