Inki Dae | 28 Jul 04:00 2014

[PATCH v2 0/2] drm/mipi-dsi: support lpm (low power mode) transfer

This patch series adds lpm tranfer support for video and command data.

for this, this patch adds two flags, and makes mipi dsi host to send
commands to lcd panel device with lpm if mode_flags of lcd panel driver
includes lpm flag.

and also it applies this feature to exynos mipi dsi driver.

Changelog v2:
- Add more describtions.
- Enable High Speed clock only in case of stand by request.

Inki Dae (2):
  drm/mipi-dsi: add (LPM) Low Power Mode transfer support
  drm/exynos: dsi: add LPM (Low Power Mode) transfer support

 drivers/gpu/drm/drm_mipi_dsi.c          |    3 +++
 drivers/gpu/drm/exynos/exynos_drm_dsi.c |   22 ++++++++++++++++++++--
 include/drm/drm_mipi_dsi.h              |    4 ++++
 3 files changed, 27 insertions(+), 2 deletions(-)


Emil Velikov | 27 Jul 20:25 2014

[PATCH 0/8] Upstreaming the Android build and misc fixes

Hello list,

Recently I've had a go at the Anroid builds and I felt ... inspired that
there are (at least) two downstream repositories that have the relevant
Android build, yet all of them use 6+month old libdrm.
Making even builds a pain in the neck :'(

Are there any objections if we get the android build upstream ? AFAICS 
it's nicely isolated from everything else + I've managed to reuse all 
the source/headers lists.

Note that the series lacks a couple of patches from the downstream 
repos, yet adds support for radeon, nouveau and freedreno :)

The missing fixes are - s/mmap/mmap64/, dma-bufs support + other intel 
specific "hacks". If people are happy with the series then we can take
a look at the final bits.

Daniel Vetter | 27 Jul 23:41 2014

[PATCH 00/19] atomic, remixed

Hi all,

So I've figured instead of just talking I should draw up my ideas for atomic
helpers and related stuff in some draft patches. Major differences compared to
Rob's series:

- The software side state update is done synchronously, at least when using the
  helper code. Drivers are free to do whatever they want, as usual. This has a
  bunch of nice upsides:

  + All the tricky locking dances can be abolished, and if the ordering and
    synchronization is done correctly async worker threads don't need any
    modeset state locking at all. I'm fairly sure that Rob's scheme won't blow
    up, but I much prefer we don't need it at all.

  + In Rob's patches any atomic operation must wait for outstanding updates to
    complete. Otherwise the software state isn't committed yet. With the
    synchronous updates we can immediately proceed with the state construction
    and verification and will only block right before applying the state update.
    And even for that drivers can implement cancellation of the previous update.

    This has the nice benefit that check-only operations (which compositors need
    to do right after having completed the current frame to know how to render
    the next one) can be done without blocking for completion of the previous

- Internal interfaces for atomic updates don't need to go through properties,
  but can directly set the state. Drivers can always compare updates in their
  ->check hook later on, so we don't lose expressiveness in the interface. But
  the resulting code in the callers looks much better.
(Continue reading)

Jochen Rollwagen | 25 Jul 18:32 2014

[Radeon RV280] radeon_cs_gem.c:181: cs_gem_write_reloc: Assertion »boi->space_accounted« failed, core dumped

I've recently ported the peopsxgl OpenGL-GPU-Plugin for the pcsx 
Playstation1 Emulator to the Powerpc-architecture. When running certain 
games (for instance "Vagrant Stories") during longer cut-scenes i get a 
reproducible crash of the radeon drm driver (i.e. it always crashes at 
certain points in the scene) with the following message (in german):

pcsx: radeon_cs_gem.c:181: cs_gem_write_reloc: Zusicherung 
»boi->space_accounted« nicht erfüllt.
Abgebrochen (Speicherabzug geschrieben)

This happens with all the latest 3.10, 3.12 and 3.14 kernels.

Other than that i'm running the latest xorg-ati driver, libdrm and mesa 
from git on a Mac Mini G4 (PowerPC).

OpenGL vendor string: Mesa Project
OpenGL renderer string: Mesa DRI R200 (RV280 5962)  TCL DRI2
OpenGL version string: 1.3 Mesa 10.1.6 (git-42f86ef)

I guess the issue is memory/vm/swap-related since the machine only has 1 
gb RAM. The GPU has 64 MB VRAM.

Any ideas what i could do to avoid these crashes ?

dri-devel mailing list
dri-devel <at>
Marek Olšák | 26 Jul 20:12 2014

[PATCH] radeon: fix typo in sample split / fixes MSAA on Hawaii

From: Marek Olšák <marek.olsak <at>>

 radeon/radeon_surface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c
index 9c3a192..8a1fe7d 100644
--- a/radeon/radeon_surface.c
+++ b/radeon/radeon_surface.c
 <at>  <at>  -1914,7 +1914,7  <at>  <at>  static void cik_get_2d_params(struct radeon_surface_manager *surf_man,
         sample_split = 1;
     case CIK__SAMPLE_SPLIT__2:
-        sample_split = 1;
+        sample_split = 2;
     case CIK__SAMPLE_SPLIT__4:
         sample_split = 4;


dri-devel mailing list
dri-devel <at>
François Tigeot | 26 Jul 13:39 2014

[PATCH libdrm] drm: Implement drmCheckModesettingSupported() for DragonFly

For the sake of simplicity, KMS support can always be considered
present on DragonFly.

If some particular version doesn't support KMS yet, appropriate
checks are already done in Dports's x11-drivers/ Makefiles and
KMS-enabled driver packages don't get built.

Signed-off-by: François Tigeot <ftigeot <at>>
 xf86drmMode.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xf86drmMode.c b/xf86drmMode.c
index 7ca89b3..60ce369 100644
--- a/xf86drmMode.c
+++ b/xf86drmMode.c
 <at>  <at>  -806,6 +806,8  <at>  <at>  int drmCheckModesettingSupported(const char *busid)
 			return -EINVAL;
 		return (modesetting ? 0 : -ENOSYS);
+#elif defined(__DragonFly__)
+	return 0;
 	return -ENOSYS;



dri-devel mailing list
(Continue reading)

Rob Clark | 26 Jul 00:51 2014

[PATCH] drm: refcnt drm_display_mode

We're going to need this for atomic.

Signed-off-by: Rob Clark <robdclark <at>>
 drivers/gpu/drm/drm_crtc.c                    |  4 +--
 drivers/gpu/drm/drm_crtc_helper.c             |  2 +-
 drivers/gpu/drm/drm_edid.c                    |  6 ++--
 drivers/gpu/drm/drm_fb_helper.c               |  6 ++--
 drivers/gpu/drm/drm_modes.c                   | 41 ++++++++++++++++++++-------
 drivers/gpu/drm/exynos/exynos_drm_connector.c |  2 +-
 drivers/gpu/drm/gma500/psb_intel_sdvo.c       |  3 +-
 drivers/gpu/drm/i915/intel_panel.c            |  8 ++----
 drivers/gpu/drm/i915/intel_sdvo.c             |  3 +-
 drivers/gpu/drm/nouveau/nouveau_connector.c   |  2 +-
 drivers/gpu/drm/omapdrm/omap_connector.c      |  2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c           |  4 +--
 include/drm/drm_modes.h                       |  5 +++-
 13 files changed, 52 insertions(+), 36 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 1ccf5cb..7a7fced 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
 <at>  <at>  -822,7 +822,7  <at>  <at>  static void drm_mode_remove(struct drm_connector *connector,
 			    struct drm_display_mode *mode)
-	drm_mode_destroy(connector->dev, mode);
+	drm_mode_unreference(mode);
(Continue reading)

Alex Deucher | 25 Jul 23:44 2014

[PATCH] drm/radeon: use packet2 for nop on hawaii with old firmware

Older firmware didn't support the new nop packet.

Signed-off-by: Alex Deucher <alexander.deucher <at>>
 drivers/gpu/drm/radeon/cik.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 44d25da..80a7ce0 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
 <at>  <at>  -8259,6 +8259,7  <at>  <at>  restart_ih:
 static int cik_startup(struct radeon_device *rdev)
 	struct radeon_ring *ring;
+	u32 nop;
 	int r;

 	/* enable pcie gen2/3 link */
 <at>  <at>  -8392,9 +8393,18  <at>  <at>  static int cik_startup(struct radeon_device *rdev)

+	if (rdev->family == CHIP_HAWAII) {
+		if (rdev->new_fw)
+			nop = PACKET3(PACKET3_NOP, 0x3FFF);
+		else
+			nop = RADEON_CP_PACKET2;
+	} else {
+		nop = PACKET3(PACKET3_NOP, 0x3FFF);
(Continue reading)

Alexandre Courbot | 25 Jul 16:47 2014

[PATCH] drm/panel: simple: Use devm_gpiod_get_optional()

Use the new devm_gpiod_get_optional() to simplify the probe code.

Signed-off-by: Alexandre Courbot <acourbot <at>>
 drivers/gpu/drm/panel/panel-simple.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index a251361..91bf566 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
 <at>  <at>  -185,16 +185,14  <at>  <at>  static int panel_simple_probe(struct device *dev, const struct panel_desc *desc)
 	if (IS_ERR(panel->supply))
 		return PTR_ERR(panel->supply);

-	panel->enable_gpio = devm_gpiod_get(dev, "enable");
+	panel->enable_gpio = devm_gpiod_get_optional(dev, "enable");
 	if (IS_ERR(panel->enable_gpio)) {
 		err = PTR_ERR(panel->enable_gpio);
-		if (err != -ENOENT) {
-			dev_err(dev, "failed to request GPIO: %d\n", err);
-			return err;
-		}
+		dev_err(dev, "failed to request GPIO: %d\n", err);
+		return err;
+	}

-		panel->enable_gpio = NULL;
-	} else {
+	if (panel->enable_gpio) {
(Continue reading)

Maarten Lankhorst | 25 Jul 15:23 2014

[ANNOUNCE] libdrm 2.4.55

Damien Lespiau (2):
      intel: Sync the command parser version parameter from kernel
      intel: Sync typo fix from the kernel sources.

Daniel Kurtz (8):
      eyxnos: install exynos tests if HAVE_INSTALL_TESTS
      exynos: fix two warnings
      exynos_fimg2d: fix cast from pointer to integer of different size
      exynos: remove unusable "run" target
      exynos_fimg2d_test: fix drmModeRmFB
      exynos: prime: use drmPrime*() helpers
      exynos: removed unused fd field
      drmOpenByName: remove redundant drmAvailable check

Maarten Lankhorst (2):
      exynos: do not build fimg2d_test when building without libkms support.
      bump to version 2.4.55 for release

Matt Roper (1):
      drm: Add universal plane capability bit and plane type enums

Rob Clark (2):
      freedreno: sync kernel header
      freedreno: add chip-id property

Thomas Klausner (2):
      radeon: Remove superfluous parentheses.
      radeon: Add missing header includes.

(Continue reading)

Joonyoung Shim | 25 Jul 12:59 2014

[PATCH] drm/exynos: control blending of mixer graphic layer 0

The mixer graphic layer 0 isn't blended as default by commit
0377f4ed9f1aed30292c4e3c87f24e028ae26f36(drm/exynos: Don't blend mixer
layer 0). But it needs to be blended with graphic layer 0 if video layer
is enabled by vp because video layer is bottom.

Signed-off-by: Joonyoung Shim <jy0922.shim <at>>
 drivers/gpu/drm/exynos/exynos_mixer.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index 9d0c21a..0a1a065 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
 <at>  <at>  -365,6 +365,11  <at>  <at>  static void mixer_cfg_layer(struct mixer_context *ctx, int win, bool enable)
 			vp_reg_writemask(res, VP_ENABLE, val, VP_ENABLE_ON);
 			mixer_reg_writemask(res, MXR_CFG, val,
+			/* control blending of graphic layer 0 */
+			mixer_reg_writemask(res, MXR_GRAPHIC_CFG(0), val,