From patchwork Thu Jul 20 07:25:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wu, Wentong" X-Patchwork-Id: 13319945 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 2862EEB64DA for ; Thu, 20 Jul 2023 07:26:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230291AbjGTH0a (ORCPT ); Thu, 20 Jul 2023 03:26:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230144AbjGTH02 (ORCPT ); Thu, 20 Jul 2023 03:26:28 -0400 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 84AC719A6 for ; Thu, 20 Jul 2023 00:26:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689837987; x=1721373987; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=2dClKk9mbxGL+oyokT6h+JrcG9FfvfifzgcmH4N+eW0=; b=iSsbQHkNEwugYNRVqrwK3iDYvAY6EFPzqwY2MbH6H7QZfBlyuc+053gx H8aXiSWRVN7uzWmB/9SPZMH8c1cGUhZNgjeuiDlKKahERapMTCudjuOLL zdE3NzuhOy9ZuKIur9fyDz2O470MCp0zVj+uBCuVBbdKAQVKxxeOuvhmx 7XSV7e8+QZjLjERTh2i+rBhgBaMh4kSxtQY3i+oz99JqOpPvjzPpJ9CBR ImhrfOtYkZsl+EJZfYtC9ruci41zIdevCrPnW0Pwpc0RpcAs3gzXnpWDx FiKeTwVq/O1Dn17OqZV1jReZ1fA620LxOCjuEMdgJr51vnI7IKsap2rsy Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10776"; a="365542206" X-IronPort-AV: E=Sophos;i="6.01,218,1684825200"; d="scan'208";a="365542206" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jul 2023 00:26:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10776"; a="837983301" X-IronPort-AV: E=Sophos;i="6.01,218,1684825200"; d="scan'208";a="837983301" Received: from shsensorbuild2.sh.intel.com ([10.239.134.197]) by fmsmga002.fm.intel.com with ESMTP; 20 Jul 2023 00:26:25 -0700 From: Wentong Wu To: sakari.ailus@linux.intel.com, hdegoede@redhat.com, djrscally@gmail.com, laurent.pinchart@ideasonboard.com, linux-media@vger.kernel.org Cc: bingbu.cao@linux.intel.com, zhifeng.wang@intel.com, xiang.ye@intel.com, tian.shu.qiu@intel.com, Wentong Wu Subject: [PATCH v10 3/3] ACPI: delay enumeration of devices with a _DEP pointing to IVSC device Date: Thu, 20 Jul 2023 15:25:52 +0800 Message-Id: <1689837952-12373-4-git-send-email-wentong.wu@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1689837952-12373-1-git-send-email-wentong.wu@intel.com> References: <1689837952-12373-1-git-send-email-wentong.wu@intel.com> Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Inside IVSC, switching ownership requires an interface with two different hardware modules, ACE and CSI. The software interface to these modules is based on Intel MEI framework. Usually mei client devices are dynamically created, so the info of consumers depending on mei client devices is not present in the firmware tables. This causes problems with the probe ordering with respect to drivers for consumers of these mei client devices. But on these camera sensor devices, the ACPI nodes describing the sensors all have a _DEP dependency on the matching mei bus ACPI device, so adding IVSC mei bus ACPI device to acpi_honor_dep_ids allows solving the probe-ordering problem by delaying the enumeration of ACPI-devices which have a _DEP dependency on an IVSC mei bus ACPI device. On TGL platform, the HID of IVSC mei bus ACPI device is INTC1059, and on ADL platform, the HID is INTC1095. So add both of them to acpi_honor_dep_ids. Signed-off-by: Wentong Wu --- drivers/acpi/scan.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 2743444..59c92a9 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -796,6 +796,9 @@ static const char * const acpi_ignore_dep_ids[] = { /* List of HIDs for which we honor deps of matching ACPI devs, when checking _DEP lists. */ static const char * const acpi_honor_dep_ids[] = { "INT3472", /* Camera sensor PMIC / clk and regulator info */ + "INTC1059", /* IVSC (TGL) driver must be loaded to allow i2c access to camera sensors */ + "INTC1095", /* IVSC (ADL) driver must be loaded to allow i2c access to camera sensors */ + "INTC100A", /* IVSC (RPL) driver must be loaded to allow i2c access to camera sensors */ NULL };