All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sumit Garg <sumit.garg@kernel.org>
To: Casey Connolly <casey.connolly@linaro.org>
Cc: u-boot@lists.denx.de, u-boot-qcom@groups.io,
	Tom Rini <trini@konsulko.com>, Simon Glass <sjg@chromium.org>,
	Peng Fan <peng.fan@nxp.com>,
	Marek Vasut <marek.vasut+renesas@mailbox.org>,
	Alice Guo <alice.guo@nxp.com>,
	Quentin Schulz <quentin.schulz@cherry.de>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Neil Armstrong <neil.armstrong@linaro.org>,
	Mattijs Korpershoek <mkorpershoek@kernel.org>,
	Kuan-Wei Chiu <visitorckw@gmail.com>,
	Raymond Mao <raymond.mao@riscstar.com>,
	Stefan Roese <stefan.roese@mailbox.org>,
	Philip Molloy <philip.molloy@analog.com>,
	Jerome Forissier <jerome.forissier@arm.com>,
	Marek Vasut <marek.vasut@mailbox.org>,
	Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>,
	Patrice Chotard <patrice.chotard@foss.st.com>,
	Aswin Murugan <aswin.murugan@oss.qualcomm.com>,
	Rasmus Villemoes <ravi@prevas.dk>,
	Heiko Schocher <hs@nabladev.com>,
	Michal Simek <michal.simek@amd.com>,
	Sughosh Ganu <sughosh.ganu@arm.com>,
	Antony Kurniawan Soemardi <linux@smankusors.com>,
	Luca Weiss <luca.weiss@fairphone.com>,
	Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
Subject: Re: [PATCH v2 00/15] qcom: smem: modernize SMEM in U-Boot
Date: Tue, 5 May 2026 15:41:33 +0530	[thread overview]
Message-ID: <afnCVT5JoeIdy-hQ@sumit-xelite> (raw)
In-Reply-To: <20260504-b4-modernise-smem-v2-0-c01ec2ff3886@linaro.org>

Hi Casey,

Thanks for the much needed re-spin of the SMEM patch-set.

On Mon, May 04, 2026 at 08:57:28PM +0200, Casey Connolly wrote:
> Smem is currently implemented a uclass in U-Boot. This carries with it
> some implicit limitations about how and when we can actually talk with
> it, since its modelled as a device.
> 
> The SMEM uclass is qualcomm specific and has no other users, smem is
> also largely useful for parsing the memory map and other tasks which we
> have to do before DM is alive anyway.
> 
> Let's drop the old smem code and replace it with a straight port from
> Linux, providing a familiar interface and enabling us to access it much
> earlier in the boot process than would be possible with a standard
> udevice.
> 
> Additionally, this will be easier to maintain going forwards since any
> patches from Linux can be more easily ported over.
> 
> With this new smem framework in place, we can now use SMEM to parse the
> memory map when it's not provided via some other mechanism and to read
> the serial number of the board.
> 
> Implement this functionality and split the snapdragon memory parsing off
> to its own file to try and organise things a bit better.
> 
> Since the memory map stored in SMEM doesn't already have some carveouts
> let's also be correct about unmapping reserved memory regions, we
> should eventually do this on all Qualcomm boards but it's particularly
> important when we aren't chainloading from ABL.

This was really needed to unmap reserved regions in U-Boot memory map to
increase robustness.

> 
> This depends on a fix for unmapping memory regions: https://lore.kernel.org/u-boot/20260504175511.585797-1-casey.connolly@linaro.org/
> 
> ---
> Changes in v2:
> - Ensure reserved regions are unmapped appropriately when using SMEM as
>   the source of truth for the memory map.
> - Support SMEM ram layout v0/v1 for older platforms using a header from
>   Qualcomm.

It would be better if you can provide proper attribution in the commit
to which this header is being picked up.

> - Set an environment variable (memmap_source) providing info about
>   where U-Boots memory map is from.
> - Correctly handle serial_num missing on msm8916
> - Link to v1: https://lore.kernel.org/r/20241124-b4-modernise-smem-v1-0-b7852c11b67c@linaro.org
> 

FWIW, I tested this patch-set on RB3Gen2 and lemans-evk after dropping
the U-Boot DT overrides, so feel free to carry:

Tested-by: Sumit Garg <sumit.garg@oss.qualcomm.com>

I will give a proper review to this series soon.

-Sumit

> To: u-boot@lists.denx.de
> To: Sumit Garg <sumit.garg@kernel.org>
> To: u-boot-qcom@groups.io
> Cc: Tom Rini <trini@konsulko.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Casey Connolly <casey.connolly@linaro.org>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Marek Vasut <marek.vasut+renesas@mailbox.org>
> Cc: Alice Guo <alice.guo@nxp.com>
> Cc: Quentin Schulz <quentin.schulz@cherry.de>
> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> Cc: Neil Armstrong <neil.armstrong@linaro.org>
> Cc: Mattijs Korpershoek <mkorpershoek@kernel.org>
> Cc: Kuan-Wei Chiu <visitorckw@gmail.com>
> Cc: Raymond Mao <raymond.mao@riscstar.com>
> Cc: Stefan Roese <stefan.roese@mailbox.org>
> Cc: Philip Molloy <philip.molloy@analog.com>
> Cc: Jerome Forissier <jerome.forissier@arm.com>
> Cc: Marek Vasut <marek.vasut@mailbox.org>
> Cc: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
> Cc: Patrice Chotard <patrice.chotard@foss.st.com>
> Cc: Aswin Murugan <aswin.murugan@oss.qualcomm.com>
> Cc: Rasmus Villemoes <ravi@prevas.dk>
> Cc: Heiko Schocher <hs@nabladev.com>
> Cc: Michal Simek <michal.simek@amd.com>
> Cc: Sughosh Ganu <sughosh.ganu@arm.com>
> Cc: Antony Kurniawan Soemardi <linux@smankusors.com>
> Cc: Luca Weiss <luca.weiss@fairphone.com>
> Cc: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
> 
> ---
> Casey Connolly (15):
>       Revert "dm: SMEM (Shared memory) uclass"
>       smem: drop drivers/smem
>       Revert "test: smem: add basic smem test"
>       Revert "drivers: smem: sandbox"
>       mach-snapdragon: fix reserved memory carveout
>       soc: qcom: import smem from Linux 6.11-rc2
>       soc: qcom: smem: adjust headers for U-Boot
>       soc: qcom: smem: adjust for U-Boot
>       soc: qcom: smem: get serial number from socinfo
>       soc: qcom: smem: stub functions
>       soc: qcom: smem: add build infra
>       mach-snapdragon: move memory parsing to its own file
>       mach-snapdragon: support parsing memory map from SMEM
>       mach-snapdragon: fetch serial# from SMEM
>       configs: add qcom_sm8650_defconfig and debug fragment
> 
>  MAINTAINERS                                  |   1 -
>  arch/arm/Kconfig                             |   3 +-
>  arch/arm/mach-snapdragon/Makefile            |   2 +-
>  arch/arm/mach-snapdragon/board.c             | 253 ++++-----
>  arch/arm/mach-snapdragon/dram.c              | 239 ++++++++
>  arch/arm/mach-snapdragon/qcom-priv.h         |  17 +
>  arch/arm/mach-snapdragon/rampart.h           | 194 +++++++
>  arch/sandbox/dts/test.dts                    |   4 -
>  board/qualcomm/debug-sm8650.config           |   5 +
>  configs/qcom_sm8650_defconfig                |  16 +
>  configs/sandbox64_defconfig                  |   2 -
>  configs/sandbox_defconfig                    |   2 -
>  drivers/Kconfig                              |   2 -
>  drivers/Makefile                             |   1 -
>  drivers/smem/Kconfig                         |  25 -
>  drivers/smem/Makefile                        |   7 -
>  drivers/smem/sandbox_smem.c                  |  44 --
>  drivers/smem/smem-uclass.c                   |  46 --
>  drivers/soc/qcom/Kconfig                     |   8 +
>  drivers/soc/qcom/Makefile                    |   1 +
>  drivers/{smem/msm_smem.c => soc/qcom/smem.c} | 777 ++++++++++++++++-----------
>  include/dm/uclass-id.h                       |   1 -
>  include/smem.h                               |  90 ----
>  include/soc/qcom/smem.h                      |  36 ++
>  include/soc/qcom/socinfo.h                   | 111 ++++
>  test/dm/Makefile                             |   1 -
>  test/dm/smem.c                               |  26 -
>  27 files changed, 1186 insertions(+), 728 deletions(-)
> ---
> base-commit: 2920b49fb117dd70b6219804bf0d298c96f184f2
> 
> // Casey (she/they)
> 

  parent reply	other threads:[~2026-05-05 10:11 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-04 18:57 [PATCH v2 00/15] qcom: smem: modernize SMEM in U-Boot Casey Connolly
2026-05-04 18:57 ` [PATCH v2 01/15] Revert "dm: SMEM (Shared memory) uclass" Casey Connolly
2026-05-05 10:15   ` Sumit Garg
2026-05-07 15:31   ` Simon Glass
2026-05-07 20:05     ` Casey Connolly
2026-05-18 14:34   ` Neil Armstrong
2026-05-04 18:57 ` [PATCH v2 02/15] smem: drop drivers/smem Casey Connolly
2026-05-18 14:34   ` Neil Armstrong
2026-05-04 18:57 ` [PATCH v2 03/15] Revert "test: smem: add basic smem test" Casey Connolly
2026-05-05 10:26   ` Sumit Garg
2026-05-18 14:34   ` Neil Armstrong
2026-05-04 18:57 ` [PATCH v2 04/15] Revert "drivers: smem: sandbox" Casey Connolly
2026-05-05 10:26   ` Sumit Garg
2026-05-18 14:34   ` Neil Armstrong
2026-05-18 15:51   ` Fabio Estevam
2026-05-04 18:57 ` [PATCH v2 05/15] mach-snapdragon: fix reserved memory carveout Casey Connolly
2026-05-05 12:25   ` Sumit Garg
2026-05-05 12:39     ` Casey Connolly
2026-05-07  7:45       ` Sumit Garg
2026-05-07 20:29         ` Casey Connolly
2026-05-04 18:57 ` [PATCH v2 06/15] soc: qcom: import smem from Linux 6.11-rc2 Casey Connolly
2026-05-05 12:40   ` Sumit Garg
2026-05-05 12:45     ` Casey Connolly
2026-05-18 14:36   ` Neil Armstrong
2026-05-04 18:57 ` [PATCH v2 07/15] soc: qcom: smem: adjust headers for U-Boot Casey Connolly
2026-05-05 12:43   ` Sumit Garg
2026-05-18 14:36   ` Neil Armstrong
2026-05-04 18:57 ` [PATCH v2 08/15] soc: qcom: smem: adjust " Casey Connolly
2026-05-08 10:43   ` Aswin Murugan
2026-05-11 12:22     ` Casey Connolly
2026-05-18 11:03   ` Sumit Garg
2026-05-04 18:57 ` [PATCH v2 09/15] soc: qcom: smem: get serial number from socinfo Casey Connolly
2026-05-18 12:49   ` Sumit Garg
2026-05-04 18:57 ` [PATCH v2 10/15] soc: qcom: smem: stub functions Casey Connolly
2026-05-18 14:37   ` Neil Armstrong
2026-05-04 18:57 ` [PATCH v2 11/15] soc: qcom: smem: add build infra Casey Connolly
2026-05-18 12:53   ` Sumit Garg
2026-05-18 14:38   ` Neil Armstrong
2026-05-04 18:57 ` [PATCH v2 12/15] mach-snapdragon: move memory parsing to its own file Casey Connolly
2026-05-18 12:54   ` Sumit Garg
2026-05-18 14:40   ` Neil Armstrong
2026-05-04 18:57 ` [PATCH v2 13/15] mach-snapdragon: support parsing memory map from SMEM Casey Connolly
2026-05-18 14:48   ` Neil Armstrong
2026-05-21 13:36   ` Stephan Gerhold
2026-05-04 18:57 ` [PATCH v2 14/15] mach-snapdragon: fetch serial# " Casey Connolly
2026-05-18 13:15   ` Sumit Garg
2026-05-04 18:57 ` [PATCH v2 15/15] configs: add qcom_sm8650_defconfig and debug fragment Casey Connolly
2026-05-05  6:45   ` Luca Weiss
2026-05-05 10:11 ` Sumit Garg [this message]
2026-05-05 12:25   ` [PATCH v2 00/15] qcom: smem: modernize SMEM in U-Boot Casey Connolly
2026-05-05 12:35     ` Sumit Garg

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=afnCVT5JoeIdy-hQ@sumit-xelite \
    --to=sumit.garg@kernel.org \
    --cc=alice.guo@nxp.com \
    --cc=aswin.murugan@oss.qualcomm.com \
    --cc=balaji.selvanathan@oss.qualcomm.com \
    --cc=casey.connolly@linaro.org \
    --cc=hs@nabladev.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=jerome.forissier@arm.com \
    --cc=linux@smankusors.com \
    --cc=luca.weiss@fairphone.com \
    --cc=marek.vasut+renesas@mailbox.org \
    --cc=marek.vasut@mailbox.org \
    --cc=michal.simek@amd.com \
    --cc=mkorpershoek@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=patrice.chotard@foss.st.com \
    --cc=peng.fan@nxp.com \
    --cc=philip.molloy@analog.com \
    --cc=quentin.schulz@cherry.de \
    --cc=ravi@prevas.dk \
    --cc=raymond.mao@riscstar.com \
    --cc=sjg@chromium.org \
    --cc=stefan.roese@mailbox.org \
    --cc=sughosh.ganu@arm.com \
    --cc=trini@konsulko.com \
    --cc=u-boot-qcom@groups.io \
    --cc=u-boot@lists.denx.de \
    --cc=varadarajan.narayanan@oss.qualcomm.com \
    --cc=visitorckw@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.