From nobody Thu Jan 1 07:18:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A4E35C07545 for ; Tue, 24 Oct 2023 15:57:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343988AbjJXP5x (ORCPT ); Tue, 24 Oct 2023 11:57:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44410 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234794AbjJXP5t (ORCPT ); Tue, 24 Oct 2023 11:57:49 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DFCD783 for ; Tue, 24 Oct 2023 08:57:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698163068; x=1729699068; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=CGHK9hVViLLRXP1qkBxDzBZsDUdNwG2+XztuBNrzymU=; b=XufQ+EyHCJ7RTzgQxDCFm8rp/LMFZfQNhns4p5pRPMloydw0Wfpuukz5 VnYTKtI2TWA7nrLRgl6Laghp4q1EaYeKnaU/k7HtRw6LKGoZ5bUlL2dZU 6bP2Cd0uuc4YD/MjJe/bBx0TmJNa2/iv6qngPSLXmJXUTVw/J9sjug9/A PM0KrswE0jtF4WI1EKuv3uwp8MC9m36BsrG9pZGHMqjJpqJeA9UmSGCYV yFaTTQBVI1+lTu57NenzPy33MnhxZmlQp7au+O5apwNTAX/gQzDwljmT6 1Jd2ErXdZ0wnaeC8MTqXe+xRYIqTKHGyuW3PLHYOyUQN00i+k7p5QZJdS g==; X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="8649780" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="8649780" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2023 08:57:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="902233850" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="902233850" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 24 Oct 2023 08:55:22 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 094E814F; Tue, 24 Oct 2023 18:57:41 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Jani Nikula , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Daniel Vetter , Hans de Goede Subject: [PATCH v2 1/7] drm/i915/dsi: Replace while(1) with one with clear exit condition Date: Tue, 24 Oct 2023 18:57:33 +0300 Message-Id: <20231024155739.3861342-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> References: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Move existing condition to while(), so it will be clear on what circumstances the loop is successfully finishing. Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm= /i915/display/intel_dsi_vbt.c index 24b2cbcfc1ef..a6a6f1814967 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -707,13 +707,10 @@ static void intel_dsi_vbt_exec(struct intel_dsi *inte= l_dsi, if (connector->panel.vbt.dsi.seq_version >=3D 3) data +=3D 4; =20 - while (1) { + while (*data !=3D MIPI_SEQ_ELEM_END) { u8 operation_byte =3D *data++; u8 operation_size =3D 0; =20 - if (operation_byte =3D=3D MIPI_SEQ_ELEM_END) - break; - if (operation_byte < ARRAY_SIZE(exec_elem)) mipi_elem_exec =3D exec_elem[operation_byte]; else --=20 2.40.0.1.gaa8946217a0b From nobody Thu Jan 1 07:18:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 78BBEC25B48 for ; Tue, 24 Oct 2023 16:09:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344110AbjJXQJ0 (ORCPT ); Tue, 24 Oct 2023 12:09:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41456 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344066AbjJXQJP (ORCPT ); Tue, 24 Oct 2023 12:09:15 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 84AF610C9 for ; Tue, 24 Oct 2023 09:09:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698163752; x=1729699752; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=VdjY32/Uu2D4uk0y6fkSIpnqez7zOqy3ni8nIcydf2s=; b=eMNm4ZNp2qe26HOBFyHAKfNKY7Q2I74GULOYzu2v0OlVA2CF/rRDpUb3 iy1Jhmgk31npA/aj7DPLGjXDoddVCtelHtYdwElCAfsrfEzmf4YtbBbfn YYxbbSZIF2uDeULV4up6V+lD/1Q9rwr3yaW8aaJ8Es6gIWijgVF808J2h mRBVh+L25Y5uQifgE688J9idSWZlxQlyfveKnfdh0BEgNedQ8JKximscF O2GUW2iPVwhXdwDbfQhV3pe6jKc4xD9JH5B0oApxzvpNdie02dGmYBmFh 8uutuwsGkQA2lFvg8n3iRfbqwmCMrtBS8kyqqyydmZZGpLDpXQ7JOpJa7 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="473328731" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="473328731" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2023 08:57:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="708354964" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="708354964" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga003.jf.intel.com with ESMTP; 24 Oct 2023 08:57:43 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 206A5871; Tue, 24 Oct 2023 18:57:42 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Jani Nikula , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Daniel Vetter , Hans de Goede Subject: [PATCH v2 2/7] drm/i915/dsi: Get rid of redundant 'else' Date: Tue, 24 Oct 2023 18:57:34 +0300 Message-Id: <20231024155739.3861342-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> References: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" In the snippets like the following if (...) return / goto / break / continue ...; else ... the 'else' is redundant. Get rid of it. Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 58 ++++++++++---------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm= /i915/display/intel_dsi_vbt.c index a6a6f1814967..22b89e68e6de 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -142,7 +142,7 @@ static enum port intel_dsi_seq_port_to_port(struct inte= l_dsi *intel_dsi, if (seq_port) { if (intel_dsi->ports & BIT(PORT_B)) return PORT_B; - else if (intel_dsi->ports & BIT(PORT_C)) + if (intel_dsi->ports & BIT(PORT_C)) return PORT_C; } =20 @@ -675,8 +675,8 @@ static const char *sequence_name(enum mipi_seq seq_id) { if (seq_id < ARRAY_SIZE(seq_name) && seq_name[seq_id]) return seq_name[seq_id]; - else - return "(unknown)"; + + return "(unknown)"; } =20 static void intel_dsi_vbt_exec(struct intel_dsi *intel_dsi, @@ -870,36 +870,34 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, = u16 panel_id) * multiply by 100 to preserve remainder */ if (intel_dsi->video_mode =3D=3D BURST_MODE) { - if (mipi_config->target_burst_mode_freq) { - u32 bitrate =3D intel_dsi_bitrate(intel_dsi); + u32 bitrate; =20 - /* - * Sometimes the VBT contains a slightly lower clock, - * then the bitrate we have calculated, in this case - * just replace it with the calculated bitrate. - */ - if (mipi_config->target_burst_mode_freq < bitrate && - intel_fuzzy_clock_check( - mipi_config->target_burst_mode_freq, - bitrate)) - mipi_config->target_burst_mode_freq =3D bitrate; - - if (mipi_config->target_burst_mode_freq < bitrate) { - drm_err(&dev_priv->drm, - "Burst mode freq is less than computed\n"); - return false; - } - - burst_mode_ratio =3D DIV_ROUND_UP( - mipi_config->target_burst_mode_freq * 100, - bitrate); - - intel_dsi->pclk =3D DIV_ROUND_UP(intel_dsi->pclk * burst_mode_ratio, 10= 0); - } else { - drm_err(&dev_priv->drm, - "Burst mode target is not set\n"); + if (mipi_config->target_burst_mode_freq =3D=3D 0) { + drm_err(&dev_priv->drm, "Burst mode target is not set\n"); return false; } + + bitrate =3D intel_dsi_bitrate(intel_dsi); + + /* + * Sometimes the VBT contains a slightly lower clock, then + * the bitrate we have calculated, in this case just replace it + * with the calculated bitrate. + */ + if (mipi_config->target_burst_mode_freq < bitrate && + intel_fuzzy_clock_check(mipi_config->target_burst_mode_freq, + bitrate)) + mipi_config->target_burst_mode_freq =3D bitrate; + + if (mipi_config->target_burst_mode_freq < bitrate) { + drm_err(&dev_priv->drm, "Burst mode freq is less than computed\n"); + return false; + } + + burst_mode_ratio =3D + DIV_ROUND_UP(mipi_config->target_burst_mode_freq * 100, bitrate); + + intel_dsi->pclk =3D DIV_ROUND_UP(intel_dsi->pclk * burst_mode_ratio, 100= ); } else burst_mode_ratio =3D 100; =20 --=20 2.40.0.1.gaa8946217a0b From nobody Thu Jan 1 07:18:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6607AC00A8F for ; Tue, 24 Oct 2023 15:57:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343972AbjJXP5v (ORCPT ); Tue, 24 Oct 2023 11:57:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44382 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234788AbjJXP5s (ORCPT ); Tue, 24 Oct 2023 11:57:48 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4450CDE for ; Tue, 24 Oct 2023 08:57:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698163067; x=1729699067; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yFwM2WjkU3iKZYfcHCR7ptmZ6IIfrOEWKYyPqqzrsNU=; b=Vax2yMUP30TFX288W+7OGLcVMNJagyQbW7stnJ0iGoNE0Rzn9gBI1xh7 rG6IaRIaXZmjsj8uwF8ndc8m3sXV9gRA0gnn3TEiTmDNJV+QA2Uup7IUD iPFaaxlIkdXDhXvFGXkuS7BkU4gMAWdwKNbBxyWynH8qJRj+I4zpTu/gE 1LfUx0qWVJJMlv8F/pz2YHemtfUFVmogQc0pgLXf0yWGOCcTg/07f8i4o 7vOpbE3EfbafL0XCoIFozm2qZzvlYwZ/XNPRxb5VjOPK9OfIG1G0Juj1r U8kegV0a/WBdxKKoAveYFvAYMFXYr3bHVhKjyNMXglPR+xdsQzwQjnktV g==; X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="8649775" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="8649775" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2023 08:57:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="902233852" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="902233852" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 24 Oct 2023 08:55:22 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 2A9C281C; Tue, 24 Oct 2023 18:57:42 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Jani Nikula , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Daniel Vetter , Hans de Goede Subject: [PATCH v2 3/7] drm/i915/dsi: Replace check with a (missing) MIPI sequence name Date: Tue, 24 Oct 2023 18:57:35 +0300 Message-Id: <20231024155739.3861342-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> References: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Names of the MIPI sequence steps are sequential and defined, no need to check for the gaps. However in seq_name the MIPI_SEQ_END is missing. Add it there, and drop unneeded NULL check in sequence_name(). Signed-off-by: Andy Shevchenko Reviewed-by: Andi Shyti --- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm= /i915/display/intel_dsi_vbt.c index 22b89e68e6de..1014051a6866 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -658,6 +658,7 @@ static const fn_mipi_elem_exec exec_elem[] =3D { */ =20 static const char * const seq_name[] =3D { + [MIPI_SEQ_END] =3D "MIPI_SEQ_END", [MIPI_SEQ_DEASSERT_RESET] =3D "MIPI_SEQ_DEASSERT_RESET", [MIPI_SEQ_INIT_OTP] =3D "MIPI_SEQ_INIT_OTP", [MIPI_SEQ_DISPLAY_ON] =3D "MIPI_SEQ_DISPLAY_ON", @@ -673,7 +674,7 @@ static const char * const seq_name[] =3D { =20 static const char *sequence_name(enum mipi_seq seq_id) { - if (seq_id < ARRAY_SIZE(seq_name) && seq_name[seq_id]) + if (seq_id < ARRAY_SIZE(seq_name)) return seq_name[seq_id]; =20 return "(unknown)"; --=20 2.40.0.1.gaa8946217a0b From nobody Thu Jan 1 07:18:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EA48CC25B48 for ; Tue, 24 Oct 2023 15:57:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343996AbjJXP54 (ORCPT ); Tue, 24 Oct 2023 11:57:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44440 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343968AbjJXP5u (ORCPT ); Tue, 24 Oct 2023 11:57:50 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB628DE for ; Tue, 24 Oct 2023 08:57:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698163068; x=1729699068; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=wMAwZJV3JScd0HFc2FZs453eK1PNONybSnww0CEKj2E=; b=SrYenym5ac0aWflqdAl8LGtBrCkTfFHkkO+o8NlcN0HRqoYJed46uD/l 1pGtsFhIVA6e758sr6XMO8F2Xn224aBn9k0uKZq/+X5RXgSrckcjSFTpg 2AcViAXBHkDRYQbkS0/hGjLYnh6W4xSSSB92IhFgR1FYcjcjN9qFfREhQ MtXxwZCOL/O6CzjX3w1JMMeBW82k76IbpTj/9seWPtmZKd1ftyjeVFUtC 1pdafYZJZrGkEZWnHcxLGNxGnkzd2t3ZOcIr5CXbmnG9BB5qhOJmiI2+o a3QuVg4Y/giZ8NUoub7a6w8/k3ggCyqECkIf4TiExINgqcNKWaK1pNx8t g==; X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="8649785" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="8649785" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2023 08:57:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="902233849" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="902233849" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 24 Oct 2023 08:55:22 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 431799CE; Tue, 24 Oct 2023 18:57:42 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Jani Nikula , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Daniel Vetter , Hans de Goede Subject: [PATCH v2 4/7] drm/i915/dsi: Extract common soc_gpio_exec() helper Date: Tue, 24 Oct 2023 18:57:36 +0300 Message-Id: <20231024155739.3861342-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> References: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Extract a common soc_gpio_exec() helper that may be used by a few SoCs. Signed-off-by: Andy Shevchenko --- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 49 +++++++++++--------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm= /i915/display/intel_dsi_vbt.c index 1014051a6866..3fb85b6d320e 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -243,6 +243,32 @@ static const u8 *mipi_exec_delay(struct intel_dsi *int= el_dsi, const u8 *data) return data; } =20 +static void soc_exec_gpio(struct intel_connector *connector, const char *c= on_id, + u8 gpio_index, bool value) +{ + struct drm_i915_private *dev_priv =3D to_i915(connector->base.dev); + /* XXX: this table is a quick ugly hack. */ + static struct gpio_desc *soc_gpio_table[U8_MAX + 1]; + struct gpio_desc *gpio_desc =3D soc_gpio_table[gpio_index]; + + if (gpio_desc) { + gpiod_set_value(gpio_desc, value); + } else { + gpio_desc =3D devm_gpiod_get_index(dev_priv->drm.dev, + con_id, gpio_index, + value ? GPIOD_OUT_LOW : + GPIOD_OUT_HIGH); + if (IS_ERR(gpio_desc)) { + drm_err(&dev_priv->drm, + "GPIO index %u request failed (%pe)\n", + gpio_index, gpio_desc); + return; + } + + soc_gpio_table[gpio_index] =3D gpio_desc; + } +} + static void vlv_exec_gpio(struct intel_connector *connector, u8 gpio_source, u8 gpio_index, bool value) { @@ -348,28 +374,7 @@ static void chv_exec_gpio(struct intel_connector *conn= ector, static void bxt_exec_gpio(struct intel_connector *connector, u8 gpio_source, u8 gpio_index, bool value) { - struct drm_i915_private *dev_priv =3D to_i915(connector->base.dev); - /* XXX: this table is a quick ugly hack. */ - static struct gpio_desc *bxt_gpio_table[U8_MAX + 1]; - struct gpio_desc *gpio_desc =3D bxt_gpio_table[gpio_index]; - - if (!gpio_desc) { - gpio_desc =3D devm_gpiod_get_index(dev_priv->drm.dev, - NULL, gpio_index, - value ? GPIOD_OUT_LOW : - GPIOD_OUT_HIGH); - - if (IS_ERR_OR_NULL(gpio_desc)) { - drm_err(&dev_priv->drm, - "GPIO index %u request failed (%ld)\n", - gpio_index, PTR_ERR(gpio_desc)); - return; - } - - bxt_gpio_table[gpio_index] =3D gpio_desc; - } - - gpiod_set_value(gpio_desc, value); + soc_exec_gpio(connector, NULL, gpio_index, value); } =20 static void icl_exec_gpio(struct intel_connector *connector, --=20 2.40.0.1.gaa8946217a0b From nobody Thu Jan 1 07:18:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3D485C07545 for ; Tue, 24 Oct 2023 16:09:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344060AbjJXQJX (ORCPT ); Tue, 24 Oct 2023 12:09:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344083AbjJXQJQ (ORCPT ); Tue, 24 Oct 2023 12:09:16 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CCDDD10CE for ; Tue, 24 Oct 2023 09:09:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698163752; x=1729699752; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2pV0njvceG1yP8TEVnAggZ39CaiG94yX2lM8ClTppZQ=; b=I44SO8wBH08cefKF6MbSxStTDWXF/0KJ7uNgUv2+whN3d/l0VtABUYGx +I6PnXKtpUBscfJJuqtUYmBt6YZKtGJO3dhIwHhxvOLbQTm0qwK48vaE9 KKu4NjG+l1c4btDhyqJVpxCJZJEV3dzPZW49pgb6U1unCSE5oXJCkfccP kppAEZBGg0PRmzV2vWboDcT8xm8Z24Z8ks4VHwtwb48OP7vIaZI/a88jz H196jEtzzNqUppxPbc/1C6mCh1ekothXXkhznSEk5sV/e+aaT0blJ00Y1 vLJlQZLBCTSF3K0KZFa3eSOenlcIrBxfDkUire+ItogpCSLCuuAussM4s Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="473328737" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="473328737" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2023 08:57:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="708354975" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="708354975" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga003.jf.intel.com with ESMTP; 24 Oct 2023 08:57:47 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 57C4DBD4; Tue, 24 Oct 2023 18:57:42 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Jani Nikula , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Daniel Vetter , Hans de Goede Subject: [PATCH v2 5/7] drm/i915/dsi: Replace poking of VLV GPIOs behind the driver's back Date: Tue, 24 Oct 2023 18:57:37 +0300 Message-Id: <20231024155739.3861342-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> References: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" It's a dirty hack in the driver that pokes GPIO registers behind the driver's back. Moreoever it might be problematic as simultaneous I/O may hang the system, see the commit 40ecab551232 ("pinctrl: baytrail: Really serialize all register accesses") for the details. Taking all this into consideration replace the hack with proper GPIO APIs being used. Signed-off-by: Andy Shevchenko --- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 98 ++++++-------------- 1 file changed, 28 insertions(+), 70 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm= /i915/display/intel_dsi_vbt.c index 3fb85b6d320e..8fc82aceae14 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -55,43 +55,6 @@ #define MIPI_VIRTUAL_CHANNEL_SHIFT 1 #define MIPI_PORT_SHIFT 3 =20 -/* base offsets for gpio pads */ -#define VLV_GPIO_NC_0_HV_DDI0_HPD 0x4130 -#define VLV_GPIO_NC_1_HV_DDI0_DDC_SDA 0x4120 -#define VLV_GPIO_NC_2_HV_DDI0_DDC_SCL 0x4110 -#define VLV_GPIO_NC_3_PANEL0_VDDEN 0x4140 -#define VLV_GPIO_NC_4_PANEL0_BKLTEN 0x4150 -#define VLV_GPIO_NC_5_PANEL0_BKLTCTL 0x4160 -#define VLV_GPIO_NC_6_HV_DDI1_HPD 0x4180 -#define VLV_GPIO_NC_7_HV_DDI1_DDC_SDA 0x4190 -#define VLV_GPIO_NC_8_HV_DDI1_DDC_SCL 0x4170 -#define VLV_GPIO_NC_9_PANEL1_VDDEN 0x4100 -#define VLV_GPIO_NC_10_PANEL1_BKLTEN 0x40E0 -#define VLV_GPIO_NC_11_PANEL1_BKLTCTL 0x40F0 - -#define VLV_GPIO_PCONF0(base_offset) (base_offset) -#define VLV_GPIO_PAD_VAL(base_offset) ((base_offset) + 8) - -struct gpio_map { - u16 base_offset; - bool init; -}; - -static struct gpio_map vlv_gpio_table[] =3D { - { VLV_GPIO_NC_0_HV_DDI0_HPD }, - { VLV_GPIO_NC_1_HV_DDI0_DDC_SDA }, - { VLV_GPIO_NC_2_HV_DDI0_DDC_SCL }, - { VLV_GPIO_NC_3_PANEL0_VDDEN }, - { VLV_GPIO_NC_4_PANEL0_BKLTEN }, - { VLV_GPIO_NC_5_PANEL0_BKLTCTL }, - { VLV_GPIO_NC_6_HV_DDI1_HPD }, - { VLV_GPIO_NC_7_HV_DDI1_DDC_SDA }, - { VLV_GPIO_NC_8_HV_DDI1_DDC_SCL }, - { VLV_GPIO_NC_9_PANEL1_VDDEN }, - { VLV_GPIO_NC_10_PANEL1_BKLTEN }, - { VLV_GPIO_NC_11_PANEL1_BKLTCTL }, -}; - struct i2c_adapter_lookup { u16 slave_addr; struct intel_dsi *intel_dsi; @@ -269,52 +232,47 @@ static void soc_exec_gpio(struct intel_connector *con= nector, const char *con_id, } } =20 +static void soc_exec_opaque_gpio(struct intel_connector *connector, + const char *chip, const char *con_id, + u8 gpio_index, bool value) +{ + struct gpiod_lookup_table *lookup; + + lookup =3D kzalloc(struct_size(lookup, table, 2), GFP_KERNEL); + if (!lookup) + return; + + lookup->dev_id =3D "0000:00:02.0"; + lookup->table[0] =3D + GPIO_LOOKUP_IDX(chip, gpio_index, con_id, gpio_index, GPIO_ACTIVE_HIGH); + + gpiod_add_lookup_table(lookup); + + soc_exec_gpio(connector, con_id, gpio_index, value); + + gpiod_remove_lookup_table(lookup); + kfree(lookup); +} + static void vlv_exec_gpio(struct intel_connector *connector, u8 gpio_source, u8 gpio_index, bool value) { struct drm_i915_private *dev_priv =3D to_i915(connector->base.dev); - struct gpio_map *map; - u16 pconf0, padval; - u32 tmp; - u8 port; =20 - if (gpio_index >=3D ARRAY_SIZE(vlv_gpio_table)) { - drm_dbg_kms(&dev_priv->drm, "unknown gpio index %u\n", - gpio_index); - return; - } - - map =3D &vlv_gpio_table[gpio_index]; - - if (connector->panel.vbt.dsi.seq_version >=3D 3) { - /* XXX: this assumes vlv_gpio_table only has NC GPIOs. */ - port =3D IOSF_PORT_GPIO_NC; - } else { - if (gpio_source =3D=3D 0) { - port =3D IOSF_PORT_GPIO_NC; - } else if (gpio_source =3D=3D 1) { + /* XXX: this assumes vlv_gpio_table only has NC GPIOs. */ + if (connector->panel.vbt.dsi.seq_version < 3) { + if (gpio_source =3D=3D 1) { drm_dbg_kms(&dev_priv->drm, "SC gpio not supported\n"); return; - } else { + } + if (gpio_source > 1) { drm_dbg_kms(&dev_priv->drm, "unknown gpio source %u\n", gpio_source); return; } } =20 - pconf0 =3D VLV_GPIO_PCONF0(map->base_offset); - padval =3D VLV_GPIO_PAD_VAL(map->base_offset); - - vlv_iosf_sb_get(dev_priv, BIT(VLV_IOSF_SB_GPIO)); - if (!map->init) { - /* FIXME: remove constant below */ - vlv_iosf_sb_write(dev_priv, port, pconf0, 0x2000CC00); - map->init =3D true; - } - - tmp =3D 0x4 | value; - vlv_iosf_sb_write(dev_priv, port, padval, tmp); - vlv_iosf_sb_put(dev_priv, BIT(VLV_IOSF_SB_GPIO)); + soc_exec_opaque_gpio(connector, "INT33FC:01", "Panel N", gpio_index, valu= e); } =20 static void chv_exec_gpio(struct intel_connector *connector, --=20 2.40.0.1.gaa8946217a0b From nobody Thu Jan 1 07:18:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 064F8C00A8F for ; Tue, 24 Oct 2023 15:58:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343938AbjJXP6D (ORCPT ); Tue, 24 Oct 2023 11:58:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343989AbjJXP5x (ORCPT ); Tue, 24 Oct 2023 11:57:53 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B85F610C9 for ; Tue, 24 Oct 2023 08:57:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698163070; x=1729699070; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dnQFwufB5Hr81HvGwsAEkxbIJnfWkJTFO23E+pdW1kc=; b=EjXFNi1EyrSOuIr2s6su7IylH5rb0Pyj2xEueIgE0uKwvpTTcYp+kYG0 jJcKraW9WPVL+0T9yV6c5u3dOfcIg09eTPInrrAJ4ZaKlvNOhUNXYNn7g eiZJMGZH/y3y74jI6rFKEotLq2LbRmuY2qI1v07z/2ZLTqwJ9HM8Tn1sA Dlae3PUwjoMxenOTqNZMyp363IxjI/pAqqPRX1kp1OTckWbq760xusyHx UNUkGMwlfUUuM4Wfq8vhLOTnp2rIZzz9jXvhVfNJkNvia4yISC7fqdcNI CKbuGPL83fbmlRR70xmZgrQs0C0YB/RylWCMtpoSIATypdynp0IHbMRfV Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="8649803" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="8649803" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2023 08:57:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="902233870" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="902233870" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 24 Oct 2023 08:55:26 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 67009BE1; Tue, 24 Oct 2023 18:57:42 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Jani Nikula , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Daniel Vetter , Hans de Goede Subject: [PATCH v2 6/7] drm/i915/dsi: Replace poking of CHV GPIOs behind the driver's back Date: Tue, 24 Oct 2023 18:57:38 +0300 Message-Id: <20231024155739.3861342-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> References: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" It's a dirty hack in the driver that pokes GPIO registers behind the driver's back. Moreoever it might be problematic as simultaneous I/O may hang the system, see the commit 0bd50d719b00 ("pinctrl: cherryview: prevent concurrent access to GPIO controllers") for the details. Taking all this into consideration replace the hack with proper GPIO APIs being used. Signed-off-by: Andy Shevchenko --- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 47 +++++--------------- 1 file changed, 10 insertions(+), 37 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm= /i915/display/intel_dsi_vbt.c index 8fc82aceae14..a393ddaff0dd 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -66,19 +66,6 @@ struct i2c_adapter_lookup { #define CHV_GPIO_IDX_START_SW 100 #define CHV_GPIO_IDX_START_SE 198 =20 -#define CHV_VBT_MAX_PINS_PER_FMLY 15 - -#define CHV_GPIO_PAD_CFG0(f, i) (0x4400 + (f) * 0x400 + (i) * 8) -#define CHV_GPIO_GPIOEN (1 << 15) -#define CHV_GPIO_GPIOCFG_GPIO (0 << 8) -#define CHV_GPIO_GPIOCFG_GPO (1 << 8) -#define CHV_GPIO_GPIOCFG_GPI (2 << 8) -#define CHV_GPIO_GPIOCFG_HIZ (3 << 8) -#define CHV_GPIO_GPIOTXSTATE(state) ((!!(state)) << 1) - -#define CHV_GPIO_PAD_CFG1(f, i) (0x4400 + (f) * 0x400 + (i) * 8 + 4) -#define CHV_GPIO_CFGLOCK (1 << 31) - /* ICL DSI Display GPIO Pins */ #define ICL_GPIO_DDSP_HPD_A 0 #define ICL_GPIO_L_VDDEN_1 1 @@ -279,23 +266,21 @@ static void chv_exec_gpio(struct intel_connector *con= nector, u8 gpio_source, u8 gpio_index, bool value) { struct drm_i915_private *dev_priv =3D to_i915(connector->base.dev); - u16 cfg0, cfg1; - u16 family_num; - u8 port; =20 if (connector->panel.vbt.dsi.seq_version >=3D 3) { if (gpio_index >=3D CHV_GPIO_IDX_START_SE) { /* XXX: it's unclear whether 255->57 is part of SE. */ - gpio_index -=3D CHV_GPIO_IDX_START_SE; - port =3D CHV_IOSF_PORT_GPIO_SE; + soc_exec_opaque_gpio(connector, "INT33FF:03", "Panel SE", + gpio_index - CHV_GPIO_IDX_START_SW, value); } else if (gpio_index >=3D CHV_GPIO_IDX_START_SW) { - gpio_index -=3D CHV_GPIO_IDX_START_SW; - port =3D CHV_IOSF_PORT_GPIO_SW; + soc_exec_opaque_gpio(connector, "INT33FF:00", "Panel SW", + gpio_index - CHV_GPIO_IDX_START_SW, value); } else if (gpio_index >=3D CHV_GPIO_IDX_START_E) { - gpio_index -=3D CHV_GPIO_IDX_START_E; - port =3D CHV_IOSF_PORT_GPIO_E; + soc_exec_opaque_gpio(connector, "INT33FF:02", "Panel E", + gpio_index - CHV_GPIO_IDX_START_E, value); } else { - port =3D CHV_IOSF_PORT_GPIO_N; + soc_exec_opaque_gpio(connector, "INT33FF:01", "Panel N", + gpio_index - CHV_GPIO_IDX_START_N, value); } } else { /* XXX: The spec is unclear about CHV GPIO on seq v2 */ @@ -312,21 +297,9 @@ static void chv_exec_gpio(struct intel_connector *conn= ector, return; } =20 - port =3D CHV_IOSF_PORT_GPIO_N; + soc_exec_opaque_gpio(connector, "INT33FF:01", "Panel N", + gpio_index - CHV_GPIO_IDX_START_N, value); } - - family_num =3D gpio_index / CHV_VBT_MAX_PINS_PER_FMLY; - gpio_index =3D gpio_index % CHV_VBT_MAX_PINS_PER_FMLY; - - cfg0 =3D CHV_GPIO_PAD_CFG0(family_num, gpio_index); - cfg1 =3D CHV_GPIO_PAD_CFG1(family_num, gpio_index); - - vlv_iosf_sb_get(dev_priv, BIT(VLV_IOSF_SB_GPIO)); - vlv_iosf_sb_write(dev_priv, port, cfg1, 0); - vlv_iosf_sb_write(dev_priv, port, cfg0, - CHV_GPIO_GPIOEN | CHV_GPIO_GPIOCFG_GPO | - CHV_GPIO_GPIOTXSTATE(value)); - vlv_iosf_sb_put(dev_priv, BIT(VLV_IOSF_SB_GPIO)); } =20 static void bxt_exec_gpio(struct intel_connector *connector, --=20 2.40.0.1.gaa8946217a0b From nobody Thu Jan 1 07:18:44 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 60428C07545 for ; Tue, 24 Oct 2023 15:58:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234779AbjJXP57 (ORCPT ); Tue, 24 Oct 2023 11:57:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44490 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343987AbjJXP5x (ORCPT ); Tue, 24 Oct 2023 11:57:53 -0400 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F40DF10CC for ; Tue, 24 Oct 2023 08:57:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1698163071; x=1729699071; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=sX1J1ySAF4MO+eRhktvw93+gXMSrlD5/6fA9bNgY1QY=; b=C3opeNF2seOgUTGsMEl2lEnuE9ga1Jh4Ew0aCaT6fbqrsOrBNy/chKF1 RHWkY3LDsRR3Z83apl6kpiEP4SuvUSmvbqkf71Pu1Uu90/MsHDZ2psDnt et9q3BuKRunkNISPq2d49n4DsXes4sSCqxJT0zba6k11M1t7g6SFzLokH mImSwdapyiMDqI1b/jnVFhUAd3UNp61MQRP6WAjYWNXi+HDcaakKar53g LCJxrDXdvcttC/5WneDraopnxJW2aRvvjnu6CJh4lxSRhLMrql6qtndwk ASdbkGR7m/5W3hsl7ZjglOXa4S87J+tupmk0jS3i4HfFBp3y4GWqy6qqs w==; X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="8649808" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="8649808" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Oct 2023 08:57:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10873"; a="902233873" X-IronPort-AV: E=Sophos;i="6.03,248,1694761200"; d="scan'208";a="902233873" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 24 Oct 2023 08:55:27 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 721B9C2E; Tue, 24 Oct 2023 18:57:42 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Jani Nikula , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Daniel Vetter , Hans de Goede Subject: [PATCH v2 7/7] drm/i915/iosf: Drop unused APIs Date: Tue, 24 Oct 2023 18:57:39 +0300 Message-Id: <20231024155739.3861342-8-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> References: <20231024155739.3861342-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Drop unused vlv_iosf_sb_read() and vlv_iosf_sb_write(). Signed-off-by: Andy Shevchenko --- drivers/gpu/drm/i915/vlv_sideband.c | 17 ----------------- drivers/gpu/drm/i915/vlv_sideband.h | 3 --- 2 files changed, 20 deletions(-) diff --git a/drivers/gpu/drm/i915/vlv_sideband.c b/drivers/gpu/drm/i915/vlv= _sideband.c index b98dec3ad817..13b644958e38 100644 --- a/drivers/gpu/drm/i915/vlv_sideband.c +++ b/drivers/gpu/drm/i915/vlv_sideband.c @@ -166,23 +166,6 @@ u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr) return val; } =20 -u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg) -{ - u32 val =3D 0; - - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), port, - SB_CRRDDA_NP, reg, &val); - - return val; -} - -void vlv_iosf_sb_write(struct drm_i915_private *i915, - u8 port, u32 reg, u32 val) -{ - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), port, - SB_CRWRDA_NP, reg, &val); -} - u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg) { u32 val =3D 0; diff --git a/drivers/gpu/drm/i915/vlv_sideband.h b/drivers/gpu/drm/i915/vlv= _sideband.h index 9ce283d96b80..8b4495e14bce 100644 --- a/drivers/gpu/drm/i915/vlv_sideband.h +++ b/drivers/gpu/drm/i915/vlv_sideband.h @@ -26,9 +26,6 @@ enum { }; =20 void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports); -u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg); -void vlv_iosf_sb_write(struct drm_i915_private *i915, - u8 port, u32 reg, u32 val); void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports); =20 static inline void vlv_bunit_get(struct drm_i915_private *i915) --=20 2.40.0.1.gaa8946217a0b