RE: PCIe endpoint generic driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> -----Original Message-----
>> From: linux-pci-owner@xxxxxxxxxxxxxxx 
>> [mailto:linux-pci-owner@xxxxxxxxxxxxxxx]
>> On Behalf Of Ramon Fried
>> Sent: 24 November 2015 15:02
>> To: linux-pci@xxxxxxxxxxxxxxx
>> Subject: RE: PCIe endpoint generic driver
>> 
>> > > Hi.
>> > > Sorry for the noob question :)
>> > > I'm currently developing a PCIe endpoint driver for a board that 
>> > > runs Linux.
>> > > The board will be used as an expansion PCIe card for x86 PC's.
>> > > Is there any guidelines, documentation related to PCI endpoint 
>> > > drivers for Linux kernel ?
>>> 
>> > Hi Ramon
>> >
>> > Have you looked at
>> > http://lxr.free-electrons.com/source/Documentation/PCI/pci.txt
>> >?
>> >
>> > Regards
>> >
>> > Gab
>> 
>> Hi Gab, you misunderstood my driver type.
>> This is not a host driver, that I'm writing, but the actual endpoint driver.
>> Then Linux is on the PCIe board.
>
> Hi Ramon, I understood your driver type.
> I think you misunderstood the Documentation.
> Host Bridges are under drivers/pci/host and none of them use pci_register_driver() API.
>
> pci_register_driver() is actually for endpoints. Please read the link above again.

Hi Gab.
Host bridges AFAIK are supposed to connect between the host CPU, main memory and the PCI itself.
This is not what I need as I'm not at the host side.
pci_register_driver() is a host driver for pci endpoints.

On the device side, pci_register_driver() doesn't make any sense. There's no root complex, no enumeration, etc.
I need for instance a method to send a MSI/MSIx interrupt to the host. I need to develop a function that does it.

My original question was if there's a framework/guidelines for achieving that.

Thanks.
Ramon
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux