From: "Dr. David Alan Gilbert" <li...@treblig.org>

ipu_csi_get_window(), ipu_csi_is_interlaced() and
ipu_csi_set_test_generator() were added in 2014 by
commit 2ffd48f2e7ae ("gpu: ipu-v3: Add Camera Sensor Interface unit")
but have remained unused.

Remove them.

ipu_csi_set_testgen_mclk() is now unused.

Remove it.

Signed-off-by: Dr. David Alan Gilbert <li...@treblig.org>
---
 drivers/gpu/ipu-v3/ipu-csi.c | 108 -----------------------------------
 include/video/imx-ipu-v3.h   |   5 --
 2 files changed, 113 deletions(-)

diff --git a/drivers/gpu/ipu-v3/ipu-csi.c b/drivers/gpu/ipu-v3/ipu-csi.c
index 778bc26d3ba5..d576b7d28437 100644
--- a/drivers/gpu/ipu-v3/ipu-csi.c
+++ b/drivers/gpu/ipu-v3/ipu-csi.c
@@ -185,32 +185,6 @@ static inline void ipu_csi_write(struct ipu_csi *csi, u32 
value,
        writel(value, csi->base + offset);
 }
 
-/*
- * Set mclk division ratio for generating test mode mclk. Only used
- * for test generator.
- */
-static int ipu_csi_set_testgen_mclk(struct ipu_csi *csi, u32 pixel_clk,
-                                       u32 ipu_clk)
-{
-       u32 temp;
-       int div_ratio;
-
-       div_ratio = (ipu_clk / pixel_clk) - 1;
-
-       if (div_ratio > 0xFF || div_ratio < 0) {
-               dev_err(csi->ipu->dev,
-                       "value of pixel_clk extends normal range\n");
-               return -EINVAL;
-       }
-
-       temp = ipu_csi_read(csi, CSI_SENS_CONF);
-       temp &= ~CSI_SENS_CONF_DIVRATIO_MASK;
-       ipu_csi_write(csi, temp | (div_ratio << CSI_SENS_CONF_DIVRATIO_SHIFT),
-                         CSI_SENS_CONF);
-
-       return 0;
-}
-
 /*
  * Find the CSI data format and data width for the given V4L2 media
  * bus pixel format code.
@@ -538,56 +512,6 @@ int ipu_csi_init_interface(struct ipu_csi *csi,
 }
 EXPORT_SYMBOL_GPL(ipu_csi_init_interface);
 
-bool ipu_csi_is_interlaced(struct ipu_csi *csi)
-{
-       unsigned long flags;
-       u32 sensor_protocol;
-
-       spin_lock_irqsave(&csi->lock, flags);
-       sensor_protocol =
-               (ipu_csi_read(csi, CSI_SENS_CONF) &
-                CSI_SENS_CONF_SENS_PRTCL_MASK) >>
-               CSI_SENS_CONF_SENS_PRTCL_SHIFT;
-       spin_unlock_irqrestore(&csi->lock, flags);
-
-       switch (sensor_protocol) {
-       case IPU_CSI_CLK_MODE_GATED_CLK:
-       case IPU_CSI_CLK_MODE_NONGATED_CLK:
-       case IPU_CSI_CLK_MODE_CCIR656_PROGRESSIVE:
-       case IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_DDR:
-       case IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_SDR:
-               return false;
-       case IPU_CSI_CLK_MODE_CCIR656_INTERLACED:
-       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_DDR:
-       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_SDR:
-               return true;
-       default:
-               dev_err(csi->ipu->dev,
-                       "CSI %d sensor protocol unsupported\n", csi->id);
-               return false;
-       }
-}
-EXPORT_SYMBOL_GPL(ipu_csi_is_interlaced);
-
-void ipu_csi_get_window(struct ipu_csi *csi, struct v4l2_rect *w)
-{
-       unsigned long flags;
-       u32 reg;
-
-       spin_lock_irqsave(&csi->lock, flags);
-
-       reg = ipu_csi_read(csi, CSI_ACT_FRM_SIZE);
-       w->width = (reg & 0xFFFF) + 1;
-       w->height = (reg >> 16 & 0xFFFF) + 1;
-
-       reg = ipu_csi_read(csi, CSI_OUT_FRM_CTRL);
-       w->left = (reg & CSI_HSC_MASK) >> CSI_HSC_SHIFT;
-       w->top = (reg & CSI_VSC_MASK) >> CSI_VSC_SHIFT;
-
-       spin_unlock_irqrestore(&csi->lock, flags);
-}
-EXPORT_SYMBOL_GPL(ipu_csi_get_window);
-
 void ipu_csi_set_window(struct ipu_csi *csi, struct v4l2_rect *w)
 {
        unsigned long flags;
@@ -624,38 +548,6 @@ void ipu_csi_set_downsize(struct ipu_csi *csi, bool horiz, 
bool vert)
 }
 EXPORT_SYMBOL_GPL(ipu_csi_set_downsize);
 
-void ipu_csi_set_test_generator(struct ipu_csi *csi, bool active,
-                               u32 r_value, u32 g_value, u32 b_value,
-                               u32 pix_clk)
-{
-       unsigned long flags;
-       u32 ipu_clk = clk_get_rate(csi->clk_ipu);
-       u32 temp;
-
-       spin_lock_irqsave(&csi->lock, flags);
-
-       temp = ipu_csi_read(csi, CSI_TST_CTRL);
-
-       if (!active) {
-               temp &= ~CSI_TEST_GEN_MODE_EN;
-               ipu_csi_write(csi, temp, CSI_TST_CTRL);
-       } else {
-               /* Set sensb_mclk div_ratio */
-               ipu_csi_set_testgen_mclk(csi, pix_clk, ipu_clk);
-
-               temp &= ~(CSI_TEST_GEN_R_MASK | CSI_TEST_GEN_G_MASK |
-                         CSI_TEST_GEN_B_MASK);
-               temp |= CSI_TEST_GEN_MODE_EN;
-               temp |= (r_value << CSI_TEST_GEN_R_SHIFT) |
-                       (g_value << CSI_TEST_GEN_G_SHIFT) |
-                       (b_value << CSI_TEST_GEN_B_SHIFT);
-               ipu_csi_write(csi, temp, CSI_TST_CTRL);
-       }
-
-       spin_unlock_irqrestore(&csi->lock, flags);
-}
-EXPORT_SYMBOL_GPL(ipu_csi_set_test_generator);
-
 int ipu_csi_set_mipi_datatype(struct ipu_csi *csi, u32 vc,
                              struct v4l2_mbus_framefmt *mbus_fmt)
 {
diff --git a/include/video/imx-ipu-v3.h b/include/video/imx-ipu-v3.h
index c9ed4b6a408b..29e142e95ba3 100644
--- a/include/video/imx-ipu-v3.h
+++ b/include/video/imx-ipu-v3.h
@@ -361,13 +361,8 @@ int ipu_csi_init_interface(struct ipu_csi *csi,
                           const struct v4l2_mbus_config *mbus_cfg,
                           const struct v4l2_mbus_framefmt *infmt,
                           const struct v4l2_mbus_framefmt *outfmt);
-bool ipu_csi_is_interlaced(struct ipu_csi *csi);
-void ipu_csi_get_window(struct ipu_csi *csi, struct v4l2_rect *w);
 void ipu_csi_set_window(struct ipu_csi *csi, struct v4l2_rect *w);
 void ipu_csi_set_downsize(struct ipu_csi *csi, bool horiz, bool vert);
-void ipu_csi_set_test_generator(struct ipu_csi *csi, bool active,
-                               u32 r_value, u32 g_value, u32 b_value,
-                               u32 pix_clk);
 int ipu_csi_set_mipi_datatype(struct ipu_csi *csi, u32 vc,
                              struct v4l2_mbus_framefmt *mbus_fmt);
 int ipu_csi_set_skip_smfc(struct ipu_csi *csi, u32 skip,
-- 
2.47.1

Reply via email to