- 25 Apr, 2017 2 commits
-
-
Vikram Narayanan authored
Introduce four lcd_syscalls for programming iommu for a pci device from LCD. PCI devices can now be assigned to an LCD. During probe, one can assign a device to a particular LCD. During device assignment, all pages inside the heap and rammap regions are mapped in the iommu. During data plane operation, one can map/unmap a page by means of lcd_syscall's. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
During ept walk, not always do we need to know about missing mappings. Add verbose flag to print a warning for the missig mapping. This is just to prevent printk flood during iommu map. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 24 Apr, 2017 4 commits
-
-
Vikram Narayanan authored
netdev->state is updated by many kernel functions. Synchronize the states across RPCs to have a sane state inside the LCD. Also call the local liblcd functions for dev_addr helpers to keep the LCD copy of the datastructure sane. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
mdio45_probe calls the read callback multiple times. So handle it inside the LCD. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Timers can't run inside LCD as there is no support. So, start a timer in KLCD (but with a lower frequency compared to the original one) and trigger a handler inside LCD when the timer expires. In case of ixgbe driver, a service_event is triggered by the timer. Also add support for asynchronous register dump via sysfs module params. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Add the following functions * __hw_addr_sync_dev * __hw_addr_unsync_dev * pci_disable_msix * pci_enable_msix_range * netif_tx_wake_all_queues pci helpers are required for manipulating msi interrupts. __hw_addr helpers provide functionality for adding/removing hw address to the netdev address lists. Also add print and dump stack in all the stub functions to know where this function originates from. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 20 Apr, 2017 2 commits
-
-
Vikram Narayanan authored
struct net_device instance of the driver is heavily modified by the kernel. In order to keep things in sync, we need some internal helpers so as to avoid volunteering memory for various structures and marshalling lists.These files pull in a minimal set of helper functions from the kernel to keep things intact. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 06 Apr, 2017 3 commits
-
-
Vikram Narayanan authored
Enable the following function pointers: * ndo_open * ndo_stop * ndo_start_xmit * ndo_set_rx_mode * ndo_validate_addr * ndo_set_mac_address * ndo_change_mtu * ndo_tx_timeout * ndo_set_tx_maxrate * ndo_get_stats64 Add missing dev_addr_add function as well. Remove VLAN features from ixgbe (to be explored in the future) Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
In the native kernel, usleep_range leans on the hrtimer interface. As we don't have any timer support inside LCDs, make this api perform an udelay instead. Both usleep_range and msleep needs to be fixed in the future Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 04 Apr, 2017 1 commit
-
-
Vikram Narayanan authored
Pass dma_mask and other ref pointer as well Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 03 Apr, 2017 6 commits
-
-
Vikram Narayanan authored
As dma support is added to liblcd, remove the old stubs Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Just bring in the normal nommu_ops for now which uses scatterlists for sg dma. Kernel uses SWIOTLB by default if no iommu= option is specified in the command line for x86_64 systems. Bring in SWIOTLB as well when it is absolutely necessary. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Define helpers for __get_free_page(s) and free_page(s) Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Also remove spin_unlock_restore stub Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Some options are not supported by the LCD driver as of now, such as IOV, DMA, DCA, DCB. #ifdef all those functions. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 02 Apr, 2017 7 commits
-
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
checksum and DQL (dynamic queue limits) are used by ixgbe driver. Add this to liblcd as this may be used by other modules too in the future. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
A module parameter is added to the KLCD module, which is exposed by the kernel in sysfs. The dispatch loop monitors for a change in this variable and sends a message to LCD to exit, thereby paving way for LCD to gracefully exit. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
msleep is just a wrapper around udelay, which is a tight loop. msleep must be replaced with a real timer in the future Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
A detailed list of functions supported * register_netdev * ether_setup * eth_mac_addr * eth_validate_addr * free_netdev * netif_carrier_off * netif_carrier_on * netif_device_attach * netif_device_detach * netif_set_real_num_rx_queues * netif_set_real_num_tx_queues * consume_skb * unregister_netdev * eth_platform_get_mac_address * dev_addr_del * device_set_wakeup_enable * eth_get_headlen * netif_tx_stop_all_queues * pci_disable_pcie_error_reporting * pci_bus_read_config_word * pci_bus_write_config_word * pci_cleanup_aer_uncorrect_error_status * pci_disable_device * pci_disable_msi * pci_disable_msix * pci_enable_msix_range * pci_enable_msi_range * pci_enable_pcie_error_reporting * pcie_capability_read_word * pcie_get_minimum_link * pci_enable_device_mem * pci_request_selected_regions * pci_request_selected_regions_exclusive * pci_set_master * pci_save_state * pci_restore_state * pci_prepare_to_sleep * pci_set_power_state * pci_release_selected_regions * pci_select_bars * pci_wake_from_d3 Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 29 Mar, 2017 1 commit
-
-
Vikram Narayanan authored
Replace * dev_{warn,err,info,crit} with LIBLCD variants. * v{m,z}alloc with kmalloc for now as vmalloc is not fully supported in the liblcd implementation. * {alloc,free}_pages with lcd variants Mask functions that won't be used with LCD driver (for instance irq related stuff). Add stubs for other functions that are unlikely to be RPC-ed or pulled in. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 27 Mar, 2017 5 commits
-
-
Vikram Narayanan authored
Add the original driver, stripping all the files that are not necessary for our 82599 hardware. Also remove (#ifdef) unneeded fancy features such as SRIOV, PTP, HWMON, DEBUGFS, DCA, DCB. Compiles fine. There are unresolved symbols though. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
PCI bar regions are accessed by corresponding drivers. ixgbe accesses only BAR0 region. Map this into the lcd using lcd_ioremap. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Instead of using naive schedule() that hogs the cpu, use a wait queue and wake up the thread when someone pulls the plug. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Add support for remove function pointer and alloc_etherdev_mqs rpc. Also add appropriate support in the cap for insertion/removal of newly introduced containers. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
struct net_device is wrapped inside a container for the sake of LCDs. To facilitate this, allocate memory for net_device_container instead of net_device. Alter the api for accessing private area of net_device struct Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 19 Mar, 2017 1 commit
-
-
Vikram Narayanan authored
Populate boot, lcd, klcd modules of ixgbe and add a minimal ixgbe_main.c file which tries to do pci_register_driver during load and unregister during exit. Functions supported: * probe Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 17 Mar, 2017 4 commits
-
-
Vikram Narayanan authored
Update build scripts to build ixgbe test_module as well Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
oh! no. not again! Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 23 Feb, 2017 1 commit
-
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 05 Jan, 2017 1 commit
-
-
Vikram Narayanan authored
This script creates a tree structure with the necessary files for an LCD module. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 19 Dec, 2016 2 commits
-
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-