All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
To: Victor Shih <victorshihgli@gmail.com>,
	ulf.hansson@linaro.org, adrian.hunter@intel.com
Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
	benchuanggli@gmail.com, HL.Liu@genesyslogic.com.tw,
	Greg.tu@genesyslogic.com.tw, takahiro.akashi@linaro.org,
	dlunev@chromium.org,
	Victor Shih <victor.shih@genesyslogic.com.tw>
Subject: Re: [PATCH V5 02/26] mmc: core: Prepare to support SD UHS-II cards
Date: Fri, 4 Nov 2022 13:16:31 +0100	[thread overview]
Message-ID: <e9c15b05-6515-cc40-d842-4bdaca96b0c8@wanadoo.fr> (raw)
In-Reply-To: <20221019110647.11076-3-victor.shih@genesyslogic.com.tw>

Le 19/10/2022 à 13:06, Victor Shih a écrit :
> From: Ulf Hansson <ulf.hansson@linaro.org>
> 
> Updates in V4:
>   - Re-based, updated a comment and removed white-space.
>   - Moved MMC_VQMMC2_VOLTAGE_180 into a later patch in the series.
> 
> Update in previous version:
> The SD UHS-II interface was introduced to the SD spec v4.00 several years
> ago. The interface is fundamentally different from an electrical and a
> protocol point of view, comparing to the legacy SD interface.
> 
> However, the legacy SD protocol is supported through a specific transport
> layer (SD-TRAN) defined in the UHS-II addendum of the spec. This allows the
> SD card to be managed in a very similar way as a legacy SD card, hence a
> lot of code can be re-used to support these new types of cards through the
> mmc subsystem.
> 
> Moreover, an SD card that supports the UHS-II interface shall also be
> backwards compatible with the legacy SD interface, which allows a UHS-II
> card to be inserted into a legacy slot. As a matter of fact, this is
> already supported by mmc subsystem as of today.
> 
> To prepare to add support for UHS-II, this change puts the basic foundation
> in the mmc core in place, allowing it to be more easily reviewed before
> subsequent changes implements the actual support.
> 
> Basically, the approach here adds a new UHS-II bus_ops type and adds a
> separate initialization path for the UHS-II card. The intent is to avoid us
> from sprinkling the legacy initialization path, but also to simplify
> implementation of the UHS-II specific bits.
> 
> At this point, there is only one new host ops added to manage the various
> ios settings needed for UHS-II. Additional host ops that are needed, are
> being added from subsequent changes.
> 
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---

[]

> +static int sd_uhs2_attach(struct mmc_host *host)
> +{
> +	int err;
> +
> +	err = sd_uhs2_power_up(host);
> +	if (err)
> +		goto err;
> +
> +	err = sd_uhs2_phy_init(host);
> +	if (err)
> +		goto err;
> +
> +	err = sd_uhs2_init_card(host);
> +	if (err)
> +		goto err;
> +
> +	mmc_attach_bus(host, &sd_uhs2_ops);
> +
> +	mmc_release_host(host);
> +
> +	err = mmc_add_card(host->card);
> +	if (err)
> +		goto remove_card;
> +
> +	mmc_claim_host(host);
> +	return 0;
> +
> +remove_card:
> +	mmc_remove_card(host->card);

Hi,

If we arrive here, mmc_add_card() has failed.
is it correct to call mmc_remove_card() in such a case?

> +	host->card = NULL;
> +	mmc_claim_host(host);
> +	mmc_detach_bus(host);
> +err:
> +	sd_uhs2_power_off(host);

If sd_uhs2_power_up() fails, we arrive here.
Is its correct to call sd_uhs2_power_off() in such a case, or should we 
return directly if sd_uhs2_power_up() fails?

CJ

> +	return err;
> +}
> +

[]


  reply	other threads:[~2022-11-04 12:16 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-19 11:06 [PATCH V5 00/26] Add support UHS-II for GL9755 Victor Shih
2022-10-19 11:06 ` [PATCH V5 01/26] mmc: core: Cleanup printing of speed mode at card insertion Victor Shih
2022-10-19 11:06 ` [PATCH V5 02/26] mmc: core: Prepare to support SD UHS-II cards Victor Shih
2022-11-04 12:16   ` Christophe JAILLET [this message]
2022-11-04 15:09     ` Ulf Hansson
2022-10-19 11:06 ` [PATCH V5 03/26] mmc: core: Announce successful insertion of an SD UHS-II card Victor Shih
2022-10-19 11:06 ` [PATCH V5 04/26] mmc: core: Extend support for mmc regulators with a vqmmc2 Victor Shih
2022-10-19 11:06 ` [PATCH V5 05/26] mmc: core: Add definitions for SD UHS-II cards Victor Shih
2022-11-01 17:12   ` Adrian Hunter
2022-11-16 11:06     ` Victor Shih
2022-11-16 13:48       ` Adrian Hunter
2022-11-17  6:19         ` Ben Chuang
2022-11-17 16:03           ` Adrian Hunter
2022-11-18  1:19             ` Ben Chuang
2022-12-13  8:44               ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 06/26] mmc: core: Support UHS-II card control and access Victor Shih
2022-10-19 11:06 ` [PATCH V5 07/26] mmc: sdhci: add a kernel configuration for enabling UHS-II support Victor Shih
2022-11-01 17:12   ` Adrian Hunter
2022-12-13  8:45     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 08/26] mmc: sdhci: add UHS-II related definitions in headers Victor Shih
2022-11-01 17:12   ` Adrian Hunter
2022-12-13  8:45     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 09/26] mmc: sdhci: add UHS-II module Victor Shih
2022-11-01 17:12   ` Adrian Hunter
2022-12-13  8:45     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 10/26] mmc: sdhci-uhs2: dump UHS-II registers Victor Shih
2022-11-01 17:13   ` Adrian Hunter
2022-12-13  8:45     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 11/26] mmc: sdhci-uhs2: add reset function and uhs2_mode function Victor Shih
2022-11-01 17:13   ` Adrian Hunter
2022-12-13  8:45     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 12/26] mmc: sdhci-uhs2: add set_power() to support vdd2 Victor Shih
2022-11-01 17:13   ` Adrian Hunter
2022-12-13  8:46     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 13/26] mmc: sdhci-uhs2: skip signal_voltage_switch() Victor Shih
2022-10-19 11:06 ` [PATCH V5 14/26] mmc: sdhci-uhs2: add set_timeout() Victor Shih
2022-11-01 17:14   ` Adrian Hunter
2022-12-13  8:46     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 15/26] mmc: sdhci-uhs2: add set_ios() Victor Shih
2022-11-01 17:14   ` Adrian Hunter
2022-12-13  8:46     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 16/26] mmc: sdhci-uhs2: add detect_init() to detect the interface Victor Shih
2022-11-01 17:14   ` Adrian Hunter
2022-12-13  8:47     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 17/26] mmc: sdhci-uhs2: add clock operations Victor Shih
2022-11-01 17:14   ` Adrian Hunter
2022-12-13  8:47     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 18/26] mmc: sdhci-uhs2: add uhs2_control() to initialise the interface Victor Shih
2022-11-01 17:15   ` Adrian Hunter
2022-12-13  8:47     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 19/26] mmc: sdhci-uhs2: add request() and others Victor Shih
2022-11-01 17:15   ` Adrian Hunter
2022-12-13  8:47     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 20/26] mmc: sdhci-uhs2: add irq() " Victor Shih
2022-11-01 17:15   ` Adrian Hunter
2022-12-13  8:48     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 21/26] mmc: sdhci-uhs2: add add_host() and others to set up the driver Victor Shih
2022-11-01 17:15   ` Adrian Hunter
2022-12-13  8:48     ` Victor Shih
2022-10-19 11:06 ` [PATCH V5 22/26] mmc: sdhci-uhs2: add pre-detect_init hook Victor Shih
2022-10-19 11:06 ` [PATCH V5 23/26] mmc: core: add post-mmc_attach_sd hook Victor Shih
2022-10-19 11:06 ` [PATCH V5 24/26] mmc: sdhci-uhs2: " Victor Shih
2022-10-19 11:06 ` [PATCH V5 25/26] mmc: sdhci-pci: add UHS-II support framework Victor Shih
2022-10-19 11:06 ` [PATCH V5 26/26] mmc: sdhci-pci-gli: enable UHS-II mode for GL9755 Victor Shih
2022-10-19 11:29 ` [PATCH V5 00/26] Add support UHS-II " Ulf Hansson
2022-11-01  2:24   ` Victor Shih
2022-11-01 17:28 ` Adrian Hunter
2022-11-04 10:43   ` Victor Shih
  -- strict thread matches above, loose matches on Subject: below --
2022-10-17  9:11 Victor Shih
2022-10-17  9:11 ` [PATCH V5 02/26] mmc: core: Prepare to support SD UHS-II cards Victor Shih
2022-10-14 11:45 [PATCH V5 00/26] Add support UHS-II for GL9755 Victor Shih
2022-10-14 11:45 ` [PATCH V5 02/26] mmc: core: Prepare to support SD UHS-II cards Victor Shih

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=e9c15b05-6515-cc40-d842-4bdaca96b0c8@wanadoo.fr \
    --to=christophe.jaillet@wanadoo.fr \
    --cc=Greg.tu@genesyslogic.com.tw \
    --cc=HL.Liu@genesyslogic.com.tw \
    --cc=adrian.hunter@intel.com \
    --cc=benchuanggli@gmail.com \
    --cc=dlunev@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=takahiro.akashi@linaro.org \
    --cc=ulf.hansson@linaro.org \
    --cc=victor.shih@genesyslogic.com.tw \
    --cc=victorshihgli@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.