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

Rob Herring
2023-07-05T23:27:49Z

On Thu, Jun 29, 2023 at 3:16 AM Mukesh Ojha <quic_mojha@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@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@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