Messages in this thread | | | From | "Le Wen" <> | Subject | Questions about request_irq and reading PCI_INTERRUPT_LINE | Date | Fri, 18 Mar 2005 13:18:14 -0500 |
| |
Hi, there,
I have problem to grab video from my ati all-in-wonder card. The card is in a PII Celeron machine with an on board video card (ATI Technologies Inc 3D Rage IIC AGP). there is no monitor connected with the on board video card. I only hook my AIW card with a monitor.
I use km-0.6 from gatos project. I load this km_drv module, but kernel always complains:
km: IRQ 0 busy
I checked code: km_probe(struct pci_dev *dev, const struct pci_device_id *pci_id)
here dev->irq with a value 0.
When km_probe gets called, it try to request an IRQ0 returns a -EBUSY: kms_irq=dev.irq; result=request_irq(kms->irq, handler, SA_SHIRQ, tag, (void *)kms);
if(result==-EBUSY){ printk(KERN_ERR "km: IRQ %ld busy\n", kms->irq); goto fail; }
So I tried to get right IRQ number using: u8 myirq; int rtn=pci_read_config_byte(dev,PCI_INTERRUPT_LINE, &myirq); dev->irq=myirq; kms->irq=dev_irq; result=request_irq(kms->irq, handler, SA_SHIRQ, tag, (void *)kms);
if(result==-EBUSY){ printk(KERN_ERR "km: IRQ %ld busy\n", kms->irq); goto fail; } if(result<0){ printk(KERN_ERR "km: could not install irq handler: result=%d\n",result); goto fail; } But this time I got:
km: kms->irq=24 km: could not install irq handler: result=-38
My questions are: 1. I don't know why dev->irq has value of 0?
2. Is an IRQ number of 24 valid for a Intel PII Celeron?
3. What does this result=-38 mean?
Wen, Le
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |