Commit 32084967 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov

drm/msm/dpu: constify struct dpu_mdss_cfg

Mark struct dpu_mdss_cfg instance as a const pointer. This is mostly a
preparation for the next patch.
Reviewed-by: default avatarAbhinav Kumar <quic_abhinavk@quicinc.com>
Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/488164/
Link: https://lore.kernel.org/r/20220602202447.1755115-7-dmitry.baryshkov@linaro.orgSigned-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent 481d5dbb
...@@ -468,7 +468,7 @@ static const struct file_operations dpu_core_perf_mode_fops = { ...@@ -468,7 +468,7 @@ static const struct file_operations dpu_core_perf_mode_fops = {
int dpu_core_perf_debugfs_init(struct dpu_kms *dpu_kms, struct dentry *parent) int dpu_core_perf_debugfs_init(struct dpu_kms *dpu_kms, struct dentry *parent)
{ {
struct dpu_core_perf *perf = &dpu_kms->perf; struct dpu_core_perf *perf = &dpu_kms->perf;
struct dpu_mdss_cfg *catalog = perf->catalog; const struct dpu_mdss_cfg *catalog = perf->catalog;
struct dentry *entry; struct dentry *entry;
entry = debugfs_create_dir("core_perf", parent); entry = debugfs_create_dir("core_perf", parent);
...@@ -517,7 +517,7 @@ void dpu_core_perf_destroy(struct dpu_core_perf *perf) ...@@ -517,7 +517,7 @@ void dpu_core_perf_destroy(struct dpu_core_perf *perf)
int dpu_core_perf_init(struct dpu_core_perf *perf, int dpu_core_perf_init(struct dpu_core_perf *perf,
struct drm_device *dev, struct drm_device *dev,
struct dpu_mdss_cfg *catalog, const struct dpu_mdss_cfg *catalog,
struct clk *core_clk) struct clk *core_clk)
{ {
perf->dev = dev; perf->dev = dev;
......
...@@ -68,7 +68,7 @@ struct dpu_core_perf_tune { ...@@ -68,7 +68,7 @@ struct dpu_core_perf_tune {
struct dpu_core_perf { struct dpu_core_perf {
struct drm_device *dev; struct drm_device *dev;
struct dentry *debugfs_root; struct dentry *debugfs_root;
struct dpu_mdss_cfg *catalog; const struct dpu_mdss_cfg *catalog;
struct clk *core_clk; struct clk *core_clk;
u64 core_clk_rate; u64 core_clk_rate;
u64 max_core_clk_rate; u64 max_core_clk_rate;
...@@ -119,7 +119,7 @@ void dpu_core_perf_destroy(struct dpu_core_perf *perf); ...@@ -119,7 +119,7 @@ void dpu_core_perf_destroy(struct dpu_core_perf *perf);
*/ */
int dpu_core_perf_init(struct dpu_core_perf *perf, int dpu_core_perf_init(struct dpu_core_perf *perf,
struct drm_device *dev, struct drm_device *dev,
struct dpu_mdss_cfg *catalog, const struct dpu_mdss_cfg *catalog,
struct clk *core_clk); struct clk *core_clk);
struct dpu_kms; struct dpu_kms;
......
...@@ -1205,7 +1205,7 @@ static void dpu_encoder_virt_disable(struct drm_encoder *drm_enc) ...@@ -1205,7 +1205,7 @@ static void dpu_encoder_virt_disable(struct drm_encoder *drm_enc)
mutex_unlock(&dpu_enc->enc_lock); mutex_unlock(&dpu_enc->enc_lock);
} }
static enum dpu_intf dpu_encoder_get_intf(struct dpu_mdss_cfg *catalog, static enum dpu_intf dpu_encoder_get_intf(const struct dpu_mdss_cfg *catalog,
enum dpu_intf_type type, u32 controller_id) enum dpu_intf_type type, u32 controller_id)
{ {
int i = 0; int i = 0;
...@@ -1222,7 +1222,7 @@ static enum dpu_intf dpu_encoder_get_intf(struct dpu_mdss_cfg *catalog, ...@@ -1222,7 +1222,7 @@ static enum dpu_intf dpu_encoder_get_intf(struct dpu_mdss_cfg *catalog,
return INTF_MAX; return INTF_MAX;
} }
static enum dpu_wb dpu_encoder_get_wb(struct dpu_mdss_cfg *catalog, static enum dpu_wb dpu_encoder_get_wb(const struct dpu_mdss_cfg *catalog,
enum dpu_intf_type type, u32 controller_id) enum dpu_intf_type type, u32 controller_id)
{ {
int i = 0; int i = 0;
......
...@@ -103,7 +103,7 @@ static void dpu_encoder_phys_wb_set_qos(struct dpu_encoder_phys *phys_enc) ...@@ -103,7 +103,7 @@ static void dpu_encoder_phys_wb_set_qos(struct dpu_encoder_phys *phys_enc)
{ {
struct dpu_hw_wb *hw_wb; struct dpu_hw_wb *hw_wb;
struct dpu_hw_wb_qos_cfg qos_cfg; struct dpu_hw_wb_qos_cfg qos_cfg;
struct dpu_mdss_cfg *catalog; const struct dpu_mdss_cfg *catalog;
const struct dpu_qos_lut_tbl *qos_lut_tb; const struct dpu_qos_lut_tbl *qos_lut_tb;
if (!phys_enc || !phys_enc->dpu_kms || !phys_enc->dpu_kms->catalog) { if (!phys_enc || !phys_enc->dpu_kms || !phys_enc->dpu_kms->catalog) {
......
...@@ -1987,17 +1987,12 @@ static const struct dpu_mdss_hw_cfg_handler cfg_handler[] = { ...@@ -1987,17 +1987,12 @@ static const struct dpu_mdss_hw_cfg_handler cfg_handler[] = {
{ .hw_rev = DPU_HW_VER_720, .cfg_init = sc7280_cfg_init}, { .hw_rev = DPU_HW_VER_720, .cfg_init = sc7280_cfg_init},
}; };
void dpu_hw_catalog_deinit(struct dpu_mdss_cfg *dpu_cfg) const struct dpu_mdss_cfg *dpu_hw_catalog_init(struct device *dev, u32 hw_rev)
{
kfree(dpu_cfg);
}
struct dpu_mdss_cfg *dpu_hw_catalog_init(u32 hw_rev)
{ {
int i; int i;
struct dpu_mdss_cfg *dpu_cfg; struct dpu_mdss_cfg *dpu_cfg;
dpu_cfg = kzalloc(sizeof(*dpu_cfg), GFP_KERNEL); dpu_cfg = devm_kzalloc(dev, sizeof(*dpu_cfg), GFP_KERNEL);
if (!dpu_cfg) if (!dpu_cfg)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
...@@ -2009,7 +2004,7 @@ struct dpu_mdss_cfg *dpu_hw_catalog_init(u32 hw_rev) ...@@ -2009,7 +2004,7 @@ struct dpu_mdss_cfg *dpu_hw_catalog_init(u32 hw_rev)
} }
DPU_ERROR("unsupported chipset id:%X\n", hw_rev); DPU_ERROR("unsupported chipset id:%X\n", hw_rev);
dpu_hw_catalog_deinit(dpu_cfg);
return ERR_PTR(-ENODEV); return ERR_PTR(-ENODEV);
} }
...@@ -884,16 +884,11 @@ struct dpu_mdss_hw_cfg_handler { ...@@ -884,16 +884,11 @@ struct dpu_mdss_hw_cfg_handler {
/** /**
* dpu_hw_catalog_init - dpu hardware catalog init API retrieves * dpu_hw_catalog_init - dpu hardware catalog init API retrieves
* hardcoded target specific catalog information in config structure * hardcoded target specific catalog information in config structure
* @dev: DPU device
* @hw_rev: caller needs provide the hardware revision. * @hw_rev: caller needs provide the hardware revision.
* *
* Return: dpu config structure * Return: dpu config structure
*/ */
struct dpu_mdss_cfg *dpu_hw_catalog_init(u32 hw_rev); const struct dpu_mdss_cfg *dpu_hw_catalog_init(struct device *dev, u32 hw_rev);
/**
* dpu_hw_catalog_deinit - dpu hardware catalog cleanup
* @dpu_cfg: pointer returned from init function
*/
void dpu_hw_catalog_deinit(struct dpu_mdss_cfg *dpu_cfg);
#endif /* _DPU_HW_CATALOG_H */ #endif /* _DPU_HW_CATALOG_H */
...@@ -158,7 +158,7 @@ static void dpu_hw_dsc_config_thresh(struct dpu_hw_dsc *hw_dsc, ...@@ -158,7 +158,7 @@ static void dpu_hw_dsc_config_thresh(struct dpu_hw_dsc *hw_dsc,
} }
static struct dpu_dsc_cfg *_dsc_offset(enum dpu_dsc dsc, static struct dpu_dsc_cfg *_dsc_offset(enum dpu_dsc dsc,
struct dpu_mdss_cfg *m, const struct dpu_mdss_cfg *m,
void __iomem *addr, void __iomem *addr,
struct dpu_hw_blk_reg_map *b) struct dpu_hw_blk_reg_map *b)
{ {
...@@ -186,7 +186,7 @@ static void _setup_dsc_ops(struct dpu_hw_dsc_ops *ops, ...@@ -186,7 +186,7 @@ static void _setup_dsc_ops(struct dpu_hw_dsc_ops *ops,
}; };
struct dpu_hw_dsc *dpu_hw_dsc_init(enum dpu_dsc idx, void __iomem *addr, struct dpu_hw_dsc *dpu_hw_dsc_init(enum dpu_dsc idx, void __iomem *addr,
struct dpu_mdss_cfg *m) const struct dpu_mdss_cfg *m)
{ {
struct dpu_hw_dsc *c; struct dpu_hw_dsc *c;
struct dpu_dsc_cfg *cfg; struct dpu_dsc_cfg *cfg;
......
...@@ -64,7 +64,7 @@ struct dpu_hw_dsc { ...@@ -64,7 +64,7 @@ struct dpu_hw_dsc {
* Returns: Error code or allocated dpu_hw_dsc context * Returns: Error code or allocated dpu_hw_dsc context
*/ */
struct dpu_hw_dsc *dpu_hw_dsc_init(enum dpu_dsc idx, void __iomem *addr, struct dpu_hw_dsc *dpu_hw_dsc_init(enum dpu_dsc idx, void __iomem *addr,
struct dpu_mdss_cfg *m); const struct dpu_mdss_cfg *m);
/** /**
* dpu_hw_dsc_destroy - destroys dsc driver context * dpu_hw_dsc_destroy - destroys dsc driver context
......
...@@ -398,7 +398,7 @@ u32 dpu_core_irq_read(struct dpu_kms *dpu_kms, int irq_idx) ...@@ -398,7 +398,7 @@ u32 dpu_core_irq_read(struct dpu_kms *dpu_kms, int irq_idx)
return intr_status; return intr_status;
} }
static void __intr_offset(struct dpu_mdss_cfg *m, static void __intr_offset(const struct dpu_mdss_cfg *m,
void __iomem *addr, struct dpu_hw_blk_reg_map *hw) void __iomem *addr, struct dpu_hw_blk_reg_map *hw)
{ {
hw->base_off = addr; hw->base_off = addr;
...@@ -406,7 +406,7 @@ static void __intr_offset(struct dpu_mdss_cfg *m, ...@@ -406,7 +406,7 @@ static void __intr_offset(struct dpu_mdss_cfg *m,
} }
struct dpu_hw_intr *dpu_hw_intr_init(void __iomem *addr, struct dpu_hw_intr *dpu_hw_intr_init(void __iomem *addr,
struct dpu_mdss_cfg *m) const struct dpu_mdss_cfg *m)
{ {
struct dpu_hw_intr *intr; struct dpu_hw_intr *intr;
int nirq = MDP_INTR_MAX * 32; int nirq = MDP_INTR_MAX * 32;
......
...@@ -67,7 +67,7 @@ struct dpu_hw_intr { ...@@ -67,7 +67,7 @@ struct dpu_hw_intr {
* @m : pointer to mdss catalog data * @m : pointer to mdss catalog data
*/ */
struct dpu_hw_intr *dpu_hw_intr_init(void __iomem *addr, struct dpu_hw_intr *dpu_hw_intr_init(void __iomem *addr,
struct dpu_mdss_cfg *m); const struct dpu_mdss_cfg *m);
/** /**
* dpu_hw_intr_destroy(): Cleanup interrutps hw object * dpu_hw_intr_destroy(): Cleanup interrutps hw object
......
...@@ -761,7 +761,7 @@ int _dpu_hw_sspp_init_debugfs(struct dpu_hw_pipe *hw_pipe, struct dpu_kms *kms, ...@@ -761,7 +761,7 @@ int _dpu_hw_sspp_init_debugfs(struct dpu_hw_pipe *hw_pipe, struct dpu_kms *kms,
static const struct dpu_sspp_cfg *_sspp_offset(enum dpu_sspp sspp, static const struct dpu_sspp_cfg *_sspp_offset(enum dpu_sspp sspp,
void __iomem *addr, void __iomem *addr,
struct dpu_mdss_cfg *catalog, const struct dpu_mdss_cfg *catalog,
struct dpu_hw_blk_reg_map *b) struct dpu_hw_blk_reg_map *b)
{ {
int i; int i;
...@@ -782,7 +782,7 @@ static const struct dpu_sspp_cfg *_sspp_offset(enum dpu_sspp sspp, ...@@ -782,7 +782,7 @@ static const struct dpu_sspp_cfg *_sspp_offset(enum dpu_sspp sspp,
} }
struct dpu_hw_pipe *dpu_hw_sspp_init(enum dpu_sspp idx, struct dpu_hw_pipe *dpu_hw_sspp_init(enum dpu_sspp idx,
void __iomem *addr, struct dpu_mdss_cfg *catalog, void __iomem *addr, const struct dpu_mdss_cfg *catalog,
bool is_virtual_pipe) bool is_virtual_pipe)
{ {
struct dpu_hw_pipe *hw_pipe; struct dpu_hw_pipe *hw_pipe;
......
...@@ -360,7 +360,7 @@ struct dpu_hw_sspp_ops { ...@@ -360,7 +360,7 @@ struct dpu_hw_sspp_ops {
struct dpu_hw_pipe { struct dpu_hw_pipe {
struct dpu_hw_blk base; struct dpu_hw_blk base;
struct dpu_hw_blk_reg_map hw; struct dpu_hw_blk_reg_map hw;
struct dpu_mdss_cfg *catalog; const struct dpu_mdss_cfg *catalog;
const struct dpu_mdp_cfg *mdp; const struct dpu_mdp_cfg *mdp;
/* Pipe */ /* Pipe */
...@@ -381,7 +381,7 @@ struct dpu_kms; ...@@ -381,7 +381,7 @@ struct dpu_kms;
* @is_virtual_pipe: is this pipe virtual pipe * @is_virtual_pipe: is this pipe virtual pipe
*/ */
struct dpu_hw_pipe *dpu_hw_sspp_init(enum dpu_sspp idx, struct dpu_hw_pipe *dpu_hw_sspp_init(enum dpu_sspp idx,
void __iomem *addr, struct dpu_mdss_cfg *catalog, void __iomem *addr, const struct dpu_mdss_cfg *catalog,
bool is_virtual_pipe); bool is_virtual_pipe);
/** /**
......
...@@ -745,7 +745,7 @@ static int _dpu_kms_drm_obj_init(struct dpu_kms *dpu_kms) ...@@ -745,7 +745,7 @@ static int _dpu_kms_drm_obj_init(struct dpu_kms *dpu_kms)
unsigned int num_encoders; unsigned int num_encoders;
struct msm_drm_private *priv; struct msm_drm_private *priv;
struct dpu_mdss_cfg *catalog; const struct dpu_mdss_cfg *catalog;
int primary_planes_idx = 0, cursor_planes_idx = 0, i, ret; int primary_planes_idx = 0, cursor_planes_idx = 0, i, ret;
int max_crtc_count; int max_crtc_count;
...@@ -842,8 +842,6 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms) ...@@ -842,8 +842,6 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms)
dpu_rm_destroy(&dpu_kms->rm); dpu_rm_destroy(&dpu_kms->rm);
dpu_kms->rm_init = false; dpu_kms->rm_init = false;
if (dpu_kms->catalog)
dpu_hw_catalog_deinit(dpu_kms->catalog);
dpu_kms->catalog = NULL; dpu_kms->catalog = NULL;
if (dpu_kms->vbif[VBIF_NRT]) if (dpu_kms->vbif[VBIF_NRT])
...@@ -905,7 +903,7 @@ static void dpu_kms_mdp_snapshot(struct msm_disp_state *disp_state, struct msm_k ...@@ -905,7 +903,7 @@ static void dpu_kms_mdp_snapshot(struct msm_disp_state *disp_state, struct msm_k
{ {
int i; int i;
struct dpu_kms *dpu_kms; struct dpu_kms *dpu_kms;
struct dpu_mdss_cfg *cat; const struct dpu_mdss_cfg *cat;
struct dpu_hw_mdp *top; struct dpu_hw_mdp *top;
dpu_kms = to_dpu_kms(kms); dpu_kms = to_dpu_kms(kms);
...@@ -1095,7 +1093,7 @@ static int dpu_kms_hw_init(struct msm_kms *kms) ...@@ -1095,7 +1093,7 @@ static int dpu_kms_hw_init(struct msm_kms *kms)
pr_info("dpu hardware revision:0x%x\n", dpu_kms->core_rev); pr_info("dpu hardware revision:0x%x\n", dpu_kms->core_rev);
dpu_kms->catalog = dpu_hw_catalog_init(dpu_kms->core_rev); dpu_kms->catalog = dpu_hw_catalog_init(dev->dev, dpu_kms->core_rev);
if (IS_ERR_OR_NULL(dpu_kms->catalog)) { if (IS_ERR_OR_NULL(dpu_kms->catalog)) {
rc = PTR_ERR(dpu_kms->catalog); rc = PTR_ERR(dpu_kms->catalog);
if (!dpu_kms->catalog) if (!dpu_kms->catalog)
......
...@@ -69,7 +69,7 @@ struct dpu_kms { ...@@ -69,7 +69,7 @@ struct dpu_kms {
struct msm_kms base; struct msm_kms base;
struct drm_device *dev; struct drm_device *dev;
int core_rev; int core_rev;
struct dpu_mdss_cfg *catalog; const struct dpu_mdss_cfg *catalog;
/* io/register spaces: */ /* io/register spaces: */
void __iomem *mmio, *vbif[VBIF_MAX], *reg_dma; void __iomem *mmio, *vbif[VBIF_MAX], *reg_dma;
......
...@@ -106,7 +106,7 @@ struct dpu_plane { ...@@ -106,7 +106,7 @@ struct dpu_plane {
bool is_rt_pipe; bool is_rt_pipe;
bool is_virtual; bool is_virtual;
struct list_head mplane_list; struct list_head mplane_list;
struct dpu_mdss_cfg *catalog; const struct dpu_mdss_cfg *catalog;
}; };
static const uint64_t supported_format_modifiers[] = { static const uint64_t supported_format_modifiers[] = {
......
...@@ -95,7 +95,7 @@ int dpu_rm_destroy(struct dpu_rm *rm) ...@@ -95,7 +95,7 @@ int dpu_rm_destroy(struct dpu_rm *rm)
} }
int dpu_rm_init(struct dpu_rm *rm, int dpu_rm_init(struct dpu_rm *rm,
struct dpu_mdss_cfg *cat, const struct dpu_mdss_cfg *cat,
void __iomem *mmio) void __iomem *mmio)
{ {
int rc, i; int rc, i;
......
...@@ -42,7 +42,7 @@ struct dpu_rm { ...@@ -42,7 +42,7 @@ struct dpu_rm {
* @Return: 0 on Success otherwise -ERROR * @Return: 0 on Success otherwise -ERROR
*/ */
int dpu_rm_init(struct dpu_rm *rm, int dpu_rm_init(struct dpu_rm *rm,
struct dpu_mdss_cfg *cat, const struct dpu_mdss_cfg *cat,
void __iomem *mmio); void __iomem *mmio);
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment