From 36ce48448be5dd42669a5199f61e85da1a68cf60 Mon Sep 17 00:00:00 2001 From: CrazyCat Date: Sat, 26 Oct 2024 18:58:35 +0300 Subject: [PATCH] media: pci/tbsecp3: Fix irq handler for DMA events. --- drivers/media/pci/tbsecp3/tbsecp3-cards.c | 0 drivers/media/pci/tbsecp3/tbsecp3-core.c | 33 ++--------------------- drivers/media/pci/tbsecp3/tbsecp3-regs.h | 2 +- drivers/media/pci/tbsecp3/tbsecp3.h | 0 4 files changed, 3 insertions(+), 32 deletions(-) mode change 100755 => 100644 drivers/media/pci/tbsecp3/tbsecp3-cards.c mode change 100755 => 100644 drivers/media/pci/tbsecp3/tbsecp3-core.c mode change 100755 => 100644 drivers/media/pci/tbsecp3/tbsecp3.h diff --git a/drivers/media/pci/tbsecp3/tbsecp3-cards.c b/drivers/media/pci/tbsecp3/tbsecp3-cards.c old mode 100755 new mode 100644 diff --git a/drivers/media/pci/tbsecp3/tbsecp3-core.c b/drivers/media/pci/tbsecp3/tbsecp3-core.c old mode 100755 new mode 100644 index b49f5ef97465..415adade3693 --- a/drivers/media/pci/tbsecp3/tbsecp3-core.c +++ b/drivers/media/pci/tbsecp3/tbsecp3-core.c @@ -53,8 +53,8 @@ static irqreturn_t tbsecp3_irq_handler(int irq, void *dev_id) tbs_write(TBSECP3_INT_BASE, TBSECP3_INT_STAT, stat); - if (stat & 0x000000f0) { - /* dma0~3 */ + if (stat & 0x000ffff0) { + /* dma0~15 */ for (i = 0; i < dev->info->adapters; i++) { in = dev->adapter[i].cfg->ts_in; if (stat & TBSECP3_DMA_IF(in)){ @@ -63,35 +63,6 @@ static irqreturn_t tbsecp3_irq_handler(int irq, void *dev_id) } } - if (stat & 0x00000f00) { - /* dma 4~7*/ - for (i = 4; i < dev->info->adapters; i++) { - in = dev->adapter[i].cfg->ts_in; - if (stat & TBSECP3_DMA_IF(in)){ - tasklet_schedule(&dev->adapter[i].tasklet); - } - } - } - - if (stat & 0x0000f000) { - /* dma8~11 */ - for (i = 8; i < dev->info->adapters; i++) { - in = dev->adapter[i].cfg->ts_in; - if (stat & TBSECP3_DMA_IF1(in)){ - tasklet_schedule(&dev->adapter[i].tasklet); - } - } - } - - if (stat & 0x000f0000) { - /* dma 12~15*/ - for (i = 12; i < dev->info->adapters; i++) { - in = dev->adapter[i].cfg->ts_in; - if (stat & TBSECP3_DMA_IF1(in)){ - tasklet_schedule(&dev->adapter[i].tasklet); - } - } - } if (stat & 0x0000000f) { /* i2c */ for (i = 0; i < 4; i++) { diff --git a/drivers/media/pci/tbsecp3/tbsecp3-regs.h b/drivers/media/pci/tbsecp3/tbsecp3-regs.h index bf44537ef036..e4db37eedf0b 100644 --- a/drivers/media/pci/tbsecp3/tbsecp3-regs.h +++ b/drivers/media/pci/tbsecp3/tbsecp3-regs.h @@ -52,7 +52,7 @@ #define TBSECP3_DMA_IE(_n) (0x0018 + 4 * _n) #define TBSECP3_I2C_IF(_n) (0x0001 << _n) #define TBSECP3_DMA_IF(_n) (0x0010 << _n) -#define TBSECP3_DMA_IF1(_n) (0x1000<<(_n-8)) + //spi flash #define SPI_CONFIG 0x10 #define SPI_STATUS 0x10 diff --git a/drivers/media/pci/tbsecp3/tbsecp3.h b/drivers/media/pci/tbsecp3/tbsecp3.h old mode 100755 new mode 100644