The driver should not depend on hw revision for detecting features.
Instead it should use features from the hw catalog. Drop the hwversion
field from struct dpu_mdss_cfg and struct dpu_hw_blk_reg_map.
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/488160/
Link: https://lore.kernel.org/r/20220602202447.1755115-4-dmitry.baryshkov@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
        for (i = 0; i < ARRAY_SIZE(cfg_handler); i++) {
                if (cfg_handler[i].hw_rev == hw_rev) {
                        cfg_handler[i].cfg_init(dpu_cfg);
-                       dpu_cfg->hwversion = hw_rev;
                        return dpu_cfg;
                }
        }
 
  * @mdss_irqs:         Bitmap with the irqs supported by the target
  */
 struct dpu_mdss_cfg {
-       u32 hwversion;
-
        const struct dpu_caps *caps;
 
        u32 mdp_count;
 
                        b->base_off = addr;
                        b->blk_off = m->ctl[i].base;
                        b->length = m->ctl[i].len;
-                       b->hwversion = m->hwversion;
                        b->log_mask = DPU_DBG_MASK_CTL;
                        return &m->ctl[i];
                }
 
                        b->base_off = addr;
                        b->blk_off = m->dsc[i].base;
                        b->length = m->dsc[i].len;
-                       b->hwversion = m->hwversion;
                        b->log_mask = DPU_DBG_MASK_DSC;
                        return &m->dsc[i];
                }
 
                        b->base_off = addr;
                        b->blk_off = m->dspp[i].base;
                        b->length = m->dspp[i].len;
-                       b->hwversion = m->hwversion;
                        b->log_mask = DPU_DBG_MASK_DSPP;
                        return &m->dspp[i];
                }
 
 {
        hw->base_off = addr;
        hw->blk_off = m->mdp[0].base;
-       hw->hwversion = m->hwversion;
 }
 
 struct dpu_hw_intr *dpu_hw_intr_init(void __iomem *addr,
 
                        b->base_off = addr;
                        b->blk_off = m->intf[i].base;
                        b->length = m->intf[i].len;
-                       b->hwversion = m->hwversion;
                        b->log_mask = DPU_DBG_MASK_INTF;
                        return &m->intf[i];
                }
 
                        b->base_off = addr;
                        b->blk_off = m->mixer[i].base;
                        b->length = m->mixer[i].len;
-                       b->hwversion = m->hwversion;
                        b->log_mask = DPU_DBG_MASK_LM;
                        return &m->mixer[i];
                }
 
                        b->base_off = addr;
                        b->blk_off = m->merge_3d[i].base;
                        b->length = m->merge_3d[i].len;
-                       b->hwversion = m->hwversion;
                        b->log_mask = DPU_DBG_MASK_PINGPONG;
                        return &m->merge_3d[i];
                }
 
                        b->base_off = addr;
                        b->blk_off = m->pingpong[i].base;
                        b->length = m->pingpong[i].len;
-                       b->hwversion = m->hwversion;
                        b->log_mask = DPU_DBG_MASK_PINGPONG;
                        return &m->pingpong[i];
                }
 
                                b->base_off = addr;
                                b->blk_off = catalog->sspp[i].base;
                                b->length = catalog->sspp[i].len;
-                               b->hwversion = catalog->hwversion;
                                b->log_mask = DPU_DBG_MASK_SSPP;
                                return &catalog->sspp[i];
                        }
 
                        b->base_off = addr;
                        b->blk_off = m->mdp[i].base;
                        b->length = m->mdp[i].len;
-                       b->hwversion = m->hwversion;
                        b->log_mask = DPU_DBG_MASK_TOP;
                        return &m->mdp[i];
                }
 
  * @blk_off:      pipe offset relative to mdss offset
  * @length        length of register block offset
  * @xin_id        xin id
- * @hwversion     mdss hw version number
  */
 struct dpu_hw_blk_reg_map {
        void __iomem *base_off;
        u32 blk_off;
        u32 length;
        u32 xin_id;
-       u32 hwversion;
        u32 log_mask;
 };
 
 
                        b->base_off = addr;
                        b->blk_off = m->vbif[i].base;
                        b->length = m->vbif[i].len;
-                       b->hwversion = m->hwversion;
                        b->log_mask = DPU_DBG_MASK_VBIF;
                        return &m->vbif[i];
                }
 
                        b->base_off = addr;
                        b->blk_off = m->wb[i].base;
                        b->length = m->wb[i].len;
-                       b->hwversion = m->hwversion;
                        return &m->wb[i];
                }
        }