linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: Dean Wallace <duffydack73@gmail.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	linux-clk <linux-clk@vger.kernel.org>,
	Stable <stable@vger.kernel.org>,
	Johannes Stezenbach <js@sig21.net>,
	Carlo Caione <carlo@endlessm.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Mogens Jensen <mogens-jensen@protonmail.com>
Subject: Re: Regression found (Stop-marking-clocks-as-CLK_IS_CRITICAL)
Date: Wed, 31 Oct 2018 12:04:49 +0100	[thread overview]
Message-ID: <307c2074-d268-a87a-6040-1240a2091a4d@redhat.com> (raw)
In-Reply-To: <20181030161534.wk5cf7nxbwhp2far@picard>

[-- Attachment #1: Type: text/plain, Size: 1400 bytes --]

Hi,

On 30-10-18 17:15, Dean Wallace wrote:
> On 30-10-18, Hans de Goede wrote:
>> Hi,
>>
>> On 30-10-18 16:46, Hans de Goede wrote:
>>> Hi,
>>>
>>> On 30-10-18 16:04, Pierre-Louis Bossart wrote:
>>>> In addition I am not aware of any baytrail device using plt_clk_0,
>>>> so moving a common machine driver such a cht_bsw_max98090_ti to use
>>>> plt_clk0 only would break other devices (e.g. Rambi/Orco). Asking
>>>> for both clocks to be on might work though,
>>>
>>> Ok, so we need to have a DMI based quirk for the Swanky and maybe also
>>> the clapper to use plt_clk_0 there. Asking for 2 clks if we only need
>>> one does not seem like a good plan.
>>
>> Dean, Mogens,
>>
>> To write a proper patch for this I'm going to need DMI strings
>> from your devices.
>>
>> Can you please run (as normal user):
>>
>> grep . /sys/class/dmi/id/* 2> /dev/null
>>
>> And reply with the output of this command?
> Here's mine, for a coreboot uefi based swanky.
> 
> https://ptpb.pw/~swanky-dmi-log

Thanks, can you give the attached patch a try. This does the same
as the previous one you tested, but then only on the Swanky.

Note I've added:

Reported-and-tested-by: Dean Wallace <duffydack73@gmail.com>

To the commit message, I hope that is ok with you, if not let me
know and I will drop it.

Once you can confirm that this version also fixes things I will
submit this version upstream.

Regards,

Hans


[-- Attachment #2: 0001-ASoC-intel-cht_bsw_max98090_ti-Add-quirk-for-boards-.patch --]
[-- Type: text/x-patch, Size: 3170 bytes --]

From 0413a62e99a00e77392011a07c9392fc132a9b15 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Wed, 31 Oct 2018 11:35:52 +0100
Subject: [PATCH v2] ASoC: intel: cht_bsw_max98090_ti: Add quirk for boards
 using pmc_plt_clk_0

Some boards such as the Swanky model Chromebooks use pmc_plt_clk_0 for the
mclk instead of pmc_plt_clk_3.

This commit adds a DMI based quirk for this.

This fixing audio no longer working on these devices after
commit 648e921888ad ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL")
that commit fixes us unnecessary keeping unused clocks on, but in case
of the Swanky that was breaking audio support since we were not using
the right clock in the cht_bsw_max98090_ti machine driver.

Cc: stable@vger.kernel.org
Fixes: 648e921888ad ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL")
Reported-and-tested-by: Dean Wallace <duffydack73@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 sound/soc/intel/boards/cht_bsw_max98090_ti.c | 32 ++++++++++++++++++--
 1 file changed, 29 insertions(+), 3 deletions(-)

diff --git a/sound/soc/intel/boards/cht_bsw_max98090_ti.c b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
index db6976f4ddaa..9d9f6e41d81c 100644
--- a/sound/soc/intel/boards/cht_bsw_max98090_ti.c
+++ b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
@@ -19,6 +19,7 @@
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
+#include <linux/dmi.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/slab.h>
@@ -35,6 +36,8 @@
 #define CHT_PLAT_CLK_3_HZ	19200000
 #define CHT_CODEC_DAI	"HiFi"
 
+#define QUIRK_PMC_PLT_CLK_0				0x01
+
 struct cht_mc_private {
 	struct clk *mclk;
 	struct snd_soc_jack jack;
@@ -385,11 +388,29 @@ static struct snd_soc_card snd_soc_card_cht = {
 	.num_controls = ARRAY_SIZE(cht_mc_controls),
 };
 
+static const struct dmi_system_id cht_max98090_quirk_table[] = {
+	{
+		/* Swanky model Chromebook (Toshiba Chromebook 2) */
+		.matches = {
+			DMI_MATCH(DMI_PRODUCT_NAME, "Swanky"),
+		},
+		.driver_data = (void *)QUIRK_PMC_PLT_CLK_0,
+	},
+	{}
+};
+
 static int snd_cht_mc_probe(struct platform_device *pdev)
 {
+	const struct dmi_system_id *dmi_id;
 	struct device *dev = &pdev->dev;
 	int ret_val = 0;
 	struct cht_mc_private *drv;
+	const char *mclk_name;
+	int quirks = 0;
+
+	dmi_id = dmi_first_match(cht_max98090_quirk_table);
+	if (dmi_id)
+		quirks = (unsigned long)dmi_id->driver_data;
 
 	drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_KERNEL);
 	if (!drv)
@@ -411,11 +432,16 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 	snd_soc_card_cht.dev = &pdev->dev;
 	snd_soc_card_set_drvdata(&snd_soc_card_cht, drv);
 
-	drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3");
+	if (quirks & QUIRK_PMC_PLT_CLK_0)
+		mclk_name = "pmc_plt_clk_0";
+	else
+		mclk_name = "pmc_plt_clk_3";
+
+	drv->mclk = devm_clk_get(&pdev->dev, mclk_name);
 	if (IS_ERR(drv->mclk)) {
 		dev_err(&pdev->dev,
-			"Failed to get MCLK from pmc_plt_clk_3: %ld\n",
-			PTR_ERR(drv->mclk));
+			"Failed to get MCLK from %s: %ld\n",
+			mclk_name, PTR_ERR(drv->mclk));
 		return PTR_ERR(drv->mclk);
 	}
 
-- 
2.19.0


  reply	other threads:[~2018-10-31 11:04 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20181025232517.ywnw54qibemosjws@picard>
2018-10-29 17:45 ` Regression found (Stop-marking-clocks-as-CLK_IS_CRITICAL) Stephen Boyd
2018-10-29 17:52   ` Andy Shevchenko
2018-10-29 18:04     ` Andy Shevchenko
2018-10-29 19:08       ` Dean Wallace
2018-10-29 22:03         ` Pierre-Louis Bossart
2018-10-30 10:17           ` Hans de Goede
2018-10-30 11:05             ` Hans de Goede
2018-10-30 16:24               ` Andy Shevchenko
2018-10-30 11:19           ` Hans de Goede
2018-10-30 14:38             ` Dean Wallace
2018-10-30 14:48               ` Hans de Goede
2018-10-30 15:03                 ` Andy Shevchenko
2018-10-30 15:25                   ` Pierre-Louis Bossart
2018-10-30 15:04               ` Pierre-Louis Bossart
2018-10-30 15:46                 ` Hans de Goede
2018-10-30 16:02                   ` Hans de Goede
2018-10-30 16:27                     ` Pierre-Louis Bossart
2018-10-30 18:31                       ` Hans de Goede
2018-10-30 16:03                   ` Pierre-Louis Bossart
2018-10-30 16:04                   ` Hans de Goede
2018-10-30 16:15                     ` Dean Wallace
2018-10-31 11:04                       ` Hans de Goede [this message]
2018-10-31 12:45                         ` Dean Wallace
2018-10-31 20:07                         ` Dean Wallace
2018-10-31 22:27                           ` Pierre-Louis Bossart
2018-10-31 23:57                             ` Dean Wallace
2018-11-01 10:37                             ` Dean Wallace
2018-11-01 13:57                               ` Hans de Goede
2018-11-01 14:28                                 ` Dean Wallace
2018-11-01 14:49                                   ` Hans de Goede
2018-11-01 15:29                                     ` Dean Wallace
2018-11-01 15:39                                     ` Dean Wallace
2018-11-01 15:50                                     ` Dean Wallace
2018-11-02 10:27                                       ` Hans de Goede
2018-11-02 11:15                                         ` Dean Wallace
2018-11-01 13:56                             ` Hans de Goede
2018-10-30 18:56                     ` Mogens Jensen
2018-10-30 19:10                       ` Hans de Goede
2018-10-31  6:02                         ` Mogens Jensen
2018-10-31  9:29                           ` Hans de Goede
2018-10-31 10:03                             ` Dean Wallace
2018-11-01  6:55                             ` Mogens Jensen
2018-12-02 12:25                               ` Hans de Goede
2019-01-17  5:58                                 ` Mogens Jensen
2019-01-17  9:12                                   ` Dean Wallace
2019-01-17 12:05                                     ` Hans de Goede
2019-01-17 13:05                                       ` Johannes Stezenbach
2019-01-17 13:16                                       ` Dean Wallace
2019-01-18 15:33                                         ` Hans de Goede
2019-01-17 19:30                                       ` Mogens Jensen
2019-01-18 15:35                                         ` Hans de Goede
2019-01-21  5:55                                           ` Mogens Jensen
2019-01-22 19:27                                             ` Pierre-Louis Bossart
2019-01-25  5:16                                               ` Mogens Jensen
2019-01-25 14:12                                                 ` Pierre-Louis Bossart
2019-01-25 17:57                                                 ` Pierre-Louis Bossart
2019-01-25 20:30                                                   ` Andy Shevchenko
2019-01-24 10:35                                             ` Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=307c2074-d268-a87a-6040-1240a2091a4d@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=carlo@endlessm.com \
    --cc=duffydack73@gmail.com \
    --cc=js@sig21.net \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mogens-jensen@protonmail.com \
    --cc=mturquette@baylibre.com \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=sboyd@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).