From patchwork Tue Mar 15 13:11:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Usyskin X-Patchwork-Id: 12781417 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4F7B9C433F5 for ; Tue, 15 Mar 2022 13:12:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B823210E493; Tue, 15 Mar 2022 13:12:42 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B4F4610E493 for ; Tue, 15 Mar 2022 13:12:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1647349960; x=1678885960; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=8kSTGNt92MPePE6+N6MXdn5ThlvMy6OUBfTyuCuK37s=; b=aYo1fpfE3rL2MJRCw1kc0XabEsuwl5kGgeY45nYnNTisyAUp5XucsVNt QjXMQBf3son1c3748eaHhj5budcdlFunh5eurMyxNRwkD7ydO8y2lZWUu vOio7jLlnDY+kMjSYUnt3NknJ0uEz+gARGPJmk3L+msoQvk9Ed+3blpLG /tIH6lOtKIGdnhHZkrVo3lHHtutR1pnfNp9amyoBC++G1Ndu2rN5H362m 2p7+r7dgI3x/10u2Q8JXM1lXH8GaKgDXpKLA37lmJoxMIAb/YTlL+EShu mUXiVpmqOIrVDvdxk1kapiMhLH4FUH9x/9BWLNpg+B2hrqNKaeV8d2MNE w==; X-IronPort-AV: E=McAfee;i="6200,9189,10286"; a="317014525" X-IronPort-AV: E=Sophos;i="5.90,183,1643702400"; d="scan'208";a="317014525" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Mar 2022 06:12:40 -0700 X-IronPort-AV: E=Sophos;i="5.90,183,1643702400"; d="scan'208";a="556919993" Received: from sannilnx.jer.intel.com ([10.12.231.73]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Mar 2022 06:12:37 -0700 From: Alexander Usyskin To: Greg Kroah-Hartman , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , David Airlie , Daniel Vetter , Tvrtko Ursulin Date: Tue, 15 Mar 2022 15:11:52 +0200 Message-Id: <20220315131157.3972238-1-alexander.usyskin@intel.com> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v11 0/5] Add driver for GSC controller X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-kernel@vger.kernel.org, Tomas Winkler , Alexander Usyskin , Vitaly Lubart , intel-gfx@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" GSC is a graphics system controller, it provides a chassis controller for graphics discrete cards. There are two MEI interfaces in GSC: HECI1 and HECI2. This series includes instantiation of the auxiliary devices for HECI2 and mei-gsc auxiliary device driver that binds to the auxiliary device. The prinicpal user of this interface is the Intel Graphics System Controller Firmware Update Library (IGSC FU) (https://github.com/intel/igsc) In v2 the platform device was replaced by the auxiliary device. v3 is the rebase over drm-tip to make public CI running. In v4 the not needed debug prints and empty line were removed, 'select' were replaced by 'depends on' in MEI Kconfig, the new include file now listed in the MAINTATINERS file. V5, rebase and add Greg KH Reviewed-by V6, rebase and drop redundant assignments found by the kernel test robot. V7, add Greg KH Reviewed-by to the individual patches V8, address Tvrtko comments for i915 V9, rebase and address more Tvrtko comments, use drm error printing V10, rebase V11, address Rodrigo comments about code style, set missed mask in the interrupt config, add explicit devm_irq_free to error and remove flows Tomas, please look at the devm_irq_free part. Alexander Usyskin (2): mei: gsc: setup char driver alive in spite of firmware handshake failure mei: gsc: retrieve the firmware version Tomas Winkler (3): drm/i915/gsc: add gsc as a mei auxiliary device mei: add support for graphics system controller (gsc) devices mei: gsc: add runtime pm handlers MAINTAINERS | 1 + drivers/gpu/drm/i915/Kconfig | 1 + drivers/gpu/drm/i915/Makefile | 3 + drivers/gpu/drm/i915/gt/intel_gsc.c | 204 ++++++++++++++++++ drivers/gpu/drm/i915/gt/intel_gsc.h | 37 ++++ drivers/gpu/drm/i915/gt/intel_gt.c | 3 + drivers/gpu/drm/i915/gt/intel_gt.h | 5 + drivers/gpu/drm/i915/gt/intel_gt_irq.c | 13 ++ drivers/gpu/drm/i915/gt/intel_gt_regs.h | 1 + drivers/gpu/drm/i915/gt/intel_gt_types.h | 2 + drivers/gpu/drm/i915/i915_drv.h | 8 + drivers/gpu/drm/i915/i915_pci.c | 3 +- drivers/gpu/drm/i915/i915_reg.h | 2 + drivers/gpu/drm/i915/intel_device_info.h | 2 + drivers/misc/mei/Kconfig | 14 ++ drivers/misc/mei/Makefile | 3 + drivers/misc/mei/bus-fixup.c | 25 +++ drivers/misc/mei/gsc-me.c | 259 +++++++++++++++++++++++ drivers/misc/mei/hw-me.c | 29 ++- drivers/misc/mei/hw-me.h | 2 + include/linux/mei_aux.h | 19 ++ 21 files changed, 633 insertions(+), 3 deletions(-) create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.c create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.h create mode 100644 drivers/misc/mei/gsc-me.c create mode 100644 include/linux/mei_aux.h