<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/gpu/drm/exynos/exynos_drm_fbdev.c, branch linux-4.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.1.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.1.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2015-03-11T21:08:17Z</updated>
<entry>
<title>drm/exynos: use correct fb width/height</title>
<updated>2015-03-11T21:08:17Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2015-03-11T14:23:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ecbf1d5afe993f05f0c513a4b99256589ab5c810'/>
<id>urn:sha1:ecbf1d5afe993f05f0c513a4b99256589ab5c810</id>
<content type='text'>
What is passed to drm_fb_helper_fill_var() should be fb_width/fb_height,
rather than the surface size.

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/exynos: fix DMA_ATTR_NO_KERNEL_MAPPING usage</title>
<updated>2015-02-07T07:38:41Z</updated>
<author>
<name>Carlo Caione</name>
<email>carlo@caione.org</email>
</author>
<published>2015-02-04T09:23:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a5d7ac30fa9ffa923e3603309692a36e3b3b3ae1'/>
<id>urn:sha1:a5d7ac30fa9ffa923e3603309692a36e3b3b3ae1</id>
<content type='text'>
The Exynos DRM driver doesn't follow the correct API when dealing with
dma_{alloc, mmap, free}_attrs functions and the
DMA_ATTR_NO_KERNEL_MAPPING attribute.

When a IOMMU is not available and the DMA_ATTR_NO_KERNEL_MAPPING is
used, the driver should use the pointer returned by dma_alloc_attr() as
a cookie.

The Exynos DRM driver directly uses the non-requested virtual kernel
address returned by the DMA mapping subsystem. This just works now
because the non-IOMMU codepath doesn't obey DMA_ATTR_NO_KERNEL_MAPPING
but we need to fix it before fixing the DMA layer.

Signed-off-by: Carlo Caione &lt;carlo@caione.org&gt;
Acked-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Acked-by: Joonyoung Shim &lt;jy0922.shim@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos/fbdev: fix fbdev gem object cleanup</title>
<updated>2014-09-19T15:56:14Z</updated>
<author>
<name>Andrzej Hajda</name>
<email>a.hajda@samsung.com</email>
</author>
<published>2014-09-09T13:16:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=78ef31e20452ddb1c101efae6147b910c5f454f5'/>
<id>urn:sha1:78ef31e20452ddb1c101efae6147b910c5f454f5</id>
<content type='text'>
exynos_gem_obj is used by exynos_drm_fbdev_destroy so it cannot be destroyed
before calling the latter. exynos_gem_obj will be destroyed anyway by
exynos_drm_fbdev_destroy-&gt;...-&gt;exynos_drm_fb_destroy.

Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos/fbdev: set smem_len for fbdev</title>
<updated>2014-09-19T15:56:09Z</updated>
<author>
<name>Daniel Kurtz</name>
<email>djkurtz@chromium.org</email>
</author>
<published>2014-09-01T12:28:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=71b1f1956b4466b47551e73d4dd2145df4241eb8'/>
<id>urn:sha1:71b1f1956b4466b47551e73d4dd2145df4241eb8</id>
<content type='text'>
Commit [0] stopped setting fix.smem_start and fix.smem_len when creating
the fbdev.

[0] 2f1eab8d8ab59e799f7d51d62410b398607a7bc3
  drm/exynos/fbdev: don't set fix.smem/mmio_{start,len}

However, smem_len is used by some userland applications to calculate the
size for mmap.  In particular, it is used by xf86-video-fbdev:

http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/fbdevhw/fbdevhw.c?id=xorg-server-1.15.99.903#n571

So, let's restore setting the smem_len to unbreak things for these users.

Note: we are still leaving smem_start set to 0.

Reported-by: Siarhei Siamashka &lt;siarhei.siamashka@gmail.com&gt;
Reported-by: Gunther Noack &lt;me@guenthernoack.de&gt;
Signed-off-by: Daniel Kurtz &lt;djkurtz@chromium.org&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm: Introduce drm_fb_helper_prepare()</title>
<updated>2014-07-08T01:31:28Z</updated>
<author>
<name>Thierry Reding</name>
<email>treding@nvidia.com</email>
</author>
<published>2014-06-27T15:19:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=10a231026574f9ec9761b6435394b8830b485e4e'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>drm: Constify struct drm_fb_helper_funcs</title>
<updated>2014-07-08T01:31:15Z</updated>
<author>
<name>Thierry Reding</name>
<email>treding@nvidia.com</email>
</author>
<published>2014-06-27T15:19:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3a4938799dec32783759b0c66ee3bb8c82dd9937'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>drm: add drm_fb_helper_restore_fbdev_mode_unlocked()</title>
<updated>2014-06-05T00:02:40Z</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2014-05-30T16:29:48Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5ea1f752ae04be403a3dc8ec876a60d7f5f6990a'/>
<id>urn:sha1:5ea1f752ae04be403a3dc8ec876a60d7f5f6990a</id>
<content type='text'>
All drm_fb_helper_restore_fbdev_mode() call sites, save one, do the same
locking.  Simplify this into drm_fb_helper_restore_fbdev_mode_unlocked().

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos: fb: make local symbol static</title>
<updated>2014-06-01T17:07:03Z</updated>
<author>
<name>Jingoo Han</name>
<email>jg1.han@samsung.com</email>
</author>
<published>2014-04-17T10:07:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9230ffc423a69b1366bb1664e102ff3fa55aea91'/>
<id>urn:sha1:9230ffc423a69b1366bb1664e102ff3fa55aea91</id>
<content type='text'>
Make local symbole static, because this is used only in this file.

Signed-off-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos/fbdev: don't set mode_config.fb_base</title>
<updated>2014-06-01T17:07:02Z</updated>
<author>
<name>Daniel Kurtz</name>
<email>djkurtz@chromium.org</email>
</author>
<published>2014-04-04T09:22:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b90f54188f2d630d826960e33e1ea8e27e43a33f'/>
<id>urn:sha1:b90f54188f2d630d826960e33e1ea8e27e43a33f</id>
<content type='text'>
AFAICT, the fb_base of a drm_device's mode_config is never used.  It isn't
accessed by core drm, it isn't used by fbmem, and it isn't exposed to user
space.

Furthermore, it is probably supposed to be a physical address, not the
dma address mapped to the display controller, so this is just wrong.

Signed-off-by: Daniel Kurtz &lt;djkurtz@chromium.org&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos/fbdev: don't set fix.smem/mmio_{start,len}</title>
<updated>2014-06-01T17:07:02Z</updated>
<author>
<name>Daniel Kurtz</name>
<email>djkurtz@chromium.org</email>
</author>
<published>2014-04-04T09:22:01Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2f1eab8d8ab59e799f7d51d62410b398607a7bc3'/>
<id>urn:sha1:2f1eab8d8ab59e799f7d51d62410b398607a7bc3</id>
<content type='text'>
Kernel access to the eyxnos fbdev framebuffer is via its gem object's
kernel mapping (kvaddr, stored in info-&gt;screen_base).

User space access is provided by mmap(), read() and write() of /dev/fb/fb0.
These functions also only use screen_base/screen_size().

Therefore, it is not necessary to set fix-&gt;smem_{start,len} or
fix-&gt;mmio_{start,len} fields.

This avoids leaking kernel, physical and dma mapped addresses to user
space via the ioctls FBIOGET_VSCREENINFO and FBIOGET_FSCREENINFO.

Signed-off-by: Daniel Kurtz &lt;djkurtz@chromium.org&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
</feed>
