Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp1015976ybe; Thu, 19 Sep 2019 07:25:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqxKCR0XJGysxx9oG3bBaWr8antBDOJArhc2uckY5YTKNOU13cH4GpUuMeKFzDFs1kCDjl5N X-Received: by 2002:a17:906:4cc3:: with SMTP id q3mr6221730ejt.127.1568903130483; Thu, 19 Sep 2019 07:25:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568903130; cv=none; d=google.com; s=arc-20160816; b=Qmkj8nz1eA5lA9jKni6lgXiRugkx6qeiOD1Vu3Di/lXMSz0+SDCl8GClojDOtxcHJI 01YdGeDygSKB4+CFh16gOmhrLvaMH0kP6aODYr8hiGVrtboXoA6NJOrerXeAyowzTWDW GdqajCdz3odaIGASs8BOfvaY+4udvhhl872cf4IU9LW/04fC4rQxB58J9YFrTrKTxWTB lcZXJMrh1bnwq0n7BaXpOcvOumgUChsWaEc5/jBwjzA3/QBdzgyprEAHv6lJTG7E5uTj Bii8GJTiKIRzcJ0YjfzEjYQ+0/g4h7M8GSC1yNh9d2g47Hf7SuL5yKJq3b7q22c6zbah 6J3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=2A0oosZIpjBMenE6Tjm33BxMZdklQECEBVCtAhWMYQs=; b=i78lybpybne28u70NWymF6j6nASewV8j3V9tTMAPc15EJecBgKUBf4iv8PIke++9W9 ZZ8rkBGRO276sPdwRzmsgFudL0DJ6lchPa4oeo435RL2ctvBc5ezPIfakOCSFH9F/E0d df8hhSqOcCTO+ztCZRaA41PkTg2Wlfc55rN+FPntMxo9vnpUy7cg7aoyLMqXznEVXS6D B4gvgpcd/TK6Z7yCDJalPupLzL1NgSYBQUNQXHqJKES3EaPNsBDdJz3wGVtoLGxPytvi nhIPXi74DieXOU+iDmq65rGhDD8DTAbLooIV27imCjOH5zy/Xu2Uo8VqO4TcWFEuLYDf oHwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=ARPIhl8y; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l26si5423411edb.258.2019.09.19.07.25.07; Thu, 19 Sep 2019 07:25:30 -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; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=ARPIhl8y; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389228AbfISKZ1 (ORCPT + 99 others); Thu, 19 Sep 2019 06:25:27 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:33833 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389171AbfISKZ0 (ORCPT ); Thu, 19 Sep 2019 06:25:26 -0400 Received: by mail-wr1-f66.google.com with SMTP id a11so2533243wrx.1 for ; Thu, 19 Sep 2019 03:25:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=2A0oosZIpjBMenE6Tjm33BxMZdklQECEBVCtAhWMYQs=; b=ARPIhl8y30FO/F6oN6rrJzhE+e4JFkdGSwgjSFtfDZWZcWA/5EH5LBr4L6b0SKWglH UbVGQsTdPnHYSTM0FLHAvMtgmlZahzJaO25HwC8vbQ12W7cm3h9dFlL3FkstMUbU3S28 4fm6Vth4wRpsGNZHNR6meJZD//S5QE3E6NFqQnYecq2YfXug/zatNdwqIm9lhAAKb9hY Mk7OrUEA6satXsZqIOlyBR39Nioo4KQgA4VYIhCnVz9Y91y2ppbs4ap7veYd6uCv2lOI pjhQdI9L7aOmQq/5zwbXHxCW9UhgyjR6TRmw74BMHQyWnyMsXrvAs6P17sdEuZdTqPji QWxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=2A0oosZIpjBMenE6Tjm33BxMZdklQECEBVCtAhWMYQs=; b=AfSEqB920KHUo8+XyQ/ghpM1YKYiUUoneMUxsF/F+oc5JfpRKiRNcrc8nHAFhEPq33 p+r2PADunPo8rr1iUwyTDsCBoGEpwUam2oBx1MGSzP+On8f1QJSQYVRkAbbnwsEH8hPG +S6dhQmwsUZ4j+zHZf1Q8lKKGbw09BDAkFOr0FL6u0Fn3DIOGdneMxt3/CDFIW89yR5O xS/C+4nXjdqS21lBUKEqpd5l3G/t6llpWn8OJj+YfhNakFkO4XEE+D4FKLUXoT2tOWh8 cMMl94bZV60xOV6xz/g9AcdFg4Q06i3CMi5IPSv97m8Q6+K0YL0mZtwhp2zKpaLwHEqE KGHw== X-Gm-Message-State: APjAAAVipF2JaB7sHCoAOsvIUpBa3NSbMmg5n5O5uFvddl1fYlsGiRQV lHpIjJUNCcZooWry4+Kntyt9eg== X-Received: by 2002:adf:cc0a:: with SMTP id x10mr6471942wrh.195.1568888722613; Thu, 19 Sep 2019 03:25:22 -0700 (PDT) Received: from bender.baylibre.local (wal59-h01-176-150-251-154.dsl.sta.abo.bbox.fr. [176.150.251.154]) by smtp.gmail.com with ESMTPSA id a18sm19542000wrh.25.2019.09.19.03.25.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Sep 2019 03:25:21 -0700 (PDT) From: Neil Armstrong To: sboyd@kernel.org, jbrunet@baylibre.com, mturquette@baylibre.com Cc: Neil Armstrong , linux-clk@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH RFC 0/2] clk: meson: g12a: handle clock hw changes while in suspend Date: Thu, 19 Sep 2019 12:25:16 +0200 Message-Id: <20190919102518.25126-1-narmstrong@baylibre.com> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This serie aime to support when the suspend/resume firmware alters the clock tree, leading to an incorrect representation of the clock tree after a resume from suspend-to-mem. For the Amlogic G12A/G12B/SM1 case, the SCPI firmware handling suspend alters the CPU clock tree in various ways. Since we know which part of the tree is possibly altered, we introduce here the clk_invalidate_rate() function that will rebuild the tree from the hardware registers in case parents and dividers have changed. Finally we call clk_invalidate_rate() from a new resume callback to refresh the CPU clock tree after a resume. With the clock tree refreshed, CCF can now handle the new clock tree configuration and avoid crashing the system on further DVFS set_rates. Neil Armstrong (2): clk: introduce clk_invalidate_rate() clk: meson: g12a: add suspend-resume hooks drivers/clk/clk.c | 70 +++++++++++++++++++++++++++++++++++++++ drivers/clk/meson/g12a.c | 71 +++++++++++++++++++++++++++++++++++----- include/linux/clk.h | 13 ++++++++ 3 files changed, 146 insertions(+), 8 deletions(-) -- 2.22.0