Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 280979
b: refs/heads/master
c: 834d0ee
h: refs/heads/master
i:
  280977: 5db7da1
  280975: 24cfe6e
v: v3
  • Loading branch information
Francois Romieu authored and Greg Kroah-Hartman committed Nov 27, 2011
1 parent abb06d7 commit dad7c41
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 27 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: eb7a6ca618c2348f5753866e74a287841479cf13
refs/heads/master: 834d0ee317bcc96ab547aaa711545843966da9b6
53 changes: 27 additions & 26 deletions trunk/drivers/staging/et131x/et131x.c
Original file line number Diff line number Diff line change
Expand Up @@ -303,8 +303,8 @@ struct fbr_lookup {
dma_addr_t ring_physaddr;
void *mem_virtaddrs[MAX_DESC_PER_RING_RX / FBR_CHUNKS];
dma_addr_t mem_physaddrs[MAX_DESC_PER_RING_RX / FBR_CHUNKS];
uint64_t real_physaddr;
uint64_t offset;
dma_addr_t real_physaddr;
u32 offset;
u32 local_full;
u32 num_entries;
u32 buffsize;
Expand Down Expand Up @@ -1117,12 +1117,10 @@ static int et1310_in_phy_coma(struct et131x_adapter *adapter)
static void et1310_setup_device_for_multicast(struct et131x_adapter *adapter)
{
struct rxmac_regs __iomem *rxmac = &adapter->regs->rxmac;
uint32_t nIndex;
uint32_t result;
uint32_t hash1 = 0;
uint32_t hash2 = 0;
uint32_t hash3 = 0;
uint32_t hash4 = 0;
u32 hash1 = 0;
u32 hash2 = 0;
u32 hash3 = 0;
u32 hash4 = 0;
u32 pm_csr;

/* If ET131X_PACKET_TYPE_MULTICAST is specified, then we provision
Expand All @@ -1131,10 +1129,13 @@ static void et1310_setup_device_for_multicast(struct et131x_adapter *adapter)
* driver.
*/
if (adapter->packet_filter & ET131X_PACKET_TYPE_MULTICAST) {
int i;

/* Loop through our multicast array and set up the device */
for (nIndex = 0; nIndex < adapter->multicast_addr_count;
nIndex++) {
result = ether_crc(6, adapter->multicast_list[nIndex]);
for (i = 0; i < adapter->multicast_addr_count; i++) {
u32 result;

result = ether_crc(6, adapter->multicast_list[i]);

result = (result & 0x3F800000) >> 23;

Expand Down Expand Up @@ -1925,9 +1926,10 @@ static void et131x_config_rx_dma_regs(struct et131x_adapter *adapter)
/* Set the address and parameters of Free buffer ring 1 (and 0 if
* required) into the 1310's registers
*/
writel((u32) (rx_local->fbr[0]->real_physaddr >> 32),
writel(((u64) rx_local->fbr[0]->real_physaddr) >> 32,
&rx_dma->fbr1_base_hi);
writel((u32) rx_local->fbr[0]->real_physaddr, &rx_dma->fbr1_base_lo);
writel(((u64) rx_local->fbr[0]->real_physaddr) & DMA_BIT_MASK(32),
&rx_dma->fbr1_base_lo);
writel(rx_local->fbr[0]->num_entries - 1, &rx_dma->fbr1_num_des);
writel(ET_DMA10_WRAP, &rx_dma->fbr1_full_offset);

Expand All @@ -1949,9 +1951,10 @@ static void et131x_config_rx_dma_regs(struct et131x_adapter *adapter)
fbr_entry++;
}

writel((u32) (rx_local->fbr[1]->real_physaddr >> 32),
writel(((u64) rx_local->fbr[1]->real_physaddr) >> 32,
&rx_dma->fbr0_base_hi);
writel((u32) rx_local->fbr[1]->real_physaddr, &rx_dma->fbr0_base_lo);
writel(((u64) rx_local->fbr[1]->real_physaddr) & DMA_BIT_MASK(32),
&rx_dma->fbr0_base_lo);
writel(rx_local->fbr[1]->num_entries - 1, &rx_dma->fbr0_num_des);
writel(ET_DMA10_WRAP, &rx_dma->fbr0_full_offset);

Expand Down Expand Up @@ -2298,15 +2301,13 @@ static inline u32 bump_free_buff_ring(u32 *free_buff_ring, u32 limit)
* @mask: correct mask
*/
static void et131x_align_allocated_memory(struct et131x_adapter *adapter,
uint64_t *phys_addr,
uint64_t *offset, uint64_t mask)
dma_addr_t *phys_addr, u32 *offset,
u32 mask)
{
uint64_t new_addr;
dma_addr_t new_addr = *phys_addr & ~mask;

*offset = 0;

new_addr = *phys_addr & ~mask;

if (new_addr != *phys_addr) {
/* Move to next aligned block */
new_addr += mask + 1;
Expand Down Expand Up @@ -2455,8 +2456,8 @@ static int et131x_rx_dma_memory_alloc(struct et131x_adapter *adapter)
rx_ring->fbr[1]->offset);
#endif
for (i = 0; i < (rx_ring->fbr[0]->num_entries / FBR_CHUNKS); i++) {
u64 fbr1_offset;
u64 fbr1_tmp_physaddr;
dma_addr_t fbr1_tmp_physaddr;
u32 fbr1_offset;
u32 fbr1_align;

/* This code allocates an area of memory big enough for N
Expand Down Expand Up @@ -2521,8 +2522,8 @@ static int et131x_rx_dma_memory_alloc(struct et131x_adapter *adapter)
#ifdef USE_FBR0
/* Same for FBR0 (if in use) */
for (i = 0; i < (rx_ring->fbr[1]->num_entries / FBR_CHUNKS); i++) {
u64 fbr0_offset;
u64 fbr0_tmp_physaddr;
dma_addr_t fbr0_tmp_physaddr;
u32 fbr0_offset;

fbr_chunksize =
((FBR_CHUNKS + 1) * rx_ring->fbr[1]->buffsize) - 1;
Expand Down Expand Up @@ -4906,8 +4907,8 @@ static int et131x_ioctl(struct net_device *netdev, struct ifreq *reqbuf,
*/
static int et131x_set_packet_filter(struct et131x_adapter *adapter)
{
int filter = adapter->packet_filter;
int status = 0;
uint32_t filter = adapter->packet_filter;
u32 ctrl;
u32 pf_ctrl;

Expand Down Expand Up @@ -4969,7 +4970,7 @@ static int et131x_set_packet_filter(struct et131x_adapter *adapter)
static void et131x_multicast(struct net_device *netdev)
{
struct et131x_adapter *adapter = netdev_priv(netdev);
uint32_t packet_filter = 0;
int packet_filter;
unsigned long flags;
struct netdev_hw_addr *ha;
int i;
Expand Down

0 comments on commit dad7c41

Please sign in to comment.