summaryrefslogtreecommitdiffstats
path: root/drivers/net/defxx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/defxx.c')
-rw-r--r--drivers/net/defxx.c268
1 files changed, 134 insertions, 134 deletions
diff --git a/drivers/net/defxx.c b/drivers/net/defxx.c
index 7d06ded..ae96805 100644
--- a/drivers/net/defxx.c
+++ b/drivers/net/defxx.c
@@ -275,7 +275,7 @@ static void dfx_xmt_flush(DFX_board_t *bp);
static struct net_device *root_dfx_eisa_dev;
-
+
/*
* =======================
* = dfx_port_write_byte =
@@ -283,13 +283,13 @@ static struct net_device *root_dfx_eisa_dev;
* = dfx_port_write_long =
* = dfx_port_read_long =
* =======================
- *
+ *
* Overview:
* Routines for reading and writing values from/to adapter
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
* offset - register offset from base I/O address
@@ -301,7 +301,7 @@ static struct net_device *root_dfx_eisa_dev;
* Functional Description:
* These routines perform the correct operation to read or write
* the adapter register.
- *
+ *
* EISA port block base addresses are based on the slot number in which the
* controller is installed. For example, if the EISA controller is installed
* in slot 4, the port block base address is 0x4000. If the controller is
@@ -377,18 +377,18 @@ static inline void dfx_port_read_long(
*data = inl(port);
}
-
+
/*
* =============
* = dfx_init_one_pci_or_eisa =
* =============
- *
+ *
* Overview:
* Initializes a supported FDDI EISA or PCI controller
- *
+ *
* Returns:
* Condition code
- *
+ *
* Arguments:
* pdev - pointer to pci device information (NULL for EISA)
* ioaddr - pointer to port (NULL for PCI)
@@ -537,18 +537,18 @@ static int __init dfx_eisa_init(void)
}
return rc;
}
-
+
/*
* ================
* = dfx_bus_init =
* ================
- *
+ *
* Overview:
* Initializes EISA and PCI controller bus-specific logic.
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* dev - pointer to device information
*
@@ -672,19 +672,19 @@ static void __devinit dfx_bus_init(struct net_device *dev)
}
}
-
+
/*
* ========================
* = dfx_bus_config_check =
* ========================
- *
+ *
* Overview:
* Checks the configuration (burst size, full-duplex, etc.) If any parameters
* are illegal, then this routine will set new defaults.
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -766,19 +766,19 @@ static void __devinit dfx_bus_config_check(DFX_board_t *bp)
}
}
-
+
/*
* ===================
* = dfx_driver_init =
* ===================
- *
+ *
* Overview:
* Initializes remaining adapter board structure information
* and makes sure adapter is in a safe state prior to dfx_open().
- *
+ *
* Returns:
* Condition code
- *
+ *
* Arguments:
* dev - pointer to device information
* print_name - printable device name
@@ -984,18 +984,18 @@ static int __devinit dfx_driver_init(struct net_device *dev,
return(DFX_K_SUCCESS);
}
-
+
/*
* =================
* = dfx_adap_init =
* =================
- *
+ *
* Overview:
* Brings the adapter to the link avail/link unavailable state.
- *
+ *
* Returns:
* Condition code
- *
+ *
* Arguments:
* bp - pointer to board information
* get_buffers - non-zero if buffers to be allocated
@@ -1188,18 +1188,18 @@ static int dfx_adap_init(DFX_board_t *bp, int get_buffers)
return(DFX_K_SUCCESS);
}
-
+
/*
* ============
* = dfx_open =
* ============
- *
+ *
* Overview:
* Opens the adapter
- *
+ *
* Returns:
* Condition code
- *
+ *
* Arguments:
* dev - pointer to device information
*
@@ -1225,7 +1225,7 @@ static int dfx_open(struct net_device *dev)
DFX_board_t *bp = dev->priv;
DBG_printk("In dfx_open...\n");
-
+
/* Register IRQ - support shared interrupts by passing device ptr */
ret = request_irq(dev->irq, dfx_interrupt, IRQF_SHARED, dev->name, dev);
@@ -1276,18 +1276,18 @@ static int dfx_open(struct net_device *dev)
return(0);
}
-
+
/*
* =============
* = dfx_close =
* =============
- *
+ *
* Overview:
* Closes the device/module.
- *
+ *
* Returns:
* Condition code
- *
+ *
* Arguments:
* dev - pointer to device information
*
@@ -1360,26 +1360,26 @@ static int dfx_close(struct net_device *dev)
/* Clear device structure flags */
netif_stop_queue(dev);
-
+
/* Deregister (free) IRQ */
free_irq(dev->irq, dev);
-
+
return(0);
}
-
+
/*
* ======================
* = dfx_int_pr_halt_id =
* ======================
- *
+ *
* Overview:
* Displays halt id's in string form.
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -1452,18 +1452,18 @@ static void dfx_int_pr_halt_id(DFX_board_t *bp)
}
}
-
+
/*
* ==========================
* = dfx_int_type_0_process =
* ==========================
- *
+ *
* Overview:
* Processes Type 0 interrupts.
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -1569,7 +1569,7 @@ static void dfx_int_type_0_process(DFX_board_t *bp)
/* Check for adapter state change */
if (type_0_status & PI_TYPE_0_STAT_M_STATE_CHANGE)
- {
+ {
/* Get latest adapter state */
state = dfx_hw_adap_state_rd(bp); /* get adapter state */
@@ -1604,18 +1604,18 @@ static void dfx_int_type_0_process(DFX_board_t *bp)
}
}
-
+
/*
* ==================
* = dfx_int_common =
* ==================
- *
+ *
* Overview:
* Interrupt service routine (ISR)
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -1678,7 +1678,7 @@ static void dfx_int_common(struct net_device *dev)
dfx_int_type_0_process(bp); /* process Type 0 interrupts */
}
-
+
/*
* =================
* = dfx_interrupt =
@@ -1780,18 +1780,18 @@ static irqreturn_t dfx_interrupt(int irq, void *dev_id, struct pt_regs *regs)
return IRQ_HANDLED;
}
-
+
/*
* =====================
* = dfx_ctl_get_stats =
* =====================
- *
+ *
* Overview:
* Get statistics for FDDI adapter
- *
+ *
* Returns:
* Pointer to FDDI statistics structure
- *
+ *
* Arguments:
* dev - pointer to device information
*
@@ -1967,19 +1967,19 @@ static struct net_device_stats *dfx_ctl_get_stats(struct net_device *dev)
return((struct net_device_stats *) &bp->stats);
}
-
+
/*
* ==============================
* = dfx_ctl_set_multicast_list =
* ==============================
- *
+ *
* Overview:
* Enable/Disable LLC frame promiscuous mode reception
* on the adapter and/or update multicast address table.
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* dev - pointer to device information
*
@@ -2088,19 +2088,19 @@ static void dfx_ctl_set_multicast_list(struct net_device *dev)
}
}
-
+
/*
* ===========================
* = dfx_ctl_set_mac_address =
* ===========================
- *
+ *
* Overview:
* Add node address override (unicast address) to adapter
* CAM and update dev_addr field in device table.
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* dev - pointer to device information
* addr - pointer to sockaddr structure containing unicast address to add
@@ -2178,7 +2178,7 @@ static int dfx_ctl_set_mac_address(struct net_device *dev, void *addr)
return(0); /* always return zero */
}
-
+
/*
* ======================
* = dfx_ctl_update_cam =
@@ -2263,7 +2263,7 @@ static int dfx_ctl_update_cam(DFX_board_t *bp)
return(DFX_K_SUCCESS);
}
-
+
/*
* ==========================
* = dfx_ctl_update_filters =
@@ -2272,10 +2272,10 @@ static int dfx_ctl_update_cam(DFX_board_t *bp)
* Overview:
* Procedure to update adapter filters with desired
* filter settings.
- *
+ *
* Returns:
* Condition code
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -2329,18 +2329,18 @@ static int dfx_ctl_update_filters(DFX_board_t *bp)
return(DFX_K_SUCCESS);
}
-
+
/*
* ======================
* = dfx_hw_dma_cmd_req =
* ======================
- *
+ *
* Overview:
* Sends PDQ DMA command to adapter firmware
- *
+ *
* Returns:
* Condition code
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -2374,9 +2374,9 @@ static int dfx_hw_dma_cmd_req(DFX_board_t *bp)
{
int status; /* adapter status */
int timeout_cnt; /* used in for loops */
-
+
/* Make sure the adapter is in a state that we can issue the DMA command in */
-
+
status = dfx_hw_adap_state_rd(bp);
if ((status == PI_STATE_K_RESET) ||
(status == PI_STATE_K_HALTED) ||
@@ -2397,7 +2397,7 @@ static int dfx_hw_dma_cmd_req(DFX_board_t *bp)
dfx_port_write_long(bp, PI_PDQ_K_REG_CMD_RSP_PROD, bp->cmd_rsp_reg.lword);
/* Put request buffer on the command request queue */
-
+
bp->descr_block_virt->cmd_req[bp->cmd_req_reg.index.prod].long_0 = (u32) (PI_XMT_DESCR_M_SOP |
PI_XMT_DESCR_M_EOP | (PI_CMD_REQ_K_SIZE_MAX << PI_XMT_DESCR_V_SEG_LEN));
bp->descr_block_virt->cmd_req[bp->cmd_req_reg.index.prod].long_1 = bp->cmd_req_phys;
@@ -2419,7 +2419,7 @@ static int dfx_hw_dma_cmd_req(DFX_board_t *bp)
break;
udelay(100); /* wait for 100 microseconds */
}
- if (timeout_cnt == 0)
+ if (timeout_cnt == 0)
return(DFX_K_HW_TIMEOUT);
/* Bump (and wrap) the completion index and write out to register */
@@ -2439,7 +2439,7 @@ static int dfx_hw_dma_cmd_req(DFX_board_t *bp)
break;
udelay(100); /* wait for 100 microseconds */
}
- if (timeout_cnt == 0)
+ if (timeout_cnt == 0)
return(DFX_K_HW_TIMEOUT);
/* Bump (and wrap) the completion index and write out to register */
@@ -2450,18 +2450,18 @@ static int dfx_hw_dma_cmd_req(DFX_board_t *bp)
return(DFX_K_SUCCESS);
}
-
+
/*
* ========================
* = dfx_hw_port_ctrl_req =
* ========================
- *
+ *
* Overview:
* Sends PDQ port control command to adapter firmware
- *
+ *
* Returns:
* Host data register value in host_data if ptr is not NULL
- *
+ *
* Arguments:
* bp - pointer to board information
* command - port control command
@@ -2497,7 +2497,7 @@ static int dfx_hw_port_ctrl_req(
int timeout_cnt; /* used in for loops */
/* Set Command Error bit in command longword */
-
+
port_cmd = (PI_UINT32) (command | PI_PCTRL_M_CMD_ERROR);
/* Issue port command to the adapter */
@@ -2520,12 +2520,12 @@ static int dfx_hw_port_ctrl_req(
break;
udelay(100); /* wait for 100 microseconds */
}
- if (timeout_cnt == 0)
+ if (timeout_cnt == 0)
return(DFX_K_HW_TIMEOUT);
/*
- * If the address of host_data is non-zero, assume caller has supplied a
- * non NULL pointer, and return the contents of the HOST_DATA register in
+ * If the address of host_data is non-zero, assume caller has supplied a
+ * non NULL pointer, and return the contents of the HOST_DATA register in
* it.
*/
@@ -2534,18 +2534,18 @@ static int dfx_hw_port_ctrl_req(
return(DFX_K_SUCCESS);
}
-
+
/*
* =====================
* = dfx_hw_adap_reset =
* =====================
- *
+ *
* Overview:
* Resets adapter
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
* type - type of reset to perform
@@ -2588,18 +2588,18 @@ static void dfx_hw_adap_reset(
dfx_port_write_long(bp, PI_PDQ_K_REG_PORT_RESET, 0);
}
-
+
/*
* ========================
* = dfx_hw_adap_state_rd =
* ========================
- *
+ *
* Overview:
* Returns current adapter state
- *
+ *
* Returns:
* Adapter state per PDQ Port Specification
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -2624,18 +2624,18 @@ static int dfx_hw_adap_state_rd(DFX_board_t *bp)
return((port_status & PI_PSTATUS_M_STATE) >> PI_PSTATUS_V_STATE);
}
-
+
/*
* =====================
* = dfx_hw_dma_uninit =
* =====================
- *
+ *
* Overview:
* Brings adapter to DMA_UNAVAILABLE state
- *
+ *
* Returns:
* Condition code
- *
+ *
* Arguments:
* bp - pointer to board information
* type - type of reset to perform
@@ -2672,38 +2672,38 @@ static int dfx_hw_dma_uninit(DFX_board_t *bp, PI_UINT32 type)
break;
udelay(100); /* wait for 100 microseconds */
}
- if (timeout_cnt == 0)
+ if (timeout_cnt == 0)
return(DFX_K_HW_TIMEOUT);
return(DFX_K_SUCCESS);
}
-
+
/*
* Align an sk_buff to a boundary power of 2
*
*/
-
+
static void my_skb_align(struct sk_buff *skb, int n)
{
unsigned long x = (unsigned long)skb->data;
unsigned long v;
-
+
v = ALIGN(x, n); /* Where we want to be */
-
+
skb_reserve(skb, v - x);
}
-
+
/*
* ================
* = dfx_rcv_init =
* ================
- *
+ *
* Overview:
* Produces buffers to adapter LLC Host receive descriptor block
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
* get_buffers - non-zero if buffers to be allocated
@@ -2764,7 +2764,7 @@ static int dfx_rcv_init(DFX_board_t *bp, int get_buffers)
* align to 128 bytes for compatibility with
* the old EISA boards.
*/
-
+
my_skb_align(newskb, 128);
bp->descr_block_virt->rcv_data[i + j].long_1 =
(u32)pci_map_single(bp->pci_dev, newskb->data,
@@ -2795,18 +2795,18 @@ static int dfx_rcv_init(DFX_board_t *bp, int get_buffers)
return 0;
}
-
+
/*
* =========================
* = dfx_rcv_queue_process =
* =========================
- *
+ *
* Overview:
* Process received LLC frames.
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -2880,7 +2880,7 @@ static void dfx_rcv_queue_process(
newskb = dev_alloc_skb(NEW_SKB_SIZE);
if (newskb){
rx_in_place = 1;
-
+
my_skb_align(newskb, 128);
skb = (struct sk_buff *)bp->p_rcv_buff_va[entry];
pci_unmap_single(bp->pci_dev,
@@ -2914,7 +2914,7 @@ static void dfx_rcv_queue_process(
memcpy(skb->data, p_buff + RCV_BUFF_K_PADDING, pkt_len+3);
}
-
+
skb_reserve(skb,3); /* adjust data field so that it points to FC byte */
skb_put(skb, pkt_len); /* pass up packet length, NOT including CRC */
skb->dev = bp->dev; /* pass up device pointer */
@@ -2945,18 +2945,18 @@ static void dfx_rcv_queue_process(
}
}
-
+
/*
* =====================
* = dfx_xmt_queue_pkt =
* =====================
- *
+ *
* Overview:
* Queues packets for transmission
- *
+ *
* Returns:
* Condition code
- *
+ *
* Arguments:
* skb - pointer to sk_buff to queue for transmission
* dev - pointer to device information
@@ -3020,7 +3020,7 @@ static int dfx_xmt_queue_pkt(
unsigned long flags;
netif_stop_queue(dev);
-
+
/*
* Verify that incoming transmit request is OK
*
@@ -3032,7 +3032,7 @@ static int dfx_xmt_queue_pkt(
if (!IN_RANGE(skb->len, FDDI_K_LLC_ZLEN, FDDI_K_LLC_LEN))
{
- printk("%s: Invalid packet length - %u bytes\n",
+ printk("%s: Invalid packet length - %u bytes\n",
dev->name, skb->len);
bp->xmt_length_errors++; /* bump error counter */
netif_wake_queue(dev);
@@ -3065,7 +3065,7 @@ static int dfx_xmt_queue_pkt(
}
spin_lock_irqsave(&bp->lock, flags);
-
+
/* Get the current producer and the next free xmt data descriptor */
prod = bp->rcv_xmt_reg.index.xmt_prod;
@@ -3167,18 +3167,18 @@ static int dfx_xmt_queue_pkt(
return(0); /* packet queued to adapter */
}
-
+
/*
* ================
* = dfx_xmt_done =
* ================
- *
+ *
* Overview:
* Processes all frames that have been transmitted.
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -3246,18 +3246,18 @@ static int dfx_xmt_done(DFX_board_t *bp)
return freed;
}
-
+
/*
* =================
* = dfx_rcv_flush =
* =================
- *
+ *
* Overview:
* Remove all skb's in the receive ring.
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -3299,14 +3299,14 @@ static inline void dfx_rcv_flush( DFX_board_t *bp )
* =================
* = dfx_xmt_flush =
* =================
- *
+ *
* Overview:
* Processes all frames whether they've been transmitted
* or not.
- *
+ *
* Returns:
* None
- *
+ *
* Arguments:
* bp - pointer to board information
*
@@ -3446,11 +3446,11 @@ static int __init dfx_init(void)
rc_pci = pci_register_driver(&dfx_driver);
if (rc_pci >= 0) dfx_have_pci = 1;
-
+
rc_eisa = dfx_eisa_init();
if (rc_eisa >= 0) dfx_have_eisa = 1;
- return ((rc_eisa < 0) ? 0 : rc_eisa) + ((rc_pci < 0) ? 0 : rc_pci);
+ return ((rc_eisa < 0) ? 0 : rc_eisa) + ((rc_pci < 0) ? 0 : rc_pci);
}
static void __exit dfx_cleanup(void)
@@ -3459,8 +3459,8 @@ static void __exit dfx_cleanup(void)
pci_unregister_driver(&dfx_driver);
if (dfx_have_eisa)
dfx_eisa_cleanup();
-
-}
+
+}
module_init(dfx_init);
module_exit(dfx_cleanup);
@@ -3469,7 +3469,7 @@ MODULE_DESCRIPTION("DEC FDDIcontroller EISA/PCI (DEFEA/DEFPA) driver "
DRV_VERSION " " DRV_RELDATE);
MODULE_LICENSE("GPL");
-
+
/*
* Local variables:
* kernel-compile-command: "gcc -D__KERNEL__ -I/root/linux/include -Wall -Wstrict-prototypes -O2 -pipe -fomit-frame-pointer -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -c defxx.c"
OpenPOWER on IntegriCloud