<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/tegra/fb.c, branch linux-4.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-05-05T01:47:01Z</updated>
<entry>
<title>Merge tag 'drm/tegra/for-4.12-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next</title>
<updated>2017-05-05T01:47:01Z</updated>
<author>
<name>Dave Airlie</name>
</author>
<published>2017-05-05T01:47:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=644b4930bf7e2adeffbe842e1097f7933c6a9158'/>
<id>urn:sha1:644b4930bf7e2adeffbe842e1097f7933c6a9158</id>
<content type='text'>
drm/tegra: Changes for v4.12-rc1

This contains various fixes to the host1x driver as well as a plug for a
leak of kernel pointers to userspace.

A fairly big addition this time around is the Video Image Composer (VIC)
support that can be used to accelerate some 2D and image compositing
operations.

Furthermore the driver now supports FB modifiers, so we no longer rely
on a custom IOCTL to set those.

Finally this contains a few preparatory patches for Tegra186 support
which unfortunately didn't quite make it this time, but will hopefully
be ready for v4.13.

* tag 'drm/tegra/for-4.12-rc1' of git://anongit.freedesktop.org/tegra/linux:
  gpu: host1x: Fix host1x driver shutdown
  gpu: host1x: Support module reset
  gpu: host1x: Sort includes alphabetically
  drm/tegra: Add VIC support
  dt-bindings: Add bindings for the Tegra VIC
  drm/tegra: Add falcon helper library
  drm/tegra: Add Tegra DRM allocation API
  drm/tegra: Add tiling FB modifiers
  drm/tegra: Don't leak kernel pointer to userspace
  drm/tegra: Protect IOMMU operations by mutex
  drm/tegra: Enable IOVA API when IOMMU support is enabled
  gpu: host1x: Add IOMMU support
  gpu: host1x: Fix potential out-of-bounds access
  iommu/iova: Fix compile error with CONFIG_IOMMU_IOVA=m
  iommu: Add dummy implementations for !IOMMU_IOVA
  MAINTAINERS: Add related headers to IOMMU section
  iommu/iova: Consolidate code for adding new node to iovad domain rbtree
</content>
</entry>
<entry>
<title>drm/tegra: Add tiling FB modifiers</title>
<updated>2017-04-05T16:11:46Z</updated>
<author>
<name>Alexandre Courbot</name>
</author>
<published>2016-11-08T07:50:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e91144dd702d068b22a75911c06104e56cb4858'/>
<id>urn:sha1:5e91144dd702d068b22a75911c06104e56cb4858</id>
<content type='text'>
Add FB modifiers to allow user-space to specify that a surface is in one
of the two tiling formats supported by Tegra chips, and add support in
the tegradrm driver to handle them properly. This is necessary for the
display controller to directly display buffers generated by the GPU.

This feature is intended to replace the dedicated IOCTL enabled
by TEGRA_STAGING and to provide a non-staging alternative to that
solution.

Signed-off-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Acked-by: Daniel Vetter &lt;daniel@ffwll.ch&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>drm/fb-helper: Automatically clean up fb_info</title>
<updated>2017-02-07T20:36:28Z</updated>
<author>
<name>Daniel Vetter</name>
</author>
<published>2017-02-07T16:16:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=da7bdda2afdf1ae58546218b50771c2c646bb079'/>
<id>urn:sha1:da7bdda2afdf1ae58546218b50771c2c646bb079</id>
<content type='text'>
Noticed that everyone duplicates the same logic here and we could safe
a few lines per driver. Yay for lots of drivers to make such tiny
refactors worth-while!

v2: Forgot to git add everything :(

v3: Actually remove release_fbi (Sean, Emil, Chris) ...

Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Sean Paul &lt;seanpaul@chromium.org&gt;
Cc: Noralf Trønnes &lt;noralf@tronnes.org&gt;
Cc: Emil Velikov &lt;emil.l.velikov@gmail.com&gt;
Reviewed-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20170207161603.17611-1-daniel.vetter@ffwll.ch
</content>
</entry>
<entry>
<title>drm: Rely on mode_config data for fb_helper initialization</title>
<updated>2017-02-02T18:12:00Z</updated>
<author>
<name>Gabriel Krisman Bertazi</name>
</author>
<published>2017-02-02T16:26:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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/tegra: Stop using drm_framebuffer_unregister_private</title>
<updated>2017-01-12T15:37:44Z</updated>
<author>
<name>Daniel Vetter</name>
</author>
<published>2016-12-27T10:49:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3e7d2fddba5a3e9243fc461027511a350f88c23b'/>
<id>urn:sha1:3e7d2fddba5a3e9243fc461027511a350f88c23b</id>
<content type='text'>
This is the deprecated function for when you embedded the framebuffer
somewhere else (which breaks refcounting). But Tegra is using
drm_framebuffer_remove and a free-standing FB, so this is redundant.

One caveat here is that the failure path in the init code still
manually cleaned up the fb. I presume that was an oversight and
changed it over to drm_framebuffer_remove too.

Cc: Thierry Reding &lt;thierry.reding@gmail.com&gt;
Reviewed-by: Archit Taneja &lt;architt@codeaurora.org&gt;
Acked-by: Thierry Reding &lt;treding@nvidia.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1482835765-12044-5-git-send-email-daniel.vetter@ffwll.ch
Link: http://patchwork.freedesktop.org/patch/msgid/1482835765-12044-2-git-send-email-daniel.vetter@ffwll.ch
</content>
</entry>
<entry>
<title>drm: Nuke fb-&gt;depth</title>
<updated>2016-12-15T12:55:33Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2016-12-14T21:31:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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: Replace drm_format_num_planes() with fb-&gt;format-&gt;num_planes</title>
<updated>2016-12-15T12:55:31Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2016-12-14T21:30:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bcb0b461454c9cb3b5804cf75bacaadb52348864'/>
<id>urn:sha1:bcb0b461454c9cb3b5804cf75bacaadb52348864</id>
<content type='text'>
Replace drm_format_num_planes(fb-&gt;pixel_format) with just
fb-&gt;format-&gt;num_planes. Avoids the expensive format info lookup.

@@
struct drm_framebuffer *a;
struct drm_framebuffer b;
@@
(
- drm_format_num_planes(a-&gt;pixel_format)
+ a-&gt;format-&gt;num_planes
|
- drm_format_num_planes(b.pixel_format)
+ b.format-&gt;num_planes
)

@@
struct drm_plane_state *a;
struct drm_plane_state b;
@@
(
- drm_format_num_planes(a-&gt;fb-&gt;pixel_format)
+ a-&gt;fb-&gt;format-&gt;num_planes
|
- drm_format_num_planes(b.fb-&gt;pixel_format)
+ b.fb-&gt;format-&gt;num_planes
)

@@
struct drm_framebuffer *a;
identifier T;
@@
  T = a-&gt;pixel_format
&lt;+...
- drm_format_num_planes(T)
+ a-&gt;format-&gt;num_planes
...+&gt;

@@
struct drm_framebuffer b;
identifier T;
@@
  T = b.pixel_format
&lt;+...
- drm_format_num_planes(T)
+ b.format-&gt;num_planes
...+&gt;

v2: Rerun spatch due to code changes

Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Suggested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1481751022-18015-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:30Z</updated>
<author>
<name>Ville Syrjälä</name>
</author>
<published>2016-12-14T20:48:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.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>
<entry>
<title>drm/tegra: use DRM_FB_HELPER_DEFAULT_OPS for fb_ops</title>
<updated>2016-11-14T06:56:58Z</updated>
<author>
<name>Stefan Christ</name>
</author>
<published>2016-11-13T23:03:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=902c255b52de42e96f5df8f59bb99e1041261fc4'/>
<id>urn:sha1:902c255b52de42e96f5df8f59bb99e1041261fc4</id>
<content type='text'>
Cc: Thierry Reding &lt;thierry.reding@gmail.com&gt;
Signed-off-by: Stefan Christ &lt;contact@stefanchrist.eu&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/1479078208-25221-13-git-send-email-contact@stefanchrist.eu
</content>
</entry>
<entry>
<title>drm/tegra: Delete an unnecessary check before the function call "vunmap"</title>
<updated>2016-07-18T07:11:30Z</updated>
<author>
<name>Markus Elfring</name>
</author>
<published>2016-07-16T05:23:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a63caf13a8037a0e04b9ecabfbcf8e340f33ce8d'/>
<id>urn:sha1:a63caf13a8037a0e04b9ecabfbcf8e340f33ce8d</id>
<content type='text'>
The vunmap() function performs also input parameter validation.
Thus the test around the call is not needed.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring &lt;elfring@users.sourceforge.net&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/b3fbdcaf-1bda-7ce9-935b-2d716727ec39@users.sourceforge.net
</content>
</entry>
</feed>
