From patchwork Wed Feb 8 10:50:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Srinivas, Vidya" X-Patchwork-Id: 9562167 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id D169060434 for ; Wed, 8 Feb 2017 10:39:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C30732094F for ; Wed, 8 Feb 2017 10:39:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B72F92849B; Wed, 8 Feb 2017 10:39:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 31B422094F for ; Wed, 8 Feb 2017 10:39:06 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6503F6E827; Wed, 8 Feb 2017 10:39:05 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id C75196E827 for ; Wed, 8 Feb 2017 10:39:04 +0000 (UTC) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP; 08 Feb 2017 02:39:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,346,1477983600"; d="scan'208";a="222748237" Received: from vsrini4-ubuntu-intel.iind.intel.com ([10.223.26.91]) by fmsmga004.fm.intel.com with ESMTP; 08 Feb 2017 02:39:02 -0800 From: Vidya Srinivas To: intel-gfx@lists.freedesktop.org Date: Wed, 8 Feb 2017 16:20:53 +0530 Message-Id: <1486551058-22596-5-git-send-email-vidya.srinivas@intel.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1486551058-22596-1-git-send-email-vidya.srinivas@intel.com> References: <1486551058-22596-1-git-send-email-vidya.srinivas@intel.com> Cc: jani.nikula@intel.com, Vidya Srinivas Subject: [Intel-gfx] [PATCH 4/9] drm/i915: Add DSI panel power on/off sequence callbacks X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP From: Uma Shankar Panel Power On/Off sequences are part of Panel spec. These are present in VBT v3 of the Intel VBT spec. Some DSI controller/panels require making SOC specific device ready changes in between the panel power ON and sending the OTP sequences. This patch introduces panel power on callbacks to decouple panel power ON and OTP. Signed-off-by: Uma Shankar Signed-off-by: Vidya Srinivas --- drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c index 8f683b8..4279279 100644 --- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c +++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c @@ -547,10 +547,24 @@ static int vbt_panel_get_modes(struct drm_panel *panel) return 1; } +static int vbt_panel_power_on(struct drm_panel *panel) +{ + generic_exec_sequence(panel, MIPI_SEQ_POWER_ON); + return 0; +} + +static int vbt_panel_power_off(struct drm_panel *panel) +{ + generic_exec_sequence(panel, MIPI_SEQ_POWER_OFF); + return 0; +} + static const struct drm_panel_funcs vbt_panel_funcs = { .disable = vbt_panel_disable, .unprepare = vbt_panel_unprepare, .prepare = vbt_panel_prepare, + .power_on = vbt_panel_power_on, + .power_off = vbt_panel_power_off, .enable = vbt_panel_enable, .get_modes = vbt_panel_get_modes, };