> For further details, please refer to https://github.com/KastnerRG/riffa/pull/31 > That is not permanent, please provide the details here. This patch helps to enable bi-directional PCIe communication at PCIe gen2 speed grade Major change in this patch is the enabling of chnl_recv() scatter-gather list first in the case of loopback, as you can see in https://github.com/promach/riffa/blob/full_duplex/driver/linux/riffa_driver.c#L832-L836 Some other changes include splitting TX and RX into two separate FSMs in two always blocks as you can see in chnl_tester.v Also, I need to give credit to @marzoul for maintaining the kernel functions which I have already included in this patch altogether. However, this patch degrades bandwidth measurement result with respect to Xillybus and riffa original driver (slower with an approximate factor of 3 at the same given data batch length) > Please fix this all up and submit a v3, after at least commenting on the > things asked previously. Please allows time to clear up my confusion first regarding the following questions about subvendor ID and subdevice ID before v3 patch submission > Also, you still have this line which prevents me from being able to > accept this patch, as I talked about previously: > + {PCI_DEVICE(VENDOR_ID1, PCI_ANY_ID)}, > Do NOT just bind to all PCI devices from a vendor, that will break other > drivers in the system. This line is for subvendor ID and subdevice ID. I do not think lspci helps here. Could you suggest how to get around PCI_ANY_ID for subdevice ID ? Same question for subvendor ID. phung@UbuntuHW15:~/riffa_backup/driver/linux$ sudo locate -b "pci.ids" /usr/share/hwdata/pci.ids /usr/share/misc/pci.ids phung@UbuntuHW15:~/riffa_backup/driver/linux$ cat /usr/share/hwdata/pci.ids | grep pci # the PCI ID Project at http://pci-ids.ucw.cz/. a000 Psycho UPA-PCI Bus Module [pcipsy] a001 Psycho UPA-PCI Bus Module [pcipsy] a801 Schizo Fireplane-PCI bus bridge module [pcisch] 1113 8201 T-Com T-Sinus 154pcicard Wireless PCI Adapter phung@UbuntuHW15:~/riffa_backup/driver/linux$ cat /usr/share/misc/pci.ids | grep pci # the PCI ID Project at http://pci-ids.ucw.cz/. a000 Psycho UPA-PCI Bus Module [pcipsy] a001 Psycho UPA-PCI Bus Module [pcipsy] a801 Schizo Fireplane-PCI bus bridge module [pcisch] 1113 8201 T-Com T-Sinus 154pcicard Wireless PCI Adapter phung@UbuntuHW15:~/riffa_backup/driver/linux$ > Also, do not use a random MAJOR number that you just picked out of no > where, that too will break working systems and needs to be fixed. Use > the dynamic allocation method, or better yet, just use a misc device. What do you exactly mean by misc device ? > How do you plan to proceed ? please keep the driver in the staging state until it can really match Xillybus or Riffa original driver's bandwidth benchmark. I am actually a bit worried with circ_queue structure and its corresponding push() and pull() functions which systemtap complains to have some significant timing overhead, but to be frank, this is not the root cause of why the full duplex version of the driver is slower. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel