mmc get phase invalid clockrate #26

Closed
opened 2018-08-26 20:23:12 +02:00 by SolidEva · 5 comments
SolidEva commented 2018-08-26 20:23:12 +02:00 (Migrated from github.com)

Early in the boot kernel logs, these get thrown.

[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate
[    0.000000] rockchip_mmc_get_phase: invalid clk rate

I vaguely recall reading on the chrome os kernel somewhere that it is due to certain emmcs not liking the way speed tuning is handled, possibly in the commit logs for https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.14/drivers/clk/rockchip/clk-mmc-phase.c

EDIT: non of the current untested patches fix this

Early in the boot kernel logs, these get thrown. ``` [ 0.000000] rockchip_mmc_get_phase: invalid clk rate [ 0.000000] rockchip_mmc_get_phase: invalid clk rate [ 0.000000] rockchip_mmc_get_phase: invalid clk rate [ 0.000000] rockchip_mmc_get_phase: invalid clk rate [ 0.000000] rockchip_mmc_get_phase: invalid clk rate [ 0.000000] rockchip_mmc_get_phase: invalid clk rate [ 0.000000] rockchip_mmc_get_phase: invalid clk rate [ 0.000000] rockchip_mmc_get_phase: invalid clk rate ``` I vaguely recall reading on the chrome os kernel somewhere that it is due to certain emmcs not liking the way speed tuning is handled, possibly in the commit logs for https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.14/drivers/clk/rockchip/clk-mmc-phase.c EDIT: non of the current untested patches fix this
SolidEva commented 2018-08-31 19:46:25 +02:00 (Migrated from github.com)

The reason we don't see thin in the chromeos kernel is that the error isn't present in
chromeos-3.14/drivers/clk/rockchip/clk-mmc-phase.c

The error has a pretty good description as to why it was added:

	/*
	 * The below calculation is based on the output clock from
	 * MMC host to the card, which expects the phase clock inherits
	 * the clock rate from its parent, namely the output clock
	 * provider of MMC host. However, things may go wrong if
	 * (1) It is orphan.
	 * (2) It is assigned to the wrong parent.
	 *
	 * This check help debug the case (1), which seems to be the
	 * most likely problem we often face and which makes it difficult
	 * for people to debug unstable mmc tuning results.
	 */
	if (!rate) {
		pr_err("%s: invalid clk rate\n", __func__);
		return -EINVAL;
	}

TODO: Try adding the two rate checks to the chromeos kernel

The reason we don't see thin in the chromeos kernel is that the error isn't present in `chromeos-3.14/drivers/clk/rockchip/clk-mmc-phase.c` The error has a pretty good description as to why it was added: ``` /* * The below calculation is based on the output clock from * MMC host to the card, which expects the phase clock inherits * the clock rate from its parent, namely the output clock * provider of MMC host. However, things may go wrong if * (1) It is orphan. * (2) It is assigned to the wrong parent. * * This check help debug the case (1), which seems to be the * most likely problem we often face and which makes it difficult * for people to debug unstable mmc tuning results. */ if (!rate) { pr_err("%s: invalid clk rate\n", __func__); return -EINVAL; } ``` TODO: Try adding the two rate checks to the chromeos kernel
SolidEva commented 2018-09-04 19:21:50 +02:00 (Migrated from github.com)

These errors show up in the chromeos kernel when the checks are added, since the machine works fine despite them and they don't seem to cause problems for chromeos I'm going to ignore and close this issue for now.

These errors show up in the chromeos kernel when the checks are added, since the machine works fine despite them and they don't seem to cause problems for chromeos I'm going to ignore and close this issue for now.
SolidEva commented 2018-10-25 22:45:41 +02:00 (Migrated from github.com)

Reopening issue as these issues may be imapacting the other emmc related problems I'm. Submitted bug report.

Reopening issue as these issues may be imapacting the other emmc related problems I'm. Submitted bug report.
SolidEva commented 2018-11-07 20:55:15 +01:00 (Migrated from github.com)

according to some rockchip clock people this is likely a red herring and not indicative of a larger issue

according to some rockchip clock people this is likely a red herring and not indicative of a larger issue
SolidEva commented 2019-05-22 17:38:56 +02:00 (Migrated from github.com)

this has been fixed in upstream, and will be included in 5.3. Backporting patches to 4.17.19, and eventually 4.19

this has been fixed in upstream, and will be included in 5.3. Backporting patches to 4.17.19, and eventually 4.19
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ev4/PrawnOS#26
No description provided.