Received: by 10.223.185.116 with SMTP id b49csp1974650wrg; Mon, 12 Feb 2018 02:01:24 -0800 (PST) X-Google-Smtp-Source: AH8x227qCBU8IiNM8QdnzKd1eMnp3fRWOaqh/7EXJrcLnahgwufkDIYhSygoyzSVIItgOqCnAaq+ X-Received: by 2002:a17:902:b10e:: with SMTP id q14-v6mr5857130plr.143.1518429684869; Mon, 12 Feb 2018 02:01:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518429684; cv=none; d=google.com; s=arc-20160816; b=nqh4i5z24OAhU/HHx0feWpliFwDULrA2px8he+HgUqzwrWApK3u1a8Z7GTbPvvrIbL 26541pWMr4f1zp4jhEdeSzFSw8q9lliD5OcMK9yUnjWKBMhhGERN/d+unEagFFqMgjev J+vAeWY+/a5WCnNtsQOl8xlHxK93B+STzgaE+xdvFwXvzHs4qhSsxUM8kpNOdZQP6cXq vkFBdiPDUjdeCPQPnG4Jk9w91Fy1ICf9ZM8Q2gvl/OkiDibbOFHBt/4WX65yDmcAduc/ hPDVHITwKv7J5NWQPkLFRHWKsStOWEYZjMPZnal+/gsPFSzSTjp+VoYz/MdYpG1qezni E1Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=Yp8jg03WXgh8hA5bqXp+GB6jmIrHDWOf23/ebW7kE4k=; b=v2nO3eEHvXu8x1BgOiN8ihq2VPimTFrmz2X4MkBj9d4SprMzIPe+K/QKcn3+CVuO5M LutgIhwKhAO+8Hhmi/7/k//nF9Hp0TOxS6/5K9NDqB5JBQTpgo8BwvUiP4iLrJwW/4BC iHHxrgCzJl8YPEbGL5VLDTIrqpdv7+9awU9Sb87gGUSpvd8zELQYkMjyCTHuGXu8ofEU 4yalnBoATN01R/KSSzOOTqdEwlBfQAA12Xvgd6bOtR8oMHTAw+uePQ5tdl4f3yZsiESp sA+CJ8nD8YwImMRv2FQwNy6wD7Wy36lS/MGEUCLdgadjEG98tYpE2lpO040f8gWgSDG+ ROVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ALFlq9z2; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v31-v6si3696355plg.804.2018.02.12.02.01.08; Mon, 12 Feb 2018 02:01:24 -0800 (PST) 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=@gmail.com header.s=20161025 header.b=ALFlq9z2; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933152AbeBLIxM (ORCPT + 99 others); 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 Received: by mail-lf0-f65.google.com with SMTP id g72so19372927lfg.5 for ; Mon, 12 Feb 2018 00:53:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Yp8jg03WXgh8hA5bqXp+GB6jmIrHDWOf23/ebW7kE4k=; b=ALFlq9z2/Tvl+hrmBu0C0E8isykTxu609R9BUiQ4HsUMn/gNMRdMcmf0tiYS2IsbYT QmwJtCXawwrat9afsYBtMy6ae+0KwqQLDAoKtOCbOE9ZBC6vV04u/84E3ybDxo2+TXmD Y62qAJ7bIwCJl0uQ+KqucGBF6DajVkTcg3C8jkuRncggUvB4ZmQJCveRZW53kfZ6IO96 jFWUR/YDF+Ou/fyZo5AuMtTHJ6bgui/+Czxjn6N9AC0sS2+OwxwWofKi13R0htFpqy6U tFR1k8ROGfWw//3Ng3OdWYZ1mlbvAEWZBpjRPb66h6quLQWLgVBFj9Zox9qf2ry2kab1 jUnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Yp8jg03WXgh8hA5bqXp+GB6jmIrHDWOf23/ebW7kE4k=; b=Rw0ogN6m91jtXDOPvgifb3KgDsyPlVypRrsdz4HgfVlEQpfhyp68efXov31HxFVyvn FtkQnlu1bfGQ3epNz2TLldewne3fXlAsc9CI1rlGmnzbyPZ/gx1pGGowWNf+SAoS+oBb lovpX75JV7mjwvrqes/dsPFuwXnhpcPQkWBObXsknisB+eIE8d3zmvG+6yEFQ0or1Jdq tzcb1cXvDYH8qz/OQhZD/vZGl0VuYq+r/HQA2RjJBKjGSfOb/IGfDxGDDbouCVzhWno1 oNM1jSLu1Wg14yN0drJ3gzttfVtHEpdn5e67pg6xC+U+Dgh7FCddmYftZFHvv8fVkS7+ acuA== X-Gm-Message-State: APf1xPB1Qt1k9FR8yeEw+EeeW/XRblJ5UJfvyqIxMH5bWY+mqUhZ6Eoe lKbzzcgsv7ohSI4FsQuV1xc= X-Received: by 10.25.181.147 with SMTP id g19mr2774207lfk.47.1518425583929; Mon, 12 Feb 2018 00:53:03 -0800 (PST) Received: from a2k-HP-ProDesk-600-G2-SFF.kyiv.epam.com (ll-55.209.223.85.sovam.net.ua. [85.223.209.55]) by smtp.gmail.com with ESMTPSA id q77sm897403lfd.23.2018.02.12.00.53.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 12 Feb 2018 00:53:03 -0800 (PST) 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 Precedence: bulk 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