Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp4412180imm; Wed, 30 May 2018 05:18:44 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIdEDHEDYxMieh08nfyoMWgguBYtTtEL0vk2TaIszNKsASKNrcQr6nPivVCDhZBA0ehScib X-Received: by 2002:a63:4384:: with SMTP id q126-v6mr2039309pga.294.1527682724845; Wed, 30 May 2018 05:18:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527682724; cv=none; d=google.com; s=arc-20160816; b=BVPKrEHlCWGyBHau/hMWj609nTVSMTvt/UPGZYzA/y/y3GfyYEMsG3GiD6wApYfhaJ PmC7TnxtEjfvi43fKaVGcDIgG/f8sOy+zOuvArFEzcTCF83GtTKEWljja1OoSHKrU4Yd /L+nWl5uh7QsgvgcN4/g2tBaMTVk9TwpWnzeDaAc1Qmr8+CFAD3bZIcDtF5CisfDbrGY XxkowFDyfEkmhoAhZMvmGKxxFTLVFaU25BYpQcXDL88kWmN4BbuDk088fMJIXMIJGKJ9 DIjC/nSBy/8DJLL9qwncyEIfaOYJzanxm6pfRZbgqhebUiTfzAWA/5SxySzOdysXI6xq jLjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:cms-type:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter :arc-authentication-results; bh=02sS8uJr1lgT090FZGvwIJFzQQP9r9REvcBQ8o26geM=; b=TP82/MmCPooPctdxJ4/okVnb38y28Eb0gSdiel/gt/lCN0lqSiTRnEsQNvtsrGd+gz ui6u3wrjtWnUciVNJj58CAYlTTFINShsJvDwGTyU6MDLhMpDIuvXGFhJAfDnGeruKR8K jrvDHeovUGmV8OrsqT9Avza3sDD1J3SUqsOXRZuEeMdlAi43GjDZCc0/nKIY1fa8tRMV nRDR/WyjfqPKZvagg7C9K6HvyttMEoRaezDAL139Q1x+Ncor+643+oLA6bC3JyhJOwTq jWrLy8aeMoNTQ/PjrFAPNkTwTO/MFMomCnFTzxkcPhNIg6GvFJ4KVQOqgylzDL+k03cu 5MAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=OzT1Gd69; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y62-v6si35582736pfg.246.2018.05.30.05.18.30; Wed, 30 May 2018 05:18:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=OzT1Gd69; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753207AbeE3MQp (ORCPT + 99 others); Wed, 30 May 2018 08:16:45 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:34126 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751689AbeE3MQ2 (ORCPT ); Wed, 30 May 2018 08:16:28 -0400 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20180530121626euoutp021fa672beea95199f574cc0b6a83d4856~zazffu8cv0118901189euoutp02c; Wed, 30 May 2018 12:16:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20180530121626euoutp021fa672beea95199f574cc0b6a83d4856~zazffu8cv0118901189euoutp02c DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1527682586; bh=02sS8uJr1lgT090FZGvwIJFzQQP9r9REvcBQ8o26geM=; h=From:To:Cc:Subject:Date:In-reply-to:References:From; b=OzT1Gd69sknUxg+MXQvc6cN/xen8NK1JdLdSvem8b2UsxUVVIgNUyKLwQh6ovEiNH 0+5No4rs2PyWnubrUCsVIQ6zElfuzOmYy+egv5xPpTdIIgmdojaMcde5cZ/Jl4eYKw JGlGRHLr417YNC5K1/FbkIahgy9GA2/ppSphXp+Q= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20180530121624eucas1p13710179022d7dd0ed410da3edd506753~zazePtZux2956529565eucas1p1d; Wed, 30 May 2018 12:16:24 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 08.2D.17380.8169E0B5; Wed, 30 May 2018 13:16:24 +0100 (BST) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20180530121623eucas1p1309b2c054ccd7a52a611b46346709af9~zazdDaGY12711927119eucas1p1G; Wed, 30 May 2018 12:16:23 +0000 (GMT) X-AuditID: cbfec7f4-b4fc79c0000043e4-73-5b0e9618c1c0 Received: from eusync1.samsung.com ( [203.254.199.211]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 40.0A.04178.7169E0B5; Wed, 30 May 2018 13:16:23 +0100 (BST) Received: from AMDC2075.DIGITAL.local ([106.120.51.25]) by eusync1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0P9J00FMPJF35I90@eusync1.samsung.com>; Wed, 30 May 2018 13:16:23 +0100 (BST) From: Maciej Purski To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org Cc: David Airlie , Rob Herring , Mark Rutland , Thierry Reding , Kukjin Kim , Krzysztof Kozlowski , Archit Taneja , Andrzej Hajda , Laurent Pinchart , Inki Dae , Joonyoung Shim , Seung-Woo Kim , Kyungmin Park , Marek Szyprowski , Bartlomiej Zolnierkiewicz , Maciej Purski Subject: [PATCH v2 02/10] drm/exynos: move pm_runtime_get_sync() to exynos_dsi_init() Date: Wed, 30 May 2018 14:15:53 +0200 Message-id: <1527682561-1386-3-git-send-email-m.purski@samsung.com> X-Mailer: git-send-email 2.7.4 In-reply-to: <1527682561-1386-1-git-send-email-m.purski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAAzWSa0hTYRjHe892Lg5nh2n4qiG0EsvQLPrwQmZSEgci8puimB7zeKFtyo5T F5RLXG3eL5iXQvdBxWzezWqolK3EJM1mTgXTkiRv5DA1ozLn9Nvv+T//58LDQwkkObgnlaxI 45QKViYlRMLut1vD/vCBS1Tg/CdPNNUyjKOC4UEMZetWcNRe2YqjWvOONrb+g0ClM8VC9P3z qBAVzS0J0MhIG4neZy+TSF9SR6KOuXEcWUyPCFQ50ochw8KUEDWbp0lUbx3FkLbXTKLKsgUC bZlqhCGHGGONETCWwgKMeVE9TTIPdVU409GkJ5hnG7M4M5M3gDGddVlMYVcTYNY6vMNEkaKg eE6WnM4pTwXHipI23hiJ1PWDma0rM6QGtIhzgRMF6bOwsbQN2FlCNwJYMJOQC0Q7vAagccJE 7pvKv37BHIkGALVPbQJHsA3g3W4tngsoiqD9oPF+jF13o5sA7JxYAfZAQJfj8EPtEm5v5UqH w7WpdszOQtoHVvWVAHuxmL4EV62sY5o3nBzWC+yyEx0Kn/QE29tAuoyE45p1wuEJhe9e5uMO doWLA117mx6Get0rzMEpUDs/t6dnwr6CoT3/Ofh6YHSXBbQLLO2u2J0FaTHU3ZM4LAy0bWsI x1UqAFzt8isGHgZwoAm4cypensjxZxRcRgDPynmVIjHgRoq8A+z8xtC/gZ/PgelPXD+gKSB1 FgdGiKMkOJvOq+X9AFICqZtY1escJRHHs+pbnDIlRqmScXw/8KKEUnfx9eN3IiV0IpvG3eS4 VE65n8UoJ08NOOKB2F/Viz7WuCDL5O1mfWD0YoUnYcmo5G1ey2HX/Ad7PkZkHI2u+z170XeV ixwzmOQTXuHqEu2grUjXYDU8PrF5ftQsl39bzk/ga6p5X1VcBGYM2YzNm/578oLX1Wb9lBxV 1Xurs2TK5IV6RcxIq7dGljMdY7iiFh273CgV8knsaT+Bkmf/A6KnWIwXAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrCLMWRmVeSWpSXmKPExsVy+t/xy7ri0/iiDWYcUbW4te4cq0XvuZNM Fk0db1ktNs5Yz2ox/whQ7MrX92wWk+5PYLF4ce8ii0X/49fMFufPb2C3ONv0ht2ic+ISdotN j6+xWlzeNYfNYsb5fUwWC17eYrFYe+Quu8XS6xeZLFr3HmG3mDH5JZvFz13zWBxEPdbMW8Po cbmvl8lj56y77B6zO2ayemxa1cnmsf3bA1aP+93HmTw2L6n36NuyitHj8ya5AK4oLpuU1JzM stQifbsEroxvR9ewFXzlr1j/9j57A+M63i5GTg4JAROJqY8eMnUxcnEICSxhlPhz4xgrhNPI JLF5/hcgh4ODTUBLYk17PEhcRGAVo8TUv3fYQRxmgdmsEq8eTWAEGSUsEC7x+dZGJhCbRUBV Yua+iYwgzbwCzhIfridCbJOTuHmukxkkzCngIrF6jx1IWAioYl9LJ+MERp4FjAyrGEVSS4tz 03OLDfWKE3OLS/PS9ZLzczcxAsN+27Gfm3cwXtoYfIhRgINRiYfXIII3Wog1say4MvcQowQH s5IIb+lenmgh3pTEyqrUovz4otKc1OJDjNIcLErivOcNKqOEBNITS1KzU1MLUotgskwcnFIN jBGzBHT/T+rQntIT+u/3xQ3Fm74fUXVuW1H8+S7Xjv9r5JkrnnxTabslwKY6OUlrveL2FeZv DnNkMO9ol/+ROUlDx3BX4/P/biZrp+abqirzvuFl3yST1bFjqejDBtYqZr5ltdPXrvtd+nQq 58a2ZO13/+wuXlv4L36mxuTNQvtj2F4HhWfveavEUpyRaKjFXFScCAD3vPPIdwIAAA== X-CMS-MailID: 20180530121623eucas1p1309b2c054ccd7a52a611b46346709af9 X-Msg-Generator: CA CMS-TYPE: 201P X-CMS-RootMailID: 20180530121623eucas1p1309b2c054ccd7a52a611b46346709af9 References: <1527682561-1386-1-git-send-email-m.purski@samsung.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In order to allow bridge drivers to use DSI transfers in their pre_enable callbacks, pm_runtime_get_sync() should be performed before exynos_dsi_enable(). DSIM_STATE_ENABLED flag now should not guard from calling dsi_host_transfer() before enabling. Signed-off-by: Maciej Purski --- drivers/gpu/drm/exynos/exynos_drm_dsi.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index 9599e6b..85eb2262 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -1312,6 +1312,7 @@ static int exynos_dsi_init(struct exynos_dsi *dsi) { const struct exynos_dsi_driver_data *driver_data = dsi->driver_data; + pm_runtime_get_sync(dsi->dev); exynos_dsi_reset(dsi); exynos_dsi_enable_irq(dsi); @@ -1388,7 +1389,6 @@ static void exynos_dsi_enable(struct drm_encoder *encoder) ret = drm_panel_prepare(dsi->panel); if (ret < 0) { dsi->state &= ~DSIM_STATE_ENABLED; - pm_runtime_put_sync(dsi->dev); return; } @@ -1400,7 +1400,6 @@ static void exynos_dsi_enable(struct drm_encoder *encoder) dsi->state &= ~DSIM_STATE_ENABLED; exynos_dsi_set_display_enable(dsi, false); drm_panel_unprepare(dsi->panel); - pm_runtime_put_sync(dsi->dev); return; } @@ -1422,7 +1421,10 @@ static void exynos_dsi_disable(struct drm_encoder *encoder) dsi->state &= ~DSIM_STATE_ENABLED; - pm_runtime_put_sync(dsi->dev); + if (dsi->state & DSIM_STATE_INITIALIZED) { + pm_runtime_put_sync(dsi->dev); + dsi->state &= ~DSIM_STATE_INITIALIZED; + } } static enum drm_connector_status @@ -1566,9 +1568,6 @@ static ssize_t exynos_dsi_host_transfer(struct mipi_dsi_host *host, struct exynos_dsi_transfer xfer; int ret; - if (!(dsi->state & DSIM_STATE_ENABLED)) - return -EINVAL; - if (!(dsi->state & DSIM_STATE_INITIALIZED)) { ret = exynos_dsi_init(dsi); if (ret) -- 2.7.4