Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8f051e9 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge branch 'exynos-drm-fixes' of...

Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes

  Summary:
   - fix compilation warnings on ARM64bit.
   - fix mic driver initialization.
     . MIC is a part of KMS so it converts it to use component framework
       like other KMS drivers did.
   - fix wrong driver state and disable clock order on DECON driver.
   - fix incorrect use of dma_mmap_attrs function.

* 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
  drm/exynos/decon: fix disable clocks order
  drm/exynos: fix incorrect cpu address for dma_mmap_attrs()
  drm/exynos: exynos5433_decon: fix wrong state in decon_vblank_enable
  drm/exynos: exynos5433_decon: fix wrong state assignment in decon_enable
  drm/exynos: dsi: restore support for drm bridge
  drm/exynos: mic: make all functions static
  drm/exynos: mic: convert to component framework
  drm/exynos: mic: use devm_clk interface
  drm/exynos: fix types for compilation on 64bit architectures
  drm/exynos: ipp: fix incorrect format specifiers in debug messages
  drm/exynos: depend on ARCH_EXYNOS for DRM_EXYNOS
parents 8ae22cb4 00780f3b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
config DRM_EXYNOS
	tristate "DRM Support for Samsung SoC EXYNOS Series"
	depends on OF && DRM && (PLAT_SAMSUNG || ARCH_MULTIPLATFORM)
	depends on OF && DRM && (ARCH_S3C64XX || ARCH_EXYNOS || ARCH_MULTIPLATFORM)
	select DRM_KMS_HELPER
	select DRM_KMS_FB_HELPER
	select FB_CFB_FILLRECT
+3 −5
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ static int decon_enable_vblank(struct exynos_drm_crtc *crtc)
	if (test_bit(BIT_SUSPENDED, &ctx->flags))
		return -EPERM;

	if (test_and_set_bit(BIT_IRQS_ENABLED, &ctx->flags)) {
	if (!test_and_set_bit(BIT_IRQS_ENABLED, &ctx->flags)) {
		val = VIDINTCON0_INTEN;
		if (ctx->out_type == IFTYPE_I80)
			val |= VIDINTCON0_FRAMEDONE;
@@ -402,8 +402,6 @@ static void decon_enable(struct exynos_drm_crtc *crtc)
		decon_enable_vblank(ctx->crtc);

	decon_commit(ctx->crtc);

	set_bit(BIT_SUSPENDED, &ctx->flags);
}

static void decon_disable(struct exynos_drm_crtc *crtc)
@@ -582,9 +580,9 @@ static irqreturn_t decon_irq_handler(int irq, void *dev_id)
static int exynos5433_decon_suspend(struct device *dev)
{
	struct decon_context *ctx = dev_get_drvdata(dev);
	int i;
	int i = ARRAY_SIZE(decon_clks_name);

	for (i = 0; i < ARRAY_SIZE(decon_clks_name); i++)
	while (--i >= 0)
		clk_disable_unprepare(ctx->clks[i]);

	return 0;
+1 −0
Original line number Diff line number Diff line
@@ -1782,6 +1782,7 @@ static int exynos_dsi_bind(struct device *dev, struct device *master,

	bridge = of_drm_find_bridge(dsi->bridge_node);
	if (bridge) {
		encoder->bridge = bridge;
		drm_bridge_attach(drm_dev, bridge);
	}

+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ static int exynos_drm_fb_mmap(struct fb_info *info,
	if (vm_size > exynos_gem->size)
		return -EINVAL;

	ret = dma_mmap_attrs(helper->dev->dev, vma, exynos_gem->pages,
	ret = dma_mmap_attrs(helper->dev->dev, vma, exynos_gem->cookie,
			     exynos_gem->dma_addr, exynos_gem->size,
			     &exynos_gem->dma_attrs);
	if (ret < 0) {
+1 −1
Original line number Diff line number Diff line
@@ -1723,7 +1723,7 @@ static int fimc_probe(struct platform_device *pdev)
		goto err_put_clk;
	}

	DRM_DEBUG_KMS("id[%d]ippdrv[0x%x]\n", ctx->id, (int)ippdrv);
	DRM_DEBUG_KMS("id[%d]ippdrv[%p]\n", ctx->id, ippdrv);

	spin_lock_init(&ctx->lock);
	platform_set_drvdata(pdev, ctx);
Loading