Patrick Boettcher wrote:
On Fri, 6 Apr 2007, Antti Seppälä wrote:
Patrick Boettcher wrote:
Someone outthere with a SMP-system and a flexcop who could see if e.g.
dvbscan or dvbtraffic is killing the system/flexcop when removing the
irq_lock?
Patrick.
I've now been torturing my SMP box for over three hours with various dvb
-related activities (dvbtraffic, dvbscan, vdr) without the irq_lock in flexcop
driver. So far I haven't noticed any problems in operation whatsoever.
Maybe the spinlock really should go?
I vote for it, too.
If someone will have a problem with the flexcop we will see during
development phase of the kernel after integration.
regards,
Patrick.
I've created a patch for removing the spinlock from latest v4l-dvb -tree:
Removing of unnecessary spinlock
Based on the discussion on linux-dvb it seems that ISR:s are already
serialized by the linux kernel and thus drivers won't have to specify
their own facilities for ISR serialization.
Signed-off-by: Antti Seppälä <ajhseppa@xxxxxxxxxxxxxx>
--
Antti Seppälä
--- linux/drivers/media/dvb/b2c2/flexcop-pci.c~ 2007-04-07 09:44:50.000000000 +0300
+++ linux/drivers/media/dvb/b2c2/flexcop-pci.c 2007-04-07 09:43:27.000000000 +0300
@@ -59,8 +59,6 @@
u32 last_dma1_cur_pos; /* position of the pointer last time the timer/packet irq occured */
int count;
- spinlock_t irq_lock;
-
unsigned long last_irq;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
@@ -143,12 +141,9 @@
{
struct flexcop_pci *fc_pci = dev_id;
struct flexcop_device *fc = fc_pci->fc_dev;
- unsigned long flags;
flexcop_ibi_value v;
irqreturn_t ret = IRQ_HANDLED;
- spin_lock_irqsave(&fc_pci->irq_lock,flags);
-
v = fc->read_ibi_reg(fc,irq_20c);
/* errors */
@@ -211,8 +206,6 @@
ret = IRQ_NONE;
}
- spin_unlock_irqrestore(&fc_pci->irq_lock,flags);
-
return ret;
}
@@ -310,7 +303,6 @@
}
pci_set_drvdata(fc_pci->pdev, fc_pci);
- spin_lock_init(&fc_pci->irq_lock);
if ((ret = request_irq(fc_pci->pdev->irq, flexcop_pci_isr,
IRQF_SHARED, DRIVER_NAME, fc_pci)) != 0)
goto err_pci_iounmap;
_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb