From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH 2/4] drm/mxsfb: Do not use deprecated drm_driver.{enable|disable)_vblank Date: Mon, 12 Feb 2018 10:52:52 +0200 Message-ID: <1518425574-32671-3-git-send-email-andr2000@gmail.com> References: <1518425574-32671-1-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x243.google.com (mail-lf0-x243.google.com [IPv6:2a00:1450:4010:c07::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 302886E0E8 for ; Mon, 12 Feb 2018 08:53:05 +0000 (UTC) Received: by mail-lf0-x243.google.com with SMTP id g72so19372943lfg.5 for ; Mon, 12 Feb 2018 00:53:05 -0800 (PST) In-Reply-To: <1518425574-32671-1-git-send-email-andr2000@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Marek Vasut , Oleksandr Andrushchenko , airlied@linux.ie, daniel.vetter@intel.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw YW0uY29tPgoKRG8gbm90IHVzZSBkZXByZWNhdGVkIGRybV9kcml2ZXIue2VuYWJsZXxkaXNhYmxl KV92YmxhbmsgY2FsbGJhY2tzLApidXQgdXNlIGRybV9zaW1wbGVfa21zX2hlbHBlJ3MgcGlwZSBj YWxsYmFja3MgaW5zdGVhZC4KClNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtv IDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4KQ2M6IE1hcmVrIFZhc3V0IDxtYXJl eEBkZW54LmRlPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYyB8IDU0ICsr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI4 IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9teHNmYi9teHNmYl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYu YwppbmRleCAxMjA3ZmZlMzYyNTAuLjVjYWU4ZGI5ZGNkNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL214c2ZiL214c2ZiX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNm Yl9kcnYuYwpAQCAtMTMxLDExICsxMzEsMzcgQEAgc3RhdGljIGludCBteHNmYl9waXBlX3ByZXBh cmVfZmIoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCXJldHVybiBkcm1f Z2VtX2ZiX3ByZXBhcmVfZmIoJnBpcGUtPnBsYW5lLCBwbGFuZV9zdGF0ZSk7CiB9CiAKK3N0YXRp YyBpbnQgbXhzZmJfcGlwZV9lbmFibGVfdmJsYW5rKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlf cGlwZSAqcGlwZSkKK3sKKwlzdHJ1Y3QgbXhzZmJfZHJtX3ByaXZhdGUgKm14c2ZiID0gZHJtX3Bp cGVfdG9fbXhzZmJfZHJtX3ByaXZhdGUocGlwZSk7CisKKwkvKiBDbGVhciBhbmQgZW5hYmxlIFZC TEFOSyBJUlEgKi8KKwlteHNmYl9lbmFibGVfYXhpX2NsayhteHNmYik7CisJd3JpdGVsKENUUkwx X0NVUl9GUkFNRV9ET05FX0lSUSwgbXhzZmItPmJhc2UgKyBMQ0RDX0NUUkwxICsgUkVHX0NMUik7 CisJd3JpdGVsKENUUkwxX0NVUl9GUkFNRV9ET05FX0lSUV9FTiwgbXhzZmItPmJhc2UgKyBMQ0RD X0NUUkwxICsgUkVHX1NFVCk7CisJbXhzZmJfZGlzYWJsZV9heGlfY2xrKG14c2ZiKTsKKworCXJl dHVybiAwOworfQorCitzdGF0aWMgdm9pZCBteHNmYl9waXBlX2Rpc2FibGVfdmJsYW5rKHN0cnVj dCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSkKK3sKKwlzdHJ1Y3QgbXhzZmJfZHJtX3By aXZhdGUgKm14c2ZiID0gZHJtX3BpcGVfdG9fbXhzZmJfZHJtX3ByaXZhdGUocGlwZSk7CisKKwkv KiBEaXNhYmxlIGFuZCBjbGVhciBWQkxBTksgSVJRICovCisJbXhzZmJfZW5hYmxlX2F4aV9jbGso bXhzZmIpOworCXdyaXRlbChDVFJMMV9DVVJfRlJBTUVfRE9ORV9JUlFfRU4sIG14c2ZiLT5iYXNl ICsgTENEQ19DVFJMMSArIFJFR19DTFIpOworCXdyaXRlbChDVFJMMV9DVVJfRlJBTUVfRE9ORV9J UlEsIG14c2ZiLT5iYXNlICsgTENEQ19DVFJMMSArIFJFR19DTFIpOworCW14c2ZiX2Rpc2FibGVf YXhpX2NsayhteHNmYik7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3Bp cGVfZnVuY3MgbXhzZmJfZnVuY3MgPSB7CiAJLmVuYWJsZQkJPSBteHNmYl9waXBlX2VuYWJsZSwK IAkuZGlzYWJsZQk9IG14c2ZiX3BpcGVfZGlzYWJsZSwKIAkudXBkYXRlCQk9IG14c2ZiX3BpcGVf dXBkYXRlLAogCS5wcmVwYXJlX2ZiCT0gbXhzZmJfcGlwZV9wcmVwYXJlX2ZiLAorCS5lbmFibGVf dmJsYW5rCT0gbXhzZmJfcGlwZV9lbmFibGVfdmJsYW5rLAorCS5kaXNhYmxlX3ZibGFuawk9IG14 c2ZiX3BpcGVfZGlzYWJsZV92YmxhbmssCiB9OwogCiBzdGF0aWMgaW50IG14c2ZiX2xvYWQoc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgdW5zaWduZWQgbG9uZyBmbGFncykKQEAgLTI3NCwzMyArMzAw LDExIEBAIHN0YXRpYyB2b2lkIG14c2ZiX2xhc3RjbG9zZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJt KQogCWRybV9mYmRldl9jbWFfcmVzdG9yZV9tb2RlKG14c2ZiLT5mYmRldik7CiB9CiAKLXN0YXRp YyBpbnQgbXhzZmJfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCB1bnNpZ25l ZCBpbnQgY3J0YykKLXsKLQlzdHJ1Y3QgbXhzZmJfZHJtX3ByaXZhdGUgKm14c2ZiID0gZHJtLT5k ZXZfcHJpdmF0ZTsKLQotCS8qIENsZWFyIGFuZCBlbmFibGUgVkJMQU5LIElSUSAqLwotCW14c2Zi X2VuYWJsZV9heGlfY2xrKG14c2ZiKTsKLQl3cml0ZWwoQ1RSTDFfQ1VSX0ZSQU1FX0RPTkVfSVJR LCBteHNmYi0+YmFzZSArIExDRENfQ1RSTDEgKyBSRUdfQ0xSKTsKLQl3cml0ZWwoQ1RSTDFfQ1VS X0ZSQU1FX0RPTkVfSVJRX0VOLCBteHNmYi0+YmFzZSArIExDRENfQ1RSTDEgKyBSRUdfU0VUKTsK LQlteHNmYl9kaXNhYmxlX2F4aV9jbGsobXhzZmIpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRp YyB2b2lkIG14c2ZiX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHVuc2ln bmVkIGludCBjcnRjKQorc3RhdGljIHZvaWQgbXhzZmJfaXJxX3ByZWluc3RhbGwoc3RydWN0IGRy bV9kZXZpY2UgKmRybSkKIHsKIAlzdHJ1Y3QgbXhzZmJfZHJtX3ByaXZhdGUgKm14c2ZiID0gZHJt LT5kZXZfcHJpdmF0ZTsKIAotCS8qIERpc2FibGUgYW5kIGNsZWFyIFZCTEFOSyBJUlEgKi8KLQlt eHNmYl9lbmFibGVfYXhpX2NsayhteHNmYik7Ci0Jd3JpdGVsKENUUkwxX0NVUl9GUkFNRV9ET05F X0lSUV9FTiwgbXhzZmItPmJhc2UgKyBMQ0RDX0NUUkwxICsgUkVHX0NMUik7Ci0Jd3JpdGVsKENU UkwxX0NVUl9GUkFNRV9ET05FX0lSUSwgbXhzZmItPmJhc2UgKyBMQ0RDX0NUUkwxICsgUkVHX0NM Uik7Ci0JbXhzZmJfZGlzYWJsZV9heGlfY2xrKG14c2ZiKTsKLX0KLQotc3RhdGljIHZvaWQgbXhz ZmJfaXJxX3ByZWluc3RhbGwoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKLXsKLQlteHNmYl9kaXNh YmxlX3ZibGFuayhkcm0sIDApOworCW14c2ZiX3BpcGVfZGlzYWJsZV92YmxhbmsoJm14c2ZiLT5w aXBlKTsKIH0KIAogc3RhdGljIGlycXJldHVybl90IG14c2ZiX2lycV9oYW5kbGVyKGludCBpcnEs IHZvaWQgKmRhdGEpCkBAIC0zMzMsOCArMzM3LDYgQEAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVy IG14c2ZiX2RyaXZlciA9IHsKIAkuaXJxX2hhbmRsZXIJCT0gbXhzZmJfaXJxX2hhbmRsZXIsCiAJ LmlycV9wcmVpbnN0YWxsCQk9IG14c2ZiX2lycV9wcmVpbnN0YWxsLAogCS5pcnFfdW5pbnN0YWxs CQk9IG14c2ZiX2lycV9wcmVpbnN0YWxsLAotCS5lbmFibGVfdmJsYW5rCQk9IG14c2ZiX2VuYWJs ZV92YmxhbmssCi0JLmRpc2FibGVfdmJsYW5rCQk9IG14c2ZiX2Rpc2FibGVfdmJsYW5rLAogCS5n ZW1fZnJlZV9vYmplY3RfdW5sb2NrZWQgPSBkcm1fZ2VtX2NtYV9mcmVlX29iamVjdCwKIAkuZ2Vt X3ZtX29wcwkJPSAmZHJtX2dlbV9jbWFfdm1fb3BzLAogCS5kdW1iX2NyZWF0ZQkJPSBkcm1fZ2Vt X2NtYV9kdW1iX2NyZWF0ZSwKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933155AbeBLIxM (ORCPT ); Mon, 12 Feb 2018 03:53:12 -0500 Received: from mail-lf0-f65.google.com ([209.85.215.65]:37994 "EHLO mail-lf0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933115AbeBLIxF (ORCPT ); Mon, 12 Feb 2018 03:53:05 -0500 X-Google-Smtp-Source: AH8x227BPGJHLH7ngRLSmK5WeG110u//LcKvxHN2REy1QqZanf2kjLqwN+tBx6QORr1+TllbCEEkrQ== From: Oleksandr Andrushchenko To: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: daniel.vetter@intel.com, gustavo@padovan.org, airlied@linux.ie, seanpaul@chromium.org, Oleksandr Andrushchenko , Marek Vasut Subject: [PATCH 2/4] drm/mxsfb: Do not use deprecated drm_driver.{enable|disable)_vblank Date: Mon, 12 Feb 2018 10:52:52 +0200 Message-Id: <1518425574-32671-3-git-send-email-andr2000@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1518425574-32671-1-git-send-email-andr2000@gmail.com> References: <1518425574-32671-1-git-send-email-andr2000@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Oleksandr Andrushchenko Do not use deprecated drm_driver.{enable|disable)_vblank callbacks, but use drm_simple_kms_helpe's pipe callbacks instead. Signed-off-by: Oleksandr Andrushchenko Cc: Marek Vasut --- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 54 ++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c index 1207ffe36250..5cae8db9dcd4 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c @@ -131,11 +131,37 @@ static int mxsfb_pipe_prepare_fb(struct drm_simple_display_pipe *pipe, return drm_gem_fb_prepare_fb(&pipe->plane, plane_state); } +static int mxsfb_pipe_enable_vblank(struct drm_simple_display_pipe *pipe) +{ + struct mxsfb_drm_private *mxsfb = drm_pipe_to_mxsfb_drm_private(pipe); + + /* Clear and enable VBLANK IRQ */ + mxsfb_enable_axi_clk(mxsfb); + writel(CTRL1_CUR_FRAME_DONE_IRQ, mxsfb->base + LCDC_CTRL1 + REG_CLR); + writel(CTRL1_CUR_FRAME_DONE_IRQ_EN, mxsfb->base + LCDC_CTRL1 + REG_SET); + mxsfb_disable_axi_clk(mxsfb); + + return 0; +} + +static void mxsfb_pipe_disable_vblank(struct drm_simple_display_pipe *pipe) +{ + struct mxsfb_drm_private *mxsfb = drm_pipe_to_mxsfb_drm_private(pipe); + + /* Disable and clear VBLANK IRQ */ + mxsfb_enable_axi_clk(mxsfb); + writel(CTRL1_CUR_FRAME_DONE_IRQ_EN, mxsfb->base + LCDC_CTRL1 + REG_CLR); + writel(CTRL1_CUR_FRAME_DONE_IRQ, mxsfb->base + LCDC_CTRL1 + REG_CLR); + mxsfb_disable_axi_clk(mxsfb); +} + static struct drm_simple_display_pipe_funcs mxsfb_funcs = { .enable = mxsfb_pipe_enable, .disable = mxsfb_pipe_disable, .update = mxsfb_pipe_update, .prepare_fb = mxsfb_pipe_prepare_fb, + .enable_vblank = mxsfb_pipe_enable_vblank, + .disable_vblank = mxsfb_pipe_disable_vblank, }; static int mxsfb_load(struct drm_device *drm, unsigned long flags) @@ -274,33 +300,11 @@ static void mxsfb_lastclose(struct drm_device *drm) drm_fbdev_cma_restore_mode(mxsfb->fbdev); } -static int mxsfb_enable_vblank(struct drm_device *drm, unsigned int crtc) -{ - struct mxsfb_drm_private *mxsfb = drm->dev_private; - - /* Clear and enable VBLANK IRQ */ - mxsfb_enable_axi_clk(mxsfb); - writel(CTRL1_CUR_FRAME_DONE_IRQ, mxsfb->base + LCDC_CTRL1 + REG_CLR); - writel(CTRL1_CUR_FRAME_DONE_IRQ_EN, mxsfb->base + LCDC_CTRL1 + REG_SET); - mxsfb_disable_axi_clk(mxsfb); - - return 0; -} - -static void mxsfb_disable_vblank(struct drm_device *drm, unsigned int crtc) +static void mxsfb_irq_preinstall(struct drm_device *drm) { struct mxsfb_drm_private *mxsfb = drm->dev_private; - /* Disable and clear VBLANK IRQ */ - mxsfb_enable_axi_clk(mxsfb); - writel(CTRL1_CUR_FRAME_DONE_IRQ_EN, mxsfb->base + LCDC_CTRL1 + REG_CLR); - writel(CTRL1_CUR_FRAME_DONE_IRQ, mxsfb->base + LCDC_CTRL1 + REG_CLR); - mxsfb_disable_axi_clk(mxsfb); -} - -static void mxsfb_irq_preinstall(struct drm_device *drm) -{ - mxsfb_disable_vblank(drm, 0); + mxsfb_pipe_disable_vblank(&mxsfb->pipe); } static irqreturn_t mxsfb_irq_handler(int irq, void *data) @@ -333,8 +337,6 @@ static struct drm_driver mxsfb_driver = { .irq_handler = mxsfb_irq_handler, .irq_preinstall = mxsfb_irq_preinstall, .irq_uninstall = mxsfb_irq_preinstall, - .enable_vblank = mxsfb_enable_vblank, - .disable_vblank = mxsfb_disable_vblank, .gem_free_object_unlocked = drm_gem_cma_free_object, .gem_vm_ops = &drm_gem_cma_vm_ops, .dumb_create = drm_gem_cma_dumb_create, -- 2.7.4