From patchwork Thu Sep 29 09:42:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 611935 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 BC6D7C433FE for ; Thu, 29 Sep 2022 09:42:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235348AbiI2JmC (ORCPT ); Thu, 29 Sep 2022 05:42:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38030 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235095AbiI2JmC (ORCPT ); Thu, 29 Sep 2022 05:42:02 -0400 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6795B6CD2B; Thu, 29 Sep 2022 02:42:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1664444521; x=1695980521; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=jpwO8L1W0lQxxfWA1zeBqnQzq7EeOrjokgw9+5n9kxU=; b=IbJPfAhxWTCPzwePsTt/DDxhRT7O5jOWX6dM5WeVI65txmncpeLgeBWu PXM8D1QAGAs+hEyxinqaQIT2iHebZdtK2j1omvDo31VrwtmSb1PfrVdv5 ZsUXA8d+qp8k4CKff+jP/u0Z1n7O1nXR+oaDq6Ocy42TYSoAAoREU9LjN GaAutAatePPolTQ26E630McjgfjGoUmp5JMTOgsmQjls6qeTQ3RZFMviM 2zMhSHcrJLSkl/I6riJLDPu9cY/PfB2dlx9HLrWT9vsqlo+eHcgFnIzai HyfkeKcTLxjHdQiuV0fU1qGOeT71r4FGm0nvhc73lmd/O5LLMp3B8Uimx Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10484"; a="328221780" X-IronPort-AV: E=Sophos;i="5.93,354,1654585200"; d="scan'208";a="328221780" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2022 02:42:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10484"; a="764648887" X-IronPort-AV: E=Sophos;i="5.93,354,1654585200"; d="scan'208";a="764648887" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 29 Sep 2022 02:41:58 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 3116886; Thu, 29 Sep 2022 12:42:17 +0300 (EEST) From: Andy Shevchenko To: Wolfram Sang , Jarkko Nikula , Andy Shevchenko , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros Subject: [PATCH v2 1/2] i2c: designware-pci: Group AMD NAVI quirk parts together Date: Thu, 29 Sep 2022 12:42:14 +0300 Message-Id: <20220929094215.76236-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org The code is ogranized in a way that all related parts to the certain platform quirk go together. This is not the case for AMD NAVI. Shuffle code to make it happen. While at it, drop the frequency definition and use hard coded value as it's done for other platforms and add a comment to the PCI ID list. Signed-off-by: Andy Shevchenko Acked-by: Jarkko Nikula --- v2: added tag (Jarkko), fixed spelling (Jarkko) drivers/i2c/busses/i2c-designware-pcidrv.c | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index c001719209be..6e8a9d26563a 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -27,7 +27,6 @@ #include "i2c-ccgx-ucsi.h" #define DRIVER_NAME "i2c-designware-pci" -#define AMD_CLK_RATE_HZ 100000 enum dw_pci_ctl_id_t { medfield, @@ -100,11 +99,6 @@ static u32 mfld_get_clk_rate_khz(struct dw_i2c_dev *dev) return 25000; } -static u32 navi_amd_get_clk_rate_khz(struct dw_i2c_dev *dev) -{ - return AMD_CLK_RATE_HZ; -} - static int mfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c) { struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev); @@ -126,15 +120,6 @@ static int mfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c) return -ENODEV; } -static int navi_amd_setup(struct pci_dev *pdev, struct dw_pci_controller *c) -{ - struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev); - - dev->flags |= MODEL_AMD_NAVI_GPU; - dev->timings.bus_freq_hz = I2C_MAX_STANDARD_MODE_FREQ; - return 0; -} - static int mrfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c) { /* @@ -159,6 +144,20 @@ static u32 ehl_get_clk_rate_khz(struct dw_i2c_dev *dev) return 100000; } +static u32 navi_amd_get_clk_rate_khz(struct dw_i2c_dev *dev) +{ + return 100000; +} + +static int navi_amd_setup(struct pci_dev *pdev, struct dw_pci_controller *c) +{ + struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev); + + dev->flags |= MODEL_AMD_NAVI_GPU; + dev->timings.bus_freq_hz = I2C_MAX_STANDARD_MODE_FREQ; + return 0; +} + static struct dw_pci_controller dw_pci_controllers[] = { [medfield] = { .bus_num = -1, @@ -392,6 +391,7 @@ static const struct pci_device_id i2_designware_pci_ids[] = { { PCI_VDEVICE(INTEL, 0x4bbe), elkhartlake }, { PCI_VDEVICE(INTEL, 0x4bbf), elkhartlake }, { PCI_VDEVICE(INTEL, 0x4bc0), elkhartlake }, + /* AMD NAVI */ { PCI_VDEVICE(ATI, 0x7314), navi_amd }, { PCI_VDEVICE(ATI, 0x73a4), navi_amd }, { PCI_VDEVICE(ATI, 0x73e4), navi_amd }, From patchwork Thu Sep 29 09:42:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 610691 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 4B08FC433F5 for ; Thu, 29 Sep 2022 09:42:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234971AbiI2JmC (ORCPT ); Thu, 29 Sep 2022 05:42:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38018 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235025AbiI2JmB (ORCPT ); Thu, 29 Sep 2022 05:42:01 -0400 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 85F4D7392C; Thu, 29 Sep 2022 02:42:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1664444520; x=1695980520; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hHmGWy3UADCaVz7LizTWSfFrC0JuHkp4q6xmOica7pM=; b=BSs7UEJDkOhbqZnFEyPph310VVagZFlrou2peVs5nuDj7KcY3Is+2XxD hmJmmktTzaYL62xxukUbF6RMsDnwSvXOpyU1/PHNr19sR6v2pWdP38h15 P0cyMqQ/syY2dyMKtOz4zOwoA7UFONawlEc4vV/lGSA4JHdFFbDIU7EoA W5IVEHMqLIo6M7Yu4Xf4WoqJJtTQi5IdZWS3T++zBG7RuzcviwoXGlZx0 vyFiuY1KK8kXDR90m630IM/qkcEtbG2KYlpOBb2+ZQoa2Yvqy6jsbV7Q3 t18BEOlWbo5ywLe3K5df/eSuFL8B6QAs4KnQq/C/X3MNmOxe51uADH3uC Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10484"; a="328221781" X-IronPort-AV: E=Sophos;i="5.93,354,1654585200"; d="scan'208";a="328221781" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2022 02:42:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10484"; a="764648888" X-IronPort-AV: E=Sophos;i="5.93,354,1654585200"; d="scan'208";a="764648888" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 29 Sep 2022 02:41:58 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 3DDE67C; Thu, 29 Sep 2022 12:42:17 +0300 (EEST) From: Andy Shevchenko To: Wolfram Sang , Jarkko Nikula , Andy Shevchenko , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mika Westerberg , Jan Dabros Subject: [PATCH v2 2/2] i2c: designware-pci: Use standard pattern for memory allocation Date: Thu, 29 Sep 2022 12:42:15 +0300 Message-Id: <20220929094215.76236-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220929094215.76236-1-andriy.shevchenko@linux.intel.com> References: <20220929094215.76236-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org The pattern foo = kmalloc(sizeof(*foo), GFP_KERNEL); has an advantage when foo type is changed. Since we are planning a such, better to be prepared by using standard pattern for memory allocation. Signed-off-by: Andy Shevchenko Acked-by: Jarkko Nikula --- v2: added tag (Jarkko) drivers/i2c/busses/i2c-designware-pcidrv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index 6e8a9d26563a..e499f96506c5 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -263,7 +263,7 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev, return dev_err_probe(&pdev->dev, r, "I/O memory remapping failed\n"); - dev = devm_kzalloc(&pdev->dev, sizeof(struct dw_i2c_dev), GFP_KERNEL); + dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL); if (!dev) return -ENOMEM;