mirror of
https://github.com/torvalds/linux.git
synced 2025-04-12 06:49:52 +00:00
gpu: ipu-v3: ipu-csi: Remove unused functions
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 <linux@treblig.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20241226022752.219399-7-linux@treblig.org Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
This commit is contained in:
parent
27985c86e2
commit
c687c3147d
@ -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 @@ out_unlock:
|
||||
}
|
||||
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)
|
||||
{
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user