| .. | .. |
|---|
| 12 | 12 | * Copyright(c) 2002-2010 Exar Corp. |
|---|
| 13 | 13 | ******************************************************************************/ |
|---|
| 14 | 14 | #include <linux/etherdevice.h> |
|---|
| 15 | +#include <linux/io-64-nonatomic-lo-hi.h> |
|---|
| 15 | 16 | #include <linux/prefetch.h> |
|---|
| 16 | 17 | |
|---|
| 17 | 18 | #include "vxge-traffic.h" |
|---|
| .. | .. |
|---|
| 277 | 278 | |
|---|
| 278 | 279 | /** |
|---|
| 279 | 280 | * vxge_hw_channel_msix_mask - Mask MSIX Vector. |
|---|
| 280 | | - * @channeh: Channel for rx or tx handle |
|---|
| 281 | + * @channel: Channel for rx or tx handle |
|---|
| 281 | 282 | * @msix_id: MSIX ID |
|---|
| 282 | 283 | * |
|---|
| 283 | 284 | * The function masks the msix interrupt for the given msix_id |
|---|
| .. | .. |
|---|
| 294 | 295 | |
|---|
| 295 | 296 | /** |
|---|
| 296 | 297 | * vxge_hw_channel_msix_unmask - Unmask the MSIX Vector. |
|---|
| 297 | | - * @channeh: Channel for rx or tx handle |
|---|
| 298 | + * @channel: Channel for rx or tx handle |
|---|
| 298 | 299 | * @msix_id: MSI ID |
|---|
| 299 | 300 | * |
|---|
| 300 | 301 | * The function unmasks the msix interrupt for the given msix_id |
|---|
| .. | .. |
|---|
| 349 | 350 | /** |
|---|
| 350 | 351 | * vxge_hw_device_intr_enable - Enable interrupts. |
|---|
| 351 | 352 | * @hldev: HW device handle. |
|---|
| 352 | | - * @op: One of the enum vxge_hw_device_intr enumerated values specifying |
|---|
| 353 | | - * the type(s) of interrupts to enable. |
|---|
| 354 | 353 | * |
|---|
| 355 | 354 | * Enable Titan interrupts. The function is to be executed the last in |
|---|
| 356 | 355 | * Titan initialization sequence. |
|---|
| .. | .. |
|---|
| 404 | 403 | /** |
|---|
| 405 | 404 | * vxge_hw_device_intr_disable - Disable Titan interrupts. |
|---|
| 406 | 405 | * @hldev: HW device handle. |
|---|
| 407 | | - * @op: One of the enum vxge_hw_device_intr enumerated values specifying |
|---|
| 408 | | - * the type(s) of interrupts to disable. |
|---|
| 409 | 406 | * |
|---|
| 410 | 407 | * Disable Titan interrupts. |
|---|
| 411 | 408 | * |
|---|
| .. | .. |
|---|
| 1390 | 1387 | VXGE_HW_NODBW_GET_NO_SNOOP(no_snoop), |
|---|
| 1391 | 1388 | &fifo->nofl_db->control_0); |
|---|
| 1392 | 1389 | |
|---|
| 1393 | | - mmiowb(); |
|---|
| 1394 | | - |
|---|
| 1395 | 1390 | writeq(txdl_ptr, &fifo->nofl_db->txdl_ptr); |
|---|
| 1396 | | - |
|---|
| 1397 | | - mmiowb(); |
|---|
| 1398 | 1391 | } |
|---|
| 1399 | 1392 | |
|---|
| 1400 | 1393 | /** |
|---|
| .. | .. |
|---|
| 1409 | 1402 | |
|---|
| 1410 | 1403 | /** |
|---|
| 1411 | 1404 | * vxge_hw_fifo_txdl_reserve - Reserve fifo descriptor. |
|---|
| 1412 | | - * @fifoh: Handle to the fifo object used for non offload send |
|---|
| 1405 | + * @fifo: Handle to the fifo object used for non offload send |
|---|
| 1413 | 1406 | * @txdlh: Reserved descriptor. On success HW fills this "out" parameter |
|---|
| 1414 | 1407 | * with a valid handle. |
|---|
| 1415 | 1408 | * @txdl_priv: Buffer to return the pointer to per txdl space |
|---|
| .. | .. |
|---|
| 1520 | 1513 | * vxge_hw_fifo_txdl_post - Post descriptor on the fifo channel. |
|---|
| 1521 | 1514 | * @fifo: Handle to the fifo object used for non offload send |
|---|
| 1522 | 1515 | * @txdlh: Descriptor obtained via vxge_hw_fifo_txdl_reserve() |
|---|
| 1523 | | - * @frags: Number of contiguous buffers that are part of a single |
|---|
| 1524 | | - * transmit operation. |
|---|
| 1525 | 1516 | * |
|---|
| 1526 | 1517 | * Post descriptor on the 'fifo' type channel for transmission. |
|---|
| 1527 | 1518 | * Prior to posting the descriptor should be filled in accordance with |
|---|
| .. | .. |
|---|
| 1686 | 1677 | */ |
|---|
| 1687 | 1678 | void vxge_hw_fifo_txdl_free(struct __vxge_hw_fifo *fifo, void *txdlh) |
|---|
| 1688 | 1679 | { |
|---|
| 1689 | | - struct __vxge_hw_fifo_txdl_priv *txdl_priv; |
|---|
| 1690 | | - u32 max_frags; |
|---|
| 1691 | 1680 | struct __vxge_hw_channel *channel; |
|---|
| 1692 | 1681 | |
|---|
| 1693 | 1682 | channel = &fifo->channel; |
|---|
| 1694 | | - |
|---|
| 1695 | | - txdl_priv = __vxge_hw_fifo_txdl_priv(fifo, |
|---|
| 1696 | | - (struct vxge_hw_fifo_txd *)txdlh); |
|---|
| 1697 | | - |
|---|
| 1698 | | - max_frags = fifo->config->max_frags; |
|---|
| 1699 | 1683 | |
|---|
| 1700 | 1684 | vxge_hw_channel_dtr_free(channel, txdlh); |
|---|
| 1701 | 1685 | } |
|---|
| 1702 | 1686 | |
|---|
| 1703 | 1687 | /** |
|---|
| 1704 | | - * vxge_hw_vpath_mac_addr_add - Add the mac address entry for this vpath |
|---|
| 1705 | | - * to MAC address table. |
|---|
| 1688 | + * vxge_hw_vpath_mac_addr_add - Add the mac address entry for this vpath to MAC address table. |
|---|
| 1706 | 1689 | * @vp: Vpath handle. |
|---|
| 1707 | 1690 | * @macaddr: MAC address to be added for this vpath into the list |
|---|
| 1708 | 1691 | * @macaddr_mask: MAC address mask for macaddr |
|---|
| .. | .. |
|---|
| 1767 | 1750 | } |
|---|
| 1768 | 1751 | |
|---|
| 1769 | 1752 | /** |
|---|
| 1770 | | - * vxge_hw_vpath_mac_addr_get - Get the first mac address entry for this vpath |
|---|
| 1771 | | - * from MAC address table. |
|---|
| 1753 | + * vxge_hw_vpath_mac_addr_get - Get the first mac address entry |
|---|
| 1772 | 1754 | * @vp: Vpath handle. |
|---|
| 1773 | 1755 | * @macaddr: First MAC address entry for this vpath in the list |
|---|
| 1774 | 1756 | * @macaddr_mask: MAC address mask for macaddr |
|---|
| 1775 | 1757 | * |
|---|
| 1776 | | - * Returns the first mac address and mac address mask in the list for this |
|---|
| 1758 | + * Get the first mac address entry for this vpath from MAC address table. |
|---|
| 1759 | + * Return: the first mac address and mac address mask in the list for this |
|---|
| 1777 | 1760 | * vpath. |
|---|
| 1778 | 1761 | * see also: vxge_hw_vpath_mac_addr_get_next |
|---|
| 1779 | 1762 | * |
|---|
| .. | .. |
|---|
| 1818 | 1801 | } |
|---|
| 1819 | 1802 | |
|---|
| 1820 | 1803 | /** |
|---|
| 1821 | | - * vxge_hw_vpath_mac_addr_get_next - Get the next mac address entry for this |
|---|
| 1822 | | - * vpath |
|---|
| 1823 | | - * from MAC address table. |
|---|
| 1804 | + * vxge_hw_vpath_mac_addr_get_next - Get the next mac address entry |
|---|
| 1824 | 1805 | * @vp: Vpath handle. |
|---|
| 1825 | 1806 | * @macaddr: Next MAC address entry for this vpath in the list |
|---|
| 1826 | 1807 | * @macaddr_mask: MAC address mask for macaddr |
|---|
| 1827 | 1808 | * |
|---|
| 1828 | | - * Returns the next mac address and mac address mask in the list for this |
|---|
| 1809 | + * Get the next mac address entry for this vpath from MAC address table. |
|---|
| 1810 | + * Return: the next mac address and mac address mask in the list for this |
|---|
| 1829 | 1811 | * vpath. |
|---|
| 1830 | 1812 | * see also: vxge_hw_vpath_mac_addr_get |
|---|
| 1831 | 1813 | * |
|---|
| .. | .. |
|---|
| 1871 | 1853 | } |
|---|
| 1872 | 1854 | |
|---|
| 1873 | 1855 | /** |
|---|
| 1874 | | - * vxge_hw_vpath_mac_addr_delete - Delete the mac address entry for this vpath |
|---|
| 1875 | | - * to MAC address table. |
|---|
| 1856 | + * vxge_hw_vpath_mac_addr_delete - Delete the mac address entry for this vpath to MAC address table. |
|---|
| 1876 | 1857 | * @vp: Vpath handle. |
|---|
| 1877 | 1858 | * @macaddr: MAC address to be added for this vpath into the list |
|---|
| 1878 | 1859 | * @macaddr_mask: MAC address mask for macaddr |
|---|
| .. | .. |
|---|
| 1918 | 1899 | } |
|---|
| 1919 | 1900 | |
|---|
| 1920 | 1901 | /** |
|---|
| 1921 | | - * vxge_hw_vpath_vid_add - Add the vlan id entry for this vpath |
|---|
| 1922 | | - * to vlan id table. |
|---|
| 1902 | + * vxge_hw_vpath_vid_add - Add the vlan id entry for this vpath to vlan id table. |
|---|
| 1923 | 1903 | * @vp: Vpath handle. |
|---|
| 1924 | 1904 | * @vid: vlan id to be added for this vpath into the list |
|---|
| 1925 | 1905 | * |
|---|
| .. | .. |
|---|
| 2253 | 2233 | { |
|---|
| 2254 | 2234 | struct __vxge_hw_device *hldev = vp->vpath->hldev; |
|---|
| 2255 | 2235 | |
|---|
| 2256 | | - if ((hldev->config.intr_mode == VXGE_HW_INTR_MODE_MSIX_ONE_SHOT)) |
|---|
| 2236 | + if (hldev->config.intr_mode == VXGE_HW_INTR_MODE_MSIX_ONE_SHOT) |
|---|
| 2257 | 2237 | __vxge_hw_pio_mem_write32_upper( |
|---|
| 2258 | 2238 | (u32) vxge_bVALn(vxge_mBIT((msix_id >> 2)), 0, 32), |
|---|
| 2259 | 2239 | &hldev->common_reg->clr_msix_one_shot_vec[msix_id % 4]); |
|---|
| .. | .. |
|---|
| 2413 | 2393 | } |
|---|
| 2414 | 2394 | |
|---|
| 2415 | 2395 | /** |
|---|
| 2416 | | - * vxge_hw_vpath_poll_tx - Poll Tx for completed descriptors and process |
|---|
| 2417 | | - * the same. |
|---|
| 2396 | + * vxge_hw_vpath_poll_tx - Poll Tx for completed descriptors and process the same. |
|---|
| 2418 | 2397 | * @fifo: Handle to the fifo object used for non offload send |
|---|
| 2398 | + * @skb_ptr: pointer to skb |
|---|
| 2399 | + * @nr_skb: number of skbs |
|---|
| 2400 | + * @more: more is coming |
|---|
| 2419 | 2401 | * |
|---|
| 2420 | 2402 | * The function polls the Tx for the completed descriptors and calls |
|---|
| 2421 | 2403 | * the driver via supplied completion callback. |
|---|