soundwire: intel: fix factor of two in MCLK handling
authorBard Liao <yung-chuan.liao@linux.intel.com>
Mon, 13 Jan 2020 23:11:29 +0000 (17:11 -0600)
committerVinod Koul <vkoul@kernel.org>
Tue, 14 Jan 2020 06:35:52 +0000 (12:05 +0530)
Somehow Intel folks were confused, the property is 2x what the mclk
frequency actually is (checked the actual bus frequency with a scope)

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200113231129.19049-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/intel.c

index 0371d3d..06ef3a3 100644 (file)
@@ -880,6 +880,9 @@ static int sdw_master_read_intel_prop(struct sdw_bus *bus)
                                 "intel-sdw-ip-clock",
                                 &prop->mclk_freq);
 
+       /* the values reported by BIOS are the 2x clock, not the bus clock */
+       prop->mclk_freq /= 2;
+
        fwnode_property_read_u32(link,
                                 "intel-quirk-mask",
                                 &quirk_mask);