From: Rob Clark <robdclark@gmail.com> To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Cc: Sean Paul <sean@poorly.run>, Abhinav Kumar <abhinavk@codeaurora.org>, Michael Turquette <mturquette@baylibre.com>, Jonathan Marek <jonathan@marek.ca>, Stephen Boyd <sboyd@kernel.org>, David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, linux-arm-msm <linux-arm-msm@vger.kernel.org>, dri-devel <dri-devel@lists.freedesktop.org>, freedreno <freedreno@lists.freedesktop.org> Subject: Re: [RFC 5/8] lib: add small API for handling register snapshots Date: Thu, 3 Jun 2021 07:45:08 -0700 [thread overview] Message-ID: <CAF6AEGsoUET_=P1YkAKb7GMRyrZV5_jmGeMHZhB1u4uE9m7B9A@mail.gmail.com> (raw) In-Reply-To: <20210529002508.3839467-6-dmitry.baryshkov@linaro.org> On Fri, May 28, 2021 at 5:25 PM Dmitry Baryshkov <dmitry.baryshkov@linaro.org> wrote: > > Add small API covering lists of register dumps. Currently this is a part > of MSM DRM driver, but is extracted as it might be usefull to other > drivers too. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > include/linux/dump_state.h | 78 ++++++++++++++++++++++++++++++++++++++ > lib/Kconfig | 3 ++ > lib/Makefile | 1 + > lib/dump_state.c | 51 +++++++++++++++++++++++++ > 4 files changed, 133 insertions(+) > create mode 100644 include/linux/dump_state.h > create mode 100644 lib/dump_state.c > [snip] > diff --git a/lib/dump_state.c b/lib/dump_state.c > new file mode 100644 > index 000000000000..58d88be65c0a > --- /dev/null > +++ b/lib/dump_state.c > @@ -0,0 +1,51 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > +/* > + * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. > + * Copyright (c) 2021, Linaro Ltd > + */ > + > +#include <linux/dump_state.h> > +#include <linux/slab.h> > + > +void dump_state_free_blocks(struct dump_state *state) > +{ > + struct dump_state_block *block, *tmp; > + > + list_for_each_entry_safe(block, tmp, &state->blocks, node) { > + list_del(&block->node); > + kfree(block); > + } > +} > +EXPORT_SYMBOL(dump_state_free_blocks); nit, perhaps EXPORT_SYMBOL_GPL()? BR, -R > + > +struct dump_state_block *dump_state_allocate_block_va(void __iomem *base_addr, size_t len, gfp_t gfp, const char *fmt, va_list args) > +{ > + struct dump_state_block *block = kzalloc(sizeof(*block) + len, gfp); > + > + if (!block) > + return ERR_PTR(-ENOMEM); > + > + vsnprintf(block->name, sizeof(block->name), fmt, args); > + > + INIT_LIST_HEAD(&block->node); > + block->size = len; > + block->base_addr = base_addr; > + > + return block; > +} > +EXPORT_SYMBOL(dump_state_allocate_block); > + > +struct dump_state_block *dump_state_allocate_block(void __iomem *base_addr, size_t len, gfp_t gfp, const char *fmt, ...) > +{ > + struct dump_state_block *block; > + va_list va; > + > + va_start(va, fmt); > + > + block = dump_state_allocate_block_va(base_addr, len, gfp, fmt, va); > + > + va_end(va); > + > + return block; > +} > +EXPORT_SYMBOL(dump_state_allocate_block_va); > -- > 2.30.2 >
next prev parent reply other threads:[~2021-06-03 14:42 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-05-29 0:25 [RFC 0/8] drm/msm: split DSI PHY to generic PHY subsystem Dmitry Baryshkov 2021-05-29 0:25 ` [RFC 1/8] drm/msm/dsi: make msm_dsi_phy_pll_restore_state static function Dmitry Baryshkov 2021-05-29 0:25 ` [RFC 2/8] drm/msm/dsi: save PLL registers across first PHY reset Dmitry Baryshkov 2021-05-29 0:25 ` [RFC 3/8] drm/msm/dsi: drop msm_dsi_phy_pll_save_state from 7nm and 10nm drivers Dmitry Baryshkov 2021-05-29 0:25 ` [RFC 4/8] drm/msm/dsi: move msm_dsi_phy_pll_save_state call to msm_dsi_phy_disable Dmitry Baryshkov 2021-05-29 0:25 ` [RFC 5/8] lib: add small API for handling register snapshots Dmitry Baryshkov 2021-06-03 14:45 ` Rob Clark [this message] 2021-06-03 16:33 ` Dmitry Baryshkov 2021-06-08 17:04 ` Rob Clark 2021-05-29 0:25 ` [RFC 6/8] drm/msm: port msm_disp_snapshot to dump_state Dmitry Baryshkov 2021-05-29 0:25 ` [RFC 7/8] drm/msm: do include unused headers in msm_disp_snapshot.h Dmitry Baryshkov
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='CAF6AEGsoUET_=P1YkAKb7GMRyrZV5_jmGeMHZhB1u4uE9m7B9A@mail.gmail.com' \ --to=robdclark@gmail.com \ --cc=abhinavk@codeaurora.org \ --cc=airlied@linux.ie \ --cc=daniel@ffwll.ch \ --cc=dmitry.baryshkov@linaro.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=freedreno@lists.freedesktop.org \ --cc=jonathan@marek.ca \ --cc=linux-arm-msm@vger.kernel.org \ --cc=mturquette@baylibre.com \ --cc=sboyd@kernel.org \ --cc=sean@poorly.run \ --subject='Re: [RFC 5/8] lib: add small API for handling register snapshots' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).