Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp934641imm; Wed, 11 Jul 2018 13:46:18 -0700 (PDT) X-Google-Smtp-Source: AAOMgpf/Y4mo5AEn+evCtZkW3k+MhVXnNtGHfaPuHPVuyBKJXM+f5ApRfQPKi/uPF7RwFZjX/oed X-Received: by 2002:a65:40cd:: with SMTP id u13-v6mr162828pgp.334.1531341978333; Wed, 11 Jul 2018 13:46:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531341978; cv=none; d=google.com; s=arc-20160816; b=uJjiiB5rtXMDSeznIW8wx7Jwk41X+Gvnayrra0BKlfRwbw36ImoaOkIFeTTyxYhxPf dpnvKzyY6/HU+kgrcShvy0ioPe1r6cBzHCgAouqmzOCDbDwS8od7XvOx7vADnnxTpJAH koPMVWFwEbg/zpHunRNOA3y7gXRoa6hYkdRXa3Z/gMGY1LQ9qu9TBkh5jKI2FkwxcI+V Yr3yw2fL91lAaMem/MYqUw1cKZ3uCsl2aqxqW9CHXoRF1RONDnzMCuyU9Gy++/tOoslR 6QU1babu19LM1o0TeSIl1ICZ5VrX/jZY86NuZR+7+B3aOdxorMIG0R5Vrf/d2+AqBRU7 f+4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:arc-authentication-results; bh=LyC7TD0ES8+sK6dGWvM3wB7ErNuLvP4ZtaLjJbIDlzE=; b=seJBkydsjPPPX/fp0JHJpuXFk7NYDUbDnuXrbGjozTYovZQ/YhbfbLdfrJCPOEMx+z Iae7mDcIyjiKKaipWXIBh3xlLqtPKdqwVWfYogCgof47KdJLMPsJ5/LCQVSwaso8XhBT gzg4+PiGFZfQyZoGyfJsKsxukr64h+zi6XhxY8c+u4ARnws7GL28W4Y8NTciefD/eAmU VcnGzmWL3HVWMShPMDxZzOPuRsYeiTrv5bZkda88PUzzelR1K1ujdoWKf/p+ik6bUGs2 57uaIpjMNur0gY4NR+4TxmlOeTMOd/hz7YvP5LNXQQtwtrrtHNOA9eJ7G5OH/2OHyJqt 2Olg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v2-v6si4778654pgt.228.2018.07.11.13.46.03; Wed, 11 Jul 2018 13:46:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388735AbeGKOoJ (ORCPT + 99 others); Wed, 11 Jul 2018 10:44:09 -0400 Received: from hqemgate14.nvidia.com ([216.228.121.143]:7235 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388402AbeGKOoJ (ORCPT ); Wed, 11 Jul 2018 10:44:09 -0400 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqemgate14.nvidia.com (using TLS: TLSv1, AES128-SHA) id ; Wed, 11 Jul 2018 07:39:28 -0700 Received: from HQMAIL108.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Wed, 11 Jul 2018 07:39:30 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Wed, 11 Jul 2018 07:39:30 -0700 Received: from HQMAIL108.nvidia.com (172.18.146.13) by HQMAIL108.nvidia.com (172.18.146.13) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Wed, 11 Jul 2018 14:39:30 +0000 Received: from hqnvemgw02.nvidia.com (172.16.227.111) by HQMAIL108.nvidia.com (172.18.146.13) with Microsoft SMTP Server (TLS) id 15.0.1347.2 via Frontend Transport; Wed, 11 Jul 2018 14:39:30 +0000 Received: from dhcp-10-21-25-168.Nvidia.com (Not Verified[10.21.25.201]) by hqnvemgw02.nvidia.com with Trustwave SEG (v7,5,8,10121) id ; Wed, 11 Jul 2018 07:39:29 -0700 From: Aapo Vienamo To: Peter De Schrijver CC: Prashant Gaikwad , Michael Turquette , Stephen Boyd , Thierry Reding , Jonathan Hunter , , , , Aapo Vienamo Subject: [PATCH v5 0/4] Multiplex sdmmc low jitter clock path Date: Wed, 11 Jul 2018 17:39:21 +0300 Message-ID: <1531319965-19689-1-git-send-email-avienamo@nvidia.com> X-Mailer: git-send-email 2.7.4 X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The SDMMC clocks have a Low Jitter (LJ) clock path which bypasses a divider to achieve better jitter performance with high speed signaling modes. The clock path with the divider is needed by some of the slower signaling modes. This series automatically multiplexes the LJ and non-LJ clock paths based on the requested frequency. Changelog: v5: - Rename div71_get() to div_frac_get() - Rename div71.c to div-frac.c v4: - Add a changelog v3: - Use include instead of for do_div() - Use SPDX tags for new files - Make mux_lj_idx[] and mux_non_lj_idx[] const - Make tegra_clk_sdmmc_mux_ops static - Fix the includes for fence_udelay() in a separate patch v2: - Fix the type compatibility error on do_div Aapo Vienamo (1): clk: tegra: Fix includes required by fence_udelay() Peter De Schrijver (1): clk: tegra: refactor 7.1 div calculation Peter De-Schrijver (2): clk: tegra: Add sdmmc mux divider clock clk: tegra: make sdmmc2 and sdmmc4 as sdmmc clocks drivers/clk/tegra/Makefile | 2 + drivers/clk/tegra/clk-divider.c | 30 +---- drivers/clk/tegra/clk-id.h | 2 - drivers/clk/tegra/clk-sdmmc-mux.c | 249 +++++++++++++++++++++++++++++++++++ drivers/clk/tegra/clk-tegra-periph.c | 11 -- drivers/clk/tegra/clk-tegra210.c | 14 +- drivers/clk/tegra/clk.h | 30 +++++ drivers/clk/tegra/div-frac.c | 43 ++++++ 8 files changed, 341 insertions(+), 40 deletions(-) create mode 100644 drivers/clk/tegra/clk-sdmmc-mux.c create mode 100644 drivers/clk/tegra/div-frac.c -- 2.7.4