Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933822AbbLPOL2 (ORCPT ); Wed, 16 Dec 2015 09:11:28 -0500 Received: from mail-bl2on0072.outbound.protection.outlook.com ([65.55.169.72]:4480 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932335AbbLPOL0 (ORCPT ); Wed, 16 Dec 2015 09:11:26 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Subject: Re: [PATCH] i2c: designware: Do not require clock when SSCN and FFCN are provided To: Mika Westerberg References: <1450219138-5868-1-git-send-email-Suravee.Suthikulpanit@amd.com> <20151216094202.GR1762@lahna.fi.intel.com> CC: , , , , , , Jarkko Nikula , Andy Shevchenko From: Suravee Suthikulpanit Message-ID: <56717100.3020602@amd.com> Date: Wed, 16 Dec 2015 08:11:12 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <20151216094202.GR1762@lahna.fi.intel.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [2605:6000:101a:c02f:29cd:baab:f2fb:e346] X-ClientProxiedBy: SN1PR0501CA0011.namprd05.prod.outlook.com (25.163.126.149) To SN1PR12MB0446.namprd12.prod.outlook.com (25.162.105.14) X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0446;2:U3rFbRD57uc8jDpK3sWK7McIzIQNr/OJmGhEWwj68qPNf3LPL6Ekyi44xNwKsHDeFtnrpn8nSJYjQbdZ/csUcYSjCpLHA0zgNGMFb+wEm5EICskI4JIeQ3an3XLfEko0RAjrnWi12t8/fV4wkX/Psw==;3:158h24Tb8kAP5JAz1trtF6olC549h+Zttz+th3/f6uLJdQt9VkeyhjowsCE2DKEcQfDk9W3BmCE6KGVaetDmk6qJ0hgW4PmoW20MIXGceRp66IG8T2X7cnITr0POwILZ;25:PJIgOI8JNyVOblVTKkE8z6asCp2WDlVbhF9CToXHWPJnF0bMlbyxtSSb7eqnNCZfo62L0OiG5Z2/We+IHgH6+pKu7+tib/NaATpU/yIXnV6BjIonA2pITKDHHpsq07iDzpZC24ttTkZ7/Yk8RH/0EMZgeLaeS10ZgBCaa6ZDCwhtjjkqlVPhMasJ05M/41boTwLsUfjy9WVnUNPR4VfDJrSNzBtDwOoJm6MV+eDHXmTdwpLe3yCU0464Enl20UQNYw9Buxnr3Ap/2mgAj0shEA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0446; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0446;20:qSmRSdDBZ6t4xYk6C2nrXSK5H/hE8vy9Lz9Wz6nUiTXt1+bzkny59enNvW7kbwz2He71QTjLMlI3cWQMtrJH+W4BgBIlJ0FBQG/63BQz6DSXKuGmRnFfXqHbXI87PT/95ncd5d1uPqzu58jhmhP/1Pdy/DXTbTvq5zaTSyQX8nPZCBfc76NNNRXvNHUHVC+uW7STQb+FjgIUXcx3rvkUBabb2PLjmU+h5PzYYnwNx5BVycilwHj+w6cRIxh5cZ+/aQ4bPGy3Unw2Vs/J8R++8NAtwgjtUvT7KATklFvmUNjGQgl0K13uHeUw2VPCw53Snc22Jxe/ldl+hHGuVtF5oxiDxxkMFZD3JhNCdv1Sp0bFRlPaZOeCZQ2gWFXVkew6HyyAtiDR74nxQWdtMYyfANxshSFbaF9/+TYNfKN+2f95A7bfcMkdERXojMEtZ1Dw+onfsgop0AlTnAIC0HX7gTu9Wst5JjrKXvS2B4sPRbw9T5kw2cO0q6+AkcAn8anj;4:zBdM65nPh2rjfGm/A1pQ5fUcMkYr51bAaz7+O2IMNrRdbY1rBQUQjDNFcB10RFJDirkkm4g4E73V+yz13yd76aviQLCkitRx+UsEUu4/SvVZ8DwxNOdwMpLK1MHDYoprhUc8mhxXV8y/fqKgCRw2QkwP16YasUO3qp8EsMTrARHvWVOvZwTQ7CTl9Q/CWjhaLgv6z+L/eLWyH6DjukuILzJtVKYvwF3J3xxUvn1m4rakSHd4+Ey4cpIWb1qmgk1NopSqFLaKgAkIlekDs5lELKJe8EfKPi2opEPoYJ1xNKFv2HVFbPQ8VnMOuSbq6zPgf7+wt7+7JaZDSL2f5lvRsD0zSm2m4eIpCwqzfE/yc8twiQ1y0lP0Z6od5E4tPICd X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046);SRVR:SN1PR12MB0446;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0446; X-Forefront-PRVS: 0792DBEAD0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6059001)(377454003)(189002)(199003)(164054003)(479174004)(24454002)(86362001)(105586002)(77096005)(42186005)(23746002)(106356001)(65956001)(47776003)(65806001)(2950100001)(92566002)(117636001)(50466002)(5004730100002)(97736004)(4001350100001)(230700001)(189998001)(110136002)(5001960100002)(36756003)(50986999)(87266999)(54356999)(76176999)(40100003)(122386002)(5008740100001)(1706002)(1096002)(64126003)(81156007)(586003)(6116002)(99136001)(101416001)(83506001)(87976001)(59896002)(65816999)(3826002)(62816006);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0446;H:[IPv6:2605:6000:101a:c02f:29cd:baab:f2fb:e346];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;SN1PR12MB0446;23:z4en1tGrAuS7RNXD3SPEtpKOaVzSsR00NxQih?= =?Windows-1252?Q?H/QR5ttUubbUP8MKBuyQwXjyPYNHmEIFeacb1QHURQXCAZtyp6S4dTaL?= =?Windows-1252?Q?YavxseTaadMq/jj8O8y+Iim6yAe1hTm8DFQt+F/eYbwFcA0RVU2H7UzB?= =?Windows-1252?Q?fQH5iGM8+ZWiEOLFOqYpaaEHKdIVvs47i1MmO1BBHuEdzPBbFV5rn8wn?= =?Windows-1252?Q?j32ahm5qCPRwnNPfY6cXrdN+p3qFS8qGwAmwe22/kwe85yzkz+LfP9nq?= =?Windows-1252?Q?9YYGHw+U0uQcRKDjZypzs8tPlqO71C4jrQY/Gpo4n6qaVcibHriHFfb2?= =?Windows-1252?Q?1D9iNXDVTHvwHQyvbNPn+b09uj40ErtliuPyMT6kTyDl6kv8ncxfZ9pt?= =?Windows-1252?Q?YMTdnGq2YlKTHpffvDGHwHJmPZ4BhaLRaXrl9TRpFnz3SCw+7woaeyQT?= =?Windows-1252?Q?rTMZTK9Yin8WqoovUP4+EopTMPy0pwbIDX5TGaLQYcsshdVdXAriw765?= =?Windows-1252?Q?qaw9T2W+KGhCHc9VE9LoXos0pJbxefHLThIrAleezLb+GfZuF8hVD3uf?= =?Windows-1252?Q?IHZrQCPUt9yNaUFlcSV/2He69kEl6ouKk2f+j8oXb7J+bxLc5LcaARRS?= =?Windows-1252?Q?4SDaHURgBwq8/PUsM0FgCtfwLGD0ueu/hivbLdqV6k61yatjGBvuSk1O?= =?Windows-1252?Q?pT+nO8LHnrN/vVGY5FmJlF4r/KWZI248r29kQay17QPc7mpxcrmMVXzA?= =?Windows-1252?Q?A2U6cKI6jN6ji+lLxBwZDNTeu4dxZxYSDmdW8ShB5M7Lg8O7W6tpFIuQ?= =?Windows-1252?Q?XejPWrLkepPD0nShUwqnZ0WI95bsBzxcRd/DN1e3iomx4pWRxkspGx71?= =?Windows-1252?Q?s9Vbu0ONIeocerP207lG3f9GzgaxiVgI62oeGcYK8THhVPxysqm4KOoJ?= =?Windows-1252?Q?xEoOh1Pi9fDUdHgYRUZYEr8EKmzCxyn2gWuZmtDQ+WEiRr5COUl/Ji9S?= =?Windows-1252?Q?uLS1xNuPN5ptLGJTwHgmA9ycLMmeBG54JM7ocGfymcBuCppcr1TG8rZS?= =?Windows-1252?Q?37lVqz+rx2BCJEb9+TfTo785atoikkJ6bVHW7bOnmsJy9a5one6XoI2X?= =?Windows-1252?Q?JLqP+teFcFHNcHdprxmpSD7jJF3kwjbt4A6FRJiovfSIr7TMqh0XnE8E?= =?Windows-1252?Q?XpGbUnta3G/7/FIiZqeDidDWFl4NmWL5hUdzeJirhn7CK4/2qqm2Tb/S?= =?Windows-1252?Q?RYC4USsEjBOYNkhwFlIyr59UA0hWeT4R6hApVg1CpGfxRzD1vP1UJsTE?= =?Windows-1252?Q?NPpZoMMQfcpvnffOmLzpZTBlp2yGOEtaOKmRzTSLzimP2el/Pid2UfSV?= =?Windows-1252?Q?d88nuxE0c9b?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0446;5:pvYo3h+jVVIAHUzkmzZQvya5UCspxzX/I/v9uOJjodywGbi4Vng29OJyBjWjO6EDJoLDNxSKLt2sWf9yOfdI9QP8Rez7JlqOIM/QF/IvkPXYHcPTA6iCmvVSAPmV1N4/gkgPSJKTl9g7qysKf0daIQ==;24:9JH7h5UtmUcIUw1zH78Mx7z+tsqc8d/4bbMnQ5n7vEkZ8VzaQt14L4GUaPXm2IbbH6FPTC/pw1g0OdmO/tEm/7XRiP7GCYWNT5P7zLQqfyQ=;20:j5kWdoCvqyvWyNDwAfTDD9CyQO5Z9+FnBghk5zoM+5TOiKZSamufOuAEE9wEA+rRgIJ5tn0tjrpaBsHTdKaEah7L9TE25PxeClqb/tgjoNlS6Yz09AHhBnszuFxI1DW6IWdEcKs288xV5ib3RSdOU8D7mhhXWJpcKWAp+XqUNp/HBC9v6TBiANrwmGQ8vJpUs3N4qWeDhD0Hjm4JtXMEgBemeNJ3KIPlzDk4iP1jBfUY47WfnQHellQbSDrg5YQc X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2015 14:11:22.2718 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0446 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1744 Lines: 48 Hi Mika, On 12/16/2015 03:42 AM, Mika Westerberg wrote: > +Jarkko and Andy > > On Tue, Dec 15, 2015 at 04:38:58PM -0600, Suravee Suthikulpanit wrote: >> The current driver uses input clock source frequency to calculate >> values for [SS|FS]_[HC|LC] registers. However, when booting ACPI, we do not >> currently have a good way to provide the frequency information. >> Instead, we can leverage the SSCN and FFCN ACPI methods, which can be used >> to directly provide these values. >> >> So, this patch removes the clock requirement when SSCN and FFCN >> are provided. > > Actually I think the only thing you need to change is i2c_dw_init() so > that it does not call dev->get_clk_rate_khz(dev) if *CNT values are > already provided. Please see below. > > The clk framework should work fine if the returned clock is NULL (which > I think is your case). > > The driver gates clocks when the device is suspended and on Intel LPSS > there actually is a clock that gets gated. > >> [..] >> @@ -203,13 +223,11 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) >> dev->master_cfg = DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE | >> DW_IC_CON_RESTART_EN | DW_IC_CON_SPEED_FAST; >> >> - dev->clk = devm_clk_get(&pdev->dev, NULL); >> - dev->get_clk_rate_khz = i2c_dw_get_clk_rate_khz; >> - if (IS_ERR(dev->clk)) >> - return PTR_ERR(dev->clk); Actually, if we don't provide the clock (which is the case for ACPI), this would also return and cause the probing to fail. Thanks, Suravee -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/