On 12/1/2021 2:26 PM, Dmitry Baryshkov wrote:
Squash dpu_debugfs_setup_regset32() into dpu_debugfs_create_regset32(). it makes little sense to have separate function to just setup the structure.
Signed-off-by: Dmitry Baryshkov dmitry.baryshkov@linaro.org
Reviewed-by: Abhinav Kumar quic_abhinavk@quicinc.com
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 32 ++++++++++++------- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 38 +++-------------------- drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 27 +++++----------- 3 files changed, 33 insertions(+), 64 deletions(-)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c index 4c04982c71b2..7e7a619769a8 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -182,6 +182,15 @@ static void dpu_debugfs_danger_init(struct dpu_kms *dpu_kms,
}
+/*
- Companion structure for dpu_debugfs_create_regset32.
- */
+struct dpu_debugfs_regset32 {
- uint32_t offset;
- uint32_t blk_len;
- struct dpu_kms *dpu_kms;
+};
- static int _dpu_debugfs_show_regset32(struct seq_file *s, void *data) { struct dpu_debugfs_regset32 *regset = s->private;
@@ -229,24 +238,23 @@ static const struct file_operations dpu_fops_regset32 = { .release = single_release, };
-void dpu_debugfs_setup_regset32(struct dpu_debugfs_regset32 *regset, +void dpu_debugfs_create_regset32(const char *name, umode_t mode,
uint32_t offset, uint32_t length, struct dpu_kms *dpu_kms) {void *parent,
- if (regset) {
regset->offset = offset;
regset->blk_len = length;
regset->dpu_kms = dpu_kms;
- }
-}
- struct dpu_debugfs_regset32 *regset;
-void dpu_debugfs_create_regset32(const char *name, umode_t mode,
void *parent, struct dpu_debugfs_regset32 *regset)
-{
- if (!name || !regset || !regset->dpu_kms || !regset->blk_len)
if (WARN_ON(!name || !dpu_kms || !length))
return;
regset = devm_kzalloc(&dpu_kms->pdev->dev, sizeof(*regset), GFP_KERNEL);
if (!regset) return;
/* make sure offset is a multiple of 4 */
- regset->offset = round_down(regset->offset, 4);
regset->offset = round_down(offset, 4);
regset->blk_len = length;
regset->dpu_kms = dpu_kms;
debugfs_create_file(name, mode, parent, regset, &dpu_fops_regset32); }
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h index 775bcbda860f..b53cdeb1b5c4 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h @@ -160,33 +160,9 @@ struct dpu_global_state
- Documentation/filesystems/debugfs.rst
- @dpu_debugfs_setup_regset32: Initialize data for dpu_debugfs_create_regset32
- @dpu_debugfs_create_regset32: Create 32-bit register dump file
*/
- @dpu_debugfs_get_root: Get root dentry for DPU_KMS's debugfs node
-/**
- Companion structure for dpu_debugfs_create_regset32. Do not initialize the
- members of this structure explicitly; use dpu_debugfs_setup_regset32 instead.
- */
-struct dpu_debugfs_regset32 {
- uint32_t offset;
- uint32_t blk_len;
- struct dpu_kms *dpu_kms;
-};
-/**
- dpu_debugfs_setup_regset32 - Initialize register block definition for debugfs
- This function is meant to initialize dpu_debugfs_regset32 structures for use
- with dpu_debugfs_create_regset32.
- @regset: opaque register definition structure
- @offset: sub-block offset
- @length: sub-block length, in bytes
- @dpu_kms: pointer to dpu kms structure
- */
-void dpu_debugfs_setup_regset32(struct dpu_debugfs_regset32 *regset,
uint32_t offset, uint32_t length, struct dpu_kms *dpu_kms);
- /**
- dpu_debugfs_create_regset32 - Create register read back file for debugfs
@@ -195,20 +171,16 @@ void dpu_debugfs_setup_regset32(struct dpu_debugfs_regset32 *regset,
- names/offsets do not need to be provided. The 'read' function simply outputs
- sequential register values over a specified range.
- Similar to the related debugfs_create_regset32 API, the structure pointed to
- by regset needs to persist for the lifetime of the created file. The calling
- code is responsible for initialization/management of this structure.
- The structure pointed to by regset is meant to be opaque. Please use
- dpu_debugfs_setup_regset32 to initialize it.
- @name: File name within debugfs
- @mode: File mode within debugfs
- @parent: Parent directory entry within debugfs, can be NULL
- @regset: Pointer to persistent register block definition
- @offset: sub-block offset
- @length: sub-block length, in bytes
*/ void dpu_debugfs_create_regset32(const char *name, umode_t mode,
- @dpu_kms: pointer to dpu kms structure
void *parent, struct dpu_debugfs_regset32 *regset);
void *parent,
uint32_t offset, uint32_t length, struct dpu_kms *dpu_kms);
/**
- dpu_debugfs_get_root - Return root directory entry for KMS's debugfs
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c index d3176f58708e..ef66af696a40 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c @@ -108,11 +108,6 @@ struct dpu_plane { bool is_virtual; struct list_head mplane_list; struct dpu_mdss_cfg *catalog;
/* debugfs related stuff */
struct dpu_debugfs_regset32 debugfs_src;
struct dpu_debugfs_regset32 debugfs_scaler;
struct dpu_debugfs_regset32 debugfs_csc; };
static const uint64_t supported_format_modifiers[] = {
@@ -1379,35 +1374,29 @@ static int _dpu_plane_init_debugfs(struct drm_plane *plane) debugfs_root, (unsigned long *)&pdpu->pipe_hw->cap->features);
/* add register dump support */
- dpu_debugfs_setup_regset32(&pdpu->debugfs_src,
- dpu_debugfs_create_regset32("src_blk", 0400,
debugfs_root, sblk->src_blk.base + cfg->base, sblk->src_blk.len, kms);
dpu_debugfs_create_regset32("src_blk", 0400,
debugfs_root, &pdpu->debugfs_src);
if (cfg->features & BIT(DPU_SSPP_SCALER_QSEED3) || cfg->features & BIT(DPU_SSPP_SCALER_QSEED3LITE) || cfg->features & BIT(DPU_SSPP_SCALER_QSEED2) ||
cfg->features & BIT(DPU_SSPP_SCALER_QSEED4)) {
dpu_debugfs_setup_regset32(&pdpu->debugfs_scaler,
cfg->features & BIT(DPU_SSPP_SCALER_QSEED4))
dpu_debugfs_create_regset32("scaler_blk", 0400,
debugfs_root, sblk->scaler_blk.base + cfg->base, sblk->scaler_blk.len, kms);
dpu_debugfs_create_regset32("scaler_blk", 0400,
debugfs_root,
&pdpu->debugfs_scaler);
}
if (cfg->features & BIT(DPU_SSPP_CSC) ||
cfg->features & BIT(DPU_SSPP_CSC_10BIT)) {
dpu_debugfs_setup_regset32(&pdpu->debugfs_csc,
cfg->features & BIT(DPU_SSPP_CSC_10BIT))
dpu_debugfs_create_regset32("csc_blk", 0400,
debugfs_root, sblk->csc_blk.base + cfg->base, sblk->csc_blk.len, kms);
dpu_debugfs_create_regset32("csc_blk", 0400,
debugfs_root, &pdpu->debugfs_csc);
}
debugfs_create_u32("xin_id", 0400,