Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(587)

Side by Side Diff: chromeos/compat-wireless/drivers/net/wireless/rtl818x/rtl8180_dev.c

Issue 5326002: Update compat-wireless to 2.6.36-5-spn (Closed) Base URL: http://git.chromium.org/git/kernel.git@master
Patch Set: Fixes for !ACK handling, missing local changes, log message fixes Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 1
2 /* 2 /*
3 * Linux device driver for RTL8180 / RTL8185 3 * Linux device driver for RTL8180 / RTL8185
4 * 4 *
5 * Copyright 2007 Michael Wu <flamingice@sourmilk.net> 5 * Copyright 2007 Michael Wu <flamingice@sourmilk.net>
6 * Copyright 2007 Andrea Merello <andreamrl@tiscali.it> 6 * Copyright 2007 Andrea Merello <andreamrl@tiscali.it>
7 * 7 *
8 * Based on the r8180 driver, which is: 8 * Based on the r8180 driver, which is:
9 * Copyright 2004-2005 Andrea Merello <andreamrl@tiscali.it>, et al. 9 * Copyright 2004-2005 Andrea Merello <andreamrl@tiscali.it>, et al.
10 * 10 *
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 { 438 {
439 struct rtl8180_priv *priv = dev->priv; 439 struct rtl8180_priv *priv = dev->priv;
440 struct rtl8180_rx_desc *entry; 440 struct rtl8180_rx_desc *entry;
441 int i; 441 int i;
442 442
443 priv->rx_ring = pci_alloc_consistent(priv->pdev, 443 priv->rx_ring = pci_alloc_consistent(priv->pdev,
444 sizeof(*priv->rx_ring) * 32, 444 sizeof(*priv->rx_ring) * 32,
445 &priv->rx_ring_dma); 445 &priv->rx_ring_dma);
446 446
447 if (!priv->rx_ring || (unsigned long)priv->rx_ring & 0xFF) { 447 if (!priv->rx_ring || (unsigned long)priv->rx_ring & 0xFF) {
448 » » wiphy_err(dev->wiphy, "cannot allocate rx ring\n"); 448 » » wiphy_err(dev->wiphy, "Cannot allocate RX ring\n");
449 return -ENOMEM; 449 return -ENOMEM;
450 } 450 }
451 451
452 memset(priv->rx_ring, 0, sizeof(*priv->rx_ring) * 32); 452 memset(priv->rx_ring, 0, sizeof(*priv->rx_ring) * 32);
453 priv->rx_idx = 0; 453 priv->rx_idx = 0;
454 454
455 for (i = 0; i < 32; i++) { 455 for (i = 0; i < 32; i++) {
456 struct sk_buff *skb = dev_alloc_skb(MAX_RX_SIZE); 456 struct sk_buff *skb = dev_alloc_skb(MAX_RX_SIZE);
457 dma_addr_t *mapping; 457 dma_addr_t *mapping;
458 entry = &priv->rx_ring[i]; 458 entry = &priv->rx_ring[i];
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 static int rtl8180_init_tx_ring(struct ieee80211_hw *dev, 495 static int rtl8180_init_tx_ring(struct ieee80211_hw *dev,
496 unsigned int prio, unsigned int entries) 496 unsigned int prio, unsigned int entries)
497 { 497 {
498 struct rtl8180_priv *priv = dev->priv; 498 struct rtl8180_priv *priv = dev->priv;
499 struct rtl8180_tx_desc *ring; 499 struct rtl8180_tx_desc *ring;
500 dma_addr_t dma; 500 dma_addr_t dma;
501 int i; 501 int i;
502 502
503 ring = pci_alloc_consistent(priv->pdev, sizeof(*ring) * entries, &dma); 503 ring = pci_alloc_consistent(priv->pdev, sizeof(*ring) * entries, &dma);
504 if (!ring || (unsigned long)ring & 0xFF) { 504 if (!ring || (unsigned long)ring & 0xFF) {
505 » » wiphy_err(dev->wiphy, "cannot allocate tx ring (prio = %d)\n", 505 » » wiphy_err(dev->wiphy, "Cannot allocate TX ring (prio = %d)\n",
506 prio); 506 prio);
507 return -ENOMEM; 507 return -ENOMEM;
508 } 508 }
509 509
510 memset(ring, 0, sizeof(*ring)*entries); 510 memset(ring, 0, sizeof(*ring)*entries);
511 priv->tx_ring[prio].desc = ring; 511 priv->tx_ring[prio].desc = ring;
512 priv->tx_ring[prio].dma = dma; 512 priv->tx_ring[prio].dma = dma;
513 priv->tx_ring[prio].idx = 0; 513 priv->tx_ring[prio].idx = 0;
514 priv->tx_ring[prio].entries = entries; 514 priv->tx_ring[prio].entries = entries;
515 skb_queue_head_init(&priv->tx_ring[prio].queue); 515 skb_queue_head_init(&priv->tx_ring[prio].queue);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 561
562 rtl818x_iowrite32(priv, &priv->map->RDSAR, priv->rx_ring_dma); 562 rtl818x_iowrite32(priv, &priv->map->RDSAR, priv->rx_ring_dma);
563 rtl818x_iowrite32(priv, &priv->map->TBDA, priv->tx_ring[3].dma); 563 rtl818x_iowrite32(priv, &priv->map->TBDA, priv->tx_ring[3].dma);
564 rtl818x_iowrite32(priv, &priv->map->THPDA, priv->tx_ring[2].dma); 564 rtl818x_iowrite32(priv, &priv->map->THPDA, priv->tx_ring[2].dma);
565 rtl818x_iowrite32(priv, &priv->map->TNPDA, priv->tx_ring[1].dma); 565 rtl818x_iowrite32(priv, &priv->map->TNPDA, priv->tx_ring[1].dma);
566 rtl818x_iowrite32(priv, &priv->map->TLPDA, priv->tx_ring[0].dma); 566 rtl818x_iowrite32(priv, &priv->map->TLPDA, priv->tx_ring[0].dma);
567 567
568 ret = request_irq(priv->pdev->irq, rtl8180_interrupt, 568 ret = request_irq(priv->pdev->irq, rtl8180_interrupt,
569 IRQF_SHARED, KBUILD_MODNAME, dev); 569 IRQF_SHARED, KBUILD_MODNAME, dev);
570 if (ret) { 570 if (ret) {
571 » » wiphy_err(dev->wiphy, "failed to register irq handler\n"); 571 » » wiphy_err(dev->wiphy, "failed to register IRQ handler\n");
572 goto err_free_rings; 572 goto err_free_rings;
573 } 573 }
574 574
575 rtl818x_iowrite16(priv, &priv->map->INT_MASK, 0xFFFF); 575 rtl818x_iowrite16(priv, &priv->map->INT_MASK, 0xFFFF);
576 576
577 rtl818x_iowrite32(priv, &priv->map->MAR[0], ~0); 577 rtl818x_iowrite32(priv, &priv->map->MAR[0], ~0);
578 rtl818x_iowrite32(priv, &priv->map->MAR[1], ~0); 578 rtl818x_iowrite32(priv, &priv->map->MAR[1], ~0);
579 579
580 reg = RTL818X_RX_CONF_ONLYERLPKT | 580 reg = RTL818X_RX_CONF_ONLYERLPKT |
581 RTL818X_RX_CONF_RX_AUTORESETPHY | 581 RTL818X_RX_CONF_RX_AUTORESETPHY |
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
1185 return pci_register_driver(&rtl8180_driver); 1185 return pci_register_driver(&rtl8180_driver);
1186 } 1186 }
1187 1187
1188 static void __exit rtl8180_exit(void) 1188 static void __exit rtl8180_exit(void)
1189 { 1189 {
1190 pci_unregister_driver(&rtl8180_driver); 1190 pci_unregister_driver(&rtl8180_driver);
1191 } 1191 }
1192 1192
1193 module_init(rtl8180_init); 1193 module_init(rtl8180_init);
1194 module_exit(rtl8180_exit); 1194 module_exit(rtl8180_exit);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698