The A83T MIPI CSI-2 apparently produces interrupts regardless of the mask registers, for example when a transmission error occurs. This generates quite a flood when unsolicited interrupts are received on each received frame. As a result, disable the interrupt for now since we are not currently using it for error reporting. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx> --- .../sun8i_a83t_mipi_csi2.c | 40 ------------------- 1 file changed, 40 deletions(-) diff --git a/drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c b/drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c index 1ff6f5dfd81a..26af3e3f5f89 100644 --- a/drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c +++ b/drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c @@ -25,34 +25,6 @@ /* Core */ -static irqreturn_t sun8i_a83t_mipi_csi2_isr(int irq, void *dev_id) -{ - struct sun8i_a83t_mipi_csi2_dev *cdev = - (struct sun8i_a83t_mipi_csi2_dev *)dev_id; - struct regmap *regmap = cdev->regmap; - u32 status; - - WARN_ONCE(1, MODULE_NAME - ": Unsolicited interrupt, an error likely occurred!\n"); - - regmap_read(regmap, SUN8I_A83T_MIPI_CSI2_INT_STA0_REG, &status); - regmap_write(regmap, SUN8I_A83T_MIPI_CSI2_INT_STA0_REG, status); - - regmap_read(regmap, SUN8I_A83T_MIPI_CSI2_INT_STA1_REG, &status); - regmap_write(regmap, SUN8I_A83T_MIPI_CSI2_INT_STA1_REG, status); - - regmap_read(regmap, SUN8I_A83T_MIPI_CSI2_INT_MSK0_REG, &status); - regmap_read(regmap, SUN8I_A83T_MIPI_CSI2_INT_MSK1_REG, &status); - - /* - * The interrupt can be used to catch transmission errors. - * However, we currently lack plumbing for reporting that to the - * A31 CSI controller driver. - */ - - return IRQ_HANDLED; -} - static void sun8i_a83t_mipi_csi2_init(struct sun8i_a83t_mipi_csi2_dev *cdev) { struct regmap *regmap = cdev->regmap; @@ -587,7 +559,6 @@ static int sun8i_a83t_mipi_csi2_resource_request(struct sun8i_a83t_mipi_csi2_dev { struct resource *res; void __iomem *io_base; - int irq; int ret; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); @@ -626,17 +597,6 @@ static int sun8i_a83t_mipi_csi2_resource_request(struct sun8i_a83t_mipi_csi2_dev return PTR_ERR(cdev->reset); } - irq = platform_get_irq(pdev, 0); - if (irq < 0) - return -ENXIO; - - ret = devm_request_irq(&pdev->dev, irq, sun8i_a83t_mipi_csi2_isr, 0, - MODULE_NAME, cdev); - if (ret) { - dev_err(&pdev->dev, "failed to request MIPI CSI-2 IRQ\n"); - return ret; - } - ret = sun8i_a83t_dphy_register(cdev); if (ret) { dev_err(&pdev->dev, "failed to init MIPI D-PHY\n"); -- 2.28.0