Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp1268182ybg; Tue, 2 Jun 2020 05:50:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwzpvC4107aTvz4W7kFeGhiwi0c++L+/ZpxBSgmmX3ntjSHJoDP0L3+njU2YVpPsJA0x0So X-Received: by 2002:a05:6402:1486:: with SMTP id e6mr2474085edv.99.1591102223864; Tue, 02 Jun 2020 05:50:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591102223; cv=none; d=google.com; s=arc-20160816; b=G3juDulk+Xs7TlkPwYyHyGmVxZA8Yn2VnNM5EWGVLVqFYCGswmSdiI4obuuG/BrgbW xoanIw4TATheSdONbC3A86fnctKPqrcXnk2i1taMjOrvVVahNhZJes4/+C0QS19+I/wn I53ID6Ggo2X4puqit7ZBn3v8VIoI/VAhnVzaUQod1aauR0lSJ5wfeb1HcwarXgZ6yARu 4H5pB2Q2/9LA0MRIZ0erhO3EZyB/+UK0lmvtquueew8yHUOW8QmuUapkyTyopC0qTGEv zHsqQViSCJZvY/jUyE5dkRgF5CYGj+RHuU2An1IBrP8dav/8ivpu+IcVLLs4VzxH0jNL lOtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=Yf4GXAhEWn+sWFUgRmxvX5UkbgRsnK6CDYcGHL39uUU=; b=QRO8r/Dl5DrrQ/re+yUjApBqRmIlnURjsycoSj0hsFuiHfVy/fgtGH0759+gZHgjDP Jp9CuCQKT5pMKqmSqeYXZ4dbdG0/kW3gyGLle7/NGVkco3skm7N2XBZ3UxUziTA8mHqT mzqbqWrJExazEZV7zCREt6/0L8fEJW7/7wG77abDz2s/etiNRW26R/+BrHG69EUYZswn n8x+BowB/ppaNBdXSWDLfive8Zowoh4xWcpbIcDMizkAh5mxfVH6uiIJzzhb2jH6YCKE AaYQEJQPqOXDBQx/smaF+besZS8rvFEJVj2IOfN66Gx+uxSgLgnKQwY9nMr9ooSk5fcx 2rVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tHuHJ+gt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bc12si1486659edb.348.2020.06.02.05.50.00; Tue, 02 Jun 2020 05:50:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tHuHJ+gt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726636AbgFBMsC (ORCPT + 99 others); Tue, 2 Jun 2020 08:48:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43398 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725940AbgFBMsC (ORCPT ); Tue, 2 Jun 2020 08:48:02 -0400 Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 95E68C061A0E; Tue, 2 Jun 2020 05:48:01 -0700 (PDT) Received: by mail-ed1-x544.google.com with SMTP id w7so6294595edt.1; Tue, 02 Jun 2020 05:48:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Yf4GXAhEWn+sWFUgRmxvX5UkbgRsnK6CDYcGHL39uUU=; b=tHuHJ+gtmpVUv5nKezqAI3B3fgx2P1v6opMTGb6Z6CQHHePqzNFdea0SIogb6aPN3Y ZWqRLmLKpsbGDCXY/SIxVtcU0BZjdOMGT8u5VLnQBkoO04uCozfZGlJLrVkqWyxUW5W3 xKdKeOQQxJtiL033ZG8U0xrq2d7QE4gdvTB6vBo89nJ8U3yMjTJnMPFvKBFjlXvRqny6 8b3TiYI7PLAsPUPayF4Qe/4gGbFMu36q5YPnl7EvEX9J3SSS9Mau7HqWZBk7fZ9VWjxy KM7anBc/SXUEc28F1/I/eF1YKEBrvqIZsE/AzEBFn4En6922ts9t4WM+VGjAIVwLfLGl 425g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=Yf4GXAhEWn+sWFUgRmxvX5UkbgRsnK6CDYcGHL39uUU=; b=RJP3H2hiKzmqjOt/5qdCYi+INISmvq2tt7SVPQsvtJKuhXdJONIa4PsBZlJcGYqejj fix0s5IynL3Ea5B7vGA5KLQu7WAG+F5bHDq8iQ/FplIcKp3v/hB1pKOTtWDZL1vfpG5N P/NIZHrVTg2WmQqmC2+KuXV1zP7b7PSFuPR4AHhRmhcse2YvDMyhnX/okMkfQEOkuz87 ESDiNEZ5T+yKcdk0sZymWzg802psNEttuVCoxBxBklLlBfff3Q14ioxRmF2d7GM0dFQH TvbX8/223J/TZ2ehXc5IwAqynB74lN1oEnkYzdMXN0Oxy5dmB/eMwTulrOt15XblT93y 24ww== X-Gm-Message-State: AOAM533lXjFM4A7OMUhYxrbyYN4t6JI/Io7TTOLan4HeJP9/QOgjogQX qQdq0Suh4MXpo6CbKKYUs3k= X-Received: by 2002:a50:af85:: with SMTP id h5mr18954583edd.86.1591102080350; Tue, 02 Jun 2020 05:48:00 -0700 (PDT) Received: from localhost (pd9e51079.dip0.t-ipconnect.de. [217.229.16.121]) by smtp.gmail.com with ESMTPSA id u23sm1498694eds.73.2020.06.02.05.47.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2020 05:47:58 -0700 (PDT) Date: Tue, 2 Jun 2020 14:47:58 +0200 From: Thierry Reding To: Sandipan Patra Cc: treding@nvidia.com, jonathanh@nvidia.com, u.kleine-koenig@pengutronix.de, bbasu@nvidia.com, ldewangan@nvidia.com, kyarlagadda@nvidia.com, linux-pwm@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH V4] pwm: tegra: dynamic clk freq configuration by PWM driver Message-ID: <20200602124758.GE3360525@ulmo> References: <1590988836-11308-1-git-send-email-spatra@nvidia.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="k3qmt+ucFURmlhDS" Content-Disposition: inline In-Reply-To: <1590988836-11308-1-git-send-email-spatra@nvidia.com> User-Agent: Mutt/1.13.1 (2019-12-14) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --k3qmt+ucFURmlhDS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jun 01, 2020 at 10:50:36AM +0530, Sandipan Patra wrote: > Added support for dynamic clock freq configuration in pwm kernel driver. > Earlier the pwm driver used to cache boot time clock rate by pwm clock > parent during probe. Hence dynamically changing pwm frequency was not > possible for all the possible ranges. With this change, dynamic calculati= on > is enabled and it is able to set the requested period from sysfs knob > provided the value is supported by clock source. >=20 > Changes mainly have 2 parts: > - T186 and later chips [1] > - T210 and prior chips [2] >=20 > For [1] - Changes implemented to set pwm period dynamically and > also checks added to allow only if requested period(ns) is > below or equals to higher range. >=20 > For [2] - Only checks if the requested period(ns) is below or equals > to higher range defined by max clock limit. The limitation > in T210 or prior chips are due to the reason of having only > one pwm-controller supporting multiple channels. But later > chips have multiple pwm controller instances each having > single channel support. >=20 > Signed-off-by: Sandipan Patra > --- > PATCH V4: > 1. Code comments fixes >=20 > PATCH V3: > 1. Return -EINVAL if requested period does not fall inside limit. > 2. Store the new clock rate for further references. > 3. Variable name change reverted. > 4. Comments corrected and new comments are added. >=20 > PATCH V2: > 1. Maximum frequency calculation is moved to probe. > 2. Added descriptions for PWM register bits and functional behavior > of the controller when new configuration is applied. > 3. Setting period with possible value when supplied period is below limit. > 4. Corrected the earlier code comment: > plus 1 instead of minus 1 during pwm calculation >=20 > drivers/pwm/pwm-tegra.c | 80 +++++++++++++++++++++++++++++++++++++++++++= +++--- > 1 file changed, 76 insertions(+), 4 deletions(-) Applied, thanks. Thierry --k3qmt+ucFURmlhDS Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl7WSn0ACgkQ3SOs138+ s6Gs2hAAuKnY8XRGX2cCIMv6LUK/mMn655EzVcw8MBN6IjTjqWgPbkQf590CXT0E /YdjXLEMaijZhzvsffpkUZpRfQJkbmUqQ1fTLM1ag+6Y6NKWZrrz2XRE8HAmwjef 2Vz7qxFXPofe6KblDH6hdpMt0GiYgGKNr2SMPd/Mr8nGIcTFHjSz1J2jdXjHKi7d 3yrKgXH1/3YjjiYLuVqoritQlnwFVWELGargD4o7pDgu/9untwWLrCAVs7QH1ST2 6vZwChEsC9lHvg0GbA9Lz0QLXuFG89FDlpYGOnik96R3/8Lpq8hvXDlmn0ttJn6H 9SBzAWQpyMdz4GW0/a09o79YmzOLB4hH20du8s0nzB0i6QphMkZGjOeXNPkxHGU2 e2ga6dbvDFLHvN61xii91hMEwH1DvhL0uWgwwXmNq4Bsz205fjhubE6SptVQ6c6q lNPh5JJuhKYyuWjRTWZyW8hx0VImqE89IAFkmLrEzeiasAPc/frvo3uCqrn46s+B YouYpYk2STWRs9NiFTh5FRso86BSOovFqWS35DagLFcTHw7gGcbuzQMl3ZTfJKdQ +29iq/Dx1U43IEA4YQj0zoGfnTglk+c/W91D69AicdbLVT5yScRpefmu9on654Lh cjvAU1Yx5zgM5dXhdLw1dN5IVbcNIoR/rs4SmGORb4XpS0XKqyw= =ZV5c -----END PGP SIGNATURE----- --k3qmt+ucFURmlhDS--