All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dragan Simic <dsimic@manjaro.org>
To: Marek Vasut <marex@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Avri Altman <avri.altman@wdc.com>, Tom Rini <trini@konsulko.com>,
	Simon Glass <sjg@chromium.org>,
	Fabio Estevam <festevam@gmail.com>,
	Jaehoon Chung <jh80.chung@samsung.com>,
	u-boot@lists.denx.de
Subject: Re: [PATCH v3] mmc: allow use of hardware partition names for mmc partconf
Date: Tue, 14 May 2024 14:05:41 +0200	[thread overview]
Message-ID: <3a1a4406d54e6cdc09f03e88f265e555@manjaro.org> (raw)
In-Reply-To: <c0704b40-51e2-4f35-b062-ceeaee1b2986@denx.de>

Hello all,

On 2024-05-14 01:02, Marek Vasut wrote:
> On 5/13/24 10:52 PM, Tim Harvey wrote:
>> On Mon, Apr 29, 2024 at 1:51 PM Marek Vasut <marex@denx.de> wrote:
>>> 
>>> On 4/29/24 6:48 PM, Tim Harvey wrote:
>>>> On Sat, Apr 27, 2024 at 4:20 PM Marek Vasut <marex@denx.de> wrote:
>>>>> 
>>>>> On 4/27/24 2:11 AM, Tim Harvey wrote:
>>>>> 
>>>>> [...]
>>>>> 
>>>>>> diff --git a/include/mmc.h b/include/mmc.h
>>>>>> index 4b8327f1f93b..7243bd761202 100644
>>>>>> --- a/include/mmc.h
>>>>>> +++ b/include/mmc.h
>>>>>> @@ -381,6 +381,21 @@ enum mmc_voltage {
>>>>>>     #define MMC_TIMING_MMC_HS200        9
>>>>>>     #define MMC_TIMING_MMC_HS400        10
>>>>>> 
>>>>>> +/* emmc hardware partition values */
>>>>>> +enum emmc_hwpart {
>>>>>> +     EMMC_HWPART_DEFAULT = 0,
>>>>> 
>>>>> One more thing ... eMMC hardware partition 0 and 7 are both 
>>>>> referring to
>>>>> USER HW partition. Have a look at the git log, there have been 
>>>>> patches
>>>>> which handled this case in the MMC subsystem from about a year ago.
>>>> 
>>>> I can't find what you are referring to. I assume you are talking 
>>>> about
>>>> calling the first name something other than 'user' as technically 
>>>> it's
>>>> not (but it gets treated as user).
>>>> 
>>>> Can you find the commit or discussion you are thinking about?
>>> 
>>> It seems this whole thing is much older:
>>> 
>>> 7dbe63bc950b ("SPL: Add CONFIG_SUPPORT_EMMC_BOOT support to
>>> CONFIG_SPL_FRAMEWORK")
>>> 
>>> +                * We need to check what the partition is configured 
>>> to.
>>> +                * 1 and 2 match up to boot0 / boot1 and 7 is user 
>>> data
>>> +                * which is the first physical partition (0).
>>> +                */
>>> +               int part = (mmc->part_config >> 3) & 
>>> PART_ACCESS_MASK;
>>> +
>>> +               if (part == 7)
>>> +                       part = 0;
>> Sorry, I haven't been able to work on U-Boot for the past week or so
>> and am just getting back to this.
> 
> No worries.
> 
>> I'm glad you pointed this out as it made me aware that there is a bit
>> of a mixing of eMMC PARTITION_CONFIG (Ext CSD 179) fields
>> BOOT_PARTITION_ENABLE and PARTITION_ACCESS in U-Boot currently.
>> 
>> I'm going to add an enumerated type for each and update the various
>> places where a 'conversion' as above is done but I'm still a bit torn
>> on naming conventions.
>> 
>> Consider the following:
>> - the eMMC spec refers to boot partitions and gp partitions as 1 based
>> - the Linux kernel device names for these are 0 based
>> - U-Boot does not currently refer to the boot devices by names but
>> does currently refer to the gp's by names using 1-based names (the
>> 'mmc hwpartition' command)
>> 
>> Personally I would like to name the boot partitions 'boot0' and
>> 'boot1' to match Linux but I think I should name the gp's
>> 'gp1'...'gp4' to be backward compatible with the 'mmc hwpartition'
>> command.
>> 
>> What do you think?
> 
> I agree.
> 
> Maybe you could also check this with Ulf (Linux MMC maintainer) and
> Avri (mmc-utils), both on To:, so we would be consistent and in sync ?

As I promised earlier, I went through a few JEDEC standards and some
publicly available JEDEC documents and presentations, and my conclusion
is that no official numbering scheme for the partitions seems to be
defined there.

However, I'd propose that we keep "boot0" and "boot1", because that's
pretty much become a de facto standard, and also switch to using "gp0"
through "gp3" for the general-purpose partitions.  That switch might
be some kind of a backward-incompatible change, but it would follow
the names of the corresponding GP_SIZE_MULT_GP0 ... GP_SIZE_MULT_GP3
fields in the EXT_CSD register, as defined by JEDEC, and it would also
be more consistent with the numbering of the boot partitions.

Though, general-purpose partitions are mentioned as GPP1 ... GPP4 in
one place in the JEDEC standard, which just confirms that no official
numbering scheme seems to be defined.  Moreover, the boot partitions
are more than once referred to as "boot partition 1" and "boot partition
2" in the JEDEC standard, which means we're already not following the
standard with "boot0" and "boot1".

Frankly, it's all a bit contradictory and confusing, but I think that
the increased consistency would outweigh the backward-incompatible
downside of the switch to "gp0" through "gp3".

  reply	other threads:[~2024-05-14 12:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-27  0:11 [PATCH v3] mmc: allow use of hardware partition names for mmc partconf Tim Harvey
2024-04-27  0:48 ` Marek Vasut
2024-04-27  1:29   ` E Shattow
2024-04-27 10:22     ` Marek Vasut
2024-04-27 12:06       ` E Shattow
2024-04-27 23:19         ` Marek Vasut
2024-04-27 23:20 ` Marek Vasut
2024-04-29 16:48   ` Tim Harvey
2024-04-29 20:15     ` Marek Vasut
2024-05-13 20:52       ` Tim Harvey
2024-05-13 23:02         ` Marek Vasut
2024-05-14 12:05           ` Dragan Simic [this message]
2024-05-14 16:31             ` Tim Harvey

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=3a1a4406d54e6cdc09f03e88f265e555@manjaro.org \
    --to=dsimic@manjaro.org \
    --cc=avri.altman@wdc.com \
    --cc=festevam@gmail.com \
    --cc=jh80.chung@samsung.com \
    --cc=marex@denx.de \
    --cc=sjg@chromium.org \
    --cc=tharvey@gateworks.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=ulf.hansson@linaro.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 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.