Staging: et131x: clean up WORD2 usage
A little more complex but again move the structure and typedef into into the documentation Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
b44207ab43
commit
fb70ed6710
@ -516,9 +516,10 @@ static int nic_send_packet(struct et131x_adapter *etdev, PMP_TCB pMpTcb)
|
||||
*/
|
||||
if ((pPacket->len - pPacket->data_len) <= 1514) {
|
||||
CurDesc[FragmentNumber].DataBufferPtrHigh = 0;
|
||||
CurDesc[FragmentNumber].word2.bits.
|
||||
length_in_bytes =
|
||||
pPacket->len - pPacket->data_len;
|
||||
/* Low 16bits are length, high is vlan and
|
||||
unused currently so zero */
|
||||
CurDesc[FragmentNumber].word2 =
|
||||
pPacket->len - pPacket->data_len;
|
||||
|
||||
/* NOTE: Here, the dma_addr_t returned from
|
||||
* pci_map_single() is implicitly cast as a
|
||||
@ -536,9 +537,8 @@ static int nic_send_packet(struct et131x_adapter *etdev, PMP_TCB pMpTcb)
|
||||
PCI_DMA_TODEVICE);
|
||||
} else {
|
||||
CurDesc[FragmentNumber].DataBufferPtrHigh = 0;
|
||||
CurDesc[FragmentNumber].word2.bits.
|
||||
length_in_bytes =
|
||||
((pPacket->len - pPacket->data_len) / 2);
|
||||
CurDesc[FragmentNumber].word2 =
|
||||
(pPacket->len - pPacket->data_len) / 2;
|
||||
|
||||
/* NOTE: Here, the dma_addr_t returned from
|
||||
* pci_map_single() is implicitly cast as a
|
||||
@ -556,9 +556,8 @@ static int nic_send_packet(struct et131x_adapter *etdev, PMP_TCB pMpTcb)
|
||||
PCI_DMA_TODEVICE);
|
||||
CurDesc[FragmentNumber].DataBufferPtrHigh = 0;
|
||||
|
||||
CurDesc[FragmentNumber].word2.bits.
|
||||
length_in_bytes =
|
||||
((pPacket->len - pPacket->data_len) / 2);
|
||||
CurDesc[FragmentNumber].word2 =
|
||||
(pPacket->len - pPacket->data_len) / 2;
|
||||
|
||||
/* NOTE: Here, the dma_addr_t returned from
|
||||
* pci_map_single() is implicitly cast as a
|
||||
@ -579,8 +578,8 @@ static int nic_send_packet(struct et131x_adapter *etdev, PMP_TCB pMpTcb)
|
||||
}
|
||||
} else {
|
||||
CurDesc[FragmentNumber].DataBufferPtrHigh = 0;
|
||||
CurDesc[FragmentNumber].word2.bits.length_in_bytes =
|
||||
pFragList[loopIndex - 1].size;
|
||||
CurDesc[FragmentNumber].word2 =
|
||||
pFragList[loopIndex - 1].size;
|
||||
|
||||
/* NOTE: Here, the dma_addr_t returned from
|
||||
* pci_map_page() is implicitly cast as a uint32_t.
|
||||
@ -724,7 +723,7 @@ inline void et131x_free_send_packet(struct et131x_adapter *etdev,
|
||||
|
||||
pci_unmap_single(etdev->pdev,
|
||||
desc->DataBufferPtrLow,
|
||||
desc->word2.value, PCI_DMA_TODEVICE);
|
||||
desc->word2, PCI_DMA_TODEVICE);
|
||||
|
||||
add_10bit(&pMpTcb->WrIndexStart, 1);
|
||||
if (INDEX10(pMpTcb->WrIndexStart) >=
|
||||
|
@ -63,29 +63,14 @@
|
||||
/* Typedefs for Tx Descriptor Ring */
|
||||
|
||||
/*
|
||||
* TXDESC_WORD2_t structure holds part of the control bits in the Tx Descriptor
|
||||
* ring for the ET-1310
|
||||
*/
|
||||
typedef union _txdesc_word2_t {
|
||||
u32 value;
|
||||
struct {
|
||||
#ifdef _BIT_FIELDS_HTOL
|
||||
u32 vlan_prio:3; /* bits 29-31(VLAN priority) */
|
||||
u32 vlan_cfi:1; /* bit 28(cfi) */
|
||||
u32 vlan_tag:12; /* bits 16-27(VLAN tag) */
|
||||
u32 length_in_bytes:16; /* bits 0-15(packet length) */
|
||||
#else
|
||||
u32 length_in_bytes:16; /* bits 0-15(packet length) */
|
||||
u32 vlan_tag:12; /* bits 16-27(VLAN tag) */
|
||||
u32 vlan_cfi:1; /* bit 28(cfi) */
|
||||
u32 vlan_prio:3; /* bits 29-31(VLAN priority) */
|
||||
#endif /* _BIT_FIELDS_HTOL */
|
||||
} bits;
|
||||
} TXDESC_WORD2_t, *PTXDESC_WORD2_t;
|
||||
|
||||
/*
|
||||
* word 3 of the control bits in the Tx Descriptor ring for the
|
||||
* ET-1310
|
||||
* word 2 of the control bits in the Tx Descriptor ring for the ET-1310
|
||||
*
|
||||
* 0-15: length of packet
|
||||
* 16-27: VLAN tag
|
||||
* 28: VLAN CFI
|
||||
* 29-31: VLAN priority
|
||||
*
|
||||
* word 3 of the control bits in the Tx Descriptor ring for the ET-1310
|
||||
*
|
||||
* 0: last packet in the sequence
|
||||
* 1: first packet in the sequence
|
||||
@ -108,7 +93,7 @@ typedef union _txdesc_word2_t {
|
||||
typedef struct _tx_desc_entry_t {
|
||||
u32 DataBufferPtrHigh;
|
||||
u32 DataBufferPtrLow;
|
||||
TXDESC_WORD2_t word2; /* control words how to xmit the */
|
||||
u32 word2; /* control words how to xmit the */
|
||||
u32 word3; /* data (detailed above) */
|
||||
} TX_DESC_ENTRY_t, *PTX_DESC_ENTRY_t;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user