Received: by 2002:a05:6358:53a8:b0:117:f937:c515 with SMTP id z40csp5147618rwe; Tue, 18 Apr 2023 02:46:46 -0700 (PDT) X-Google-Smtp-Source: AKy350ZtRQR2VySJOAmP0y+cyNKCedxJn/Hl2QJrgEJ0aQUnZI1Eje7LPZ4+UBQI2cREWf9P/ZeP X-Received: by 2002:a05:6a00:1955:b0:63b:2102:a1d4 with SMTP id s21-20020a056a00195500b0063b2102a1d4mr23154134pfk.13.1681811206264; Tue, 18 Apr 2023 02:46:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681811206; cv=none; d=google.com; s=arc-20160816; b=WjUBR8dw7XkwHjSRlMN5ScUwCtydLzwaobXxGQaKBbykWpP2rULcqXj1aLZ6t9jjH8 a2s6Dr24hNmrOoeZOlqxxLPwc5nWMMw5wuPmjoBK8qVc7IAk6mXXJjNBOd7aY/mBuVjA Fh7CSkSTdutows2ZZEr9D9ZdWBwd97Prm2WdK0Wwn06B/kEgzeYjDLODAPx+y7skyntB awozLfaqcVTSQ9Kr0ThwFPlt9s0o8012ClOeZdUdkm4eHRN5DNtzCSY0g8updgSrVJcU tYQLO8l7v/C+ux33ht50dLMVlcbVGaYQ3n7TI4SAnU9QEWwBW0fRBwNwKgVYVWcDMyx1 4pCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=ibNd2ClCIuZO+0CepHHRbr5tp4VVlnA1AtL7XG4tKR4=; b=K5Qe+ZTY0wR/EN7A5yYlG4fHlqsD+SzcbMCX5bs//4q9AEcEeLMrf7EKNPWm3Y/1qB I7aQxo2ufG2oYqiXtUiGwxgBRJ9FQRJndTRD0RQGo+afcxzfVp0uqFVKdf1rzClDOYOz WIR7ViJE6VTn8B/8A5w8Rr4nPLa7XXVQM6RvsJ0ju9o3joDl1b77AKqG7G4heF7FAUNv hgPVHJ77XpP8zWd6z2ben3utzpNxRdtkdXyj9nu04EtH9qGFsqjJdrcSrbNTZ8CZZ71I m7vWSSxa0NEZ0A0o+gP5ICx/18nS2aAyTuccUgsVfP+rI00Y1hrOsErxJE4KmANmPGaU jU8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=C2ZSdcyb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 131-20020a621789000000b0063b77381764si9320359pfx.49.2023.04.18.02.46.33; Tue, 18 Apr 2023 02:46:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=C2ZSdcyb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231289AbjDRJl1 (ORCPT + 99 others); Tue, 18 Apr 2023 05:41:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231400AbjDRJkz (ORCPT ); Tue, 18 Apr 2023 05:40:55 -0400 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E2EAB5595; Tue, 18 Apr 2023 02:40:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681810852; x=1713346852; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=0EUf5NKMojwV9uqKGHM5JFnTZ9DB7YqKUC3DzmakS4M=; b=C2ZSdcybKtC53zzds3EqHS7peGVkIcyIbIWVMI3qXjISEakVDaEo5JuP 6EXGXKlrFHEpufyrySives90pW2jb3Qr2gR1du/oqMZ+ca/bKDgkO62L4 QEIKFqRw9pVWZwRclMe1oRfQsBJtOT/UAowZTIgB8JuOevg27BUNWCIAn igDv1JIkzx+d2H6BUpx301eXLaxkKkjRQz7Ev+vw7+r4wjcMNi0nzPiG2 UN/xTuGUlW9hImaX+8EmaTzdTjF4fEdFOETwedaGr/teuOy9SEHXqSB7W 80GTTSEwopBZgGyy80Avr5zI8DWy0BGZxgfootm4fn4bV0JaslK5O1Q5X g==; X-IronPort-AV: E=McAfee;i="6600,9927,10683"; a="324740857" X-IronPort-AV: E=Sophos;i="5.99,206,1677571200"; d="scan'208";a="324740857" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2023 02:40:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10683"; a="834819207" X-IronPort-AV: E=Sophos;i="5.99,206,1677571200"; d="scan'208";a="834819207" Received: from rajatkha-mobl.gar.corp.intel.com (HELO [10.67.146.22]) ([10.67.146.22]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2023 02:40:50 -0700 Message-ID: <20cc057d-6b2b-5fc1-524f-c2c579c96a6b@linux.intel.com> Date: Tue, 18 Apr 2023 15:10:47 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH v2] usb: typec: intel_pmc_mux: Expose IOM port status to debugfs Content-Language: en-US To: Greg KH Cc: heikki.krogerus@linux.intel.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org References: <20230414081910.1336405-1-rajat.khandelwal@linux.intel.com> <2c960f0c-5cbb-4c2d-07cb-dafd94d22414@linux.intel.com> From: Rajat Khandelwal In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 4/17/2023 11:42 AM, Greg KH wrote: > On Mon, Apr 17, 2023 at 11:28:18AM +0530, Rajat Khandelwal wrote: >> Hi, >> >> On 4/15/2023 11:01 AM, Greg KH wrote: >>> On Fri, Apr 14, 2023 at 01:49:10PM +0530, Rajat Khandelwal wrote: >>>> IOM status has a crucial role during debugging to check the >>>> current state of the type-C port. >>>> There are ways to fetch the status, but all those require the >>>> IOM port status offset, which could change with platform. >>>> >>>> Make a debugfs directory for intel_pmc_mux and expose the status >>>> under it per port basis. >>>> >>>> Signed-off-by: Rajat Khandelwal >>>> --- >>>> >>>> v2: >>>> 1. Remove static declaration of the debugfs root for 'intel_pmc_mux' >>>> 2. Remove explicitly defined one-liner functions >>>> >>>> drivers/usb/typec/mux/intel_pmc_mux.c | 34 +++++++++++++++++++++++++++ >>>> 1 file changed, 34 insertions(+) >>>> >>>> diff --git a/drivers/usb/typec/mux/intel_pmc_mux.c b/drivers/usb/typec/mux/intel_pmc_mux.c >>>> index 34e4188a40ff..1d43b111781e 100644 >>>> --- a/drivers/usb/typec/mux/intel_pmc_mux.c >>>> +++ b/drivers/usb/typec/mux/intel_pmc_mux.c >>>> @@ -15,6 +15,7 @@ >>>> #include >>>> #include >>>> #include >>>> +#include >>>> #include >>>> @@ -639,9 +640,34 @@ static int pmc_usb_probe_iom(struct pmc_usb *pmc) >>>> return 0; >>>> } >>>> +static int port_iom_status_show(struct seq_file *s, void *unused) >>>> +{ >>>> + struct pmc_usb_port *port = s->private; >>>> + >>>> + update_port_status(port); >>>> + seq_printf(s, "0x%08x\n", port->iom_status); >>>> + >>>> + return 0; >>>> +} >>>> +DEFINE_SHOW_ATTRIBUTE(port_iom_status); >>>> + >>>> +static void pmc_mux_port_debugfs_init(struct pmc_usb_port *port, >>>> + struct dentry *pmc_mux_debugfs_root) >>>> +{ >>>> + struct dentry *debugfs_dir; >>>> + char name[6]; >>>> + >>>> + snprintf(name, sizeof(name), "port%d", port->usb3_port - 1); >>>> + >>>> + debugfs_dir = debugfs_create_dir(name, pmc_mux_debugfs_root); >>>> + debugfs_create_file("iom_status", 0400, debugfs_dir, port, >>>> + &port_iom_status_fops); >>>> +} >>>> + >>>> static int pmc_usb_probe(struct platform_device *pdev) >>>> { >>>> struct fwnode_handle *fwnode = NULL; >>>> + struct dentry *pmc_mux_debugfs_root; >>>> struct pmc_usb *pmc; >>>> int i = 0; >>>> int ret; >>>> @@ -674,6 +700,8 @@ static int pmc_usb_probe(struct platform_device *pdev) >>>> if (ret) >>>> return ret; >>>> + pmc_mux_debugfs_root = debugfs_create_dir("intel_pmc_mux", NULL); >>> What happens when you have more than one device in the system at the >>> same time? >> I'm sorry I didn't understand the question. We would have separate directories >> for all the ports which would contain the 'iom_status' file, thus representing >> status for all the ports individually. >> Can you rephrase the question since I guess you had something else in mind? > Can you please show the output of the directory > /sys/kernel/debug/intel_pmc_mux/ with multiple pmc devices in the system > at the same time? Sorry, I don't own a system with multiple PMCs. Anyways, do we even have a system with such design? Thanks Rajat > > This code seems to want to create that directory for every platform > device that matches this signature, so that implies you can not have > more than one of them at a time, which is not good and an artificial > restriction you are placing on the driver. > > thanks, > > greg k-h