From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: Sughosh Ganu <sughosh.ganu@linaro.org>
Cc: u-boot@lists.denx.de, Heinrich Schuchardt <xypron.glpk@gmx.de>,
Takahiro Akashi <takahiro.akashi@linaro.org>,
Patrick Delaunay <patrick.delaunay@foss.st.com>,
Patrice Chotard <patrice.chotard@foss.st.com>,
Simon Glass <sjg@chromium.org>, Bin Meng <bmeng.cn@gmail.com>,
Tom Rini <trini@konsulko.com>,
Etienne Carriere <etienne.carriere@linaro.org>,
Michal Simek <monstr@monstr.eu>,
Jassi Brar <jaswinder.singh@linaro.org>
Subject: Re: [PATCH v10 06/15] FWU: Add helper functions for accessing FWU metadata
Date: Fri, 23 Sep 2022 09:16:28 +0300 [thread overview]
Message-ID: <Yy1PPJFXt10F2Nnz@hades> (raw)
In-Reply-To: <CADg8p94Cx8E+TKOKT24twKwWpDvxB87EADgSfjR1bwCAP_svzg@mail.gmail.com>
[...]
> > > +static int fwu_gpt_get_alt_num(struct blk_desc *desc, efi_guid_t *image_guid,
> > > + u8 *alt_num, unsigned char dfu_dev)
> > > +{
> > > + int ret = -1;
> > > + int i, part, dev_num;
> > > + int nalt;
> > > + struct dfu_entity *dfu;
> > > +
> > > + dev_num = desc->devnum;
> > > + part = get_gpt_dfu_identifier(desc, image_guid);
> > > + if (part < 0)
> > > + return -ENOENT;
> > > +
> > > + dfu_init_env_entities(NULL, NULL);
> > > +
> > > + nalt = 0;
> > > + list_for_each_entry(dfu, &dfu_list, list)
> > > + nalt++;
> > > +
> > > + if (!nalt) {
> > > + log_warning("No entities in dfu_alt_info\n");
> > > + dfu_free_entities();
> > > + return -ENOENT;
> > > + }
> > > +
> > > + for (i = 0; i < nalt; i++) {
> > > + dfu = dfu_get_entity(i);
> > > +
> > > + if (!dfu)
> > > + continue;
> > > +
> > > + /*
> > > + * Currently, Multi Bank update
> > > + * feature is being supported
> > > + * only on GPT partitioned
> > > + * MMC/SD devices.
> > > + */
> > > + if (dfu->dev_type != dfu_dev)
> > > + continue;
> > > +
> > > + if (dfu->layout == DFU_RAW_ADDR &&
> > > + dfu->data.mmc.dev_num == dev_num &&
> > > + dfu->data.mmc.part == part) {
> > > + *alt_num = dfu->alt;
> > > + ret = 0;
> > > + break;
> >
> > I get that we only currently support it on mmc, but the if above is not
> > going to scale as we add devices. Is there something better we can come
> > up with? Probably a helper in the dfu layer?
>
> Currently, the DFU supports only the mmc which will be a GPT
> partitioned device. But yes, yours is a valid point in terms of
> scalability. However, I am wondering if this check should instead be
> in the board file. Every platform would know which is the device being
> used for storing the firmware images. Will this check not be more apt
> in a board function?
Isn't this supposed to come from the dfu_alt_info in the command line?
IOW What you are trying to prevent here is a user misconfiguration?
Thanks
/Ilias
>
> -sughosh
>
> >
> > Cheers
> > /Ilias
> >
> >
> > > + }
> > > + }
> > > +
> > > + dfu_free_entities();
> > > +
> > > + return ret;
> > > +}
> > > +
> > > +/**
> > > + * fwu_plat_get_alt_num() - Get the DFU alt number
> > > + * @dev: FWU metadata device
> > > + * @image_guid: GUID value of the image for which the alt num is to
> > > + * be obtained
> > > + * @alt_num: The DFU alt number for the image that is to be updated
> > > + *
> > > + * Get the DFU alt number for the image that is to be updated. The
> > > + * image is identified with the image_guid parameter that is passed
> > > + * to the function.
> > > + *
> > > + * Note: This is a weak function and platforms can override this with
> > > + * their own implementation for obtaining the alt number value.
> > > + *
> > > + * Return: 0 if OK, -ve on error
> > > + *
> > > + */
> > > +__weak int fwu_plat_get_alt_num(struct udevice *dev, efi_guid_t *image_guid,
> > > + u8 *alt_num)
> > > +{
> > > + struct fwu_mdata_gpt_blk_priv *priv = dev_get_priv(dev);
> > > +
> > > + return fwu_gpt_get_alt_num(dev_get_uclass_plat(priv->blk_dev),
> > > + image_guid, alt_num, DFU_DEV_MMC);
> > > +}
> > > --
> > > 2.34.1
> > >
next prev parent reply other threads:[~2022-09-23 6:16 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-15 8:14 [PATCH v10 00/15] FWU: Add FWU Multi Bank Update feature support Sughosh Ganu
2022-09-15 8:14 ` [PATCH v10 01/15] dt/bindings: Add bindings for GPT based FWU Metadata storage device Sughosh Ganu
2022-09-15 8:14 ` [PATCH v10 02/15] FWU: Add FWU metadata structure and driver for accessing metadata Sughosh Ganu
2022-09-19 0:33 ` Jassi Brar
2022-09-19 12:39 ` Sughosh Ganu
2022-09-26 2:57 ` Jassi Brar
2022-09-26 10:00 ` Sughosh Ganu
2022-09-26 14:42 ` Jassi Brar
2022-09-27 7:14 ` Sughosh Ganu
2022-09-27 16:25 ` Jassi Brar
2022-09-28 6:00 ` Sughosh Ganu
2022-09-28 19:29 ` Jassi Brar
2022-09-29 6:01 ` Sughosh Ganu
2022-09-15 8:14 ` [PATCH v10 03/15] FWU: Add FWU metadata access driver for GPT partitioned block devices Sughosh Ganu
2022-09-22 8:46 ` Ilias Apalodimas
2022-09-26 8:46 ` Sughosh Ganu
2022-09-27 11:35 ` Etienne Carriere
2022-09-27 11:57 ` Ilias Apalodimas
2022-09-26 2:52 ` Jassi Brar
2022-09-26 8:48 ` Sughosh Ganu
2022-09-26 15:00 ` Jassi Brar
2022-09-15 8:14 ` [PATCH v10 04/15] stm32mp1: dk2: Add a node for the FWU metadata device Sughosh Ganu
2022-09-15 8:14 ` [PATCH v10 05/15] stm32mp1: dk2: Add image information for capsule updates Sughosh Ganu
2022-09-15 8:14 ` [PATCH v10 06/15] FWU: Add helper functions for accessing FWU metadata Sughosh Ganu
2022-09-22 8:59 ` Ilias Apalodimas
2022-09-22 9:35 ` Sughosh Ganu
2022-09-23 6:16 ` Ilias Apalodimas [this message]
2022-09-15 8:14 ` [PATCH v10 07/15] FWU: STM32MP1: Add support to read boot index from backup register Sughosh Ganu
2022-09-27 11:35 ` Etienne Carriere
2022-09-15 8:14 ` [PATCH v10 08/15] event: Add an event for main_loop Sughosh Ganu
2022-09-20 7:30 ` Ilias Apalodimas
2022-09-15 8:14 ` [PATCH v10 09/15] FWU: Add boot time checks as highlighted by the FWU specification Sughosh Ganu
2022-09-26 2:59 ` Jassi Brar
2022-09-26 10:08 ` Sughosh Ganu
2022-09-26 14:07 ` Jassi Brar
2022-09-27 7:00 ` Sughosh Ganu
2022-09-15 8:14 ` [PATCH v10 10/15] FWU: Add support for the FWU Multi Bank Update feature Sughosh Ganu
2022-09-16 1:47 ` Takahiro Akashi
2022-09-16 5:22 ` Sughosh Ganu
2022-09-16 6:50 ` Takahiro Akashi
2022-09-16 10:54 ` Sughosh Ganu
2022-09-20 8:16 ` Takahiro Akashi
2022-09-20 13:04 ` Sughosh Ganu
2022-09-21 5:28 ` Takahiro Akashi
2022-09-21 11:26 ` Sughosh Ganu
2022-09-22 5:21 ` Takahiro Akashi
2022-09-26 2:55 ` Jassi Brar
2022-09-26 9:01 ` Sughosh Ganu
2022-09-26 14:53 ` Jassi Brar
2022-09-27 7:22 ` Sughosh Ganu
2022-09-27 16:48 ` Jassi Brar
2022-09-28 6:22 ` Sughosh Ganu
2022-09-28 7:30 ` Etienne Carriere
2022-09-28 15:16 ` Jassi Brar
2022-10-03 11:54 ` Etienne Carriere
2022-10-03 12:21 ` Ilias Apalodimas
2022-10-03 13:29 ` Jassi Brar
2022-09-15 8:14 ` [PATCH v10 11/15] FWU: cmd: Add a command to read FWU metadata Sughosh Ganu
2022-09-15 8:14 ` [PATCH v10 12/15] test: dm: Add test cases for FWU Metadata uclass Sughosh Ganu
2022-09-15 8:14 ` [PATCH v10 13/15] mkeficapsule: Add support for generating empty capsules Sughosh Ganu
2022-09-15 8:14 ` [PATCH v10 14/15] mkeficapsule: Add support for setting OEM flags in capsule header Sughosh Ganu
2022-09-15 8:14 ` [PATCH v10 15/15] FWU: doc: Add documentation for the FWU feature Sughosh Ganu
2022-09-19 21:37 ` Jassi Brar
2022-09-27 12:01 ` Etienne Carriere
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=Yy1PPJFXt10F2Nnz@hades \
--to=ilias.apalodimas@linaro.org \
--cc=bmeng.cn@gmail.com \
--cc=etienne.carriere@linaro.org \
--cc=jaswinder.singh@linaro.org \
--cc=monstr@monstr.eu \
--cc=patrice.chotard@foss.st.com \
--cc=patrick.delaunay@foss.st.com \
--cc=sjg@chromium.org \
--cc=sughosh.ganu@linaro.org \
--cc=takahiro.akashi@linaro.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/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.