Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa2139ef authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC fixes from Ulf Hansson:

 - meson-gx: Revert to earlier tuning process

 - bcm2835: Don't overwrite max frequency unconditionally

* tag 'mmc-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
  mmc: bcm2835: Don't overwrite max frequency unconditionally
  Revert "mmc: meson-gx: include tx phase in the tuning process"
parents 4b6415f9 118032be
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1265,6 +1265,7 @@ static int bcm2835_add_host(struct bcm2835_host *host)
	char pio_limit_string[20];
	int ret;

	if (!mmc->f_max || mmc->f_max > host->max_clk)
		mmc->f_max = host->max_clk;
	mmc->f_min = host->max_clk / SDCDIV_MAX_CDIV;

+1 −18
Original line number Diff line number Diff line
@@ -717,22 +717,6 @@ static int meson_mmc_clk_phase_tuning(struct mmc_host *mmc, u32 opcode,
static int meson_mmc_execute_tuning(struct mmc_host *mmc, u32 opcode)
{
	struct meson_host *host = mmc_priv(mmc);
	int ret;

	/*
	 * If this is the initial tuning, try to get a sane Rx starting
	 * phase before doing the actual tuning.
	 */
	if (!mmc->doing_retune) {
		ret = meson_mmc_clk_phase_tuning(mmc, opcode, host->rx_clk);

		if (ret)
			return ret;
	}

	ret = meson_mmc_clk_phase_tuning(mmc, opcode, host->tx_clk);
	if (ret)
		return ret;

	return meson_mmc_clk_phase_tuning(mmc, opcode, host->rx_clk);
}
@@ -763,9 +747,8 @@ static void meson_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
		if (!IS_ERR(mmc->supply.vmmc))
			mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, ios->vdd);

		/* Reset phases */
		/* Reset rx phase */
		clk_set_phase(host->rx_clk, 0);
		clk_set_phase(host->tx_clk, 270);

		break;