msm: camera: Change CSID interrupt mask
CSID SOT (Start of Transmission) bit is enabled by default. This causes lot of unnecessary interrupts. Disable CSID SOT mask, disable DBG_CSID macro so that none of debug interrupts are triggered. Remove unwanted logs. Change-Id: Ib23da7d7b972dd61eb4df255d65b2954f953bffd Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
This commit is contained in:
committed by
Iliyan Malchev
parent
b209dd4e75
commit
855c01951d
@@ -24,7 +24,7 @@
|
||||
#define CSID_VERSION_V3 0x30000000
|
||||
#define MSM_CSID_DRV_NAME "msm_csid"
|
||||
|
||||
#define DBG_CSID 1
|
||||
#define DBG_CSID 0
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
@@ -36,8 +36,6 @@
|
||||
#define CDBG(fmt, args...) do { } while (0)
|
||||
#endif
|
||||
|
||||
static uint32_t irq_count;
|
||||
|
||||
static int msm_csid_cid_lut(
|
||||
struct msm_camera_csid_lut_params *csid_lut_params,
|
||||
void __iomem *csidbase)
|
||||
@@ -84,8 +82,8 @@ static void msm_csid_set_debug_reg(void __iomem *csidbase,
|
||||
{
|
||||
uint32_t val = 0;
|
||||
val = ((1 << csid_params->lane_cnt) - 1) << 20;
|
||||
msm_camera_io_w(0x7f010801 | val, csidbase + CSID_IRQ_MASK_ADDR);
|
||||
msm_camera_io_w(0x7f010801 | val, csidbase + CSID_IRQ_CLEAR_CMD_ADDR);
|
||||
msm_camera_io_w(0x7f010800 | val, csidbase + CSID_IRQ_MASK_ADDR);
|
||||
msm_camera_io_w(0x7f010800 | val, csidbase + CSID_IRQ_CLEAR_CMD_ADDR);
|
||||
}
|
||||
#else
|
||||
static void msm_csid_set_debug_reg(void __iomem *csidbase,
|
||||
@@ -94,11 +92,8 @@ static void msm_csid_set_debug_reg(void __iomem *csidbase,
|
||||
|
||||
static void msm_csid_reset(struct csid_device *csid_dev)
|
||||
{
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
msm_camera_io_w(CSID_RST_STB_ALL, csid_dev->base + CSID_RST_CMD_ADDR);
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
wait_for_completion_interruptible(&csid_dev->reset_complete);
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -159,11 +154,6 @@ static irqreturn_t msm_csid_irq(int irq_num, void *data)
|
||||
__func__, csid_dev->pdev->id, irq);
|
||||
if (irq & (0x1 << CSID_RST_DONE_IRQ_BITSHIFT))
|
||||
complete(&csid_dev->reset_complete);
|
||||
if (irq & 0x1) {
|
||||
pr_debug("%s CSID%d_IRQ_STATUS_ADDR = 0x%x\n",
|
||||
__func__, csid_dev->pdev->id, irq);
|
||||
irq_count++;
|
||||
}
|
||||
msm_camera_io_w(irq, csid_dev->base + CSID_IRQ_CLEAR_CMD_ADDR);
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
@@ -253,13 +243,11 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
int rc = 0;
|
||||
uint8_t core_id = 0;
|
||||
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
if (!csid_version) {
|
||||
pr_err("%s:%d csid_version NULL\n", __func__, __LINE__);
|
||||
rc = -EINVAL;
|
||||
return rc;
|
||||
}
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
|
||||
if (csid_dev->csid_state == CSID_POWER_UP) {
|
||||
pr_err("%s: csid invalid state %d\n", __func__,
|
||||
@@ -267,7 +255,6 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
rc = -EINVAL;
|
||||
return rc;
|
||||
}
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
|
||||
csid_dev->base = ioremap(csid_dev->mem->start,
|
||||
resource_size(csid_dev->mem));
|
||||
@@ -276,10 +263,8 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
rc = -ENOMEM;
|
||||
return rc;
|
||||
}
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
|
||||
if (CSID_VERSION <= CSID_VERSION_V2) {
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
rc = msm_camera_config_vreg(&csid_dev->pdev->dev,
|
||||
csid_8960_vreg_info, ARRAY_SIZE(csid_8960_vreg_info),
|
||||
NULL, 0, &csid_dev->csi_vdd, 1);
|
||||
@@ -287,7 +272,6 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
pr_err("%s: regulator on failed\n", __func__);
|
||||
goto vreg_config_failed;
|
||||
}
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
|
||||
rc = msm_camera_enable_vreg(&csid_dev->pdev->dev,
|
||||
csid_8960_vreg_info, ARRAY_SIZE(csid_8960_vreg_info),
|
||||
@@ -296,7 +280,6 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
pr_err("%s: regulator enable failed\n", __func__);
|
||||
goto vreg_enable_failed;
|
||||
}
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
|
||||
rc = msm_cam_clk_enable(&csid_dev->pdev->dev,
|
||||
csid_8960_clk_info, csid_dev->csid_clk,
|
||||
@@ -305,9 +288,7 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
pr_err("%s: clock enable failed\n", __func__);
|
||||
goto clk_enable_failed;
|
||||
}
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
} else if (CSID_VERSION >= CSID_VERSION_V3) {
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
rc = msm_camera_config_vreg(&csid_dev->pdev->dev,
|
||||
csid_8974_vreg_info, ARRAY_SIZE(csid_8974_vreg_info),
|
||||
NULL, 0, &csid_dev->csi_vdd, 1);
|
||||
@@ -315,7 +296,6 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
pr_err("%s: regulator on failed\n", __func__);
|
||||
goto vreg_config_failed;
|
||||
}
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
|
||||
rc = msm_camera_enable_vreg(&csid_dev->pdev->dev,
|
||||
csid_8974_vreg_info, ARRAY_SIZE(csid_8974_vreg_info),
|
||||
@@ -324,7 +304,6 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
pr_err("%s: regulator enable failed\n", __func__);
|
||||
goto vreg_enable_failed;
|
||||
}
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
|
||||
rc = msm_cam_clk_enable(&csid_dev->pdev->dev,
|
||||
csid_8974_clk_info[0].clk_info, csid_dev->csid0_clk,
|
||||
@@ -333,10 +312,8 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
pr_err("%s: clock enable failed\n", __func__);
|
||||
goto csid0_clk_enable_failed;
|
||||
}
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
core_id = csid_dev->pdev->id;
|
||||
if (core_id) {
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
rc = msm_cam_clk_enable(&csid_dev->pdev->dev,
|
||||
csid_8974_clk_info[core_id].clk_info,
|
||||
csid_dev->csid_clk,
|
||||
@@ -348,7 +325,6 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
}
|
||||
}
|
||||
}
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
|
||||
csid_dev->hw_version =
|
||||
msm_camera_io_r(csid_dev->base + CSID_HW_VERSION_ADDR);
|
||||
@@ -356,17 +332,12 @@ static int msm_csid_init(struct csid_device *csid_dev, uint32_t *csid_version)
|
||||
csid_dev->hw_version);
|
||||
*csid_version = csid_dev->hw_version;
|
||||
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
init_completion(&csid_dev->reset_complete);
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
|
||||
enable_irq(csid_dev->irq->start);
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
|
||||
msm_csid_reset(csid_dev);
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
csid_dev->csid_state = CSID_POWER_UP;
|
||||
irq_count = 0;
|
||||
return rc;
|
||||
|
||||
clk_enable_failed:
|
||||
@@ -578,7 +549,6 @@ static int __devinit csid_probe(struct platform_device *pdev)
|
||||
struct csid_device *new_csid_dev;
|
||||
|
||||
int rc = 0;
|
||||
CDBG("%s:%d called\n", __func__, __LINE__);
|
||||
new_csid_dev = kzalloc(sizeof(struct csid_device), GFP_KERNEL);
|
||||
if (!new_csid_dev) {
|
||||
pr_err("%s: no enough memory\n", __func__);
|
||||
|
||||
Reference in New Issue
Block a user