Strip down debugfs support for misr data read on layer mixers
and interfaces.

Signed-off-by: Jeykumar Sankaran <jsa...@codeaurora.org>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c           | 139 ---------------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h           |   6 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c        | 127 -------------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h   |   6 -
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c   |  28 -----
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c        |  29 -----
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h        |   7 --
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c          |  29 -----
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.h          |   7 --
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c        |   3 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h        |   6 -
 11 files changed, 387 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
index 07c2d15..a4fab042 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
@@ -47,8 +47,6 @@
 #define LEFT_MIXER 0
 #define RIGHT_MIXER 1
 
-#define MISR_BUFF_SIZE                 256
-
 static inline struct dpu_kms *_dpu_crtc_get_kms(struct drm_crtc *crtc)
 {
        struct msm_drm_private *priv;
@@ -1272,8 +1270,6 @@ static void dpu_crtc_handle_power_event(u32 event_type, 
void *arg)
        struct drm_crtc *crtc = arg;
        struct dpu_crtc *dpu_crtc;
        struct drm_encoder *encoder;
-       struct dpu_crtc_mixer *m;
-       u32 i, misr_status;
 
        if (!crtc) {
                DPU_ERROR("invalid crtc\n");
@@ -1294,29 +1290,8 @@ static void dpu_crtc_handle_power_event(u32 event_type, 
void *arg)
 
                        dpu_encoder_virt_restore(encoder);
                }
-
-               for (i = 0; i < dpu_crtc->num_mixers; ++i) {
-                       m = &dpu_crtc->mixers[i];
-                       if (!m->hw_lm || !m->hw_lm->ops.setup_misr ||
-                                       !dpu_crtc->misr_enable)
-                               continue;
-
-                       m->hw_lm->ops.setup_misr(m->hw_lm, true,
-                                       dpu_crtc->misr_frame_count);
-               }
                break;
        case DPU_POWER_EVENT_PRE_DISABLE:
-               for (i = 0; i < dpu_crtc->num_mixers; ++i) {
-                       m = &dpu_crtc->mixers[i];
-                       if (!m->hw_lm || !m->hw_lm->ops.collect_misr ||
-                                       !dpu_crtc->misr_enable)
-                               continue;
-
-                       misr_status = m->hw_lm->ops.collect_misr(m->hw_lm);
-                       dpu_crtc->misr_data[i] = misr_status ? misr_status :
-                                                       dpu_crtc->misr_data[i];
-               }
-               break;
        case DPU_POWER_EVENT_POST_DISABLE:
                /**
                 * Nothing to do. All the planes on the CRTC will be
@@ -1847,113 +1822,6 @@ static int _dpu_debugfs_status_open(struct inode 
*inode, struct file *file)
        return single_open(file, _dpu_debugfs_status_show, inode->i_private);
 }
 
-static ssize_t _dpu_crtc_misr_setup(struct file *file,
-               const char __user *user_buf, size_t count, loff_t *ppos)
-{
-       struct dpu_crtc *dpu_crtc;
-       struct dpu_crtc_mixer *m;
-       int i = 0, rc;
-       char buf[MISR_BUFF_SIZE + 1];
-       u32 frame_count, enable;
-       size_t buff_copy;
-
-       if (!file || !file->private_data)
-               return -EINVAL;
-
-       dpu_crtc = file->private_data;
-       buff_copy = min_t(size_t, count, MISR_BUFF_SIZE);
-       if (copy_from_user(buf, user_buf, buff_copy)) {
-               DPU_ERROR("buffer copy failed\n");
-               return -EINVAL;
-       }
-
-       buf[buff_copy] = 0; /* end of string */
-
-       if (sscanf(buf, "%u %u", &enable, &frame_count) != 2)
-               return -EINVAL;
-
-       rc = _dpu_crtc_power_enable(dpu_crtc, true);
-       if (rc)
-               return rc;
-
-       mutex_lock(&dpu_crtc->crtc_lock);
-       dpu_crtc->misr_enable = enable;
-       dpu_crtc->misr_frame_count = frame_count;
-       for (i = 0; i < dpu_crtc->num_mixers; ++i) {
-               dpu_crtc->misr_data[i] = 0;
-               m = &dpu_crtc->mixers[i];
-               if (!m->hw_lm || !m->hw_lm->ops.setup_misr)
-                       continue;
-
-               m->hw_lm->ops.setup_misr(m->hw_lm, enable, frame_count);
-       }
-       mutex_unlock(&dpu_crtc->crtc_lock);
-       _dpu_crtc_power_enable(dpu_crtc, false);
-
-       return count;
-}
-
-static ssize_t _dpu_crtc_misr_read(struct file *file,
-               char __user *user_buff, size_t count, loff_t *ppos)
-{
-       struct dpu_crtc *dpu_crtc;
-       struct dpu_crtc_mixer *m;
-       int i = 0, rc;
-       u32 misr_status;
-       ssize_t len = 0;
-       char buf[MISR_BUFF_SIZE + 1] = {'\0'};
-
-       if (*ppos)
-               return 0;
-
-       if (!file || !file->private_data)
-               return -EINVAL;
-
-       dpu_crtc = file->private_data;
-       rc = _dpu_crtc_power_enable(dpu_crtc, true);
-       if (rc)
-               return rc;
-
-       mutex_lock(&dpu_crtc->crtc_lock);
-       if (!dpu_crtc->misr_enable) {
-               len += snprintf(buf + len, MISR_BUFF_SIZE - len,
-                       "disabled\n");
-               goto buff_check;
-       }
-
-       for (i = 0; i < dpu_crtc->num_mixers; ++i) {
-               m = &dpu_crtc->mixers[i];
-               if (!m->hw_lm || !m->hw_lm->ops.collect_misr)
-                       continue;
-
-               misr_status = m->hw_lm->ops.collect_misr(m->hw_lm);
-               dpu_crtc->misr_data[i] = misr_status ? misr_status :
-                                                       dpu_crtc->misr_data[i];
-               len += snprintf(buf + len, MISR_BUFF_SIZE - len, "lm idx:%d\n",
-                                       m->hw_lm->idx - LM_0);
-               len += snprintf(buf + len, MISR_BUFF_SIZE - len, "0x%x\n",
-                                                       dpu_crtc->misr_data[i]);
-       }
-
-buff_check:
-       if (count <= len) {
-               len = 0;
-               goto end;
-       }
-
-       if (copy_to_user(user_buff, buf, len)) {
-               len = -EFAULT;
-               goto end;
-       }
-
-       *ppos += len;   /* increase offset */
-
-end:
-       mutex_unlock(&dpu_crtc->crtc_lock);
-       _dpu_crtc_power_enable(dpu_crtc, false);
-       return len;
-}
-
 #define DEFINE_DPU_DEBUGFS_SEQ_FOPS(__prefix)                          \
 static int __prefix ## _open(struct inode *inode, struct file *file)   \
 {                                                                      \
@@ -2015,11 +1883,6 @@ static int _dpu_crtc_init_debugfs(struct drm_crtc *crtc)
                .llseek =       seq_lseek,
                .release =      single_release,
        };
-       static const struct file_operations debugfs_misr_fops = {
-               .open =         simple_open,
-               .read =         _dpu_crtc_misr_read,
-               .write =        _dpu_crtc_misr_setup,
-       };
 
        if (!crtc)
                return -EINVAL;
@@ -2042,8 +1905,6 @@ static int _dpu_crtc_init_debugfs(struct drm_crtc *crtc)
                        dpu_crtc->debugfs_root,
                        &dpu_crtc->base,
                        &dpu_crtc_debugfs_state_fops);
-       debugfs_create_file("misr_data", 0600, dpu_crtc->debugfs_root,
-                                       dpu_crtc, &debugfs_misr_fops);
 
        return 0;
 }
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h
index a896791..53484b1 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h
@@ -156,9 +156,6 @@ struct dpu_crtc_frame_event {
  * @event_thread  : Pointer to event handler thread
  * @event_worker  : Event worker queue
  * @event_lock    : Spinlock around event handling code
- * @misr_enable   : boolean entry indicates misr enable/disable status.
- * @misr_frame_count  : misr frame count provided by client
- * @misr_data     : store misr data before turning off the clocks.
  * @phandle: Pointer to power handler
  * @power_event   : registered power event handle
  * @cur_perf      : current performance committed to clock/bandwidth driver
@@ -206,9 +203,6 @@ struct dpu_crtc {
 
        /* for handling internal event thread */
        spinlock_t event_lock;
-       bool misr_enable;
-       u32 misr_frame_count;
-       u32 misr_data[CRTC_DUAL_MIXERS];
 
        struct dpu_power_handle *phandle;
        struct dpu_power_event *power_event;
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
index 5b0e944..991b22c 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
@@ -65,8 +65,6 @@
 
 #define MAX_CHANNELS_PER_ENC 2
 
-#define MISR_BUFF_SIZE                 256
-
 #define IDLE_SHORT_TIMEOUT     1
 
 #define MAX_VDISPLAY_SPLIT 1080
@@ -161,8 +159,6 @@ enum dpu_enc_rc_states {
  * @frame_done_timer:          watchdog timer for frame done event
  * @vsync_event_timer:         vsync timer
  * @disp_info:                 local copy of msm_display_info struct
- * @misr_enable:               misr enable/disable status
- * @misr_frame_count:          misr frame count before start capturing the data
  * @idle_pc_supported:         indicate if idle power collaps is supported
  * @rc_lock:                   resource control mutex lock to protect
  *                             virt encoder over various state changes
@@ -202,8 +198,6 @@ struct dpu_encoder_virt {
        struct timer_list vsync_event_timer;
 
        struct msm_display_info disp_info;
-       bool misr_enable;
-       u32 misr_frame_count;
 
        bool idle_pc_supported;
        struct mutex rc_lock;
@@ -1193,11 +1187,6 @@ static void dpu_encoder_virt_enable(struct drm_encoder 
*drm_enc)
                        if (phys->ops.enable)
                                phys->ops.enable(phys);
                }
-
-               if (dpu_enc->misr_enable && (dpu_enc->disp_info.capabilities &
-                    MSM_DISPLAY_CAP_VID_MODE) && phys->ops.setup_misr)
-                       phys->ops.setup_misr(phys, true,
-                                               dpu_enc->misr_frame_count);
        }
 
        if (dpu_enc->cur_master->ops.enable)
@@ -1949,113 +1938,6 @@ static int _dpu_encoder_debugfs_status_open(struct 
inode *inode,
        return single_open(file, _dpu_encoder_status_show, inode->i_private);
 }
 
-static ssize_t _dpu_encoder_misr_setup(struct file *file,
-               const char __user *user_buf, size_t count, loff_t *ppos)
-{
-       struct dpu_encoder_virt *dpu_enc;
-       int i = 0, rc;
-       char buf[MISR_BUFF_SIZE + 1];
-       size_t buff_copy;
-       u32 frame_count, enable;
-
-       if (!file || !file->private_data)
-               return -EINVAL;
-
-       dpu_enc = file->private_data;
-
-       buff_copy = min_t(size_t, count, MISR_BUFF_SIZE);
-       if (copy_from_user(buf, user_buf, buff_copy))
-               return -EINVAL;
-
-       buf[buff_copy] = 0; /* end of string */
-
-       if (sscanf(buf, "%u %u", &enable, &frame_count) != 2)
-               return -EINVAL;
-
-       rc = _dpu_encoder_power_enable(dpu_enc, true);
-       if (rc)
-               return rc;
-
-       mutex_lock(&dpu_enc->enc_lock);
-       dpu_enc->misr_enable = enable;
-       dpu_enc->misr_frame_count = frame_count;
-       for (i = 0; i < dpu_enc->num_phys_encs; i++) {
-               struct dpu_encoder_phys *phys = dpu_enc->phys_encs[i];
-
-               if (!phys || !phys->ops.setup_misr)
-                       continue;
-
-               phys->ops.setup_misr(phys, enable, frame_count);
-       }
-       mutex_unlock(&dpu_enc->enc_lock);
-       _dpu_encoder_power_enable(dpu_enc, false);
-
-       return count;
-}
-
-static ssize_t _dpu_encoder_misr_read(struct file *file,
-               char __user *user_buff, size_t count, loff_t *ppos)
-{
-       struct dpu_encoder_virt *dpu_enc;
-       int i = 0, len = 0;
-       char buf[MISR_BUFF_SIZE + 1] = {'\0'};
-       int rc;
-
-       if (*ppos)
-               return 0;
-
-       if (!file || !file->private_data)
-               return -EINVAL;
-
-       dpu_enc = file->private_data;
-
-       rc = _dpu_encoder_power_enable(dpu_enc, true);
-       if (rc)
-               return rc;
-
-       mutex_lock(&dpu_enc->enc_lock);
-       if (!dpu_enc->misr_enable) {
-               len += snprintf(buf + len, MISR_BUFF_SIZE - len,
-                       "disabled\n");
-               goto buff_check;
-       } else if (dpu_enc->disp_info.capabilities &
-                                               ~MSM_DISPLAY_CAP_VID_MODE) {
-               len += snprintf(buf + len, MISR_BUFF_SIZE - len,
-                       "unsupported\n");
-               goto buff_check;
-       }
-
-       for (i = 0; i < dpu_enc->num_phys_encs; i++) {
-               struct dpu_encoder_phys *phys = dpu_enc->phys_encs[i];
-
-               if (!phys || !phys->ops.collect_misr)
-                       continue;
-
-               len += snprintf(buf + len, MISR_BUFF_SIZE - len,
-                       "Intf idx:%d\n", phys->intf_idx - INTF_0);
-               len += snprintf(buf + len, MISR_BUFF_SIZE - len, "0x%x\n",
-                                       phys->ops.collect_misr(phys));
-       }
-
-buff_check:
-       if (count <= len) {
-               len = 0;
-               goto end;
-       }
-
-       if (copy_to_user(user_buff, buf, len)) {
-               len = -EFAULT;
-               goto end;
-       }
-
-       *ppos += len;   /* increase offset */
-
-end:
-       mutex_unlock(&dpu_enc->enc_lock);
-       _dpu_encoder_power_enable(dpu_enc, false);
-       return len;
-}
-
 static int _dpu_encoder_init_debugfs(struct drm_encoder *drm_enc)
 {
        struct dpu_encoder_virt *dpu_enc;
@@ -2070,12 +1952,6 @@ static int _dpu_encoder_init_debugfs(struct drm_encoder 
*drm_enc)
                .release =      single_release,
        };
 
-       static const struct file_operations debugfs_misr_fops = {
-               .open = simple_open,
-               .read = _dpu_encoder_misr_read,
-               .write = _dpu_encoder_misr_setup,
-       };
-
        char name[DPU_NAME_SIZE];
 
        if (!drm_enc || !drm_enc->dev || !drm_enc->dev->dev_private) {
@@ -2099,9 +1975,6 @@ static int _dpu_encoder_init_debugfs(struct drm_encoder 
*drm_enc)
        debugfs_create_file("status", 0600,
                dpu_enc->debugfs_root, dpu_enc, &debugfs_status_fops);
 
-       debugfs_create_file("misr_data", 0600,
-               dpu_enc->debugfs_root, dpu_enc, &debugfs_misr_fops);
-
        for (i = 0; i < dpu_enc->num_phys_encs; i++)
                if (dpu_enc->phys_encs[i] &&
                                dpu_enc->phys_encs[i]->ops.late_register)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h
index c7df8aa..b3917e0 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h
@@ -114,8 +114,6 @@ struct dpu_encoder_virt_ops {
  * @handle_post_kickoff:       Do any work necessary post-kickoff work
  * @trigger_start:             Process start event on physical encoder
  * @needs_single_flush:                Whether encoder slaves need to be 
flushed
- * @setup_misr:                Sets up MISR, enable and disables based on sysfs
- * @collect_misr:              Collects MISR data on frame update
  * @hw_reset:                  Issue HW recovery such as CTL reset and clear
  *                             DPU_ENC_ERR_NEEDS_HW_RESET state
  * @irq_control:               Handler to enable/disable all the encoder IRQs
@@ -154,10 +152,6 @@ struct dpu_encoder_phys_ops {
        void (*handle_post_kickoff)(struct dpu_encoder_phys *phys_enc);
        void (*trigger_start)(struct dpu_encoder_phys *phys_enc);
        bool (*needs_single_flush)(struct dpu_encoder_phys *phys_enc);
-
-       void (*setup_misr)(struct dpu_encoder_phys *phys_encs,
-                               bool enable, u32 frame_count);
-       u32 (*collect_misr)(struct dpu_encoder_phys *phys_enc);
        void (*hw_reset)(struct dpu_encoder_phys *phys_enc);
        void (*irq_control)(struct dpu_encoder_phys *phys, bool enable);
        void (*prepare_idle_pc)(struct dpu_encoder_phys *phys_enc);
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
index 14fc7c2..6fc3d3f 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
@@ -756,32 +756,6 @@ static void dpu_encoder_phys_vid_irq_control(struct 
dpu_encoder_phys *phys_enc,
        }
 }
 
-static void dpu_encoder_phys_vid_setup_misr(struct dpu_encoder_phys *phys_enc,
-                                               bool enable, u32 frame_count)
-{
-       struct dpu_encoder_phys_vid *vid_enc;
-
-       if (!phys_enc)
-               return;
-       vid_enc = to_dpu_encoder_phys_vid(phys_enc);
-
-       if (vid_enc->hw_intf && vid_enc->hw_intf->ops.setup_misr)
-               vid_enc->hw_intf->ops.setup_misr(vid_enc->hw_intf,
-                                                       enable, frame_count);
-}
-
-static u32 dpu_encoder_phys_vid_collect_misr(struct dpu_encoder_phys *phys_enc)
-{
-       struct dpu_encoder_phys_vid *vid_enc;
-
-       if (!phys_enc)
-               return 0;
-       vid_enc = to_dpu_encoder_phys_vid(phys_enc);
-
-       return vid_enc->hw_intf && vid_enc->hw_intf->ops.collect_misr ?
-               vid_enc->hw_intf->ops.collect_misr(vid_enc->hw_intf) : 0;
-}
-
 static int dpu_encoder_phys_vid_get_line_count(
                struct dpu_encoder_phys *phys_enc)
 {
@@ -817,8 +791,6 @@ static void dpu_encoder_phys_vid_init_ops(struct 
dpu_encoder_phys_ops *ops)
        ops->prepare_for_kickoff = dpu_encoder_phys_vid_prepare_for_kickoff;
        ops->handle_post_kickoff = dpu_encoder_phys_vid_handle_post_kickoff;
        ops->needs_single_flush = dpu_encoder_phys_vid_needs_single_flush;
-       ops->setup_misr = dpu_encoder_phys_vid_setup_misr;
-       ops->collect_misr = dpu_encoder_phys_vid_collect_misr;
        ops->hw_reset = dpu_encoder_helper_hw_reset;
        ops->get_line_count = dpu_encoder_phys_vid_get_line_count;
 }
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c
index d280df5..9c6bba0 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c
@@ -65,9 +65,6 @@
 #define   INTF_FRAME_COUNT              0x0AC
 #define   INTF_LINE_COUNT               0x0B0
 
-#define INTF_MISR_CTRL                 0x180
-#define INTF_MISR_SIGNATURE            0x184
-
 static struct dpu_intf_cfg *_intf_offset(enum dpu_intf intf,
                struct dpu_mdss_cfg *m,
                void __iomem *addr,
@@ -246,30 +243,6 @@ static void dpu_hw_intf_get_status(
        }
 }
 
-static void dpu_hw_intf_setup_misr(struct dpu_hw_intf *intf,
-                                               bool enable, u32 frame_count)
-{
-       struct dpu_hw_blk_reg_map *c = &intf->hw;
-       u32 config = 0;
-
-       DPU_REG_WRITE(c, INTF_MISR_CTRL, MISR_CTRL_STATUS_CLEAR);
-       /* clear misr data */
-       wmb();
-
-       if (enable)
-               config = (frame_count & MISR_FRAME_COUNT_MASK) |
-                       MISR_CTRL_ENABLE | INTF_MISR_CTRL_FREE_RUN_MASK;
-
-       DPU_REG_WRITE(c, INTF_MISR_CTRL, config);
-}
-
-static u32 dpu_hw_intf_collect_misr(struct dpu_hw_intf *intf)
-{
-       struct dpu_hw_blk_reg_map *c = &intf->hw;
-
-       return DPU_REG_READ(c, INTF_MISR_SIGNATURE);
-}
-
 static u32 dpu_hw_intf_get_line_count(struct dpu_hw_intf *intf)
 {
        struct dpu_hw_blk_reg_map *c;
@@ -289,8 +262,6 @@ static void _setup_intf_ops(struct dpu_hw_intf_ops *ops,
        ops->setup_prg_fetch  = dpu_hw_intf_setup_prg_fetch;
        ops->get_status = dpu_hw_intf_get_status;
        ops->enable_timing = dpu_hw_intf_enable_timing_engine;
-       ops->setup_misr = dpu_hw_intf_setup_misr;
-       ops->collect_misr = dpu_hw_intf_collect_misr;
        ops->get_line_count = dpu_hw_intf_get_line_count;
 }
 
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h
index a79d735..3b77df4 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h
@@ -59,8 +59,6 @@ struct intf_status {
  * @ setup_prog_fetch : enables/disables the programmable fetch logic
  * @ enable_timing: enable/disable timing engine
  * @ get_status: returns if timing engine is enabled or not
- * @ setup_misr: enables/disables MISR in HW register
- * @ collect_misr: reads and stores MISR data from HW register
  * @ get_line_count: reads current vertical line counter
  */
 struct dpu_hw_intf_ops {
@@ -77,11 +75,6 @@ struct dpu_hw_intf_ops {
        void (*get_status)(struct dpu_hw_intf *intf,
                        struct intf_status *status);
 
-       void (*setup_misr)(struct dpu_hw_intf *intf,
-                       bool enable, u32 frame_count);
-
-       u32 (*collect_misr)(struct dpu_hw_intf *intf);
-
        u32 (*get_line_count)(struct dpu_hw_intf *intf);
 };
 
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c
index 4ab72b0..acb8dc8 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c
@@ -34,9 +34,6 @@
 #define LM_BLEND0_FG_ALPHA               0x04
 #define LM_BLEND0_BG_ALPHA               0x08
 
-#define LM_MISR_CTRL                   0x310
-#define LM_MISR_SIGNATURE              0x314
-
 static struct dpu_lm_cfg *_lm_offset(enum dpu_lm mixer,
                struct dpu_mdss_cfg *m,
                void __iomem *addr,
@@ -171,30 +168,6 @@ static void dpu_hw_lm_gc(struct dpu_hw_mixer *mixer,
 {
 }
 
-static void dpu_hw_lm_setup_misr(struct dpu_hw_mixer *ctx,
-                               bool enable, u32 frame_count)
-{
-       struct dpu_hw_blk_reg_map *c = &ctx->hw;
-       u32 config = 0;
-
-       DPU_REG_WRITE(c, LM_MISR_CTRL, MISR_CTRL_STATUS_CLEAR);
-       /* clear misr data */
-       wmb();
-
-       if (enable)
-               config = (frame_count & MISR_FRAME_COUNT_MASK) |
-                       MISR_CTRL_ENABLE | INTF_MISR_CTRL_FREE_RUN_MASK;
-
-       DPU_REG_WRITE(c, LM_MISR_CTRL, config);
-}
-
-static u32 dpu_hw_lm_collect_misr(struct dpu_hw_mixer *ctx)
-{
-       struct dpu_hw_blk_reg_map *c = &ctx->hw;
-
-       return DPU_REG_READ(c, LM_MISR_SIGNATURE);
-}
-
 static void _setup_mixer_ops(struct dpu_mdss_cfg *m,
                struct dpu_hw_lm_ops *ops,
                unsigned long features)
@@ -207,8 +180,6 @@ static void _setup_mixer_ops(struct dpu_mdss_cfg *m,
        ops->setup_alpha_out = dpu_hw_lm_setup_color3;
        ops->setup_border_color = dpu_hw_lm_setup_border_color;
        ops->setup_gc = dpu_hw_lm_gc;
-       ops->setup_misr = dpu_hw_lm_setup_misr;
-       ops->collect_misr = dpu_hw_lm_collect_misr;
 };
 
 static struct dpu_hw_blk_ops dpu_hw_ops = {
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.h 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.h
index e29e5da..5b036ac 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.h
@@ -66,13 +66,6 @@ struct dpu_hw_lm_ops {
         */
        void (*setup_gc)(struct dpu_hw_mixer *mixer,
                        void *cfg);
-
-       /* setup_misr: enables/disables MISR in HW register */
-       void (*setup_misr)(struct dpu_hw_mixer *ctx,
-                       bool enable, u32 frame_count);
-
-       /* collect_misr: reads and stores MISR data from HW register */
-       u32 (*collect_misr)(struct dpu_hw_mixer *ctx);
 };
 
 struct dpu_hw_mixer {
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c
index 4cabae4..cb5c017 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c
@@ -50,9 +50,6 @@
 #define QSEED3_CLK_CTRL0                   0x54
 #define QSEED3_CLK_CTRL1                   0x58
 #define QSEED3_CLK_STATUS                  0x5C
-#define QSEED3_MISR_CTRL                   0x70
-#define QSEED3_MISR_SIGNATURE_0            0x74
-#define QSEED3_MISR_SIGNATURE_1            0x78
 #define QSEED3_PHASE_INIT_Y_H              0x90
 #define QSEED3_PHASE_INIT_Y_V              0x94
 #define QSEED3_PHASE_INIT_UV_H             0x98
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h
index 1240f50..cb02041 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h
@@ -325,12 +325,6 @@ void dpu_reg_write(struct dpu_hw_blk_reg_map *c,
 #define DPU_REG_WRITE(c, off, val) dpu_reg_write(c, off, val, #off)
 #define DPU_REG_READ(c, off) dpu_reg_read(c, off)
 
-#define MISR_FRAME_COUNT_MASK          0xFF
-#define MISR_CTRL_ENABLE               BIT(8)
-#define MISR_CTRL_STATUS               BIT(9)
-#define MISR_CTRL_STATUS_CLEAR         BIT(10)
-#define INTF_MISR_CTRL_FREE_RUN_MASK   BIT(31)
-
 void *dpu_hw_util_get_dir(void);
 
 void dpu_hw_setup_scaler3(struct dpu_hw_blk_reg_map *c,
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to