[PATCH v4 10/21] soc: qcom: Add qcom's pstore minidump driver support

Rob Herring robh+dt at kernel.org
Wed Jul 5 16:27:27 PDT 2023


On Thu, Jun 29, 2023 at 3:16 AM Mukesh Ojha <quic_mojha at quicinc.com> wrote:
>
>
>
> On 6/29/2023 4:27 AM, Rob Herring wrote:
> > On Wed, Jun 28, 2023 at 6:37 AM Mukesh Ojha <quic_mojha at quicinc.com> wrote:
> >>
> >> This driver was inspired from the fact pstore ram region should be
> >> fixed and boot firmware need to have awarness about this region,
> >> so that it will be persistent across boot. But, there are many
> >> QCOM SoC which does not support warm boot from hardware but they
> >> have minidump support from the software, and for them, there is
> >> no need of this pstore ram region to be fixed, but at the same
> >> time have interest in the pstore frontends data. So, this driver
> >> get the dynamic reserved region from the ram and register the
> >> ramoops platform device.
> >>
> >>   +---------+     +---------+   +--------+     +---------+
> >>   | console |     | pmsg    |   | ftrace |     | dmesg   |
> >>   +---------+     +---------+   +--------+     +---------+
> >>         |             |             |              |
> >>         |             |             |              |
> >>         +------------------------------------------+
> >>                            |
> >>                           \ /
> >>                    +----------------+
> >>              (1)   |pstore frontends|
> >>                    +----------------+
> >>                            |
> >>                           \ /
> >>                   +------------------- +
> >>              (2)  | pstore backend(ram)|
> >>                   +--------------------+
> >>                            |
> >>                           \ /
> >>                   +--------------------+
> >>              (3)  |qcom_pstore_minidump|
> >>                   +--------------------+
> >>                            |
> >>                           \ /
> >>                     +---------------+
> >>              (4)    | qcom_minidump |
> >>                     +---------------+
> >>
> >> This driver will route all the pstore front data to the stored
> >> in qcom pstore reserved region and the reason of showing an
> >> arrow from (3) to (4) as qcom_pstore_minidump driver will register
> >> all the available frontends region with qcom minidump driver
> >> in upcoming patch.
> >>
> >> Signed-off-by: Mukesh Ojha <quic_mojha at quicinc.com>
> >> ---
> >>   drivers/soc/qcom/Kconfig                | 12 +++++
> >>   drivers/soc/qcom/Makefile               |  1 +
> >>   drivers/soc/qcom/qcom_pstore_minidump.c | 85 +++++++++++++++++++++++++++++++++
> >
> > drivers/soc/ is the dumping ground for things with no other place. As
> > this is a pstore driver, it belongs with pstore.
>
> The inspiration of this driver was taken from
> drivers/platform/chrome/chromeos_pstore.c, do you think that is misplaced ?

The difference is really that's nothing more than platform specific
logic to instantiate a normal ramoops device. It's kind of ugly, yes,
but it's still just a normal ramoops device in the end. Your case is
that plus all the extra parts for minidump.

Rob



More information about the linux-arm-kernel mailing list