diff options
Diffstat (limited to 'drivers/net')
165 files changed, 10711 insertions, 2874 deletions
diff --git a/drivers/net/3c501.c b/drivers/net/3c501.c index 11d170afa9c3..06e33786078d 100644 --- a/drivers/net/3c501.c +++ b/drivers/net/3c501.c | |||
@@ -922,7 +922,7 @@ int __init init_module(void) | |||
922 | * and then free up the resources we took when the card was found. | 922 | * and then free up the resources we took when the card was found. |
923 | */ | 923 | */ |
924 | 924 | ||
925 | void cleanup_module(void) | 925 | void __exit cleanup_module(void) |
926 | { | 926 | { |
927 | struct net_device *dev = dev_3c501; | 927 | struct net_device *dev = dev_3c501; |
928 | unregister_netdev(dev); | 928 | unregister_netdev(dev); |
diff --git a/drivers/net/3c503.c b/drivers/net/3c503.c index a34b2206132d..7e34c4f07b70 100644 --- a/drivers/net/3c503.c +++ b/drivers/net/3c503.c | |||
@@ -726,7 +726,7 @@ static void cleanup_card(struct net_device *dev) | |||
726 | iounmap(ei_status.mem); | 726 | iounmap(ei_status.mem); |
727 | } | 727 | } |
728 | 728 | ||
729 | void | 729 | void __exit |
730 | cleanup_module(void) | 730 | cleanup_module(void) |
731 | { | 731 | { |
732 | int this_dev; | 732 | int this_dev; |
diff --git a/drivers/net/3c505.c b/drivers/net/3c505.c index 458cb9cbe915..702bfb2a5e99 100644 --- a/drivers/net/3c505.c +++ b/drivers/net/3c505.c | |||
@@ -1670,7 +1670,7 @@ int __init init_module(void) | |||
1670 | return 0; | 1670 | return 0; |
1671 | } | 1671 | } |
1672 | 1672 | ||
1673 | void cleanup_module(void) | 1673 | void __exit cleanup_module(void) |
1674 | { | 1674 | { |
1675 | int this_dev; | 1675 | int this_dev; |
1676 | 1676 | ||
diff --git a/drivers/net/3c507.c b/drivers/net/3c507.c index aa43563610ae..54e1d5aebed3 100644 --- a/drivers/net/3c507.c +++ b/drivers/net/3c507.c | |||
@@ -940,7 +940,7 @@ int __init init_module(void) | |||
940 | return IS_ERR(dev_3c507) ? PTR_ERR(dev_3c507) : 0; | 940 | return IS_ERR(dev_3c507) ? PTR_ERR(dev_3c507) : 0; |
941 | } | 941 | } |
942 | 942 | ||
943 | void | 943 | void __exit |
944 | cleanup_module(void) | 944 | cleanup_module(void) |
945 | { | 945 | { |
946 | struct net_device *dev = dev_3c507; | 946 | struct net_device *dev = dev_3c507; |
diff --git a/drivers/net/3c523.c b/drivers/net/3c523.c index 91849469b4f4..17d61eb0a7e5 100644 --- a/drivers/net/3c523.c +++ b/drivers/net/3c523.c | |||
@@ -1302,7 +1302,7 @@ int __init init_module(void) | |||
1302 | } else return 0; | 1302 | } else return 0; |
1303 | } | 1303 | } |
1304 | 1304 | ||
1305 | void cleanup_module(void) | 1305 | void __exit cleanup_module(void) |
1306 | { | 1306 | { |
1307 | int this_dev; | 1307 | int this_dev; |
1308 | for (this_dev=0; this_dev<MAX_3C523_CARDS; this_dev++) { | 1308 | for (this_dev=0; this_dev<MAX_3C523_CARDS; this_dev++) { |
diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c index f4aca5386add..6c7437e60bd2 100644 --- a/drivers/net/3c527.c +++ b/drivers/net/3c527.c | |||
@@ -1659,7 +1659,7 @@ int __init init_module(void) | |||
1659 | * transmit operations are allowed to start scribbling into memory. | 1659 | * transmit operations are allowed to start scribbling into memory. |
1660 | */ | 1660 | */ |
1661 | 1661 | ||
1662 | void cleanup_module(void) | 1662 | void __exit cleanup_module(void) |
1663 | { | 1663 | { |
1664 | unregister_netdev(this_device); | 1664 | unregister_netdev(this_device); |
1665 | cleanup_card(this_device); | 1665 | cleanup_card(this_device); |
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index d02ed51abfcc..931028f672de 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c | |||
@@ -594,7 +594,7 @@ struct rtl8139_private { | |||
594 | u32 rx_config; | 594 | u32 rx_config; |
595 | struct rtl_extra_stats xstats; | 595 | struct rtl_extra_stats xstats; |
596 | 596 | ||
597 | struct work_struct thread; | 597 | struct delayed_work thread; |
598 | 598 | ||
599 | struct mii_if_info mii; | 599 | struct mii_if_info mii; |
600 | unsigned int regs_len; | 600 | unsigned int regs_len; |
@@ -636,8 +636,8 @@ static struct net_device_stats *rtl8139_get_stats (struct net_device *dev); | |||
636 | static void rtl8139_set_rx_mode (struct net_device *dev); | 636 | static void rtl8139_set_rx_mode (struct net_device *dev); |
637 | static void __set_rx_mode (struct net_device *dev); | 637 | static void __set_rx_mode (struct net_device *dev); |
638 | static void rtl8139_hw_start (struct net_device *dev); | 638 | static void rtl8139_hw_start (struct net_device *dev); |
639 | static void rtl8139_thread (void *_data); | 639 | static void rtl8139_thread (struct work_struct *work); |
640 | static void rtl8139_tx_timeout_task(void *_data); | 640 | static void rtl8139_tx_timeout_task(struct work_struct *work); |
641 | static const struct ethtool_ops rtl8139_ethtool_ops; | 641 | static const struct ethtool_ops rtl8139_ethtool_ops; |
642 | 642 | ||
643 | /* write MMIO register, with flush */ | 643 | /* write MMIO register, with flush */ |
@@ -1010,7 +1010,7 @@ static int __devinit rtl8139_init_one (struct pci_dev *pdev, | |||
1010 | (debug < 0 ? RTL8139_DEF_MSG_ENABLE : ((1 << debug) - 1)); | 1010 | (debug < 0 ? RTL8139_DEF_MSG_ENABLE : ((1 << debug) - 1)); |
1011 | spin_lock_init (&tp->lock); | 1011 | spin_lock_init (&tp->lock); |
1012 | spin_lock_init (&tp->rx_lock); | 1012 | spin_lock_init (&tp->rx_lock); |
1013 | INIT_WORK(&tp->thread, rtl8139_thread, dev); | 1013 | INIT_DELAYED_WORK(&tp->thread, rtl8139_thread); |
1014 | tp->mii.dev = dev; | 1014 | tp->mii.dev = dev; |
1015 | tp->mii.mdio_read = mdio_read; | 1015 | tp->mii.mdio_read = mdio_read; |
1016 | tp->mii.mdio_write = mdio_write; | 1016 | tp->mii.mdio_write = mdio_write; |
@@ -1596,15 +1596,16 @@ static inline void rtl8139_thread_iter (struct net_device *dev, | |||
1596 | RTL_R8 (Config1)); | 1596 | RTL_R8 (Config1)); |
1597 | } | 1597 | } |
1598 | 1598 | ||
1599 | static void rtl8139_thread (void *_data) | 1599 | static void rtl8139_thread (struct work_struct *work) |
1600 | { | 1600 | { |
1601 | struct net_device *dev = _data; | 1601 | struct rtl8139_private *tp = |
1602 | struct rtl8139_private *tp = netdev_priv(dev); | 1602 | container_of(work, struct rtl8139_private, thread.work); |
1603 | struct net_device *dev = tp->mii.dev; | ||
1603 | unsigned long thr_delay = next_tick; | 1604 | unsigned long thr_delay = next_tick; |
1604 | 1605 | ||
1605 | if (tp->watchdog_fired) { | 1606 | if (tp->watchdog_fired) { |
1606 | tp->watchdog_fired = 0; | 1607 | tp->watchdog_fired = 0; |
1607 | rtl8139_tx_timeout_task(_data); | 1608 | rtl8139_tx_timeout_task(work); |
1608 | } else if (rtnl_trylock()) { | 1609 | } else if (rtnl_trylock()) { |
1609 | rtl8139_thread_iter (dev, tp, tp->mmio_addr); | 1610 | rtl8139_thread_iter (dev, tp, tp->mmio_addr); |
1610 | rtnl_unlock (); | 1611 | rtnl_unlock (); |
@@ -1646,10 +1647,11 @@ static inline void rtl8139_tx_clear (struct rtl8139_private *tp) | |||
1646 | /* XXX account for unsent Tx packets in tp->stats.tx_dropped */ | 1647 | /* XXX account for unsent Tx packets in tp->stats.tx_dropped */ |
1647 | } | 1648 | } |
1648 | 1649 | ||
1649 | static void rtl8139_tx_timeout_task (void *_data) | 1650 | static void rtl8139_tx_timeout_task (struct work_struct *work) |
1650 | { | 1651 | { |
1651 | struct net_device *dev = _data; | 1652 | struct rtl8139_private *tp = |
1652 | struct rtl8139_private *tp = netdev_priv(dev); | 1653 | container_of(work, struct rtl8139_private, thread.work); |
1654 | struct net_device *dev = tp->mii.dev; | ||
1653 | void __iomem *ioaddr = tp->mmio_addr; | 1655 | void __iomem *ioaddr = tp->mmio_addr; |
1654 | int i; | 1656 | int i; |
1655 | u8 tmp8; | 1657 | u8 tmp8; |
@@ -1695,7 +1697,7 @@ static void rtl8139_tx_timeout (struct net_device *dev) | |||
1695 | struct rtl8139_private *tp = netdev_priv(dev); | 1697 | struct rtl8139_private *tp = netdev_priv(dev); |
1696 | 1698 | ||
1697 | if (!tp->have_thread) { | 1699 | if (!tp->have_thread) { |
1698 | INIT_WORK(&tp->thread, rtl8139_tx_timeout_task, dev); | 1700 | INIT_DELAYED_WORK(&tp->thread, rtl8139_tx_timeout_task); |
1699 | schedule_delayed_work(&tp->thread, next_tick); | 1701 | schedule_delayed_work(&tp->thread, next_tick); |
1700 | } else | 1702 | } else |
1701 | tp->watchdog_fired = 1; | 1703 | tp->watchdog_fired = 1; |
diff --git a/drivers/net/Space.c b/drivers/net/Space.c index a67f5efc983f..602ed31a5dd9 100644 --- a/drivers/net/Space.c +++ b/drivers/net/Space.c | |||
@@ -33,7 +33,6 @@ | |||
33 | #include <linux/errno.h> | 33 | #include <linux/errno.h> |
34 | #include <linux/init.h> | 34 | #include <linux/init.h> |
35 | #include <linux/netlink.h> | 35 | #include <linux/netlink.h> |
36 | #include <linux/divert.h> | ||
37 | 36 | ||
38 | /* A unified ethernet device probe. This is the easiest way to have every | 37 | /* A unified ethernet device probe. This is the easiest way to have every |
39 | ethernet adaptor have the name "eth[0123...]". | 38 | ethernet adaptor have the name "eth[0123...]". |
diff --git a/drivers/net/ac3200.c b/drivers/net/ac3200.c index 0dca8bb9d2c7..c01f87f5bed7 100644 --- a/drivers/net/ac3200.c +++ b/drivers/net/ac3200.c | |||
@@ -405,7 +405,7 @@ static void cleanup_card(struct net_device *dev) | |||
405 | iounmap(ei_status.mem); | 405 | iounmap(ei_status.mem); |
406 | } | 406 | } |
407 | 407 | ||
408 | void | 408 | void __exit |
409 | cleanup_module(void) | 409 | cleanup_module(void) |
410 | { | 410 | { |
411 | int this_dev; | 411 | int this_dev; |
diff --git a/drivers/net/apne.c b/drivers/net/apne.c index 9164d8cd670e..d4e408169073 100644 --- a/drivers/net/apne.c +++ b/drivers/net/apne.c | |||
@@ -568,7 +568,7 @@ static irqreturn_t apne_interrupt(int irq, void *dev_id) | |||
568 | #ifdef MODULE | 568 | #ifdef MODULE |
569 | static struct net_device *apne_dev; | 569 | static struct net_device *apne_dev; |
570 | 570 | ||
571 | int init_module(void) | 571 | int __init init_module(void) |
572 | { | 572 | { |
573 | apne_dev = apne_probe(-1); | 573 | apne_dev = apne_probe(-1); |
574 | if (IS_ERR(apne_dev)) | 574 | if (IS_ERR(apne_dev)) |
@@ -576,7 +576,7 @@ int init_module(void) | |||
576 | return 0; | 576 | return 0; |
577 | } | 577 | } |
578 | 578 | ||
579 | void cleanup_module(void) | 579 | void __exit cleanup_module(void) |
580 | { | 580 | { |
581 | unregister_netdev(apne_dev); | 581 | unregister_netdev(apne_dev); |
582 | 582 | ||
diff --git a/drivers/net/appletalk/cops.c b/drivers/net/appletalk/cops.c index cc1a27ed197f..dba5e5165452 100644 --- a/drivers/net/appletalk/cops.c +++ b/drivers/net/appletalk/cops.c | |||
@@ -1041,7 +1041,7 @@ int __init init_module(void) | |||
1041 | return 0; | 1041 | return 0; |
1042 | } | 1042 | } |
1043 | 1043 | ||
1044 | void cleanup_module(void) | 1044 | void __exit cleanup_module(void) |
1045 | { | 1045 | { |
1046 | unregister_netdev(cops_dev); | 1046 | unregister_netdev(cops_dev); |
1047 | cleanup_card(cops_dev); | 1047 | cleanup_card(cops_dev); |
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c index b54b857e357e..fada15d959de 100644 --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c | |||
@@ -41,9 +41,6 @@ | |||
41 | #define DRV_NAME "at91_ether" | 41 | #define DRV_NAME "at91_ether" |
42 | #define DRV_VERSION "1.0" | 42 | #define DRV_VERSION "1.0" |
43 | 43 | ||
44 | static struct net_device *at91_dev; | ||
45 | |||
46 | static struct timer_list check_timer; | ||
47 | #define LINK_POLL_INTERVAL (HZ) | 44 | #define LINK_POLL_INTERVAL (HZ) |
48 | 45 | ||
49 | /* ..................................................................... */ | 46 | /* ..................................................................... */ |
@@ -146,7 +143,7 @@ static void read_phy(unsigned char phy_addr, unsigned char address, unsigned int | |||
146 | */ | 143 | */ |
147 | static void update_linkspeed(struct net_device *dev, int silent) | 144 | static void update_linkspeed(struct net_device *dev, int silent) |
148 | { | 145 | { |
149 | struct at91_private *lp = (struct at91_private *) dev->priv; | 146 | struct at91_private *lp = netdev_priv(dev); |
150 | unsigned int bmsr, bmcr, lpa, mac_cfg; | 147 | unsigned int bmsr, bmcr, lpa, mac_cfg; |
151 | unsigned int speed, duplex; | 148 | unsigned int speed, duplex; |
152 | 149 | ||
@@ -199,7 +196,7 @@ static void update_linkspeed(struct net_device *dev, int silent) | |||
199 | static irqreturn_t at91ether_phy_interrupt(int irq, void *dev_id) | 196 | static irqreturn_t at91ether_phy_interrupt(int irq, void *dev_id) |
200 | { | 197 | { |
201 | struct net_device *dev = (struct net_device *) dev_id; | 198 | struct net_device *dev = (struct net_device *) dev_id; |
202 | struct at91_private *lp = (struct at91_private *) dev->priv; | 199 | struct at91_private *lp = netdev_priv(dev); |
203 | unsigned int phy; | 200 | unsigned int phy; |
204 | 201 | ||
205 | /* | 202 | /* |
@@ -242,7 +239,7 @@ done: | |||
242 | */ | 239 | */ |
243 | static void enable_phyirq(struct net_device *dev) | 240 | static void enable_phyirq(struct net_device *dev) |
244 | { | 241 | { |
245 | struct at91_private *lp = (struct at91_private *) dev->priv; | 242 | struct at91_private *lp = netdev_priv(dev); |
246 | unsigned int dsintr, irq_number; | 243 | unsigned int dsintr, irq_number; |
247 | int status; | 244 | int status; |
248 | 245 | ||
@@ -252,8 +249,7 @@ static void enable_phyirq(struct net_device *dev) | |||
252 | * PHY doesn't have an IRQ pin (RTL8201, DP83847, AC101L), | 249 | * PHY doesn't have an IRQ pin (RTL8201, DP83847, AC101L), |
253 | * or board does not have it connected. | 250 | * or board does not have it connected. |
254 | */ | 251 | */ |
255 | check_timer.expires = jiffies + LINK_POLL_INTERVAL; | 252 | mod_timer(&lp->check_timer, jiffies + LINK_POLL_INTERVAL); |
256 | add_timer(&check_timer); | ||
257 | return; | 253 | return; |
258 | } | 254 | } |
259 | 255 | ||
@@ -294,13 +290,13 @@ static void enable_phyirq(struct net_device *dev) | |||
294 | */ | 290 | */ |
295 | static void disable_phyirq(struct net_device *dev) | 291 | static void disable_phyirq(struct net_device *dev) |
296 | { | 292 | { |
297 | struct at91_private *lp = (struct at91_private *) dev->priv; | 293 | struct at91_private *lp = netdev_priv(dev); |
298 | unsigned int dsintr; | 294 | unsigned int dsintr; |
299 | unsigned int irq_number; | 295 | unsigned int irq_number; |
300 | 296 | ||
301 | irq_number = lp->board_data.phy_irq_pin; | 297 | irq_number = lp->board_data.phy_irq_pin; |
302 | if (!irq_number) { | 298 | if (!irq_number) { |
303 | del_timer_sync(&check_timer); | 299 | del_timer_sync(&lp->check_timer); |
304 | return; | 300 | return; |
305 | } | 301 | } |
306 | 302 | ||
@@ -340,7 +336,7 @@ static void disable_phyirq(struct net_device *dev) | |||
340 | #if 0 | 336 | #if 0 |
341 | static void reset_phy(struct net_device *dev) | 337 | static void reset_phy(struct net_device *dev) |
342 | { | 338 | { |
343 | struct at91_private *lp = (struct at91_private *) dev->priv; | 339 | struct at91_private *lp = netdev_priv(dev); |
344 | unsigned int bmcr; | 340 | unsigned int bmcr; |
345 | 341 | ||
346 | spin_lock_irq(&lp->lock); | 342 | spin_lock_irq(&lp->lock); |
@@ -362,13 +358,13 @@ static void reset_phy(struct net_device *dev) | |||
362 | static void at91ether_check_link(unsigned long dev_id) | 358 | static void at91ether_check_link(unsigned long dev_id) |
363 | { | 359 | { |
364 | struct net_device *dev = (struct net_device *) dev_id; | 360 | struct net_device *dev = (struct net_device *) dev_id; |
361 | struct at91_private *lp = netdev_priv(dev); | ||
365 | 362 | ||
366 | enable_mdi(); | 363 | enable_mdi(); |
367 | update_linkspeed(dev, 1); | 364 | update_linkspeed(dev, 1); |
368 | disable_mdi(); | 365 | disable_mdi(); |
369 | 366 | ||
370 | check_timer.expires = jiffies + LINK_POLL_INTERVAL; | 367 | mod_timer(&lp->check_timer, jiffies + LINK_POLL_INTERVAL); |
371 | add_timer(&check_timer); | ||
372 | } | 368 | } |
373 | 369 | ||
374 | /* ......................... ADDRESS MANAGEMENT ........................ */ | 370 | /* ......................... ADDRESS MANAGEMENT ........................ */ |
@@ -590,7 +586,7 @@ static void mdio_write(struct net_device *dev, int phy_id, int location, int val | |||
590 | 586 | ||
591 | static int at91ether_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) | 587 | static int at91ether_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) |
592 | { | 588 | { |
593 | struct at91_private *lp = (struct at91_private *) dev->priv; | 589 | struct at91_private *lp = netdev_priv(dev); |
594 | int ret; | 590 | int ret; |
595 | 591 | ||
596 | spin_lock_irq(&lp->lock); | 592 | spin_lock_irq(&lp->lock); |
@@ -611,7 +607,7 @@ static int at91ether_get_settings(struct net_device *dev, struct ethtool_cmd *cm | |||
611 | 607 | ||
612 | static int at91ether_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) | 608 | static int at91ether_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) |
613 | { | 609 | { |
614 | struct at91_private *lp = (struct at91_private *) dev->priv; | 610 | struct at91_private *lp = netdev_priv(dev); |
615 | int ret; | 611 | int ret; |
616 | 612 | ||
617 | spin_lock_irq(&lp->lock); | 613 | spin_lock_irq(&lp->lock); |
@@ -627,7 +623,7 @@ static int at91ether_set_settings(struct net_device *dev, struct ethtool_cmd *cm | |||
627 | 623 | ||
628 | static int at91ether_nwayreset(struct net_device *dev) | 624 | static int at91ether_nwayreset(struct net_device *dev) |
629 | { | 625 | { |
630 | struct at91_private *lp = (struct at91_private *) dev->priv; | 626 | struct at91_private *lp = netdev_priv(dev); |
631 | int ret; | 627 | int ret; |
632 | 628 | ||
633 | spin_lock_irq(&lp->lock); | 629 | spin_lock_irq(&lp->lock); |
@@ -658,7 +654,7 @@ static const struct ethtool_ops at91ether_ethtool_ops = { | |||
658 | 654 | ||
659 | static int at91ether_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | 655 | static int at91ether_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) |
660 | { | 656 | { |
661 | struct at91_private *lp = (struct at91_private *) dev->priv; | 657 | struct at91_private *lp = netdev_priv(dev); |
662 | int res; | 658 | int res; |
663 | 659 | ||
664 | if (!netif_running(dev)) | 660 | if (!netif_running(dev)) |
@@ -680,7 +676,7 @@ static int at91ether_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | |||
680 | */ | 676 | */ |
681 | static void at91ether_start(struct net_device *dev) | 677 | static void at91ether_start(struct net_device *dev) |
682 | { | 678 | { |
683 | struct at91_private *lp = (struct at91_private *) dev->priv; | 679 | struct at91_private *lp = netdev_priv(dev); |
684 | struct recv_desc_bufs *dlist, *dlist_phys; | 680 | struct recv_desc_bufs *dlist, *dlist_phys; |
685 | int i; | 681 | int i; |
686 | unsigned long ctl; | 682 | unsigned long ctl; |
@@ -712,7 +708,7 @@ static void at91ether_start(struct net_device *dev) | |||
712 | */ | 708 | */ |
713 | static int at91ether_open(struct net_device *dev) | 709 | static int at91ether_open(struct net_device *dev) |
714 | { | 710 | { |
715 | struct at91_private *lp = (struct at91_private *) dev->priv; | 711 | struct at91_private *lp = netdev_priv(dev); |
716 | unsigned long ctl; | 712 | unsigned long ctl; |
717 | 713 | ||
718 | if (!is_valid_ether_addr(dev->dev_addr)) | 714 | if (!is_valid_ether_addr(dev->dev_addr)) |
@@ -752,7 +748,7 @@ static int at91ether_open(struct net_device *dev) | |||
752 | */ | 748 | */ |
753 | static int at91ether_close(struct net_device *dev) | 749 | static int at91ether_close(struct net_device *dev) |
754 | { | 750 | { |
755 | struct at91_private *lp = (struct at91_private *) dev->priv; | 751 | struct at91_private *lp = netdev_priv(dev); |
756 | unsigned long ctl; | 752 | unsigned long ctl; |
757 | 753 | ||
758 | /* Disable Receiver and Transmitter */ | 754 | /* Disable Receiver and Transmitter */ |
@@ -779,7 +775,7 @@ static int at91ether_close(struct net_device *dev) | |||
779 | */ | 775 | */ |
780 | static int at91ether_tx(struct sk_buff *skb, struct net_device *dev) | 776 | static int at91ether_tx(struct sk_buff *skb, struct net_device *dev) |
781 | { | 777 | { |
782 | struct at91_private *lp = (struct at91_private *) dev->priv; | 778 | struct at91_private *lp = netdev_priv(dev); |
783 | 779 | ||
784 | if (at91_emac_read(AT91_EMAC_TSR) & AT91_EMAC_TSR_BNQ) { | 780 | if (at91_emac_read(AT91_EMAC_TSR) & AT91_EMAC_TSR_BNQ) { |
785 | netif_stop_queue(dev); | 781 | netif_stop_queue(dev); |
@@ -811,7 +807,7 @@ static int at91ether_tx(struct sk_buff *skb, struct net_device *dev) | |||
811 | */ | 807 | */ |
812 | static struct net_device_stats *at91ether_stats(struct net_device *dev) | 808 | static struct net_device_stats *at91ether_stats(struct net_device *dev) |
813 | { | 809 | { |
814 | struct at91_private *lp = (struct at91_private *) dev->priv; | 810 | struct at91_private *lp = netdev_priv(dev); |
815 | int ale, lenerr, seqe, lcol, ecol; | 811 | int ale, lenerr, seqe, lcol, ecol; |
816 | 812 | ||
817 | if (netif_running(dev)) { | 813 | if (netif_running(dev)) { |
@@ -847,7 +843,7 @@ static struct net_device_stats *at91ether_stats(struct net_device *dev) | |||
847 | */ | 843 | */ |
848 | static void at91ether_rx(struct net_device *dev) | 844 | static void at91ether_rx(struct net_device *dev) |
849 | { | 845 | { |
850 | struct at91_private *lp = (struct at91_private *) dev->priv; | 846 | struct at91_private *lp = netdev_priv(dev); |
851 | struct recv_desc_bufs *dlist; | 847 | struct recv_desc_bufs *dlist; |
852 | unsigned char *p_recv; | 848 | unsigned char *p_recv; |
853 | struct sk_buff *skb; | 849 | struct sk_buff *skb; |
@@ -857,14 +853,13 @@ static void at91ether_rx(struct net_device *dev) | |||
857 | while (dlist->descriptors[lp->rxBuffIndex].addr & EMAC_DESC_DONE) { | 853 | while (dlist->descriptors[lp->rxBuffIndex].addr & EMAC_DESC_DONE) { |
858 | p_recv = dlist->recv_buf[lp->rxBuffIndex]; | 854 | p_recv = dlist->recv_buf[lp->rxBuffIndex]; |
859 | pktlen = dlist->descriptors[lp->rxBuffIndex].size & 0x7ff; /* Length of frame including FCS */ | 855 | pktlen = dlist->descriptors[lp->rxBuffIndex].size & 0x7ff; /* Length of frame including FCS */ |
860 | skb = alloc_skb(pktlen + 2, GFP_ATOMIC); | 856 | skb = dev_alloc_skb(pktlen + 2); |
861 | if (skb != NULL) { | 857 | if (skb != NULL) { |
862 | skb_reserve(skb, 2); | 858 | skb_reserve(skb, 2); |
863 | memcpy(skb_put(skb, pktlen), p_recv, pktlen); | 859 | memcpy(skb_put(skb, pktlen), p_recv, pktlen); |
864 | 860 | ||
865 | skb->dev = dev; | 861 | skb->dev = dev; |
866 | skb->protocol = eth_type_trans(skb, dev); | 862 | skb->protocol = eth_type_trans(skb, dev); |
867 | skb->len = pktlen; | ||
868 | dev->last_rx = jiffies; | 863 | dev->last_rx = jiffies; |
869 | lp->stats.rx_bytes += pktlen; | 864 | lp->stats.rx_bytes += pktlen; |
870 | netif_rx(skb); | 865 | netif_rx(skb); |
@@ -891,7 +886,7 @@ static void at91ether_rx(struct net_device *dev) | |||
891 | static irqreturn_t at91ether_interrupt(int irq, void *dev_id) | 886 | static irqreturn_t at91ether_interrupt(int irq, void *dev_id) |
892 | { | 887 | { |
893 | struct net_device *dev = (struct net_device *) dev_id; | 888 | struct net_device *dev = (struct net_device *) dev_id; |
894 | struct at91_private *lp = (struct at91_private *) dev->priv; | 889 | struct at91_private *lp = netdev_priv(dev); |
895 | unsigned long intstatus, ctl; | 890 | unsigned long intstatus, ctl; |
896 | 891 | ||
897 | /* MAC Interrupt Status register indicates what interrupts are pending. | 892 | /* MAC Interrupt Status register indicates what interrupts are pending. |
@@ -927,6 +922,17 @@ static irqreturn_t at91ether_interrupt(int irq, void *dev_id) | |||
927 | return IRQ_HANDLED; | 922 | return IRQ_HANDLED; |
928 | } | 923 | } |
929 | 924 | ||
925 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
926 | static void at91ether_poll_controller(struct net_device *dev) | ||
927 | { | ||
928 | unsigned long flags; | ||
929 | |||
930 | local_irq_save(flags); | ||
931 | at91ether_interrupt(dev->irq, dev); | ||
932 | local_irq_restore(flags); | ||
933 | } | ||
934 | #endif | ||
935 | |||
930 | /* | 936 | /* |
931 | * Initialize the ethernet interface | 937 | * Initialize the ethernet interface |
932 | */ | 938 | */ |
@@ -939,9 +945,6 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add | |||
939 | unsigned int val; | 945 | unsigned int val; |
940 | int res; | 946 | int res; |
941 | 947 | ||
942 | if (at91_dev) /* already initialized */ | ||
943 | return 0; | ||
944 | |||
945 | dev = alloc_etherdev(sizeof(struct at91_private)); | 948 | dev = alloc_etherdev(sizeof(struct at91_private)); |
946 | if (!dev) | 949 | if (!dev) |
947 | return -ENOMEM; | 950 | return -ENOMEM; |
@@ -957,7 +960,7 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add | |||
957 | } | 960 | } |
958 | 961 | ||
959 | /* Allocate memory for DMA Receive descriptors */ | 962 | /* Allocate memory for DMA Receive descriptors */ |
960 | lp = (struct at91_private *)dev->priv; | 963 | lp = netdev_priv(dev); |
961 | lp->dlist = (struct recv_desc_bufs *) dma_alloc_coherent(NULL, sizeof(struct recv_desc_bufs), (dma_addr_t *) &lp->dlist_phys, GFP_KERNEL); | 964 | lp->dlist = (struct recv_desc_bufs *) dma_alloc_coherent(NULL, sizeof(struct recv_desc_bufs), (dma_addr_t *) &lp->dlist_phys, GFP_KERNEL); |
962 | if (lp->dlist == NULL) { | 965 | if (lp->dlist == NULL) { |
963 | free_irq(dev->irq, dev); | 966 | free_irq(dev->irq, dev); |
@@ -979,6 +982,9 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add | |||
979 | dev->set_mac_address = set_mac_address; | 982 | dev->set_mac_address = set_mac_address; |
980 | dev->ethtool_ops = &at91ether_ethtool_ops; | 983 | dev->ethtool_ops = &at91ether_ethtool_ops; |
981 | dev->do_ioctl = at91ether_ioctl; | 984 | dev->do_ioctl = at91ether_ioctl; |
985 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
986 | dev->poll_controller = at91ether_poll_controller; | ||
987 | #endif | ||
982 | 988 | ||
983 | SET_NETDEV_DEV(dev, &pdev->dev); | 989 | SET_NETDEV_DEV(dev, &pdev->dev); |
984 | 990 | ||
@@ -1024,7 +1030,6 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add | |||
1024 | dma_free_coherent(NULL, sizeof(struct recv_desc_bufs), lp->dlist, (dma_addr_t)lp->dlist_phys); | 1030 | dma_free_coherent(NULL, sizeof(struct recv_desc_bufs), lp->dlist, (dma_addr_t)lp->dlist_phys); |
1025 | return res; | 1031 | return res; |
1026 | } | 1032 | } |
1027 | at91_dev = dev; | ||
1028 | 1033 | ||
1029 | /* Determine current link speed */ | 1034 | /* Determine current link speed */ |
1030 | spin_lock_irq(&lp->lock); | 1035 | spin_lock_irq(&lp->lock); |
@@ -1036,9 +1041,9 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add | |||
1036 | 1041 | ||
1037 | /* If board has no PHY IRQ, use a timer to poll the PHY */ | 1042 | /* If board has no PHY IRQ, use a timer to poll the PHY */ |
1038 | if (!lp->board_data.phy_irq_pin) { | 1043 | if (!lp->board_data.phy_irq_pin) { |
1039 | init_timer(&check_timer); | 1044 | init_timer(&lp->check_timer); |
1040 | check_timer.data = (unsigned long)dev; | 1045 | lp->check_timer.data = (unsigned long)dev; |
1041 | check_timer.function = at91ether_check_link; | 1046 | lp->check_timer.function = at91ether_check_link; |
1042 | } | 1047 | } |
1043 | 1048 | ||
1044 | /* Display ethernet banner */ | 1049 | /* Display ethernet banner */ |
@@ -1115,15 +1120,16 @@ static int __init at91ether_probe(struct platform_device *pdev) | |||
1115 | 1120 | ||
1116 | static int __devexit at91ether_remove(struct platform_device *pdev) | 1121 | static int __devexit at91ether_remove(struct platform_device *pdev) |
1117 | { | 1122 | { |
1118 | struct at91_private *lp = (struct at91_private *) at91_dev->priv; | 1123 | struct net_device *dev = platform_get_drvdata(pdev); |
1124 | struct at91_private *lp = netdev_priv(dev); | ||
1119 | 1125 | ||
1120 | unregister_netdev(at91_dev); | 1126 | unregister_netdev(dev); |
1121 | free_irq(at91_dev->irq, at91_dev); | 1127 | free_irq(dev->irq, dev); |
1122 | dma_free_coherent(NULL, sizeof(struct recv_desc_bufs), lp->dlist, (dma_addr_t)lp->dlist_phys); | 1128 | dma_free_coherent(NULL, sizeof(struct recv_desc_bufs), lp->dlist, (dma_addr_t)lp->dlist_phys); |
1123 | clk_put(lp->ether_clk); | 1129 | clk_put(lp->ether_clk); |
1124 | 1130 | ||
1125 | free_netdev(at91_dev); | 1131 | platform_set_drvdata(pdev, NULL); |
1126 | at91_dev = NULL; | 1132 | free_netdev(dev); |
1127 | return 0; | 1133 | return 0; |
1128 | } | 1134 | } |
1129 | 1135 | ||
@@ -1131,8 +1137,8 @@ static int __devexit at91ether_remove(struct platform_device *pdev) | |||
1131 | 1137 | ||
1132 | static int at91ether_suspend(struct platform_device *pdev, pm_message_t mesg) | 1138 | static int at91ether_suspend(struct platform_device *pdev, pm_message_t mesg) |
1133 | { | 1139 | { |
1134 | struct at91_private *lp = (struct at91_private *) at91_dev->priv; | ||
1135 | struct net_device *net_dev = platform_get_drvdata(pdev); | 1140 | struct net_device *net_dev = platform_get_drvdata(pdev); |
1141 | struct at91_private *lp = netdev_priv(net_dev); | ||
1136 | int phy_irq = lp->board_data.phy_irq_pin; | 1142 | int phy_irq = lp->board_data.phy_irq_pin; |
1137 | 1143 | ||
1138 | if (netif_running(net_dev)) { | 1144 | if (netif_running(net_dev)) { |
@@ -1149,8 +1155,8 @@ static int at91ether_suspend(struct platform_device *pdev, pm_message_t mesg) | |||
1149 | 1155 | ||
1150 | static int at91ether_resume(struct platform_device *pdev) | 1156 | static int at91ether_resume(struct platform_device *pdev) |
1151 | { | 1157 | { |
1152 | struct at91_private *lp = (struct at91_private *) at91_dev->priv; | ||
1153 | struct net_device *net_dev = platform_get_drvdata(pdev); | 1158 | struct net_device *net_dev = platform_get_drvdata(pdev); |
1159 | struct at91_private *lp = netdev_priv(net_dev); | ||
1154 | int phy_irq = lp->board_data.phy_irq_pin; | 1160 | int phy_irq = lp->board_data.phy_irq_pin; |
1155 | 1161 | ||
1156 | if (netif_running(net_dev)) { | 1162 | if (netif_running(net_dev)) { |
diff --git a/drivers/net/arm/at91_ether.h b/drivers/net/arm/at91_ether.h index d1e72e02be3a..b6b665de2ea0 100644 --- a/drivers/net/arm/at91_ether.h +++ b/drivers/net/arm/at91_ether.h | |||
@@ -87,6 +87,7 @@ struct at91_private | |||
87 | spinlock_t lock; /* lock for MDI interface */ | 87 | spinlock_t lock; /* lock for MDI interface */ |
88 | short phy_media; /* media interface type */ | 88 | short phy_media; /* media interface type */ |
89 | unsigned short phy_address; /* 5-bit MDI address of PHY (0..31) */ | 89 | unsigned short phy_address; /* 5-bit MDI address of PHY (0..31) */ |
90 | struct timer_list check_timer; /* Poll link status */ | ||
90 | 91 | ||
91 | /* Transmit */ | 92 | /* Transmit */ |
92 | struct sk_buff *skb; /* holds skb until xmit interrupt completes */ | 93 | struct sk_buff *skb; /* holds skb until xmit interrupt completes */ |
diff --git a/drivers/net/arm/ether1.c b/drivers/net/arm/ether1.c index f3478a30e778..d6da3ce9ad79 100644 --- a/drivers/net/arm/ether1.c +++ b/drivers/net/arm/ether1.c | |||
@@ -254,7 +254,7 @@ ether1_readbuffer (struct net_device *dev, void *data, unsigned int start, unsig | |||
254 | } while (thislen); | 254 | } while (thislen); |
255 | } | 255 | } |
256 | 256 | ||
257 | static int __init | 257 | static int __devinit |
258 | ether1_ramtest(struct net_device *dev, unsigned char byte) | 258 | ether1_ramtest(struct net_device *dev, unsigned char byte) |
259 | { | 259 | { |
260 | unsigned char *buffer = kmalloc (BUFFER_SIZE, GFP_KERNEL); | 260 | unsigned char *buffer = kmalloc (BUFFER_SIZE, GFP_KERNEL); |
@@ -308,7 +308,7 @@ ether1_reset (struct net_device *dev) | |||
308 | return BUS_16; | 308 | return BUS_16; |
309 | } | 309 | } |
310 | 310 | ||
311 | static int __init | 311 | static int __devinit |
312 | ether1_init_2(struct net_device *dev) | 312 | ether1_init_2(struct net_device *dev) |
313 | { | 313 | { |
314 | int i; | 314 | int i; |
@@ -986,7 +986,7 @@ ether1_setmulticastlist (struct net_device *dev) | |||
986 | 986 | ||
987 | /* ------------------------------------------------------------------------- */ | 987 | /* ------------------------------------------------------------------------- */ |
988 | 988 | ||
989 | static void __init ether1_banner(void) | 989 | static void __devinit ether1_banner(void) |
990 | { | 990 | { |
991 | static unsigned int version_printed = 0; | 991 | static unsigned int version_printed = 0; |
992 | 992 | ||
diff --git a/drivers/net/arm/ether3.c b/drivers/net/arm/ether3.c index 84686c8a5bc2..4fc234785d56 100644 --- a/drivers/net/arm/ether3.c +++ b/drivers/net/arm/ether3.c | |||
@@ -198,7 +198,7 @@ static inline void ether3_ledon(struct net_device *dev) | |||
198 | * Read the ethernet address string from the on board rom. | 198 | * Read the ethernet address string from the on board rom. |
199 | * This is an ascii string!!! | 199 | * This is an ascii string!!! |
200 | */ | 200 | */ |
201 | static int __init | 201 | static int __devinit |
202 | ether3_addr(char *addr, struct expansion_card *ec) | 202 | ether3_addr(char *addr, struct expansion_card *ec) |
203 | { | 203 | { |
204 | struct in_chunk_dir cd; | 204 | struct in_chunk_dir cd; |
@@ -223,7 +223,7 @@ ether3_addr(char *addr, struct expansion_card *ec) | |||
223 | 223 | ||
224 | /* --------------------------------------------------------------------------- */ | 224 | /* --------------------------------------------------------------------------- */ |
225 | 225 | ||
226 | static int __init | 226 | static int __devinit |
227 | ether3_ramtest(struct net_device *dev, unsigned char byte) | 227 | ether3_ramtest(struct net_device *dev, unsigned char byte) |
228 | { | 228 | { |
229 | unsigned char *buffer = kmalloc(RX_END, GFP_KERNEL); | 229 | unsigned char *buffer = kmalloc(RX_END, GFP_KERNEL); |
@@ -272,7 +272,7 @@ ether3_ramtest(struct net_device *dev, unsigned char byte) | |||
272 | 272 | ||
273 | /* ------------------------------------------------------------------------------- */ | 273 | /* ------------------------------------------------------------------------------- */ |
274 | 274 | ||
275 | static int __init ether3_init_2(struct net_device *dev) | 275 | static int __devinit ether3_init_2(struct net_device *dev) |
276 | { | 276 | { |
277 | int i; | 277 | int i; |
278 | 278 | ||
@@ -765,7 +765,7 @@ static void ether3_tx(struct net_device *dev) | |||
765 | } | 765 | } |
766 | } | 766 | } |
767 | 767 | ||
768 | static void __init ether3_banner(void) | 768 | static void __devinit ether3_banner(void) |
769 | { | 769 | { |
770 | static unsigned version_printed = 0; | 770 | static unsigned version_printed = 0; |
771 | 771 | ||
diff --git a/drivers/net/at1700.c b/drivers/net/at1700.c index 8620a5b470f5..56ae8babd919 100644 --- a/drivers/net/at1700.c +++ b/drivers/net/at1700.c | |||
@@ -908,7 +908,7 @@ int __init init_module(void) | |||
908 | return 0; | 908 | return 0; |
909 | } | 909 | } |
910 | 910 | ||
911 | void | 911 | void __exit |
912 | cleanup_module(void) | 912 | cleanup_module(void) |
913 | { | 913 | { |
914 | unregister_netdev(dev_at1700); | 914 | unregister_netdev(dev_at1700); |
diff --git a/drivers/net/atarilance.c b/drivers/net/atarilance.c index d79489e46249..7e37ac86a69a 100644 --- a/drivers/net/atarilance.c +++ b/drivers/net/atarilance.c | |||
@@ -1179,7 +1179,7 @@ static int lance_set_mac_address( struct net_device *dev, void *addr ) | |||
1179 | #ifdef MODULE | 1179 | #ifdef MODULE |
1180 | static struct net_device *atarilance_dev; | 1180 | static struct net_device *atarilance_dev; |
1181 | 1181 | ||
1182 | int init_module(void) | 1182 | int __init init_module(void) |
1183 | { | 1183 | { |
1184 | atarilance_dev = atarilance_probe(-1); | 1184 | atarilance_dev = atarilance_probe(-1); |
1185 | if (IS_ERR(atarilance_dev)) | 1185 | if (IS_ERR(atarilance_dev)) |
@@ -1187,7 +1187,7 @@ int init_module(void) | |||
1187 | return 0; | 1187 | return 0; |
1188 | } | 1188 | } |
1189 | 1189 | ||
1190 | void cleanup_module(void) | 1190 | void __exit cleanup_module(void) |
1191 | { | 1191 | { |
1192 | unregister_netdev(atarilance_dev); | 1192 | unregister_netdev(atarilance_dev); |
1193 | free_irq(atarilance_dev->irq, atarilance_dev); | 1193 | free_irq(atarilance_dev->irq, atarilance_dev); |
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 01b76d3aa42f..5bacb7587df4 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -53,11 +53,12 @@ | |||
53 | 53 | ||
54 | #include "bnx2.h" | 54 | #include "bnx2.h" |
55 | #include "bnx2_fw.h" | 55 | #include "bnx2_fw.h" |
56 | #include "bnx2_fw2.h" | ||
56 | 57 | ||
57 | #define DRV_MODULE_NAME "bnx2" | 58 | #define DRV_MODULE_NAME "bnx2" |
58 | #define PFX DRV_MODULE_NAME ": " | 59 | #define PFX DRV_MODULE_NAME ": " |
59 | #define DRV_MODULE_VERSION "1.4.45" | 60 | #define DRV_MODULE_VERSION "1.5.1" |
60 | #define DRV_MODULE_RELDATE "September 29, 2006" | 61 | #define DRV_MODULE_RELDATE "November 15, 2006" |
61 | 62 | ||
62 | #define RUN_AT(x) (jiffies + (x)) | 63 | #define RUN_AT(x) (jiffies + (x)) |
63 | 64 | ||
@@ -85,6 +86,7 @@ typedef enum { | |||
85 | NC370F, | 86 | NC370F, |
86 | BCM5708, | 87 | BCM5708, |
87 | BCM5708S, | 88 | BCM5708S, |
89 | BCM5709, | ||
88 | } board_t; | 90 | } board_t; |
89 | 91 | ||
90 | /* indexed by board_t, above */ | 92 | /* indexed by board_t, above */ |
@@ -98,6 +100,7 @@ static const struct { | |||
98 | { "HP NC370F Multifunction Gigabit Server Adapter" }, | 100 | { "HP NC370F Multifunction Gigabit Server Adapter" }, |
99 | { "Broadcom NetXtreme II BCM5708 1000Base-T" }, | 101 | { "Broadcom NetXtreme II BCM5708 1000Base-T" }, |
100 | { "Broadcom NetXtreme II BCM5708 1000Base-SX" }, | 102 | { "Broadcom NetXtreme II BCM5708 1000Base-SX" }, |
103 | { "Broadcom NetXtreme II BCM5709 1000Base-T" }, | ||
101 | }; | 104 | }; |
102 | 105 | ||
103 | static struct pci_device_id bnx2_pci_tbl[] = { | 106 | static struct pci_device_id bnx2_pci_tbl[] = { |
@@ -115,6 +118,8 @@ static struct pci_device_id bnx2_pci_tbl[] = { | |||
115 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5706S }, | 118 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5706S }, |
116 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5708S, | 119 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5708S, |
117 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5708S }, | 120 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5708S }, |
121 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5709, | ||
122 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5709 }, | ||
118 | { 0, } | 123 | { 0, } |
119 | }; | 124 | }; |
120 | 125 | ||
@@ -236,8 +241,23 @@ static void | |||
236 | bnx2_ctx_wr(struct bnx2 *bp, u32 cid_addr, u32 offset, u32 val) | 241 | bnx2_ctx_wr(struct bnx2 *bp, u32 cid_addr, u32 offset, u32 val) |
237 | { | 242 | { |
238 | offset += cid_addr; | 243 | offset += cid_addr; |
239 | REG_WR(bp, BNX2_CTX_DATA_ADR, offset); | 244 | if (CHIP_NUM(bp) == CHIP_NUM_5709) { |
240 | REG_WR(bp, BNX2_CTX_DATA, val); | 245 | int i; |
246 | |||
247 | REG_WR(bp, BNX2_CTX_CTX_DATA, val); | ||
248 | REG_WR(bp, BNX2_CTX_CTX_CTRL, | ||
249 | offset | BNX2_CTX_CTX_CTRL_WRITE_REQ); | ||
250 | for (i = 0; i < 5; i++) { | ||
251 | u32 val; | ||
252 | val = REG_RD(bp, BNX2_CTX_CTX_CTRL); | ||
253 | if ((val & BNX2_CTX_CTX_CTRL_WRITE_REQ) == 0) | ||
254 | break; | ||
255 | udelay(5); | ||
256 | } | ||
257 | } else { | ||
258 | REG_WR(bp, BNX2_CTX_DATA_ADR, offset); | ||
259 | REG_WR(bp, BNX2_CTX_DATA, val); | ||
260 | } | ||
241 | } | 261 | } |
242 | 262 | ||
243 | static int | 263 | static int |
@@ -403,6 +423,14 @@ bnx2_free_mem(struct bnx2 *bp) | |||
403 | { | 423 | { |
404 | int i; | 424 | int i; |
405 | 425 | ||
426 | for (i = 0; i < bp->ctx_pages; i++) { | ||
427 | if (bp->ctx_blk[i]) { | ||
428 | pci_free_consistent(bp->pdev, BCM_PAGE_SIZE, | ||
429 | bp->ctx_blk[i], | ||
430 | bp->ctx_blk_mapping[i]); | ||
431 | bp->ctx_blk[i] = NULL; | ||
432 | } | ||
433 | } | ||
406 | if (bp->status_blk) { | 434 | if (bp->status_blk) { |
407 | pci_free_consistent(bp->pdev, bp->status_stats_size, | 435 | pci_free_consistent(bp->pdev, bp->status_stats_size, |
408 | bp->status_blk, bp->status_blk_mapping); | 436 | bp->status_blk, bp->status_blk_mapping); |
@@ -481,6 +509,18 @@ bnx2_alloc_mem(struct bnx2 *bp) | |||
481 | 509 | ||
482 | bp->stats_blk_mapping = bp->status_blk_mapping + status_blk_size; | 510 | bp->stats_blk_mapping = bp->status_blk_mapping + status_blk_size; |
483 | 511 | ||
512 | if (CHIP_NUM(bp) == CHIP_NUM_5709) { | ||
513 | bp->ctx_pages = 0x2000 / BCM_PAGE_SIZE; | ||
514 | if (bp->ctx_pages == 0) | ||
515 | bp->ctx_pages = 1; | ||
516 | for (i = 0; i < bp->ctx_pages; i++) { | ||
517 | bp->ctx_blk[i] = pci_alloc_consistent(bp->pdev, | ||
518 | BCM_PAGE_SIZE, | ||
519 | &bp->ctx_blk_mapping[i]); | ||
520 | if (bp->ctx_blk[i] == NULL) | ||
521 | goto alloc_mem_err; | ||
522 | } | ||
523 | } | ||
484 | return 0; | 524 | return 0; |
485 | 525 | ||
486 | alloc_mem_err: | 526 | alloc_mem_err: |
@@ -803,13 +843,13 @@ bnx2_set_mac_link(struct bnx2 *bp) | |||
803 | 843 | ||
804 | val &= ~(BNX2_EMAC_MODE_PORT | BNX2_EMAC_MODE_HALF_DUPLEX | | 844 | val &= ~(BNX2_EMAC_MODE_PORT | BNX2_EMAC_MODE_HALF_DUPLEX | |
805 | BNX2_EMAC_MODE_MAC_LOOP | BNX2_EMAC_MODE_FORCE_LINK | | 845 | BNX2_EMAC_MODE_MAC_LOOP | BNX2_EMAC_MODE_FORCE_LINK | |
806 | BNX2_EMAC_MODE_25G); | 846 | BNX2_EMAC_MODE_25G_MODE); |
807 | 847 | ||
808 | if (bp->link_up) { | 848 | if (bp->link_up) { |
809 | switch (bp->line_speed) { | 849 | switch (bp->line_speed) { |
810 | case SPEED_10: | 850 | case SPEED_10: |
811 | if (CHIP_NUM(bp) == CHIP_NUM_5708) { | 851 | if (CHIP_NUM(bp) != CHIP_NUM_5706) { |
812 | val |= BNX2_EMAC_MODE_PORT_MII_10; | 852 | val |= BNX2_EMAC_MODE_PORT_MII_10M; |
813 | break; | 853 | break; |
814 | } | 854 | } |
815 | /* fall through */ | 855 | /* fall through */ |
@@ -817,7 +857,7 @@ bnx2_set_mac_link(struct bnx2 *bp) | |||
817 | val |= BNX2_EMAC_MODE_PORT_MII; | 857 | val |= BNX2_EMAC_MODE_PORT_MII; |
818 | break; | 858 | break; |
819 | case SPEED_2500: | 859 | case SPEED_2500: |
820 | val |= BNX2_EMAC_MODE_25G; | 860 | val |= BNX2_EMAC_MODE_25G_MODE; |
821 | /* fall through */ | 861 | /* fall through */ |
822 | case SPEED_1000: | 862 | case SPEED_1000: |
823 | val |= BNX2_EMAC_MODE_PORT_GMII; | 863 | val |= BNX2_EMAC_MODE_PORT_GMII; |
@@ -860,7 +900,7 @@ bnx2_set_link(struct bnx2 *bp) | |||
860 | u32 bmsr; | 900 | u32 bmsr; |
861 | u8 link_up; | 901 | u8 link_up; |
862 | 902 | ||
863 | if (bp->loopback == MAC_LOOPBACK) { | 903 | if (bp->loopback == MAC_LOOPBACK || bp->loopback == PHY_LOOPBACK) { |
864 | bp->link_up = 1; | 904 | bp->link_up = 1; |
865 | return 0; | 905 | return 0; |
866 | } | 906 | } |
@@ -902,6 +942,7 @@ bnx2_set_link(struct bnx2 *bp) | |||
902 | u32 bmcr; | 942 | u32 bmcr; |
903 | 943 | ||
904 | bnx2_read_phy(bp, MII_BMCR, &bmcr); | 944 | bnx2_read_phy(bp, MII_BMCR, &bmcr); |
945 | bmcr &= ~BCM5708S_BMCR_FORCE_2500; | ||
905 | if (!(bmcr & BMCR_ANENABLE)) { | 946 | if (!(bmcr & BMCR_ANENABLE)) { |
906 | bnx2_write_phy(bp, MII_BMCR, bmcr | | 947 | bnx2_write_phy(bp, MII_BMCR, bmcr | |
907 | BMCR_ANENABLE); | 948 | BMCR_ANENABLE); |
@@ -988,7 +1029,21 @@ bnx2_setup_serdes_phy(struct bnx2 *bp) | |||
988 | u32 new_bmcr; | 1029 | u32 new_bmcr; |
989 | int force_link_down = 0; | 1030 | int force_link_down = 0; |
990 | 1031 | ||
991 | if (CHIP_NUM(bp) == CHIP_NUM_5708) { | 1032 | bnx2_read_phy(bp, MII_ADVERTISE, &adv); |
1033 | adv &= ~(ADVERTISE_1000XFULL | ADVERTISE_1000XHALF); | ||
1034 | |||
1035 | bnx2_read_phy(bp, MII_BMCR, &bmcr); | ||
1036 | new_bmcr = bmcr & ~(BMCR_ANENABLE | BCM5708S_BMCR_FORCE_2500); | ||
1037 | new_bmcr |= BMCR_SPEED1000; | ||
1038 | if (bp->req_line_speed == SPEED_2500) { | ||
1039 | new_bmcr |= BCM5708S_BMCR_FORCE_2500; | ||
1040 | bnx2_read_phy(bp, BCM5708S_UP1, &up1); | ||
1041 | if (!(up1 & BCM5708S_UP1_2G5)) { | ||
1042 | up1 |= BCM5708S_UP1_2G5; | ||
1043 | bnx2_write_phy(bp, BCM5708S_UP1, up1); | ||
1044 | force_link_down = 1; | ||
1045 | } | ||
1046 | } else if (CHIP_NUM(bp) == CHIP_NUM_5708) { | ||
992 | bnx2_read_phy(bp, BCM5708S_UP1, &up1); | 1047 | bnx2_read_phy(bp, BCM5708S_UP1, &up1); |
993 | if (up1 & BCM5708S_UP1_2G5) { | 1048 | if (up1 & BCM5708S_UP1_2G5) { |
994 | up1 &= ~BCM5708S_UP1_2G5; | 1049 | up1 &= ~BCM5708S_UP1_2G5; |
@@ -997,12 +1052,6 @@ bnx2_setup_serdes_phy(struct bnx2 *bp) | |||
997 | } | 1052 | } |
998 | } | 1053 | } |
999 | 1054 | ||
1000 | bnx2_read_phy(bp, MII_ADVERTISE, &adv); | ||
1001 | adv &= ~(ADVERTISE_1000XFULL | ADVERTISE_1000XHALF); | ||
1002 | |||
1003 | bnx2_read_phy(bp, MII_BMCR, &bmcr); | ||
1004 | new_bmcr = bmcr & ~BMCR_ANENABLE; | ||
1005 | new_bmcr |= BMCR_SPEED1000; | ||
1006 | if (bp->req_duplex == DUPLEX_FULL) { | 1055 | if (bp->req_duplex == DUPLEX_FULL) { |
1007 | adv |= ADVERTISE_1000XFULL; | 1056 | adv |= ADVERTISE_1000XFULL; |
1008 | new_bmcr |= BMCR_FULLDPLX; | 1057 | new_bmcr |= BMCR_FULLDPLX; |
@@ -1023,6 +1072,7 @@ bnx2_setup_serdes_phy(struct bnx2 *bp) | |||
1023 | bp->link_up = 0; | 1072 | bp->link_up = 0; |
1024 | netif_carrier_off(bp->dev); | 1073 | netif_carrier_off(bp->dev); |
1025 | bnx2_write_phy(bp, MII_BMCR, new_bmcr); | 1074 | bnx2_write_phy(bp, MII_BMCR, new_bmcr); |
1075 | bnx2_report_link(bp); | ||
1026 | } | 1076 | } |
1027 | bnx2_write_phy(bp, MII_ADVERTISE, adv); | 1077 | bnx2_write_phy(bp, MII_ADVERTISE, adv); |
1028 | bnx2_write_phy(bp, MII_BMCR, new_bmcr); | 1078 | bnx2_write_phy(bp, MII_BMCR, new_bmcr); |
@@ -1048,30 +1098,26 @@ bnx2_setup_serdes_phy(struct bnx2 *bp) | |||
1048 | if ((adv != new_adv) || ((bmcr & BMCR_ANENABLE) == 0)) { | 1098 | if ((adv != new_adv) || ((bmcr & BMCR_ANENABLE) == 0)) { |
1049 | /* Force a link down visible on the other side */ | 1099 | /* Force a link down visible on the other side */ |
1050 | if (bp->link_up) { | 1100 | if (bp->link_up) { |
1051 | int i; | ||
1052 | |||
1053 | bnx2_write_phy(bp, MII_BMCR, BMCR_LOOPBACK); | 1101 | bnx2_write_phy(bp, MII_BMCR, BMCR_LOOPBACK); |
1054 | for (i = 0; i < 110; i++) { | 1102 | spin_unlock_bh(&bp->phy_lock); |
1055 | udelay(100); | 1103 | msleep(20); |
1056 | } | 1104 | spin_lock_bh(&bp->phy_lock); |
1057 | } | 1105 | } |
1058 | 1106 | ||
1059 | bnx2_write_phy(bp, MII_ADVERTISE, new_adv); | 1107 | bnx2_write_phy(bp, MII_ADVERTISE, new_adv); |
1060 | bnx2_write_phy(bp, MII_BMCR, bmcr | BMCR_ANRESTART | | 1108 | bnx2_write_phy(bp, MII_BMCR, bmcr | BMCR_ANRESTART | |
1061 | BMCR_ANENABLE); | 1109 | BMCR_ANENABLE); |
1062 | if (CHIP_NUM(bp) == CHIP_NUM_5706) { | 1110 | /* Speed up link-up time when the link partner |
1063 | /* Speed up link-up time when the link partner | 1111 | * does not autonegotiate which is very common |
1064 | * does not autonegotiate which is very common | 1112 | * in blade servers. Some blade servers use |
1065 | * in blade servers. Some blade servers use | 1113 | * IPMI for kerboard input and it's important |
1066 | * IPMI for kerboard input and it's important | 1114 | * to minimize link disruptions. Autoneg. involves |
1067 | * to minimize link disruptions. Autoneg. involves | 1115 | * exchanging base pages plus 3 next pages and |
1068 | * exchanging base pages plus 3 next pages and | 1116 | * normally completes in about 120 msec. |
1069 | * normally completes in about 120 msec. | 1117 | */ |
1070 | */ | 1118 | bp->current_interval = SERDES_AN_TIMEOUT; |
1071 | bp->current_interval = SERDES_AN_TIMEOUT; | 1119 | bp->serdes_an_pending = 1; |
1072 | bp->serdes_an_pending = 1; | 1120 | mod_timer(&bp->timer, jiffies + bp->current_interval); |
1073 | mod_timer(&bp->timer, jiffies + bp->current_interval); | ||
1074 | } | ||
1075 | } | 1121 | } |
1076 | 1122 | ||
1077 | return 0; | 1123 | return 0; |
@@ -1153,7 +1199,6 @@ bnx2_setup_copper_phy(struct bnx2 *bp) | |||
1153 | } | 1199 | } |
1154 | if (new_bmcr != bmcr) { | 1200 | if (new_bmcr != bmcr) { |
1155 | u32 bmsr; | 1201 | u32 bmsr; |
1156 | int i = 0; | ||
1157 | 1202 | ||
1158 | bnx2_read_phy(bp, MII_BMSR, &bmsr); | 1203 | bnx2_read_phy(bp, MII_BMSR, &bmsr); |
1159 | bnx2_read_phy(bp, MII_BMSR, &bmsr); | 1204 | bnx2_read_phy(bp, MII_BMSR, &bmsr); |
@@ -1161,12 +1206,12 @@ bnx2_setup_copper_phy(struct bnx2 *bp) | |||
1161 | if (bmsr & BMSR_LSTATUS) { | 1206 | if (bmsr & BMSR_LSTATUS) { |
1162 | /* Force link down */ | 1207 | /* Force link down */ |
1163 | bnx2_write_phy(bp, MII_BMCR, BMCR_LOOPBACK); | 1208 | bnx2_write_phy(bp, MII_BMCR, BMCR_LOOPBACK); |
1164 | do { | 1209 | spin_unlock_bh(&bp->phy_lock); |
1165 | udelay(100); | 1210 | msleep(50); |
1166 | bnx2_read_phy(bp, MII_BMSR, &bmsr); | 1211 | spin_lock_bh(&bp->phy_lock); |
1167 | bnx2_read_phy(bp, MII_BMSR, &bmsr); | 1212 | |
1168 | i++; | 1213 | bnx2_read_phy(bp, MII_BMSR, &bmsr); |
1169 | } while ((bmsr & BMSR_LSTATUS) && (i < 620)); | 1214 | bnx2_read_phy(bp, MII_BMSR, &bmsr); |
1170 | } | 1215 | } |
1171 | 1216 | ||
1172 | bnx2_write_phy(bp, MII_BMCR, new_bmcr); | 1217 | bnx2_write_phy(bp, MII_BMCR, new_bmcr); |
@@ -1258,9 +1303,8 @@ bnx2_init_5706s_phy(struct bnx2 *bp) | |||
1258 | { | 1303 | { |
1259 | bp->phy_flags &= ~PHY_PARALLEL_DETECT_FLAG; | 1304 | bp->phy_flags &= ~PHY_PARALLEL_DETECT_FLAG; |
1260 | 1305 | ||
1261 | if (CHIP_NUM(bp) == CHIP_NUM_5706) { | 1306 | if (CHIP_NUM(bp) == CHIP_NUM_5706) |
1262 | REG_WR(bp, BNX2_MISC_UNUSED0, 0x300); | 1307 | REG_WR(bp, BNX2_MISC_GP_HW_CTL0, 0x300); |
1263 | } | ||
1264 | 1308 | ||
1265 | if (bp->dev->mtu > 1500) { | 1309 | if (bp->dev->mtu > 1500) { |
1266 | u32 val; | 1310 | u32 val; |
@@ -1397,13 +1441,13 @@ bnx2_set_phy_loopback(struct bnx2 *bp) | |||
1397 | for (i = 0; i < 10; i++) { | 1441 | for (i = 0; i < 10; i++) { |
1398 | if (bnx2_test_link(bp) == 0) | 1442 | if (bnx2_test_link(bp) == 0) |
1399 | break; | 1443 | break; |
1400 | udelay(10); | 1444 | msleep(100); |
1401 | } | 1445 | } |
1402 | 1446 | ||
1403 | mac_mode = REG_RD(bp, BNX2_EMAC_MODE); | 1447 | mac_mode = REG_RD(bp, BNX2_EMAC_MODE); |
1404 | mac_mode &= ~(BNX2_EMAC_MODE_PORT | BNX2_EMAC_MODE_HALF_DUPLEX | | 1448 | mac_mode &= ~(BNX2_EMAC_MODE_PORT | BNX2_EMAC_MODE_HALF_DUPLEX | |
1405 | BNX2_EMAC_MODE_MAC_LOOP | BNX2_EMAC_MODE_FORCE_LINK | | 1449 | BNX2_EMAC_MODE_MAC_LOOP | BNX2_EMAC_MODE_FORCE_LINK | |
1406 | BNX2_EMAC_MODE_25G); | 1450 | BNX2_EMAC_MODE_25G_MODE); |
1407 | 1451 | ||
1408 | mac_mode |= BNX2_EMAC_MODE_PORT_GMII; | 1452 | mac_mode |= BNX2_EMAC_MODE_PORT_GMII; |
1409 | REG_WR(bp, BNX2_EMAC_MODE, mac_mode); | 1453 | REG_WR(bp, BNX2_EMAC_MODE, mac_mode); |
@@ -1454,6 +1498,40 @@ bnx2_fw_sync(struct bnx2 *bp, u32 msg_data, int silent) | |||
1454 | return 0; | 1498 | return 0; |
1455 | } | 1499 | } |
1456 | 1500 | ||
1501 | static int | ||
1502 | bnx2_init_5709_context(struct bnx2 *bp) | ||
1503 | { | ||
1504 | int i, ret = 0; | ||
1505 | u32 val; | ||
1506 | |||
1507 | val = BNX2_CTX_COMMAND_ENABLED | BNX2_CTX_COMMAND_MEM_INIT | (1 << 12); | ||
1508 | val |= (BCM_PAGE_BITS - 8) << 16; | ||
1509 | REG_WR(bp, BNX2_CTX_COMMAND, val); | ||
1510 | for (i = 0; i < bp->ctx_pages; i++) { | ||
1511 | int j; | ||
1512 | |||
1513 | REG_WR(bp, BNX2_CTX_HOST_PAGE_TBL_DATA0, | ||
1514 | (bp->ctx_blk_mapping[i] & 0xffffffff) | | ||
1515 | BNX2_CTX_HOST_PAGE_TBL_DATA0_VALID); | ||
1516 | REG_WR(bp, BNX2_CTX_HOST_PAGE_TBL_DATA1, | ||
1517 | (u64) bp->ctx_blk_mapping[i] >> 32); | ||
1518 | REG_WR(bp, BNX2_CTX_HOST_PAGE_TBL_CTRL, i | | ||
1519 | BNX2_CTX_HOST_PAGE_TBL_CTRL_WRITE_REQ); | ||
1520 | for (j = 0; j < 10; j++) { | ||
1521 | |||
1522 | val = REG_RD(bp, BNX2_CTX_HOST_PAGE_TBL_CTRL); | ||
1523 | if (!(val & BNX2_CTX_HOST_PAGE_TBL_CTRL_WRITE_REQ)) | ||
1524 | break; | ||
1525 | udelay(5); | ||
1526 | } | ||
1527 | if (val & BNX2_CTX_HOST_PAGE_TBL_CTRL_WRITE_REQ) { | ||
1528 | ret = -EBUSY; | ||
1529 | break; | ||
1530 | } | ||
1531 | } | ||
1532 | return ret; | ||
1533 | } | ||
1534 | |||
1457 | static void | 1535 | static void |
1458 | bnx2_init_context(struct bnx2 *bp) | 1536 | bnx2_init_context(struct bnx2 *bp) |
1459 | { | 1537 | { |
@@ -1576,9 +1654,8 @@ bnx2_alloc_rx_skb(struct bnx2 *bp, u16 index) | |||
1576 | return -ENOMEM; | 1654 | return -ENOMEM; |
1577 | } | 1655 | } |
1578 | 1656 | ||
1579 | if (unlikely((align = (unsigned long) skb->data & 0x7))) { | 1657 | if (unlikely((align = (unsigned long) skb->data & (BNX2_RX_ALIGN - 1)))) |
1580 | skb_reserve(skb, 8 - align); | 1658 | skb_reserve(skb, BNX2_RX_ALIGN - align); |
1581 | } | ||
1582 | 1659 | ||
1583 | mapping = pci_map_single(bp->pdev, skb->data, bp->rx_buf_use_size, | 1660 | mapping = pci_map_single(bp->pdev, skb->data, bp->rx_buf_use_size, |
1584 | PCI_DMA_FROMDEVICE); | 1661 | PCI_DMA_FROMDEVICE); |
@@ -2040,7 +2117,8 @@ bnx2_set_rx_mode(struct net_device *dev) | |||
2040 | if (dev->flags & IFF_PROMISC) { | 2117 | if (dev->flags & IFF_PROMISC) { |
2041 | /* Promiscuous mode. */ | 2118 | /* Promiscuous mode. */ |
2042 | rx_mode |= BNX2_EMAC_RX_MODE_PROMISCUOUS; | 2119 | rx_mode |= BNX2_EMAC_RX_MODE_PROMISCUOUS; |
2043 | sort_mode |= BNX2_RPM_SORT_USER0_PROM_EN; | 2120 | sort_mode |= BNX2_RPM_SORT_USER0_PROM_EN | |
2121 | BNX2_RPM_SORT_USER0_PROM_VLAN; | ||
2044 | } | 2122 | } |
2045 | else if (dev->flags & IFF_ALLMULTI) { | 2123 | else if (dev->flags & IFF_ALLMULTI) { |
2046 | for (i = 0; i < NUM_MC_HASH_REGISTERS; i++) { | 2124 | for (i = 0; i < NUM_MC_HASH_REGISTERS; i++) { |
@@ -2208,11 +2286,12 @@ load_rv2p_fw(struct bnx2 *bp, u32 *rv2p_code, u32 rv2p_code_len, | |||
2208 | } | 2286 | } |
2209 | } | 2287 | } |
2210 | 2288 | ||
2211 | static void | 2289 | static int |
2212 | load_cpu_fw(struct bnx2 *bp, struct cpu_reg *cpu_reg, struct fw_info *fw) | 2290 | load_cpu_fw(struct bnx2 *bp, struct cpu_reg *cpu_reg, struct fw_info *fw) |
2213 | { | 2291 | { |
2214 | u32 offset; | 2292 | u32 offset; |
2215 | u32 val; | 2293 | u32 val; |
2294 | int rc; | ||
2216 | 2295 | ||
2217 | /* Halt the CPU. */ | 2296 | /* Halt the CPU. */ |
2218 | val = REG_RD_IND(bp, cpu_reg->mode); | 2297 | val = REG_RD_IND(bp, cpu_reg->mode); |
@@ -2222,7 +2301,18 @@ load_cpu_fw(struct bnx2 *bp, struct cpu_reg *cpu_reg, struct fw_info *fw) | |||
2222 | 2301 | ||
2223 | /* Load the Text area. */ | 2302 | /* Load the Text area. */ |
2224 | offset = cpu_reg->spad_base + (fw->text_addr - cpu_reg->mips_view_base); | 2303 | offset = cpu_reg->spad_base + (fw->text_addr - cpu_reg->mips_view_base); |
2225 | if (fw->text) { | 2304 | if (fw->gz_text) { |
2305 | u32 text_len; | ||
2306 | void *text; | ||
2307 | |||
2308 | rc = bnx2_gunzip(bp, fw->gz_text, fw->gz_text_len, &text, | ||
2309 | &text_len); | ||
2310 | if (rc) | ||
2311 | return rc; | ||
2312 | |||
2313 | fw->text = text; | ||
2314 | } | ||
2315 | if (fw->gz_text) { | ||
2226 | int j; | 2316 | int j; |
2227 | 2317 | ||
2228 | for (j = 0; j < (fw->text_len / 4); j++, offset += 4) { | 2318 | for (j = 0; j < (fw->text_len / 4); j++, offset += 4) { |
@@ -2280,13 +2370,15 @@ load_cpu_fw(struct bnx2 *bp, struct cpu_reg *cpu_reg, struct fw_info *fw) | |||
2280 | val &= ~cpu_reg->mode_value_halt; | 2370 | val &= ~cpu_reg->mode_value_halt; |
2281 | REG_WR_IND(bp, cpu_reg->state, cpu_reg->state_value_clear); | 2371 | REG_WR_IND(bp, cpu_reg->state, cpu_reg->state_value_clear); |
2282 | REG_WR_IND(bp, cpu_reg->mode, val); | 2372 | REG_WR_IND(bp, cpu_reg->mode, val); |
2373 | |||
2374 | return 0; | ||
2283 | } | 2375 | } |
2284 | 2376 | ||
2285 | static int | 2377 | static int |
2286 | bnx2_init_cpus(struct bnx2 *bp) | 2378 | bnx2_init_cpus(struct bnx2 *bp) |
2287 | { | 2379 | { |
2288 | struct cpu_reg cpu_reg; | 2380 | struct cpu_reg cpu_reg; |
2289 | struct fw_info fw; | 2381 | struct fw_info *fw; |
2290 | int rc = 0; | 2382 | int rc = 0; |
2291 | void *text; | 2383 | void *text; |
2292 | u32 text_len; | 2384 | u32 text_len; |
@@ -2323,44 +2415,15 @@ bnx2_init_cpus(struct bnx2 *bp) | |||
2323 | cpu_reg.spad_base = BNX2_RXP_SCRATCH; | 2415 | cpu_reg.spad_base = BNX2_RXP_SCRATCH; |
2324 | cpu_reg.mips_view_base = 0x8000000; | 2416 | cpu_reg.mips_view_base = 0x8000000; |
2325 | 2417 | ||
2326 | fw.ver_major = bnx2_RXP_b06FwReleaseMajor; | 2418 | if (CHIP_NUM(bp) == CHIP_NUM_5709) |
2327 | fw.ver_minor = bnx2_RXP_b06FwReleaseMinor; | 2419 | fw = &bnx2_rxp_fw_09; |
2328 | fw.ver_fix = bnx2_RXP_b06FwReleaseFix; | 2420 | else |
2329 | fw.start_addr = bnx2_RXP_b06FwStartAddr; | 2421 | fw = &bnx2_rxp_fw_06; |
2330 | |||
2331 | fw.text_addr = bnx2_RXP_b06FwTextAddr; | ||
2332 | fw.text_len = bnx2_RXP_b06FwTextLen; | ||
2333 | fw.text_index = 0; | ||
2334 | 2422 | ||
2335 | rc = bnx2_gunzip(bp, bnx2_RXP_b06FwText, sizeof(bnx2_RXP_b06FwText), | 2423 | rc = load_cpu_fw(bp, &cpu_reg, fw); |
2336 | &text, &text_len); | ||
2337 | if (rc) | 2424 | if (rc) |
2338 | goto init_cpu_err; | 2425 | goto init_cpu_err; |
2339 | 2426 | ||
2340 | fw.text = text; | ||
2341 | |||
2342 | fw.data_addr = bnx2_RXP_b06FwDataAddr; | ||
2343 | fw.data_len = bnx2_RXP_b06FwDataLen; | ||
2344 | fw.data_index = 0; | ||
2345 | fw.data = bnx2_RXP_b06FwData; | ||
2346 | |||
2347 | fw.sbss_addr = bnx2_RXP_b06FwSbssAddr; | ||
2348 | fw.sbss_len = bnx2_RXP_b06FwSbssLen; | ||
2349 | fw.sbss_index = 0; | ||
2350 | fw.sbss = bnx2_RXP_b06FwSbss; | ||
2351 | |||
2352 | fw.bss_addr = bnx2_RXP_b06FwBssAddr; | ||
2353 | fw.bss_len = bnx2_RXP_b06FwBssLen; | ||
2354 | fw.bss_index = 0; | ||
2355 | fw.bss = bnx2_RXP_b06FwBss; | ||
2356 | |||
2357 | fw.rodata_addr = bnx2_RXP_b06FwRodataAddr; | ||
2358 | fw.rodata_len = bnx2_RXP_b06FwRodataLen; | ||
2359 | fw.rodata_index = 0; | ||
2360 | fw.rodata = bnx2_RXP_b06FwRodata; | ||
2361 | |||
2362 | load_cpu_fw(bp, &cpu_reg, &fw); | ||
2363 | |||
2364 | /* Initialize the TX Processor. */ | 2427 | /* Initialize the TX Processor. */ |
2365 | cpu_reg.mode = BNX2_TXP_CPU_MODE; | 2428 | cpu_reg.mode = BNX2_TXP_CPU_MODE; |
2366 | cpu_reg.mode_value_halt = BNX2_TXP_CPU_MODE_SOFT_HALT; | 2429 | cpu_reg.mode_value_halt = BNX2_TXP_CPU_MODE_SOFT_HALT; |
@@ -2375,44 +2438,15 @@ bnx2_init_cpus(struct bnx2 *bp) | |||
2375 | cpu_reg.spad_base = BNX2_TXP_SCRATCH; | 2438 | cpu_reg.spad_base = BNX2_TXP_SCRATCH; |
2376 | cpu_reg.mips_view_base = 0x8000000; | 2439 | cpu_reg.mips_view_base = 0x8000000; |
2377 | 2440 | ||
2378 | fw.ver_major = bnx2_TXP_b06FwReleaseMajor; | 2441 | if (CHIP_NUM(bp) == CHIP_NUM_5709) |
2379 | fw.ver_minor = bnx2_TXP_b06FwReleaseMinor; | 2442 | fw = &bnx2_txp_fw_09; |
2380 | fw.ver_fix = bnx2_TXP_b06FwReleaseFix; | 2443 | else |
2381 | fw.start_addr = bnx2_TXP_b06FwStartAddr; | 2444 | fw = &bnx2_txp_fw_06; |
2382 | |||
2383 | fw.text_addr = bnx2_TXP_b06FwTextAddr; | ||
2384 | fw.text_len = bnx2_TXP_b06FwTextLen; | ||
2385 | fw.text_index = 0; | ||
2386 | 2445 | ||
2387 | rc = bnx2_gunzip(bp, bnx2_TXP_b06FwText, sizeof(bnx2_TXP_b06FwText), | 2446 | rc = load_cpu_fw(bp, &cpu_reg, fw); |
2388 | &text, &text_len); | ||
2389 | if (rc) | 2447 | if (rc) |
2390 | goto init_cpu_err; | 2448 | goto init_cpu_err; |
2391 | 2449 | ||
2392 | fw.text = text; | ||
2393 | |||
2394 | fw.data_addr = bnx2_TXP_b06FwDataAddr; | ||
2395 | fw.data_len = bnx2_TXP_b06FwDataLen; | ||
2396 | fw.data_index = 0; | ||
2397 | fw.data = bnx2_TXP_b06FwData; | ||
2398 | |||
2399 | fw.sbss_addr = bnx2_TXP_b06FwSbssAddr; | ||
2400 | fw.sbss_len = bnx2_TXP_b06FwSbssLen; | ||
2401 | fw.sbss_index = 0; | ||
2402 | fw.sbss = bnx2_TXP_b06FwSbss; | ||
2403 | |||
2404 | fw.bss_addr = bnx2_TXP_b06FwBssAddr; | ||
2405 | fw.bss_len = bnx2_TXP_b06FwBssLen; | ||
2406 | fw.bss_index = 0; | ||
2407 | fw.bss = bnx2_TXP_b06FwBss; | ||
2408 | |||
2409 | fw.rodata_addr = bnx2_TXP_b06FwRodataAddr; | ||
2410 | fw.rodata_len = bnx2_TXP_b06FwRodataLen; | ||
2411 | fw.rodata_index = 0; | ||
2412 | fw.rodata = bnx2_TXP_b06FwRodata; | ||
2413 | |||
2414 | load_cpu_fw(bp, &cpu_reg, &fw); | ||
2415 | |||
2416 | /* Initialize the TX Patch-up Processor. */ | 2450 | /* Initialize the TX Patch-up Processor. */ |
2417 | cpu_reg.mode = BNX2_TPAT_CPU_MODE; | 2451 | cpu_reg.mode = BNX2_TPAT_CPU_MODE; |
2418 | cpu_reg.mode_value_halt = BNX2_TPAT_CPU_MODE_SOFT_HALT; | 2452 | cpu_reg.mode_value_halt = BNX2_TPAT_CPU_MODE_SOFT_HALT; |
@@ -2427,44 +2461,15 @@ bnx2_init_cpus(struct bnx2 *bp) | |||
2427 | cpu_reg.spad_base = BNX2_TPAT_SCRATCH; | 2461 | cpu_reg.spad_base = BNX2_TPAT_SCRATCH; |
2428 | cpu_reg.mips_view_base = 0x8000000; | 2462 | cpu_reg.mips_view_base = 0x8000000; |
2429 | 2463 | ||
2430 | fw.ver_major = bnx2_TPAT_b06FwReleaseMajor; | 2464 | if (CHIP_NUM(bp) == CHIP_NUM_5709) |
2431 | fw.ver_minor = bnx2_TPAT_b06FwReleaseMinor; | 2465 | fw = &bnx2_tpat_fw_09; |
2432 | fw.ver_fix = bnx2_TPAT_b06FwReleaseFix; | 2466 | else |
2433 | fw.start_addr = bnx2_TPAT_b06FwStartAddr; | 2467 | fw = &bnx2_tpat_fw_06; |
2434 | |||
2435 | fw.text_addr = bnx2_TPAT_b06FwTextAddr; | ||
2436 | fw.text_len = bnx2_TPAT_b06FwTextLen; | ||
2437 | fw.text_index = 0; | ||
2438 | 2468 | ||
2439 | rc = bnx2_gunzip(bp, bnx2_TPAT_b06FwText, sizeof(bnx2_TPAT_b06FwText), | 2469 | rc = load_cpu_fw(bp, &cpu_reg, fw); |
2440 | &text, &text_len); | ||
2441 | if (rc) | 2470 | if (rc) |
2442 | goto init_cpu_err; | 2471 | goto init_cpu_err; |
2443 | 2472 | ||
2444 | fw.text = text; | ||
2445 | |||
2446 | fw.data_addr = bnx2_TPAT_b06FwDataAddr; | ||
2447 | fw.data_len = bnx2_TPAT_b06FwDataLen; | ||
2448 | fw.data_index = 0; | ||
2449 | fw.data = bnx2_TPAT_b06FwData; | ||
2450 | |||
2451 | fw.sbss_addr = bnx2_TPAT_b06FwSbssAddr; | ||
2452 | fw.sbss_len = bnx2_TPAT_b06FwSbssLen; | ||
2453 | fw.sbss_index = 0; | ||
2454 | fw.sbss = bnx2_TPAT_b06FwSbss; | ||
2455 | |||
2456 | fw.bss_addr = bnx2_TPAT_b06FwBssAddr; | ||
2457 | fw.bss_len = bnx2_TPAT_b06FwBssLen; | ||
2458 | fw.bss_index = 0; | ||
2459 | fw.bss = bnx2_TPAT_b06FwBss; | ||
2460 | |||
2461 | fw.rodata_addr = bnx2_TPAT_b06FwRodataAddr; | ||
2462 | fw.rodata_len = bnx2_TPAT_b06FwRodataLen; | ||
2463 | fw.rodata_index = 0; | ||
2464 | fw.rodata = bnx2_TPAT_b06FwRodata; | ||
2465 | |||
2466 | load_cpu_fw(bp, &cpu_reg, &fw); | ||
2467 | |||
2468 | /* Initialize the Completion Processor. */ | 2473 | /* Initialize the Completion Processor. */ |
2469 | cpu_reg.mode = BNX2_COM_CPU_MODE; | 2474 | cpu_reg.mode = BNX2_COM_CPU_MODE; |
2470 | cpu_reg.mode_value_halt = BNX2_COM_CPU_MODE_SOFT_HALT; | 2475 | cpu_reg.mode_value_halt = BNX2_COM_CPU_MODE_SOFT_HALT; |
@@ -2479,44 +2484,36 @@ bnx2_init_cpus(struct bnx2 *bp) | |||
2479 | cpu_reg.spad_base = BNX2_COM_SCRATCH; | 2484 | cpu_reg.spad_base = BNX2_COM_SCRATCH; |
2480 | cpu_reg.mips_view_base = 0x8000000; | 2485 | cpu_reg.mips_view_base = 0x8000000; |
2481 | 2486 | ||
2482 | fw.ver_major = bnx2_COM_b06FwReleaseMajor; | 2487 | if (CHIP_NUM(bp) == CHIP_NUM_5709) |
2483 | fw.ver_minor = bnx2_COM_b06FwReleaseMinor; | 2488 | fw = &bnx2_com_fw_09; |
2484 | fw.ver_fix = bnx2_COM_b06FwReleaseFix; | 2489 | else |
2485 | fw.start_addr = bnx2_COM_b06FwStartAddr; | 2490 | fw = &bnx2_com_fw_06; |
2486 | |||
2487 | fw.text_addr = bnx2_COM_b06FwTextAddr; | ||
2488 | fw.text_len = bnx2_COM_b06FwTextLen; | ||
2489 | fw.text_index = 0; | ||
2490 | 2491 | ||
2491 | rc = bnx2_gunzip(bp, bnx2_COM_b06FwText, sizeof(bnx2_COM_b06FwText), | 2492 | rc = load_cpu_fw(bp, &cpu_reg, fw); |
2492 | &text, &text_len); | ||
2493 | if (rc) | 2493 | if (rc) |
2494 | goto init_cpu_err; | 2494 | goto init_cpu_err; |
2495 | 2495 | ||
2496 | fw.text = text; | 2496 | /* Initialize the Command Processor. */ |
2497 | 2497 | cpu_reg.mode = BNX2_CP_CPU_MODE; | |
2498 | fw.data_addr = bnx2_COM_b06FwDataAddr; | 2498 | cpu_reg.mode_value_halt = BNX2_CP_CPU_MODE_SOFT_HALT; |
2499 | fw.data_len = bnx2_COM_b06FwDataLen; | 2499 | cpu_reg.mode_value_sstep = BNX2_CP_CPU_MODE_STEP_ENA; |
2500 | fw.data_index = 0; | 2500 | cpu_reg.state = BNX2_CP_CPU_STATE; |
2501 | fw.data = bnx2_COM_b06FwData; | 2501 | cpu_reg.state_value_clear = 0xffffff; |
2502 | 2502 | cpu_reg.gpr0 = BNX2_CP_CPU_REG_FILE; | |
2503 | fw.sbss_addr = bnx2_COM_b06FwSbssAddr; | 2503 | cpu_reg.evmask = BNX2_CP_CPU_EVENT_MASK; |
2504 | fw.sbss_len = bnx2_COM_b06FwSbssLen; | 2504 | cpu_reg.pc = BNX2_CP_CPU_PROGRAM_COUNTER; |
2505 | fw.sbss_index = 0; | 2505 | cpu_reg.inst = BNX2_CP_CPU_INSTRUCTION; |
2506 | fw.sbss = bnx2_COM_b06FwSbss; | 2506 | cpu_reg.bp = BNX2_CP_CPU_HW_BREAKPOINT; |
2507 | 2507 | cpu_reg.spad_base = BNX2_CP_SCRATCH; | |
2508 | fw.bss_addr = bnx2_COM_b06FwBssAddr; | 2508 | cpu_reg.mips_view_base = 0x8000000; |
2509 | fw.bss_len = bnx2_COM_b06FwBssLen; | ||
2510 | fw.bss_index = 0; | ||
2511 | fw.bss = bnx2_COM_b06FwBss; | ||
2512 | |||
2513 | fw.rodata_addr = bnx2_COM_b06FwRodataAddr; | ||
2514 | fw.rodata_len = bnx2_COM_b06FwRodataLen; | ||
2515 | fw.rodata_index = 0; | ||
2516 | fw.rodata = bnx2_COM_b06FwRodata; | ||
2517 | 2509 | ||
2518 | load_cpu_fw(bp, &cpu_reg, &fw); | 2510 | if (CHIP_NUM(bp) == CHIP_NUM_5709) { |
2511 | fw = &bnx2_cp_fw_09; | ||
2519 | 2512 | ||
2513 | load_cpu_fw(bp, &cpu_reg, fw); | ||
2514 | if (rc) | ||
2515 | goto init_cpu_err; | ||
2516 | } | ||
2520 | init_cpu_err: | 2517 | init_cpu_err: |
2521 | bnx2_gunzip_end(bp); | 2518 | bnx2_gunzip_end(bp); |
2522 | return rc; | 2519 | return rc; |
@@ -3288,31 +3285,44 @@ bnx2_reset_chip(struct bnx2 *bp, u32 reset_code) | |||
3288 | * before we issue a reset. */ | 3285 | * before we issue a reset. */ |
3289 | val = REG_RD(bp, BNX2_MISC_ID); | 3286 | val = REG_RD(bp, BNX2_MISC_ID); |
3290 | 3287 | ||
3291 | val = BNX2_PCICFG_MISC_CONFIG_CORE_RST_REQ | | 3288 | if (CHIP_NUM(bp) == CHIP_NUM_5709) { |
3292 | BNX2_PCICFG_MISC_CONFIG_REG_WINDOW_ENA | | 3289 | REG_WR(bp, BNX2_MISC_COMMAND, BNX2_MISC_COMMAND_SW_RESET); |
3293 | BNX2_PCICFG_MISC_CONFIG_TARGET_MB_WORD_SWAP; | 3290 | REG_RD(bp, BNX2_MISC_COMMAND); |
3291 | udelay(5); | ||
3294 | 3292 | ||
3295 | /* Chip reset. */ | 3293 | val = BNX2_PCICFG_MISC_CONFIG_REG_WINDOW_ENA | |
3296 | REG_WR(bp, BNX2_PCICFG_MISC_CONFIG, val); | 3294 | BNX2_PCICFG_MISC_CONFIG_TARGET_MB_WORD_SWAP; |
3297 | 3295 | ||
3298 | if ((CHIP_ID(bp) == CHIP_ID_5706_A0) || | 3296 | pci_write_config_dword(bp->pdev, BNX2_PCICFG_MISC_CONFIG, val); |
3299 | (CHIP_ID(bp) == CHIP_ID_5706_A1)) | ||
3300 | msleep(15); | ||
3301 | 3297 | ||
3302 | /* Reset takes approximate 30 usec */ | 3298 | } else { |
3303 | for (i = 0; i < 10; i++) { | 3299 | val = BNX2_PCICFG_MISC_CONFIG_CORE_RST_REQ | |
3304 | val = REG_RD(bp, BNX2_PCICFG_MISC_CONFIG); | 3300 | BNX2_PCICFG_MISC_CONFIG_REG_WINDOW_ENA | |
3305 | if ((val & (BNX2_PCICFG_MISC_CONFIG_CORE_RST_REQ | | 3301 | BNX2_PCICFG_MISC_CONFIG_TARGET_MB_WORD_SWAP; |
3306 | BNX2_PCICFG_MISC_CONFIG_CORE_RST_BSY)) == 0) { | 3302 | |
3307 | break; | 3303 | /* Chip reset. */ |
3304 | REG_WR(bp, BNX2_PCICFG_MISC_CONFIG, val); | ||
3305 | |||
3306 | if ((CHIP_ID(bp) == CHIP_ID_5706_A0) || | ||
3307 | (CHIP_ID(bp) == CHIP_ID_5706_A1)) { | ||
3308 | current->state = TASK_UNINTERRUPTIBLE; | ||
3309 | schedule_timeout(HZ / 50); | ||
3308 | } | 3310 | } |
3309 | udelay(10); | ||
3310 | } | ||
3311 | 3311 | ||
3312 | if (val & (BNX2_PCICFG_MISC_CONFIG_CORE_RST_REQ | | 3312 | /* Reset takes approximate 30 usec */ |
3313 | BNX2_PCICFG_MISC_CONFIG_CORE_RST_BSY)) { | 3313 | for (i = 0; i < 10; i++) { |
3314 | printk(KERN_ERR PFX "Chip reset did not complete\n"); | 3314 | val = REG_RD(bp, BNX2_PCICFG_MISC_CONFIG); |
3315 | return -EBUSY; | 3315 | if ((val & (BNX2_PCICFG_MISC_CONFIG_CORE_RST_REQ | |
3316 | BNX2_PCICFG_MISC_CONFIG_CORE_RST_BSY)) == 0) | ||
3317 | break; | ||
3318 | udelay(10); | ||
3319 | } | ||
3320 | |||
3321 | if (val & (BNX2_PCICFG_MISC_CONFIG_CORE_RST_REQ | | ||
3322 | BNX2_PCICFG_MISC_CONFIG_CORE_RST_BSY)) { | ||
3323 | printk(KERN_ERR PFX "Chip reset did not complete\n"); | ||
3324 | return -EBUSY; | ||
3325 | } | ||
3316 | } | 3326 | } |
3317 | 3327 | ||
3318 | /* Make sure byte swapping is properly configured. */ | 3328 | /* Make sure byte swapping is properly configured. */ |
@@ -3390,7 +3400,10 @@ bnx2_init_chip(struct bnx2 *bp) | |||
3390 | 3400 | ||
3391 | /* Initialize context mapping and zero out the quick contexts. The | 3401 | /* Initialize context mapping and zero out the quick contexts. The |
3392 | * context block must have already been enabled. */ | 3402 | * context block must have already been enabled. */ |
3393 | bnx2_init_context(bp); | 3403 | if (CHIP_NUM(bp) == CHIP_NUM_5709) |
3404 | bnx2_init_5709_context(bp); | ||
3405 | else | ||
3406 | bnx2_init_context(bp); | ||
3394 | 3407 | ||
3395 | if ((rc = bnx2_init_cpus(bp)) != 0) | 3408 | if ((rc = bnx2_init_cpus(bp)) != 0) |
3396 | return rc; | 3409 | return rc; |
@@ -3501,12 +3514,40 @@ bnx2_init_chip(struct bnx2 *bp) | |||
3501 | return rc; | 3514 | return rc; |
3502 | } | 3515 | } |
3503 | 3516 | ||
3517 | static void | ||
3518 | bnx2_init_tx_context(struct bnx2 *bp, u32 cid) | ||
3519 | { | ||
3520 | u32 val, offset0, offset1, offset2, offset3; | ||
3521 | |||
3522 | if (CHIP_NUM(bp) == CHIP_NUM_5709) { | ||
3523 | offset0 = BNX2_L2CTX_TYPE_XI; | ||
3524 | offset1 = BNX2_L2CTX_CMD_TYPE_XI; | ||
3525 | offset2 = BNX2_L2CTX_TBDR_BHADDR_HI_XI; | ||
3526 | offset3 = BNX2_L2CTX_TBDR_BHADDR_LO_XI; | ||
3527 | } else { | ||
3528 | offset0 = BNX2_L2CTX_TYPE; | ||
3529 | offset1 = BNX2_L2CTX_CMD_TYPE; | ||
3530 | offset2 = BNX2_L2CTX_TBDR_BHADDR_HI; | ||
3531 | offset3 = BNX2_L2CTX_TBDR_BHADDR_LO; | ||
3532 | } | ||
3533 | val = BNX2_L2CTX_TYPE_TYPE_L2 | BNX2_L2CTX_TYPE_SIZE_L2; | ||
3534 | CTX_WR(bp, GET_CID_ADDR(cid), offset0, val); | ||
3535 | |||
3536 | val = BNX2_L2CTX_CMD_TYPE_TYPE_L2 | (8 << 16); | ||
3537 | CTX_WR(bp, GET_CID_ADDR(cid), offset1, val); | ||
3538 | |||
3539 | val = (u64) bp->tx_desc_mapping >> 32; | ||
3540 | CTX_WR(bp, GET_CID_ADDR(cid), offset2, val); | ||
3541 | |||
3542 | val = (u64) bp->tx_desc_mapping & 0xffffffff; | ||
3543 | CTX_WR(bp, GET_CID_ADDR(cid), offset3, val); | ||
3544 | } | ||
3504 | 3545 | ||
3505 | static void | 3546 | static void |
3506 | bnx2_init_tx_ring(struct bnx2 *bp) | 3547 | bnx2_init_tx_ring(struct bnx2 *bp) |
3507 | { | 3548 | { |
3508 | struct tx_bd *txbd; | 3549 | struct tx_bd *txbd; |
3509 | u32 val; | 3550 | u32 cid; |
3510 | 3551 | ||
3511 | bp->tx_wake_thresh = bp->tx_ring_size / 2; | 3552 | bp->tx_wake_thresh = bp->tx_ring_size / 2; |
3512 | 3553 | ||
@@ -3520,19 +3561,11 @@ bnx2_init_tx_ring(struct bnx2 *bp) | |||
3520 | bp->hw_tx_cons = 0; | 3561 | bp->hw_tx_cons = 0; |
3521 | bp->tx_prod_bseq = 0; | 3562 | bp->tx_prod_bseq = 0; |
3522 | 3563 | ||
3523 | val = BNX2_L2CTX_TYPE_TYPE_L2; | 3564 | cid = TX_CID; |
3524 | val |= BNX2_L2CTX_TYPE_SIZE_L2; | 3565 | bp->tx_bidx_addr = MB_GET_CID_ADDR(cid) + BNX2_L2CTX_TX_HOST_BIDX; |
3525 | CTX_WR(bp, GET_CID_ADDR(TX_CID), BNX2_L2CTX_TYPE, val); | 3566 | bp->tx_bseq_addr = MB_GET_CID_ADDR(cid) + BNX2_L2CTX_TX_HOST_BSEQ; |
3526 | 3567 | ||
3527 | val = BNX2_L2CTX_CMD_TYPE_TYPE_L2; | 3568 | bnx2_init_tx_context(bp, cid); |
3528 | val |= 8 << 16; | ||
3529 | CTX_WR(bp, GET_CID_ADDR(TX_CID), BNX2_L2CTX_CMD_TYPE, val); | ||
3530 | |||
3531 | val = (u64) bp->tx_desc_mapping >> 32; | ||
3532 | CTX_WR(bp, GET_CID_ADDR(TX_CID), BNX2_L2CTX_TBDR_BHADDR_HI, val); | ||
3533 | |||
3534 | val = (u64) bp->tx_desc_mapping & 0xffffffff; | ||
3535 | CTX_WR(bp, GET_CID_ADDR(TX_CID), BNX2_L2CTX_TBDR_BHADDR_LO, val); | ||
3536 | } | 3569 | } |
3537 | 3570 | ||
3538 | static void | 3571 | static void |
@@ -3545,8 +3578,8 @@ bnx2_init_rx_ring(struct bnx2 *bp) | |||
3545 | 3578 | ||
3546 | /* 8 for CRC and VLAN */ | 3579 | /* 8 for CRC and VLAN */ |
3547 | bp->rx_buf_use_size = bp->dev->mtu + ETH_HLEN + bp->rx_offset + 8; | 3580 | bp->rx_buf_use_size = bp->dev->mtu + ETH_HLEN + bp->rx_offset + 8; |
3548 | /* 8 for alignment */ | 3581 | /* hw alignment */ |
3549 | bp->rx_buf_size = bp->rx_buf_use_size + 8; | 3582 | bp->rx_buf_size = bp->rx_buf_use_size + BNX2_RX_ALIGN; |
3550 | 3583 | ||
3551 | ring_prod = prod = bp->rx_prod = 0; | 3584 | ring_prod = prod = bp->rx_prod = 0; |
3552 | bp->rx_cons = 0; | 3585 | bp->rx_cons = 0; |
@@ -3712,7 +3745,9 @@ bnx2_init_nic(struct bnx2 *bp) | |||
3712 | if ((rc = bnx2_reset_nic(bp, BNX2_DRV_MSG_CODE_RESET)) != 0) | 3745 | if ((rc = bnx2_reset_nic(bp, BNX2_DRV_MSG_CODE_RESET)) != 0) |
3713 | return rc; | 3746 | return rc; |
3714 | 3747 | ||
3748 | spin_lock_bh(&bp->phy_lock); | ||
3715 | bnx2_init_phy(bp); | 3749 | bnx2_init_phy(bp); |
3750 | spin_unlock_bh(&bp->phy_lock); | ||
3716 | bnx2_set_link(bp); | 3751 | bnx2_set_link(bp); |
3717 | return 0; | 3752 | return 0; |
3718 | } | 3753 | } |
@@ -3952,7 +3987,7 @@ bnx2_run_loopback(struct bnx2 *bp, int loopback_mode) | |||
3952 | bnx2_set_mac_loopback(bp); | 3987 | bnx2_set_mac_loopback(bp); |
3953 | } | 3988 | } |
3954 | else if (loopback_mode == BNX2_PHY_LOOPBACK) { | 3989 | else if (loopback_mode == BNX2_PHY_LOOPBACK) { |
3955 | bp->loopback = 0; | 3990 | bp->loopback = PHY_LOOPBACK; |
3956 | bnx2_set_phy_loopback(bp); | 3991 | bnx2_set_phy_loopback(bp); |
3957 | } | 3992 | } |
3958 | else | 3993 | else |
@@ -3992,8 +4027,8 @@ bnx2_run_loopback(struct bnx2 *bp, int loopback_mode) | |||
3992 | bp->tx_prod = NEXT_TX_BD(bp->tx_prod); | 4027 | bp->tx_prod = NEXT_TX_BD(bp->tx_prod); |
3993 | bp->tx_prod_bseq += pkt_size; | 4028 | bp->tx_prod_bseq += pkt_size; |
3994 | 4029 | ||
3995 | REG_WR16(bp, MB_TX_CID_ADDR + BNX2_L2CTX_TX_HOST_BIDX, bp->tx_prod); | 4030 | REG_WR16(bp, bp->tx_bidx_addr, bp->tx_prod); |
3996 | REG_WR(bp, MB_TX_CID_ADDR + BNX2_L2CTX_TX_HOST_BSEQ, bp->tx_prod_bseq); | 4031 | REG_WR(bp, bp->tx_bseq_addr, bp->tx_prod_bseq); |
3997 | 4032 | ||
3998 | udelay(100); | 4033 | udelay(100); |
3999 | 4034 | ||
@@ -4162,80 +4197,117 @@ bnx2_test_intr(struct bnx2 *bp) | |||
4162 | } | 4197 | } |
4163 | 4198 | ||
4164 | static void | 4199 | static void |
4165 | bnx2_timer(unsigned long data) | 4200 | bnx2_5706_serdes_timer(struct bnx2 *bp) |
4166 | { | 4201 | { |
4167 | struct bnx2 *bp = (struct bnx2 *) data; | 4202 | spin_lock(&bp->phy_lock); |
4168 | u32 msg; | 4203 | if (bp->serdes_an_pending) |
4204 | bp->serdes_an_pending--; | ||
4205 | else if ((bp->link_up == 0) && (bp->autoneg & AUTONEG_SPEED)) { | ||
4206 | u32 bmcr; | ||
4169 | 4207 | ||
4170 | if (!netif_running(bp->dev)) | 4208 | bp->current_interval = bp->timer_interval; |
4171 | return; | ||
4172 | 4209 | ||
4173 | if (atomic_read(&bp->intr_sem) != 0) | 4210 | bnx2_read_phy(bp, MII_BMCR, &bmcr); |
4174 | goto bnx2_restart_timer; | ||
4175 | 4211 | ||
4176 | msg = (u32) ++bp->fw_drv_pulse_wr_seq; | 4212 | if (bmcr & BMCR_ANENABLE) { |
4177 | REG_WR_IND(bp, bp->shmem_base + BNX2_DRV_PULSE_MB, msg); | 4213 | u32 phy1, phy2; |
4178 | 4214 | ||
4179 | bp->stats_blk->stat_FwRxDrop = REG_RD_IND(bp, BNX2_FW_RX_DROP_COUNT); | 4215 | bnx2_write_phy(bp, 0x1c, 0x7c00); |
4216 | bnx2_read_phy(bp, 0x1c, &phy1); | ||
4180 | 4217 | ||
4181 | if ((bp->phy_flags & PHY_SERDES_FLAG) && | 4218 | bnx2_write_phy(bp, 0x17, 0x0f01); |
4182 | (CHIP_NUM(bp) == CHIP_NUM_5706)) { | 4219 | bnx2_read_phy(bp, 0x15, &phy2); |
4220 | bnx2_write_phy(bp, 0x17, 0x0f01); | ||
4221 | bnx2_read_phy(bp, 0x15, &phy2); | ||
4183 | 4222 | ||
4184 | spin_lock(&bp->phy_lock); | 4223 | if ((phy1 & 0x10) && /* SIGNAL DETECT */ |
4185 | if (bp->serdes_an_pending) { | 4224 | !(phy2 & 0x20)) { /* no CONFIG */ |
4186 | bp->serdes_an_pending--; | 4225 | |
4226 | bmcr &= ~BMCR_ANENABLE; | ||
4227 | bmcr |= BMCR_SPEED1000 | BMCR_FULLDPLX; | ||
4228 | bnx2_write_phy(bp, MII_BMCR, bmcr); | ||
4229 | bp->phy_flags |= PHY_PARALLEL_DETECT_FLAG; | ||
4230 | } | ||
4187 | } | 4231 | } |
4188 | else if ((bp->link_up == 0) && (bp->autoneg & AUTONEG_SPEED)) { | 4232 | } |
4189 | u32 bmcr; | 4233 | else if ((bp->link_up) && (bp->autoneg & AUTONEG_SPEED) && |
4234 | (bp->phy_flags & PHY_PARALLEL_DETECT_FLAG)) { | ||
4235 | u32 phy2; | ||
4190 | 4236 | ||
4191 | bp->current_interval = bp->timer_interval; | 4237 | bnx2_write_phy(bp, 0x17, 0x0f01); |
4238 | bnx2_read_phy(bp, 0x15, &phy2); | ||
4239 | if (phy2 & 0x20) { | ||
4240 | u32 bmcr; | ||
4192 | 4241 | ||
4193 | bnx2_read_phy(bp, MII_BMCR, &bmcr); | 4242 | bnx2_read_phy(bp, MII_BMCR, &bmcr); |
4243 | bmcr |= BMCR_ANENABLE; | ||
4244 | bnx2_write_phy(bp, MII_BMCR, bmcr); | ||
4194 | 4245 | ||
4195 | if (bmcr & BMCR_ANENABLE) { | 4246 | bp->phy_flags &= ~PHY_PARALLEL_DETECT_FLAG; |
4196 | u32 phy1, phy2; | 4247 | } |
4248 | } else | ||
4249 | bp->current_interval = bp->timer_interval; | ||
4197 | 4250 | ||
4198 | bnx2_write_phy(bp, 0x1c, 0x7c00); | 4251 | spin_unlock(&bp->phy_lock); |
4199 | bnx2_read_phy(bp, 0x1c, &phy1); | 4252 | } |
4200 | 4253 | ||
4201 | bnx2_write_phy(bp, 0x17, 0x0f01); | 4254 | static void |
4202 | bnx2_read_phy(bp, 0x15, &phy2); | 4255 | bnx2_5708_serdes_timer(struct bnx2 *bp) |
4203 | bnx2_write_phy(bp, 0x17, 0x0f01); | 4256 | { |
4204 | bnx2_read_phy(bp, 0x15, &phy2); | 4257 | if ((bp->phy_flags & PHY_2_5G_CAPABLE_FLAG) == 0) { |
4258 | bp->serdes_an_pending = 0; | ||
4259 | return; | ||
4260 | } | ||
4205 | 4261 | ||
4206 | if ((phy1 & 0x10) && /* SIGNAL DETECT */ | 4262 | spin_lock(&bp->phy_lock); |
4207 | !(phy2 & 0x20)) { /* no CONFIG */ | 4263 | if (bp->serdes_an_pending) |
4264 | bp->serdes_an_pending--; | ||
4265 | else if ((bp->link_up == 0) && (bp->autoneg & AUTONEG_SPEED)) { | ||
4266 | u32 bmcr; | ||
4208 | 4267 | ||
4209 | bmcr &= ~BMCR_ANENABLE; | 4268 | bnx2_read_phy(bp, MII_BMCR, &bmcr); |
4210 | bmcr |= BMCR_SPEED1000 | | 4269 | |
4211 | BMCR_FULLDPLX; | 4270 | if (bmcr & BMCR_ANENABLE) { |
4212 | bnx2_write_phy(bp, MII_BMCR, bmcr); | 4271 | bmcr &= ~BMCR_ANENABLE; |
4213 | bp->phy_flags |= | 4272 | bmcr |= BMCR_FULLDPLX | BCM5708S_BMCR_FORCE_2500; |
4214 | PHY_PARALLEL_DETECT_FLAG; | 4273 | bnx2_write_phy(bp, MII_BMCR, bmcr); |
4215 | } | 4274 | bp->current_interval = SERDES_FORCED_TIMEOUT; |
4216 | } | 4275 | } else { |
4276 | bmcr &= ~(BMCR_FULLDPLX | BCM5708S_BMCR_FORCE_2500); | ||
4277 | bmcr |= BMCR_ANENABLE; | ||
4278 | bnx2_write_phy(bp, MII_BMCR, bmcr); | ||
4279 | bp->serdes_an_pending = 2; | ||
4280 | bp->current_interval = bp->timer_interval; | ||
4217 | } | 4281 | } |
4218 | else if ((bp->link_up) && (bp->autoneg & AUTONEG_SPEED) && | ||
4219 | (bp->phy_flags & PHY_PARALLEL_DETECT_FLAG)) { | ||
4220 | u32 phy2; | ||
4221 | 4282 | ||
4222 | bnx2_write_phy(bp, 0x17, 0x0f01); | 4283 | } else |
4223 | bnx2_read_phy(bp, 0x15, &phy2); | 4284 | bp->current_interval = bp->timer_interval; |
4224 | if (phy2 & 0x20) { | ||
4225 | u32 bmcr; | ||
4226 | 4285 | ||
4227 | bnx2_read_phy(bp, MII_BMCR, &bmcr); | 4286 | spin_unlock(&bp->phy_lock); |
4228 | bmcr |= BMCR_ANENABLE; | 4287 | } |
4229 | bnx2_write_phy(bp, MII_BMCR, bmcr); | 4288 | |
4289 | static void | ||
4290 | bnx2_timer(unsigned long data) | ||
4291 | { | ||
4292 | struct bnx2 *bp = (struct bnx2 *) data; | ||
4293 | u32 msg; | ||
4230 | 4294 | ||
4231 | bp->phy_flags &= ~PHY_PARALLEL_DETECT_FLAG; | 4295 | if (!netif_running(bp->dev)) |
4296 | return; | ||
4232 | 4297 | ||
4233 | } | 4298 | if (atomic_read(&bp->intr_sem) != 0) |
4234 | } | 4299 | goto bnx2_restart_timer; |
4235 | else | ||
4236 | bp->current_interval = bp->timer_interval; | ||
4237 | 4300 | ||
4238 | spin_unlock(&bp->phy_lock); | 4301 | msg = (u32) ++bp->fw_drv_pulse_wr_seq; |
4302 | REG_WR_IND(bp, bp->shmem_base + BNX2_DRV_PULSE_MB, msg); | ||
4303 | |||
4304 | bp->stats_blk->stat_FwRxDrop = REG_RD_IND(bp, BNX2_FW_RX_DROP_COUNT); | ||
4305 | |||
4306 | if (bp->phy_flags & PHY_SERDES_FLAG) { | ||
4307 | if (CHIP_NUM(bp) == CHIP_NUM_5706) | ||
4308 | bnx2_5706_serdes_timer(bp); | ||
4309 | else if (CHIP_NUM(bp) == CHIP_NUM_5708) | ||
4310 | bnx2_5708_serdes_timer(bp); | ||
4239 | } | 4311 | } |
4240 | 4312 | ||
4241 | bnx2_restart_timer: | 4313 | bnx2_restart_timer: |
@@ -4339,9 +4411,9 @@ bnx2_open(struct net_device *dev) | |||
4339 | } | 4411 | } |
4340 | 4412 | ||
4341 | static void | 4413 | static void |
4342 | bnx2_reset_task(void *data) | 4414 | bnx2_reset_task(struct work_struct *work) |
4343 | { | 4415 | { |
4344 | struct bnx2 *bp = data; | 4416 | struct bnx2 *bp = container_of(work, struct bnx2, reset_task); |
4345 | 4417 | ||
4346 | if (!netif_running(bp->dev)) | 4418 | if (!netif_running(bp->dev)) |
4347 | return; | 4419 | return; |
@@ -4508,8 +4580,8 @@ bnx2_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
4508 | prod = NEXT_TX_BD(prod); | 4580 | prod = NEXT_TX_BD(prod); |
4509 | bp->tx_prod_bseq += skb->len; | 4581 | bp->tx_prod_bseq += skb->len; |
4510 | 4582 | ||
4511 | REG_WR16(bp, MB_TX_CID_ADDR + BNX2_L2CTX_TX_HOST_BIDX, prod); | 4583 | REG_WR16(bp, bp->tx_bidx_addr, prod); |
4512 | REG_WR(bp, MB_TX_CID_ADDR + BNX2_L2CTX_TX_HOST_BSEQ, bp->tx_prod_bseq); | 4584 | REG_WR(bp, bp->tx_bseq_addr, bp->tx_prod_bseq); |
4513 | 4585 | ||
4514 | mmiowb(); | 4586 | mmiowb(); |
4515 | 4587 | ||
@@ -4743,10 +4815,14 @@ bnx2_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) | |||
4743 | } | 4815 | } |
4744 | else { | 4816 | else { |
4745 | if (bp->phy_flags & PHY_SERDES_FLAG) { | 4817 | if (bp->phy_flags & PHY_SERDES_FLAG) { |
4746 | if ((cmd->speed != SPEED_1000) || | 4818 | if ((cmd->speed != SPEED_1000 && |
4747 | (cmd->duplex != DUPLEX_FULL)) { | 4819 | cmd->speed != SPEED_2500) || |
4820 | (cmd->duplex != DUPLEX_FULL)) | ||
4821 | return -EINVAL; | ||
4822 | |||
4823 | if (cmd->speed == SPEED_2500 && | ||
4824 | !(bp->phy_flags & PHY_2_5G_CAPABLE_FLAG)) | ||
4748 | return -EINVAL; | 4825 | return -EINVAL; |
4749 | } | ||
4750 | } | 4826 | } |
4751 | else if (cmd->speed == SPEED_1000) { | 4827 | else if (cmd->speed == SPEED_1000) { |
4752 | return -EINVAL; | 4828 | return -EINVAL; |
@@ -4903,11 +4979,10 @@ bnx2_nway_reset(struct net_device *dev) | |||
4903 | msleep(20); | 4979 | msleep(20); |
4904 | 4980 | ||
4905 | spin_lock_bh(&bp->phy_lock); | 4981 | spin_lock_bh(&bp->phy_lock); |
4906 | if (CHIP_NUM(bp) == CHIP_NUM_5706) { | 4982 | |
4907 | bp->current_interval = SERDES_AN_TIMEOUT; | 4983 | bp->current_interval = SERDES_AN_TIMEOUT; |
4908 | bp->serdes_an_pending = 1; | 4984 | bp->serdes_an_pending = 1; |
4909 | mod_timer(&bp->timer, jiffies + bp->current_interval); | 4985 | mod_timer(&bp->timer, jiffies + bp->current_interval); |
4910 | } | ||
4911 | } | 4986 | } |
4912 | 4987 | ||
4913 | bnx2_read_phy(bp, MII_BMCR, &bmcr); | 4988 | bnx2_read_phy(bp, MII_BMCR, &bmcr); |
@@ -5288,6 +5363,8 @@ bnx2_self_test(struct net_device *dev, struct ethtool_test *etest, u64 *buf) | |||
5288 | 5363 | ||
5289 | memset(buf, 0, sizeof(u64) * BNX2_NUM_TESTS); | 5364 | memset(buf, 0, sizeof(u64) * BNX2_NUM_TESTS); |
5290 | if (etest->flags & ETH_TEST_FL_OFFLINE) { | 5365 | if (etest->flags & ETH_TEST_FL_OFFLINE) { |
5366 | int i; | ||
5367 | |||
5291 | bnx2_netif_stop(bp); | 5368 | bnx2_netif_stop(bp); |
5292 | bnx2_reset_chip(bp, BNX2_DRV_MSG_CODE_DIAG); | 5369 | bnx2_reset_chip(bp, BNX2_DRV_MSG_CODE_DIAG); |
5293 | bnx2_free_skbs(bp); | 5370 | bnx2_free_skbs(bp); |
@@ -5312,9 +5389,11 @@ bnx2_self_test(struct net_device *dev, struct ethtool_test *etest, u64 *buf) | |||
5312 | } | 5389 | } |
5313 | 5390 | ||
5314 | /* wait for link up */ | 5391 | /* wait for link up */ |
5315 | msleep_interruptible(3000); | 5392 | for (i = 0; i < 7; i++) { |
5316 | if ((!bp->link_up) && !(bp->phy_flags & PHY_SERDES_FLAG)) | 5393 | if (bp->link_up) |
5317 | msleep_interruptible(4000); | 5394 | break; |
5395 | msleep_interruptible(1000); | ||
5396 | } | ||
5318 | } | 5397 | } |
5319 | 5398 | ||
5320 | if (bnx2_test_nvram(bp) != 0) { | 5399 | if (bnx2_test_nvram(bp) != 0) { |
@@ -5604,13 +5683,6 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev) | |||
5604 | goto err_out_release; | 5683 | goto err_out_release; |
5605 | } | 5684 | } |
5606 | 5685 | ||
5607 | bp->pcix_cap = pci_find_capability(pdev, PCI_CAP_ID_PCIX); | ||
5608 | if (bp->pcix_cap == 0) { | ||
5609 | dev_err(&pdev->dev, "Cannot find PCIX capability, aborting.\n"); | ||
5610 | rc = -EIO; | ||
5611 | goto err_out_release; | ||
5612 | } | ||
5613 | |||
5614 | if (pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0) { | 5686 | if (pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0) { |
5615 | bp->flags |= USING_DAC_FLAG; | 5687 | bp->flags |= USING_DAC_FLAG; |
5616 | if (pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK) != 0) { | 5688 | if (pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK) != 0) { |
@@ -5630,10 +5702,10 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev) | |||
5630 | bp->pdev = pdev; | 5702 | bp->pdev = pdev; |
5631 | 5703 | ||
5632 | spin_lock_init(&bp->phy_lock); | 5704 | spin_lock_init(&bp->phy_lock); |
5633 | INIT_WORK(&bp->reset_task, bnx2_reset_task, bp); | 5705 | INIT_WORK(&bp->reset_task, bnx2_reset_task); |
5634 | 5706 | ||
5635 | dev->base_addr = dev->mem_start = pci_resource_start(pdev, 0); | 5707 | dev->base_addr = dev->mem_start = pci_resource_start(pdev, 0); |
5636 | mem_len = MB_GET_CID_ADDR(17); | 5708 | mem_len = MB_GET_CID_ADDR(TX_TSS_CID + 1); |
5637 | dev->mem_end = dev->mem_start + mem_len; | 5709 | dev->mem_end = dev->mem_start + mem_len; |
5638 | dev->irq = pdev->irq; | 5710 | dev->irq = pdev->irq; |
5639 | 5711 | ||
@@ -5657,6 +5729,16 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev) | |||
5657 | 5729 | ||
5658 | bp->chip_id = REG_RD(bp, BNX2_MISC_ID); | 5730 | bp->chip_id = REG_RD(bp, BNX2_MISC_ID); |
5659 | 5731 | ||
5732 | if (CHIP_NUM(bp) != CHIP_NUM_5709) { | ||
5733 | bp->pcix_cap = pci_find_capability(pdev, PCI_CAP_ID_PCIX); | ||
5734 | if (bp->pcix_cap == 0) { | ||
5735 | dev_err(&pdev->dev, | ||
5736 | "Cannot find PCIX capability, aborting.\n"); | ||
5737 | rc = -EIO; | ||
5738 | goto err_out_unmap; | ||
5739 | } | ||
5740 | } | ||
5741 | |||
5660 | /* Get bus information. */ | 5742 | /* Get bus information. */ |
5661 | reg = REG_RD(bp, BNX2_PCICFG_MISC_STATUS); | 5743 | reg = REG_RD(bp, BNX2_PCICFG_MISC_STATUS); |
5662 | if (reg & BNX2_PCICFG_MISC_STATUS_PCIX_DET) { | 5744 | if (reg & BNX2_PCICFG_MISC_STATUS_PCIX_DET) { |
@@ -5776,10 +5858,15 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev) | |||
5776 | bp->phy_addr = 1; | 5858 | bp->phy_addr = 1; |
5777 | 5859 | ||
5778 | /* Disable WOL support if we are running on a SERDES chip. */ | 5860 | /* Disable WOL support if we are running on a SERDES chip. */ |
5779 | if (CHIP_BOND_ID(bp) & CHIP_BOND_ID_SERDES_BIT) { | 5861 | if (CHIP_NUM(bp) == CHIP_NUM_5709) { |
5862 | if (CHIP_BOND_ID(bp) != BNX2_MISC_DUAL_MEDIA_CTRL_BOND_ID_C) | ||
5863 | bp->phy_flags |= PHY_SERDES_FLAG; | ||
5864 | } else if (CHIP_BOND_ID(bp) & CHIP_BOND_ID_SERDES_BIT) | ||
5780 | bp->phy_flags |= PHY_SERDES_FLAG; | 5865 | bp->phy_flags |= PHY_SERDES_FLAG; |
5866 | |||
5867 | if (bp->phy_flags & PHY_SERDES_FLAG) { | ||
5781 | bp->flags |= NO_WOL_FLAG; | 5868 | bp->flags |= NO_WOL_FLAG; |
5782 | if (CHIP_NUM(bp) == CHIP_NUM_5708) { | 5869 | if (CHIP_NUM(bp) != CHIP_NUM_5706) { |
5783 | bp->phy_addr = 2; | 5870 | bp->phy_addr = 2; |
5784 | reg = REG_RD_IND(bp, bp->shmem_base + | 5871 | reg = REG_RD_IND(bp, bp->shmem_base + |
5785 | BNX2_SHARED_HW_CFG_CONFIG); | 5872 | BNX2_SHARED_HW_CFG_CONFIG); |
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index ca31904893ea..13b6f9b11e01 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h | |||
@@ -56,6 +56,7 @@ struct rx_bd { | |||
56 | 56 | ||
57 | }; | 57 | }; |
58 | 58 | ||
59 | #define BNX2_RX_ALIGN 16 | ||
59 | 60 | ||
60 | /* | 61 | /* |
61 | * status_block definition | 62 | * status_block definition |
@@ -90,6 +91,7 @@ struct status_block { | |||
90 | #define STATUS_ATTN_BITS_DMAE_ABORT (1L<<25) | 91 | #define STATUS_ATTN_BITS_DMAE_ABORT (1L<<25) |
91 | #define STATUS_ATTN_BITS_FLSH_ABORT (1L<<26) | 92 | #define STATUS_ATTN_BITS_FLSH_ABORT (1L<<26) |
92 | #define STATUS_ATTN_BITS_GRC_ABORT (1L<<27) | 93 | #define STATUS_ATTN_BITS_GRC_ABORT (1L<<27) |
94 | #define STATUS_ATTN_BITS_EPB_ERROR (1L<<30) | ||
93 | #define STATUS_ATTN_BITS_PARITY_ERROR (1L<<31) | 95 | #define STATUS_ATTN_BITS_PARITY_ERROR (1L<<31) |
94 | 96 | ||
95 | u32 status_attn_bits_ack; | 97 | u32 status_attn_bits_ack; |
@@ -117,7 +119,8 @@ struct status_block { | |||
117 | u16 status_completion_producer_index; | 119 | u16 status_completion_producer_index; |
118 | u16 status_cmd_consumer_index; | 120 | u16 status_cmd_consumer_index; |
119 | u16 status_idx; | 121 | u16 status_idx; |
120 | u16 status_unused; | 122 | u8 status_unused; |
123 | u8 status_blk_num; | ||
121 | #elif defined(__LITTLE_ENDIAN) | 124 | #elif defined(__LITTLE_ENDIAN) |
122 | u16 status_tx_quick_consumer_index1; | 125 | u16 status_tx_quick_consumer_index1; |
123 | u16 status_tx_quick_consumer_index0; | 126 | u16 status_tx_quick_consumer_index0; |
@@ -141,7 +144,8 @@ struct status_block { | |||
141 | u16 status_rx_quick_consumer_index14; | 144 | u16 status_rx_quick_consumer_index14; |
142 | u16 status_cmd_consumer_index; | 145 | u16 status_cmd_consumer_index; |
143 | u16 status_completion_producer_index; | 146 | u16 status_completion_producer_index; |
144 | u16 status_unused; | 147 | u8 status_blk_num; |
148 | u8 status_unused; | ||
145 | u16 status_idx; | 149 | u16 status_idx; |
146 | #endif | 150 | #endif |
147 | }; | 151 | }; |
@@ -301,6 +305,10 @@ struct l2_fhdr { | |||
301 | #define BNX2_L2CTX_TXP_BIDX 0x000000a8 | 305 | #define BNX2_L2CTX_TXP_BIDX 0x000000a8 |
302 | #define BNX2_L2CTX_TXP_BSEQ 0x000000ac | 306 | #define BNX2_L2CTX_TXP_BSEQ 0x000000ac |
303 | 307 | ||
308 | #define BNX2_L2CTX_TYPE_XI 0x00000080 | ||
309 | #define BNX2_L2CTX_CMD_TYPE_XI 0x00000240 | ||
310 | #define BNX2_L2CTX_TBDR_BHADDR_HI_XI 0x00000258 | ||
311 | #define BNX2_L2CTX_TBDR_BHADDR_LO_XI 0x0000025c | ||
304 | 312 | ||
305 | /* | 313 | /* |
306 | * l2_bd_chain_context definition | 314 | * l2_bd_chain_context definition |
@@ -328,11 +336,15 @@ struct l2_fhdr { | |||
328 | #define BNX2_PCICFG_MISC_CONFIG 0x00000068 | 336 | #define BNX2_PCICFG_MISC_CONFIG 0x00000068 |
329 | #define BNX2_PCICFG_MISC_CONFIG_TARGET_BYTE_SWAP (1L<<2) | 337 | #define BNX2_PCICFG_MISC_CONFIG_TARGET_BYTE_SWAP (1L<<2) |
330 | #define BNX2_PCICFG_MISC_CONFIG_TARGET_MB_WORD_SWAP (1L<<3) | 338 | #define BNX2_PCICFG_MISC_CONFIG_TARGET_MB_WORD_SWAP (1L<<3) |
339 | #define BNX2_PCICFG_MISC_CONFIG_RESERVED1 (1L<<4) | ||
331 | #define BNX2_PCICFG_MISC_CONFIG_CLOCK_CTL_ENA (1L<<5) | 340 | #define BNX2_PCICFG_MISC_CONFIG_CLOCK_CTL_ENA (1L<<5) |
332 | #define BNX2_PCICFG_MISC_CONFIG_TARGET_GRC_WORD_SWAP (1L<<6) | 341 | #define BNX2_PCICFG_MISC_CONFIG_TARGET_GRC_WORD_SWAP (1L<<6) |
333 | #define BNX2_PCICFG_MISC_CONFIG_REG_WINDOW_ENA (1L<<7) | 342 | #define BNX2_PCICFG_MISC_CONFIG_REG_WINDOW_ENA (1L<<7) |
334 | #define BNX2_PCICFG_MISC_CONFIG_CORE_RST_REQ (1L<<8) | 343 | #define BNX2_PCICFG_MISC_CONFIG_CORE_RST_REQ (1L<<8) |
335 | #define BNX2_PCICFG_MISC_CONFIG_CORE_RST_BSY (1L<<9) | 344 | #define BNX2_PCICFG_MISC_CONFIG_CORE_RST_BSY (1L<<9) |
345 | #define BNX2_PCICFG_MISC_CONFIG_GRC_WIN1_SWAP_EN (1L<<10) | ||
346 | #define BNX2_PCICFG_MISC_CONFIG_GRC_WIN2_SWAP_EN (1L<<11) | ||
347 | #define BNX2_PCICFG_MISC_CONFIG_GRC_WIN3_SWAP_EN (1L<<12) | ||
336 | #define BNX2_PCICFG_MISC_CONFIG_ASIC_METAL_REV (0xffL<<16) | 348 | #define BNX2_PCICFG_MISC_CONFIG_ASIC_METAL_REV (0xffL<<16) |
337 | #define BNX2_PCICFG_MISC_CONFIG_ASIC_BASE_REV (0xfL<<24) | 349 | #define BNX2_PCICFG_MISC_CONFIG_ASIC_BASE_REV (0xfL<<24) |
338 | #define BNX2_PCICFG_MISC_CONFIG_ASIC_ID (0xfL<<28) | 350 | #define BNX2_PCICFG_MISC_CONFIG_ASIC_ID (0xfL<<28) |
@@ -347,6 +359,7 @@ struct l2_fhdr { | |||
347 | #define BNX2_PCICFG_MISC_STATUS_PCIX_SPEED_100 (1L<<4) | 359 | #define BNX2_PCICFG_MISC_STATUS_PCIX_SPEED_100 (1L<<4) |
348 | #define BNX2_PCICFG_MISC_STATUS_PCIX_SPEED_133 (2L<<4) | 360 | #define BNX2_PCICFG_MISC_STATUS_PCIX_SPEED_133 (2L<<4) |
349 | #define BNX2_PCICFG_MISC_STATUS_PCIX_SPEED_PCI_MODE (3L<<4) | 361 | #define BNX2_PCICFG_MISC_STATUS_PCIX_SPEED_PCI_MODE (3L<<4) |
362 | #define BNX2_PCICFG_MISC_STATUS_BAD_MEM_WRITE_BE (1L<<8) | ||
350 | 363 | ||
351 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS 0x00000070 | 364 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS 0x00000070 |
352 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_PCI_CLK_SPD_DET (0xfL<<0) | 365 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_PCI_CLK_SPD_DET (0xfL<<0) |
@@ -366,7 +379,7 @@ struct l2_fhdr { | |||
366 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_12 (1L<<8) | 379 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_12 (1L<<8) |
367 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_6 (2L<<8) | 380 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_6 (2L<<8) |
368 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_62 (4L<<8) | 381 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_62 (4L<<8) |
369 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_PLAY_DEAD (1L<<11) | 382 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_MIN_POWER (1L<<11) |
370 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED (0xfL<<12) | 383 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED (0xfL<<12) |
371 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_100 (0L<<12) | 384 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_100 (0L<<12) |
372 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_80 (1L<<12) | 385 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_80 (1L<<12) |
@@ -374,18 +387,21 @@ struct l2_fhdr { | |||
374 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_40 (4L<<12) | 387 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_40 (4L<<12) |
375 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_25 (8L<<12) | 388 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_25 (8L<<12) |
376 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_STOP (1L<<16) | 389 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_CORE_CLK_PLL_STOP (1L<<16) |
377 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_PCI_PLL_STOP (1L<<17) | 390 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_RESERVED_17 (1L<<17) |
378 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_RESERVED_18 (1L<<18) | 391 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_RESERVED_18 (1L<<18) |
379 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_USE_SPD_DET (1L<<19) | 392 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_RESERVED_19 (1L<<19) |
380 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_RESERVED (0xfffL<<20) | 393 | #define BNX2_PCICFG_PCI_CLOCK_CONTROL_BITS_RESERVED (0xfffL<<20) |
381 | 394 | ||
382 | #define BNX2_PCICFG_REG_WINDOW_ADDRESS 0x00000078 | 395 | #define BNX2_PCICFG_REG_WINDOW_ADDRESS 0x00000078 |
396 | #define BNX2_PCICFG_REG_WINDOW_ADDRESS_VAL (0xfffffL<<2) | ||
397 | |||
383 | #define BNX2_PCICFG_REG_WINDOW 0x00000080 | 398 | #define BNX2_PCICFG_REG_WINDOW 0x00000080 |
384 | #define BNX2_PCICFG_INT_ACK_CMD 0x00000084 | 399 | #define BNX2_PCICFG_INT_ACK_CMD 0x00000084 |
385 | #define BNX2_PCICFG_INT_ACK_CMD_INDEX (0xffffL<<0) | 400 | #define BNX2_PCICFG_INT_ACK_CMD_INDEX (0xffffL<<0) |
386 | #define BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID (1L<<16) | 401 | #define BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID (1L<<16) |
387 | #define BNX2_PCICFG_INT_ACK_CMD_USE_INT_HC_PARAM (1L<<17) | 402 | #define BNX2_PCICFG_INT_ACK_CMD_USE_INT_HC_PARAM (1L<<17) |
388 | #define BNX2_PCICFG_INT_ACK_CMD_MASK_INT (1L<<18) | 403 | #define BNX2_PCICFG_INT_ACK_CMD_MASK_INT (1L<<18) |
404 | #define BNX2_PCICFG_INT_ACK_CMD_INTERRUPT_NUM (0xfL<<24) | ||
389 | 405 | ||
390 | #define BNX2_PCICFG_STATUS_BIT_SET_CMD 0x00000088 | 406 | #define BNX2_PCICFG_STATUS_BIT_SET_CMD 0x00000088 |
391 | #define BNX2_PCICFG_STATUS_BIT_CLEAR_CMD 0x0000008c | 407 | #define BNX2_PCICFG_STATUS_BIT_CLEAR_CMD 0x0000008c |
@@ -398,9 +414,11 @@ struct l2_fhdr { | |||
398 | * offset: 0x400 | 414 | * offset: 0x400 |
399 | */ | 415 | */ |
400 | #define BNX2_PCI_GRC_WINDOW_ADDR 0x00000400 | 416 | #define BNX2_PCI_GRC_WINDOW_ADDR 0x00000400 |
401 | #define BNX2_PCI_GRC_WINDOW_ADDR_PCI_GRC_WINDOW_ADDR_VALUE (0x3ffffL<<8) | 417 | #define BNX2_PCI_GRC_WINDOW_ADDR_VALUE (0x1ffL<<13) |
418 | #define BNX2_PCI_GRC_WINDOW_ADDR_SEP_WIN (1L<<31) | ||
402 | 419 | ||
403 | #define BNX2_PCI_CONFIG_1 0x00000404 | 420 | #define BNX2_PCI_CONFIG_1 0x00000404 |
421 | #define BNX2_PCI_CONFIG_1_RESERVED0 (0xffL<<0) | ||
404 | #define BNX2_PCI_CONFIG_1_READ_BOUNDARY (0x7L<<8) | 422 | #define BNX2_PCI_CONFIG_1_READ_BOUNDARY (0x7L<<8) |
405 | #define BNX2_PCI_CONFIG_1_READ_BOUNDARY_OFF (0L<<8) | 423 | #define BNX2_PCI_CONFIG_1_READ_BOUNDARY_OFF (0L<<8) |
406 | #define BNX2_PCI_CONFIG_1_READ_BOUNDARY_16 (1L<<8) | 424 | #define BNX2_PCI_CONFIG_1_READ_BOUNDARY_16 (1L<<8) |
@@ -419,6 +437,7 @@ struct l2_fhdr { | |||
419 | #define BNX2_PCI_CONFIG_1_WRITE_BOUNDARY_256 (5L<<11) | 437 | #define BNX2_PCI_CONFIG_1_WRITE_BOUNDARY_256 (5L<<11) |
420 | #define BNX2_PCI_CONFIG_1_WRITE_BOUNDARY_512 (6L<<11) | 438 | #define BNX2_PCI_CONFIG_1_WRITE_BOUNDARY_512 (6L<<11) |
421 | #define BNX2_PCI_CONFIG_1_WRITE_BOUNDARY_1024 (7L<<11) | 439 | #define BNX2_PCI_CONFIG_1_WRITE_BOUNDARY_1024 (7L<<11) |
440 | #define BNX2_PCI_CONFIG_1_RESERVED1 (0x3ffffL<<14) | ||
422 | 441 | ||
423 | #define BNX2_PCI_CONFIG_2 0x00000408 | 442 | #define BNX2_PCI_CONFIG_2 0x00000408 |
424 | #define BNX2_PCI_CONFIG_2_BAR1_SIZE (0xfL<<0) | 443 | #define BNX2_PCI_CONFIG_2_BAR1_SIZE (0xfL<<0) |
@@ -468,9 +487,13 @@ struct l2_fhdr { | |||
468 | #define BNX2_PCI_CONFIG_2_FORCE_32_BIT_MSTR (1L<<23) | 487 | #define BNX2_PCI_CONFIG_2_FORCE_32_BIT_MSTR (1L<<23) |
469 | #define BNX2_PCI_CONFIG_2_FORCE_32_BIT_TGT (1L<<24) | 488 | #define BNX2_PCI_CONFIG_2_FORCE_32_BIT_TGT (1L<<24) |
470 | #define BNX2_PCI_CONFIG_2_KEEP_REQ_ASSERT (1L<<25) | 489 | #define BNX2_PCI_CONFIG_2_KEEP_REQ_ASSERT (1L<<25) |
490 | #define BNX2_PCI_CONFIG_2_RESERVED0 (0x3fL<<26) | ||
491 | #define BNX2_PCI_CONFIG_2_BAR_PREFETCH_XI (1L<<16) | ||
492 | #define BNX2_PCI_CONFIG_2_RESERVED0_XI (0x7fffL<<17) | ||
471 | 493 | ||
472 | #define BNX2_PCI_CONFIG_3 0x0000040c | 494 | #define BNX2_PCI_CONFIG_3 0x0000040c |
473 | #define BNX2_PCI_CONFIG_3_STICKY_BYTE (0xffL<<0) | 495 | #define BNX2_PCI_CONFIG_3_STICKY_BYTE (0xffL<<0) |
496 | #define BNX2_PCI_CONFIG_3_REG_STICKY_BYTE (0xffL<<8) | ||
474 | #define BNX2_PCI_CONFIG_3_FORCE_PME (1L<<24) | 497 | #define BNX2_PCI_CONFIG_3_FORCE_PME (1L<<24) |
475 | #define BNX2_PCI_CONFIG_3_PME_STATUS (1L<<25) | 498 | #define BNX2_PCI_CONFIG_3_PME_STATUS (1L<<25) |
476 | #define BNX2_PCI_CONFIG_3_PME_ENABLE (1L<<26) | 499 | #define BNX2_PCI_CONFIG_3_PME_ENABLE (1L<<26) |
@@ -501,8 +524,10 @@ struct l2_fhdr { | |||
501 | #define BNX2_PCI_VPD_INTF_INTF_REQ (1L<<0) | 524 | #define BNX2_PCI_VPD_INTF_INTF_REQ (1L<<0) |
502 | 525 | ||
503 | #define BNX2_PCI_VPD_ADDR_FLAG 0x0000042c | 526 | #define BNX2_PCI_VPD_ADDR_FLAG 0x0000042c |
504 | #define BNX2_PCI_VPD_ADDR_FLAG_ADDRESS (0x1fff<<2) | 527 | #define BNX2_PCI_VPD_ADDR_FLAG_MSK 0x0000ffff |
505 | #define BNX2_PCI_VPD_ADDR_FLAG_WR (1<<15) | 528 | #define BNX2_PCI_VPD_ADDR_FLAG_SL 0L |
529 | #define BNX2_PCI_VPD_ADDR_FLAG_ADDRESS (0x1fffL<<2) | ||
530 | #define BNX2_PCI_VPD_ADDR_FLAG_WR (1L<<15) | ||
506 | 531 | ||
507 | #define BNX2_PCI_VPD_DATA 0x00000430 | 532 | #define BNX2_PCI_VPD_DATA 0x00000430 |
508 | #define BNX2_PCI_ID_VAL1 0x00000434 | 533 | #define BNX2_PCI_ID_VAL1 0x00000434 |
@@ -535,19 +560,26 @@ struct l2_fhdr { | |||
535 | #define BNX2_PCI_ID_VAL4_CAP_ENA_13 (13L<<0) | 560 | #define BNX2_PCI_ID_VAL4_CAP_ENA_13 (13L<<0) |
536 | #define BNX2_PCI_ID_VAL4_CAP_ENA_14 (14L<<0) | 561 | #define BNX2_PCI_ID_VAL4_CAP_ENA_14 (14L<<0) |
537 | #define BNX2_PCI_ID_VAL4_CAP_ENA_15 (15L<<0) | 562 | #define BNX2_PCI_ID_VAL4_CAP_ENA_15 (15L<<0) |
563 | #define BNX2_PCI_ID_VAL4_RESERVED0 (0x3L<<4) | ||
538 | #define BNX2_PCI_ID_VAL4_PM_SCALE_PRG (0x3L<<6) | 564 | #define BNX2_PCI_ID_VAL4_PM_SCALE_PRG (0x3L<<6) |
539 | #define BNX2_PCI_ID_VAL4_PM_SCALE_PRG_0 (0L<<6) | 565 | #define BNX2_PCI_ID_VAL4_PM_SCALE_PRG_0 (0L<<6) |
540 | #define BNX2_PCI_ID_VAL4_PM_SCALE_PRG_1 (1L<<6) | 566 | #define BNX2_PCI_ID_VAL4_PM_SCALE_PRG_1 (1L<<6) |
541 | #define BNX2_PCI_ID_VAL4_PM_SCALE_PRG_2 (2L<<6) | 567 | #define BNX2_PCI_ID_VAL4_PM_SCALE_PRG_2 (2L<<6) |
542 | #define BNX2_PCI_ID_VAL4_PM_SCALE_PRG_3 (3L<<6) | 568 | #define BNX2_PCI_ID_VAL4_PM_SCALE_PRG_3 (3L<<6) |
569 | #define BNX2_PCI_ID_VAL4_MSI_PV_MASK_CAP (1L<<8) | ||
543 | #define BNX2_PCI_ID_VAL4_MSI_LIMIT (0x7L<<9) | 570 | #define BNX2_PCI_ID_VAL4_MSI_LIMIT (0x7L<<9) |
544 | #define BNX2_PCI_ID_VAL4_MSI_ADVERTIZE (0x7L<<12) | 571 | #define BNX2_PCI_ID_VAL4_MULTI_MSG_CAP (0x7L<<12) |
545 | #define BNX2_PCI_ID_VAL4_MSI_ENABLE (1L<<15) | 572 | #define BNX2_PCI_ID_VAL4_MSI_ENABLE (1L<<15) |
546 | #define BNX2_PCI_ID_VAL4_MAX_64_ADVERTIZE (1L<<16) | 573 | #define BNX2_PCI_ID_VAL4_MAX_64_ADVERTIZE (1L<<16) |
547 | #define BNX2_PCI_ID_VAL4_MAX_133_ADVERTIZE (1L<<17) | 574 | #define BNX2_PCI_ID_VAL4_MAX_133_ADVERTIZE (1L<<17) |
548 | #define BNX2_PCI_ID_VAL4_MAX_MEM_READ_SIZE (0x3L<<21) | 575 | #define BNX2_PCI_ID_VAL4_RESERVED2 (0x7L<<18) |
549 | #define BNX2_PCI_ID_VAL4_MAX_SPLIT_SIZE (0x7L<<23) | 576 | #define BNX2_PCI_ID_VAL4_MAX_CUMULATIVE_SIZE_B21 (0x3L<<21) |
550 | #define BNX2_PCI_ID_VAL4_MAX_CUMULATIVE_SIZE (0x7L<<26) | 577 | #define BNX2_PCI_ID_VAL4_MAX_SPLIT_SIZE_B21 (0x3L<<23) |
578 | #define BNX2_PCI_ID_VAL4_MAX_CUMULATIVE_SIZE_B0 (1L<<25) | ||
579 | #define BNX2_PCI_ID_VAL4_MAX_MEM_READ_SIZE_B10 (0x3L<<26) | ||
580 | #define BNX2_PCI_ID_VAL4_MAX_SPLIT_SIZE_B0 (1L<<28) | ||
581 | #define BNX2_PCI_ID_VAL4_RESERVED3 (0x7L<<29) | ||
582 | #define BNX2_PCI_ID_VAL4_RESERVED3_XI (0xffffL<<16) | ||
551 | 583 | ||
552 | #define BNX2_PCI_ID_VAL5 0x00000444 | 584 | #define BNX2_PCI_ID_VAL5 0x00000444 |
553 | #define BNX2_PCI_ID_VAL5_D1_SUPPORT (1L<<0) | 585 | #define BNX2_PCI_ID_VAL5_D1_SUPPORT (1L<<0) |
@@ -556,6 +588,10 @@ struct l2_fhdr { | |||
556 | #define BNX2_PCI_ID_VAL5_PME_IN_D1 (1L<<3) | 588 | #define BNX2_PCI_ID_VAL5_PME_IN_D1 (1L<<3) |
557 | #define BNX2_PCI_ID_VAL5_PME_IN_D2 (1L<<4) | 589 | #define BNX2_PCI_ID_VAL5_PME_IN_D2 (1L<<4) |
558 | #define BNX2_PCI_ID_VAL5_PME_IN_D3_HOT (1L<<5) | 590 | #define BNX2_PCI_ID_VAL5_PME_IN_D3_HOT (1L<<5) |
591 | #define BNX2_PCI_ID_VAL5_RESERVED0_TE (0x3ffffffL<<6) | ||
592 | #define BNX2_PCI_ID_VAL5_PM_VERSION_XI (0x7L<<6) | ||
593 | #define BNX2_PCI_ID_VAL5_NO_SOFT_RESET_XI (1L<<9) | ||
594 | #define BNX2_PCI_ID_VAL5_RESERVED0_XI (0x3fffffL<<10) | ||
559 | 595 | ||
560 | #define BNX2_PCI_PCIX_EXTENDED_STATUS 0x00000448 | 596 | #define BNX2_PCI_PCIX_EXTENDED_STATUS 0x00000448 |
561 | #define BNX2_PCI_PCIX_EXTENDED_STATUS_NO_SNOOP (1L<<8) | 597 | #define BNX2_PCI_PCIX_EXTENDED_STATUS_NO_SNOOP (1L<<8) |
@@ -567,12 +603,91 @@ struct l2_fhdr { | |||
567 | #define BNX2_PCI_ID_VAL6_MAX_LAT (0xffL<<0) | 603 | #define BNX2_PCI_ID_VAL6_MAX_LAT (0xffL<<0) |
568 | #define BNX2_PCI_ID_VAL6_MIN_GNT (0xffL<<8) | 604 | #define BNX2_PCI_ID_VAL6_MIN_GNT (0xffL<<8) |
569 | #define BNX2_PCI_ID_VAL6_BIST (0xffL<<16) | 605 | #define BNX2_PCI_ID_VAL6_BIST (0xffL<<16) |
606 | #define BNX2_PCI_ID_VAL6_RESERVED0 (0xffL<<24) | ||
570 | 607 | ||
571 | #define BNX2_PCI_MSI_DATA 0x00000450 | 608 | #define BNX2_PCI_MSI_DATA 0x00000450 |
572 | #define BNX2_PCI_MSI_DATA_PCI_MSI_DATA (0xffffL<<0) | 609 | #define BNX2_PCI_MSI_DATA_MSI_DATA (0xffffL<<0) |
573 | 610 | ||
574 | #define BNX2_PCI_MSI_ADDR_H 0x00000454 | 611 | #define BNX2_PCI_MSI_ADDR_H 0x00000454 |
575 | #define BNX2_PCI_MSI_ADDR_L 0x00000458 | 612 | #define BNX2_PCI_MSI_ADDR_L 0x00000458 |
613 | #define BNX2_PCI_MSI_ADDR_L_VAL (0x3fffffffL<<2) | ||
614 | |||
615 | #define BNX2_PCI_CFG_ACCESS_CMD 0x0000045c | ||
616 | #define BNX2_PCI_CFG_ACCESS_CMD_ADR (0x3fL<<2) | ||
617 | #define BNX2_PCI_CFG_ACCESS_CMD_RD_REQ (1L<<27) | ||
618 | #define BNX2_PCI_CFG_ACCESS_CMD_WR_REQ (0xfL<<28) | ||
619 | |||
620 | #define BNX2_PCI_CFG_ACCESS_DATA 0x00000460 | ||
621 | #define BNX2_PCI_MSI_MASK 0x00000464 | ||
622 | #define BNX2_PCI_MSI_MASK_MSI_MASK (0xffffffffL<<0) | ||
623 | |||
624 | #define BNX2_PCI_MSI_PEND 0x00000468 | ||
625 | #define BNX2_PCI_MSI_PEND_MSI_PEND (0xffffffffL<<0) | ||
626 | |||
627 | #define BNX2_PCI_PM_DATA_C 0x0000046c | ||
628 | #define BNX2_PCI_PM_DATA_C_PM_DATA_8_PRG (0xffL<<0) | ||
629 | #define BNX2_PCI_PM_DATA_C_RESERVED0 (0xffffffL<<8) | ||
630 | |||
631 | #define BNX2_PCI_MSIX_CONTROL 0x000004c0 | ||
632 | #define BNX2_PCI_MSIX_CONTROL_MSIX_TBL_SIZ (0x7ffL<<0) | ||
633 | #define BNX2_PCI_MSIX_CONTROL_RESERVED0 (0x1fffffL<<11) | ||
634 | |||
635 | #define BNX2_PCI_MSIX_TBL_OFF_BIR 0x000004c4 | ||
636 | #define BNX2_PCI_MSIX_TBL_OFF_BIR_MSIX_TBL_BIR (0x7L<<0) | ||
637 | #define BNX2_PCI_MSIX_TBL_OFF_BIR_MSIX_TBL_OFF (0x1fffffffL<<3) | ||
638 | |||
639 | #define BNX2_PCI_MSIX_PBA_OFF_BIT 0x000004c8 | ||
640 | #define BNX2_PCI_MSIX_PBA_OFF_BIT_MSIX_PBA_BIR (0x7L<<0) | ||
641 | #define BNX2_PCI_MSIX_PBA_OFF_BIT_MSIX_PBA_OFF (0x1fffffffL<<3) | ||
642 | |||
643 | #define BNX2_PCI_PCIE_CAPABILITY 0x000004d0 | ||
644 | #define BNX2_PCI_PCIE_CAPABILITY_INTERRUPT_MSG_NUM (0x1fL<<0) | ||
645 | #define BNX2_PCI_PCIE_CAPABILITY_COMPLY_PCIE_1_1 (1L<<5) | ||
646 | |||
647 | #define BNX2_PCI_DEVICE_CAPABILITY 0x000004d4 | ||
648 | #define BNX2_PCI_DEVICE_CAPABILITY_MAX_PL_SIZ_SUPPORTED (0x7L<<0) | ||
649 | #define BNX2_PCI_DEVICE_CAPABILITY_EXTENDED_TAG_SUPPORT (1L<<5) | ||
650 | #define BNX2_PCI_DEVICE_CAPABILITY_L0S_ACCEPTABLE_LATENCY (0x7L<<6) | ||
651 | #define BNX2_PCI_DEVICE_CAPABILITY_L1_ACCEPTABLE_LATENCY (0x7L<<9) | ||
652 | #define BNX2_PCI_DEVICE_CAPABILITY_ROLE_BASED_ERR_RPT (1L<<15) | ||
653 | |||
654 | #define BNX2_PCI_LINK_CAPABILITY 0x000004dc | ||
655 | #define BNX2_PCI_LINK_CAPABILITY_MAX_LINK_SPEED (0xfL<<0) | ||
656 | #define BNX2_PCI_LINK_CAPABILITY_MAX_LINK_SPEED_0001 (1L<<0) | ||
657 | #define BNX2_PCI_LINK_CAPABILITY_MAX_LINK_SPEED_0010 (1L<<0) | ||
658 | #define BNX2_PCI_LINK_CAPABILITY_MAX_LINK_WIDTH (0x1fL<<4) | ||
659 | #define BNX2_PCI_LINK_CAPABILITY_CLK_POWER_MGMT (1L<<9) | ||
660 | #define BNX2_PCI_LINK_CAPABILITY_ASPM_SUPPORT (0x3L<<10) | ||
661 | #define BNX2_PCI_LINK_CAPABILITY_L0S_EXIT_LAT (0x7L<<12) | ||
662 | #define BNX2_PCI_LINK_CAPABILITY_L0S_EXIT_LAT_101 (5L<<12) | ||
663 | #define BNX2_PCI_LINK_CAPABILITY_L0S_EXIT_LAT_110 (6L<<12) | ||
664 | #define BNX2_PCI_LINK_CAPABILITY_L1_EXIT_LAT (0x7L<<15) | ||
665 | #define BNX2_PCI_LINK_CAPABILITY_L1_EXIT_LAT_001 (1L<<15) | ||
666 | #define BNX2_PCI_LINK_CAPABILITY_L1_EXIT_LAT_010 (2L<<15) | ||
667 | #define BNX2_PCI_LINK_CAPABILITY_L0S_EXIT_COMM_LAT (0x7L<<18) | ||
668 | #define BNX2_PCI_LINK_CAPABILITY_L0S_EXIT_COMM_LAT_101 (5L<<18) | ||
669 | #define BNX2_PCI_LINK_CAPABILITY_L0S_EXIT_COMM_LAT_110 (6L<<18) | ||
670 | #define BNX2_PCI_LINK_CAPABILITY_L1_EXIT_COMM_LAT (0x7L<<21) | ||
671 | #define BNX2_PCI_LINK_CAPABILITY_L1_EXIT_COMM_LAT_001 (1L<<21) | ||
672 | #define BNX2_PCI_LINK_CAPABILITY_L1_EXIT_COMM_LAT_010 (2L<<21) | ||
673 | #define BNX2_PCI_LINK_CAPABILITY_PORT_NUM (0xffL<<24) | ||
674 | |||
675 | #define BNX2_PCI_PCIE_DEVICE_CAPABILITY_2 0x000004e4 | ||
676 | #define BNX2_PCI_PCIE_DEVICE_CAPABILITY_2_CMPL_TO_RANGE_SUPP (0xfL<<0) | ||
677 | #define BNX2_PCI_PCIE_DEVICE_CAPABILITY_2_CMPL_TO_DISABL_SUPP (1L<<4) | ||
678 | #define BNX2_PCI_PCIE_DEVICE_CAPABILITY_2_RESERVED (0x7ffffffL<<5) | ||
679 | |||
680 | #define BNX2_PCI_PCIE_LINK_CAPABILITY_2 0x000004e8 | ||
681 | #define BNX2_PCI_PCIE_LINK_CAPABILITY_2_RESERVED (0xffffffffL<<0) | ||
682 | |||
683 | #define BNX2_PCI_GRC_WINDOW1_ADDR 0x00000610 | ||
684 | #define BNX2_PCI_GRC_WINDOW1_ADDR_VALUE (0x1ffL<<13) | ||
685 | |||
686 | #define BNX2_PCI_GRC_WINDOW2_ADDR 0x00000614 | ||
687 | #define BNX2_PCI_GRC_WINDOW2_ADDR_VALUE (0x1ffL<<13) | ||
688 | |||
689 | #define BNX2_PCI_GRC_WINDOW3_ADDR 0x00000618 | ||
690 | #define BNX2_PCI_GRC_WINDOW3_ADDR_VALUE (0x1ffL<<13) | ||
576 | 691 | ||
577 | 692 | ||
578 | /* | 693 | /* |
@@ -582,13 +697,23 @@ struct l2_fhdr { | |||
582 | #define BNX2_MISC_COMMAND 0x00000800 | 697 | #define BNX2_MISC_COMMAND 0x00000800 |
583 | #define BNX2_MISC_COMMAND_ENABLE_ALL (1L<<0) | 698 | #define BNX2_MISC_COMMAND_ENABLE_ALL (1L<<0) |
584 | #define BNX2_MISC_COMMAND_DISABLE_ALL (1L<<1) | 699 | #define BNX2_MISC_COMMAND_DISABLE_ALL (1L<<1) |
585 | #define BNX2_MISC_COMMAND_CORE_RESET (1L<<4) | 700 | #define BNX2_MISC_COMMAND_SW_RESET (1L<<4) |
586 | #define BNX2_MISC_COMMAND_HARD_RESET (1L<<5) | 701 | #define BNX2_MISC_COMMAND_POR_RESET (1L<<5) |
702 | #define BNX2_MISC_COMMAND_HD_RESET (1L<<6) | ||
703 | #define BNX2_MISC_COMMAND_CMN_SW_RESET (1L<<7) | ||
587 | #define BNX2_MISC_COMMAND_PAR_ERROR (1L<<8) | 704 | #define BNX2_MISC_COMMAND_PAR_ERROR (1L<<8) |
705 | #define BNX2_MISC_COMMAND_CS16_ERR (1L<<9) | ||
706 | #define BNX2_MISC_COMMAND_CS16_ERR_LOC (0xfL<<12) | ||
588 | #define BNX2_MISC_COMMAND_PAR_ERR_RAM (0x7fL<<16) | 707 | #define BNX2_MISC_COMMAND_PAR_ERR_RAM (0x7fL<<16) |
708 | #define BNX2_MISC_COMMAND_POWERDOWN_EVENT (1L<<23) | ||
709 | #define BNX2_MISC_COMMAND_SW_SHUTDOWN (1L<<24) | ||
710 | #define BNX2_MISC_COMMAND_SHUTDOWN_EN (1L<<25) | ||
711 | #define BNX2_MISC_COMMAND_DINTEG_ATTN_EN (1L<<26) | ||
712 | #define BNX2_MISC_COMMAND_PCIE_LINK_IN_L23 (1L<<27) | ||
713 | #define BNX2_MISC_COMMAND_PCIE_DIS (1L<<28) | ||
589 | 714 | ||
590 | #define BNX2_MISC_CFG 0x00000804 | 715 | #define BNX2_MISC_CFG 0x00000804 |
591 | #define BNX2_MISC_CFG_PCI_GRC_TMOUT (1L<<0) | 716 | #define BNX2_MISC_CFG_GRC_TMOUT (1L<<0) |
592 | #define BNX2_MISC_CFG_NVM_WR_EN (0x3L<<1) | 717 | #define BNX2_MISC_CFG_NVM_WR_EN (0x3L<<1) |
593 | #define BNX2_MISC_CFG_NVM_WR_EN_PROTECT (0L<<1) | 718 | #define BNX2_MISC_CFG_NVM_WR_EN_PROTECT (0L<<1) |
594 | #define BNX2_MISC_CFG_NVM_WR_EN_PCI (1L<<1) | 719 | #define BNX2_MISC_CFG_NVM_WR_EN_PCI (1L<<1) |
@@ -596,16 +721,45 @@ struct l2_fhdr { | |||
596 | #define BNX2_MISC_CFG_NVM_WR_EN_ALLOW2 (3L<<1) | 721 | #define BNX2_MISC_CFG_NVM_WR_EN_ALLOW2 (3L<<1) |
597 | #define BNX2_MISC_CFG_BIST_EN (1L<<3) | 722 | #define BNX2_MISC_CFG_BIST_EN (1L<<3) |
598 | #define BNX2_MISC_CFG_CK25_OUT_ALT_SRC (1L<<4) | 723 | #define BNX2_MISC_CFG_CK25_OUT_ALT_SRC (1L<<4) |
599 | #define BNX2_MISC_CFG_BYPASS_BSCAN (1L<<5) | 724 | #define BNX2_MISC_CFG_RESERVED5_TE (1L<<5) |
600 | #define BNX2_MISC_CFG_BYPASS_EJTAG (1L<<6) | 725 | #define BNX2_MISC_CFG_RESERVED6_TE (1L<<6) |
601 | #define BNX2_MISC_CFG_CLK_CTL_OVERRIDE (1L<<7) | 726 | #define BNX2_MISC_CFG_CLK_CTL_OVERRIDE (1L<<7) |
602 | #define BNX2_MISC_CFG_LEDMODE (0x3L<<8) | 727 | #define BNX2_MISC_CFG_LEDMODE (0x7L<<8) |
603 | #define BNX2_MISC_CFG_LEDMODE_MAC (0L<<8) | 728 | #define BNX2_MISC_CFG_LEDMODE_MAC (0L<<8) |
604 | #define BNX2_MISC_CFG_LEDMODE_GPHY1 (1L<<8) | 729 | #define BNX2_MISC_CFG_LEDMODE_PHY1_TE (1L<<8) |
605 | #define BNX2_MISC_CFG_LEDMODE_GPHY2 (2L<<8) | 730 | #define BNX2_MISC_CFG_LEDMODE_PHY2_TE (2L<<8) |
731 | #define BNX2_MISC_CFG_LEDMODE_PHY3_TE (3L<<8) | ||
732 | #define BNX2_MISC_CFG_LEDMODE_PHY4_TE (4L<<8) | ||
733 | #define BNX2_MISC_CFG_LEDMODE_PHY5_TE (5L<<8) | ||
734 | #define BNX2_MISC_CFG_LEDMODE_PHY6_TE (6L<<8) | ||
735 | #define BNX2_MISC_CFG_LEDMODE_PHY7_TE (7L<<8) | ||
736 | #define BNX2_MISC_CFG_MCP_GRC_TMOUT_TE (1L<<11) | ||
737 | #define BNX2_MISC_CFG_DBU_GRC_TMOUT_TE (1L<<12) | ||
738 | #define BNX2_MISC_CFG_LEDMODE_XI (0xfL<<8) | ||
739 | #define BNX2_MISC_CFG_LEDMODE_MAC_XI (0L<<8) | ||
740 | #define BNX2_MISC_CFG_LEDMODE_PHY1_XI (1L<<8) | ||
741 | #define BNX2_MISC_CFG_LEDMODE_PHY2_XI (2L<<8) | ||
742 | #define BNX2_MISC_CFG_LEDMODE_PHY3_XI (3L<<8) | ||
743 | #define BNX2_MISC_CFG_LEDMODE_MAC2_XI (4L<<8) | ||
744 | #define BNX2_MISC_CFG_LEDMODE_PHY4_XI (5L<<8) | ||
745 | #define BNX2_MISC_CFG_LEDMODE_PHY5_XI (6L<<8) | ||
746 | #define BNX2_MISC_CFG_LEDMODE_PHY6_XI (7L<<8) | ||
747 | #define BNX2_MISC_CFG_LEDMODE_MAC3_XI (8L<<8) | ||
748 | #define BNX2_MISC_CFG_LEDMODE_PHY7_XI (9L<<8) | ||
749 | #define BNX2_MISC_CFG_LEDMODE_PHY8_XI (10L<<8) | ||
750 | #define BNX2_MISC_CFG_LEDMODE_PHY9_XI (11L<<8) | ||
751 | #define BNX2_MISC_CFG_LEDMODE_MAC4_XI (12L<<8) | ||
752 | #define BNX2_MISC_CFG_LEDMODE_PHY10_XI (13L<<8) | ||
753 | #define BNX2_MISC_CFG_LEDMODE_PHY11_XI (14L<<8) | ||
754 | #define BNX2_MISC_CFG_LEDMODE_UNUSED_XI (15L<<8) | ||
755 | #define BNX2_MISC_CFG_PORT_SELECT_XI (1L<<13) | ||
756 | #define BNX2_MISC_CFG_PARITY_MODE_XI (1L<<14) | ||
606 | 757 | ||
607 | #define BNX2_MISC_ID 0x00000808 | 758 | #define BNX2_MISC_ID 0x00000808 |
608 | #define BNX2_MISC_ID_BOND_ID (0xfL<<0) | 759 | #define BNX2_MISC_ID_BOND_ID (0xfL<<0) |
760 | #define BNX2_MISC_ID_BOND_ID_X (0L<<0) | ||
761 | #define BNX2_MISC_ID_BOND_ID_C (3L<<0) | ||
762 | #define BNX2_MISC_ID_BOND_ID_S (12L<<0) | ||
609 | #define BNX2_MISC_ID_CHIP_METAL (0xffL<<4) | 763 | #define BNX2_MISC_ID_CHIP_METAL (0xffL<<4) |
610 | #define BNX2_MISC_ID_CHIP_REV (0xfL<<12) | 764 | #define BNX2_MISC_ID_CHIP_REV (0xfL<<12) |
611 | #define BNX2_MISC_ID_CHIP_NUM (0xffffL<<16) | 765 | #define BNX2_MISC_ID_CHIP_NUM (0xffffL<<16) |
@@ -639,6 +793,8 @@ struct l2_fhdr { | |||
639 | #define BNX2_MISC_ENABLE_STATUS_BITS_TIMER_ENABLE (1L<<25) | 793 | #define BNX2_MISC_ENABLE_STATUS_BITS_TIMER_ENABLE (1L<<25) |
640 | #define BNX2_MISC_ENABLE_STATUS_BITS_DMA_ENGINE_ENABLE (1L<<26) | 794 | #define BNX2_MISC_ENABLE_STATUS_BITS_DMA_ENGINE_ENABLE (1L<<26) |
641 | #define BNX2_MISC_ENABLE_STATUS_BITS_UMP_ENABLE (1L<<27) | 795 | #define BNX2_MISC_ENABLE_STATUS_BITS_UMP_ENABLE (1L<<27) |
796 | #define BNX2_MISC_ENABLE_STATUS_BITS_RV2P_CMD_SCHEDULER_ENABLE (1L<<28) | ||
797 | #define BNX2_MISC_ENABLE_STATUS_BITS_RSVD_FUTURE_ENABLE (0x7L<<29) | ||
642 | 798 | ||
643 | #define BNX2_MISC_ENABLE_SET_BITS 0x00000810 | 799 | #define BNX2_MISC_ENABLE_SET_BITS 0x00000810 |
644 | #define BNX2_MISC_ENABLE_SET_BITS_TX_SCHEDULER_ENABLE (1L<<0) | 800 | #define BNX2_MISC_ENABLE_SET_BITS_TX_SCHEDULER_ENABLE (1L<<0) |
@@ -669,6 +825,8 @@ struct l2_fhdr { | |||
669 | #define BNX2_MISC_ENABLE_SET_BITS_TIMER_ENABLE (1L<<25) | 825 | #define BNX2_MISC_ENABLE_SET_BITS_TIMER_ENABLE (1L<<25) |
670 | #define BNX2_MISC_ENABLE_SET_BITS_DMA_ENGINE_ENABLE (1L<<26) | 826 | #define BNX2_MISC_ENABLE_SET_BITS_DMA_ENGINE_ENABLE (1L<<26) |
671 | #define BNX2_MISC_ENABLE_SET_BITS_UMP_ENABLE (1L<<27) | 827 | #define BNX2_MISC_ENABLE_SET_BITS_UMP_ENABLE (1L<<27) |
828 | #define BNX2_MISC_ENABLE_SET_BITS_RV2P_CMD_SCHEDULER_ENABLE (1L<<28) | ||
829 | #define BNX2_MISC_ENABLE_SET_BITS_RSVD_FUTURE_ENABLE (0x7L<<29) | ||
672 | 830 | ||
673 | #define BNX2_MISC_ENABLE_CLR_BITS 0x00000814 | 831 | #define BNX2_MISC_ENABLE_CLR_BITS 0x00000814 |
674 | #define BNX2_MISC_ENABLE_CLR_BITS_TX_SCHEDULER_ENABLE (1L<<0) | 832 | #define BNX2_MISC_ENABLE_CLR_BITS_TX_SCHEDULER_ENABLE (1L<<0) |
@@ -699,6 +857,8 @@ struct l2_fhdr { | |||
699 | #define BNX2_MISC_ENABLE_CLR_BITS_TIMER_ENABLE (1L<<25) | 857 | #define BNX2_MISC_ENABLE_CLR_BITS_TIMER_ENABLE (1L<<25) |
700 | #define BNX2_MISC_ENABLE_CLR_BITS_DMA_ENGINE_ENABLE (1L<<26) | 858 | #define BNX2_MISC_ENABLE_CLR_BITS_DMA_ENGINE_ENABLE (1L<<26) |
701 | #define BNX2_MISC_ENABLE_CLR_BITS_UMP_ENABLE (1L<<27) | 859 | #define BNX2_MISC_ENABLE_CLR_BITS_UMP_ENABLE (1L<<27) |
860 | #define BNX2_MISC_ENABLE_CLR_BITS_RV2P_CMD_SCHEDULER_ENABLE (1L<<28) | ||
861 | #define BNX2_MISC_ENABLE_CLR_BITS_RSVD_FUTURE_ENABLE (0x7L<<29) | ||
702 | 862 | ||
703 | #define BNX2_MISC_CLOCK_CONTROL_BITS 0x00000818 | 863 | #define BNX2_MISC_CLOCK_CONTROL_BITS 0x00000818 |
704 | #define BNX2_MISC_CLOCK_CONTROL_BITS_PCI_CLK_SPD_DET (0xfL<<0) | 864 | #define BNX2_MISC_CLOCK_CONTROL_BITS_PCI_CLK_SPD_DET (0xfL<<0) |
@@ -718,30 +878,41 @@ struct l2_fhdr { | |||
718 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_12 (1L<<8) | 878 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_12 (1L<<8) |
719 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_6 (2L<<8) | 879 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_6 (2L<<8) |
720 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_62 (4L<<8) | 880 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_ALT_SRC_62 (4L<<8) |
721 | #define BNX2_MISC_CLOCK_CONTROL_BITS_PLAY_DEAD (1L<<11) | 881 | #define BNX2_MISC_CLOCK_CONTROL_BITS_RESERVED0_XI (0x7L<<8) |
882 | #define BNX2_MISC_CLOCK_CONTROL_BITS_MIN_POWER (1L<<11) | ||
722 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED (0xfL<<12) | 883 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED (0xfL<<12) |
723 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_100 (0L<<12) | 884 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_100 (0L<<12) |
724 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_80 (1L<<12) | 885 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_80 (1L<<12) |
725 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_50 (2L<<12) | 886 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_50 (2L<<12) |
726 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_40 (4L<<12) | 887 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_40 (4L<<12) |
727 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_25 (8L<<12) | 888 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_25 (8L<<12) |
889 | #define BNX2_MISC_CLOCK_CONTROL_BITS_RESERVED1_XI (0xfL<<12) | ||
728 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_STOP (1L<<16) | 890 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_STOP (1L<<16) |
729 | #define BNX2_MISC_CLOCK_CONTROL_BITS_PCI_PLL_STOP (1L<<17) | 891 | #define BNX2_MISC_CLOCK_CONTROL_BITS_RESERVED_17_TE (1L<<17) |
730 | #define BNX2_MISC_CLOCK_CONTROL_BITS_RESERVED_18 (1L<<18) | 892 | #define BNX2_MISC_CLOCK_CONTROL_BITS_RESERVED_18_TE (1L<<18) |
731 | #define BNX2_MISC_CLOCK_CONTROL_BITS_USE_SPD_DET (1L<<19) | 893 | #define BNX2_MISC_CLOCK_CONTROL_BITS_RESERVED_19_TE (1L<<19) |
732 | #define BNX2_MISC_CLOCK_CONTROL_BITS_RESERVED (0xfffL<<20) | 894 | #define BNX2_MISC_CLOCK_CONTROL_BITS_RESERVED_TE (0xfffL<<20) |
733 | 895 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_ALT_MGMT_XI (1L<<17) | |
734 | #define BNX2_MISC_GPIO 0x0000081c | 896 | #define BNX2_MISC_CLOCK_CONTROL_BITS_RESERVED2_XI (0x3fL<<18) |
735 | #define BNX2_MISC_GPIO_VALUE (0xffL<<0) | 897 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_VCO_XI (0x7L<<24) |
736 | #define BNX2_MISC_GPIO_SET (0xffL<<8) | 898 | #define BNX2_MISC_CLOCK_CONTROL_BITS_RESERVED3_XI (1L<<27) |
737 | #define BNX2_MISC_GPIO_CLR (0xffL<<16) | 899 | #define BNX2_MISC_CLOCK_CONTROL_BITS_CORE_CLK_PLL_SPEED_XI (0xfL<<28) |
738 | #define BNX2_MISC_GPIO_FLOAT (0xffL<<24) | 900 | |
739 | 901 | #define BNX2_MISC_SPIO 0x0000081c | |
740 | #define BNX2_MISC_GPIO_INT 0x00000820 | 902 | #define BNX2_MISC_SPIO_VALUE (0xffL<<0) |
741 | #define BNX2_MISC_GPIO_INT_INT_STATE (0xfL<<0) | 903 | #define BNX2_MISC_SPIO_SET (0xffL<<8) |
742 | #define BNX2_MISC_GPIO_INT_OLD_VALUE (0xfL<<8) | 904 | #define BNX2_MISC_SPIO_CLR (0xffL<<16) |
743 | #define BNX2_MISC_GPIO_INT_OLD_SET (0xfL<<16) | 905 | #define BNX2_MISC_SPIO_FLOAT (0xffL<<24) |
744 | #define BNX2_MISC_GPIO_INT_OLD_CLR (0xfL<<24) | 906 | |
907 | #define BNX2_MISC_SPIO_INT 0x00000820 | ||
908 | #define BNX2_MISC_SPIO_INT_INT_STATE_TE (0xfL<<0) | ||
909 | #define BNX2_MISC_SPIO_INT_OLD_VALUE_TE (0xfL<<8) | ||
910 | #define BNX2_MISC_SPIO_INT_OLD_SET_TE (0xfL<<16) | ||
911 | #define BNX2_MISC_SPIO_INT_OLD_CLR_TE (0xfL<<24) | ||
912 | #define BNX2_MISC_SPIO_INT_INT_STATE_XI (0xffL<<0) | ||
913 | #define BNX2_MISC_SPIO_INT_OLD_VALUE_XI (0xffL<<8) | ||
914 | #define BNX2_MISC_SPIO_INT_OLD_SET_XI (0xffL<<16) | ||
915 | #define BNX2_MISC_SPIO_INT_OLD_CLR_XI (0xffL<<24) | ||
745 | 916 | ||
746 | #define BNX2_MISC_CONFIG_LFSR 0x00000824 | 917 | #define BNX2_MISC_CONFIG_LFSR 0x00000824 |
747 | #define BNX2_MISC_CONFIG_LFSR_DIV (0xffffL<<0) | 918 | #define BNX2_MISC_CONFIG_LFSR_DIV (0xffffL<<0) |
@@ -775,6 +946,8 @@ struct l2_fhdr { | |||
775 | #define BNX2_MISC_LFSR_MASK_BITS_TIMER_ENABLE (1L<<25) | 946 | #define BNX2_MISC_LFSR_MASK_BITS_TIMER_ENABLE (1L<<25) |
776 | #define BNX2_MISC_LFSR_MASK_BITS_DMA_ENGINE_ENABLE (1L<<26) | 947 | #define BNX2_MISC_LFSR_MASK_BITS_DMA_ENGINE_ENABLE (1L<<26) |
777 | #define BNX2_MISC_LFSR_MASK_BITS_UMP_ENABLE (1L<<27) | 948 | #define BNX2_MISC_LFSR_MASK_BITS_UMP_ENABLE (1L<<27) |
949 | #define BNX2_MISC_LFSR_MASK_BITS_RV2P_CMD_SCHEDULER_ENABLE (1L<<28) | ||
950 | #define BNX2_MISC_LFSR_MASK_BITS_RSVD_FUTURE_ENABLE (0x7L<<29) | ||
778 | 951 | ||
779 | #define BNX2_MISC_ARB_REQ0 0x0000082c | 952 | #define BNX2_MISC_ARB_REQ0 0x0000082c |
780 | #define BNX2_MISC_ARB_REQ1 0x00000830 | 953 | #define BNX2_MISC_ARB_REQ1 0x00000830 |
@@ -831,22 +1004,12 @@ struct l2_fhdr { | |||
831 | #define BNX2_MISC_ARB_GNT3_30 (0x7L<<24) | 1004 | #define BNX2_MISC_ARB_GNT3_30 (0x7L<<24) |
832 | #define BNX2_MISC_ARB_GNT3_31 (0x7L<<28) | 1005 | #define BNX2_MISC_ARB_GNT3_31 (0x7L<<28) |
833 | 1006 | ||
834 | #define BNX2_MISC_PRBS_CONTROL 0x00000878 | 1007 | #define BNX2_MISC_RESERVED1 0x00000878 |
835 | #define BNX2_MISC_PRBS_CONTROL_EN (1L<<0) | 1008 | #define BNX2_MISC_RESERVED1_MISC_RESERVED1_VALUE (0x3fL<<0) |
836 | #define BNX2_MISC_PRBS_CONTROL_RSTB (1L<<1) | 1009 | |
837 | #define BNX2_MISC_PRBS_CONTROL_INV (1L<<2) | 1010 | #define BNX2_MISC_RESERVED2 0x0000087c |
838 | #define BNX2_MISC_PRBS_CONTROL_ERR_CLR (1L<<3) | 1011 | #define BNX2_MISC_RESERVED2_PCIE_DIS (1L<<0) |
839 | #define BNX2_MISC_PRBS_CONTROL_ORDER (0x3L<<4) | 1012 | #define BNX2_MISC_RESERVED2_LINK_IN_L23 (1L<<1) |
840 | #define BNX2_MISC_PRBS_CONTROL_ORDER_7TH (0L<<4) | ||
841 | #define BNX2_MISC_PRBS_CONTROL_ORDER_15TH (1L<<4) | ||
842 | #define BNX2_MISC_PRBS_CONTROL_ORDER_23RD (2L<<4) | ||
843 | #define BNX2_MISC_PRBS_CONTROL_ORDER_31ST (3L<<4) | ||
844 | |||
845 | #define BNX2_MISC_PRBS_STATUS 0x0000087c | ||
846 | #define BNX2_MISC_PRBS_STATUS_LOCK (1L<<0) | ||
847 | #define BNX2_MISC_PRBS_STATUS_STKY (1L<<1) | ||
848 | #define BNX2_MISC_PRBS_STATUS_ERRORS (0x3fffL<<2) | ||
849 | #define BNX2_MISC_PRBS_STATUS_STATE (0xfL<<16) | ||
850 | 1013 | ||
851 | #define BNX2_MISC_SM_ASF_CONTROL 0x00000880 | 1014 | #define BNX2_MISC_SM_ASF_CONTROL 0x00000880 |
852 | #define BNX2_MISC_SM_ASF_CONTROL_ASF_RST (1L<<0) | 1015 | #define BNX2_MISC_SM_ASF_CONTROL_ASF_RST (1L<<0) |
@@ -857,13 +1020,15 @@ struct l2_fhdr { | |||
857 | #define BNX2_MISC_SM_ASF_CONTROL_PL_TO (1L<<5) | 1020 | #define BNX2_MISC_SM_ASF_CONTROL_PL_TO (1L<<5) |
858 | #define BNX2_MISC_SM_ASF_CONTROL_RT_TO (1L<<6) | 1021 | #define BNX2_MISC_SM_ASF_CONTROL_RT_TO (1L<<6) |
859 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_EVENT (1L<<7) | 1022 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_EVENT (1L<<7) |
860 | #define BNX2_MISC_SM_ASF_CONTROL_RES (0xfL<<8) | 1023 | #define BNX2_MISC_SM_ASF_CONTROL_STRETCH_EN (1L<<8) |
1024 | #define BNX2_MISC_SM_ASF_CONTROL_STRETCH_PULSE (1L<<9) | ||
1025 | #define BNX2_MISC_SM_ASF_CONTROL_RES (0x3L<<10) | ||
861 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_EN (1L<<12) | 1026 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_EN (1L<<12) |
862 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_BB_EN (1L<<13) | 1027 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_BB_EN (1L<<13) |
863 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_NO_ADDR_FILT (1L<<14) | 1028 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_NO_ADDR_FILT (1L<<14) |
864 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_AUTOREAD (1L<<15) | 1029 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_AUTOREAD (1L<<15) |
865 | #define BNX2_MISC_SM_ASF_CONTROL_NIC_SMB_ADDR1 (0x3fL<<16) | 1030 | #define BNX2_MISC_SM_ASF_CONTROL_NIC_SMB_ADDR1 (0x7fL<<16) |
866 | #define BNX2_MISC_SM_ASF_CONTROL_NIC_SMB_ADDR2 (0x3fL<<24) | 1031 | #define BNX2_MISC_SM_ASF_CONTROL_NIC_SMB_ADDR2 (0x7fL<<23) |
867 | #define BNX2_MISC_SM_ASF_CONTROL_EN_NIC_SMB_ADDR_0 (1L<<30) | 1032 | #define BNX2_MISC_SM_ASF_CONTROL_EN_NIC_SMB_ADDR_0 (1L<<30) |
868 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_EARLY_ATTN (1L<<31) | 1033 | #define BNX2_MISC_SM_ASF_CONTROL_SMB_EARLY_ATTN (1L<<31) |
869 | 1034 | ||
@@ -891,13 +1056,13 @@ struct l2_fhdr { | |||
891 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS (0xfL<<20) | 1056 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS (0xfL<<20) |
892 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_OK (0L<<20) | 1057 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_OK (0L<<20) |
893 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_FIRST_NACK (1L<<20) | 1058 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_FIRST_NACK (1L<<20) |
894 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_SUB_NACK (9L<<20) | ||
895 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_UFLOW (2L<<20) | 1059 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_UFLOW (2L<<20) |
896 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_STOP (3L<<20) | 1060 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_STOP (3L<<20) |
897 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_TIMEOUT (4L<<20) | 1061 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_TIMEOUT (4L<<20) |
898 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_FIRST_LOST (5L<<20) | 1062 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_FIRST_LOST (5L<<20) |
1063 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_BADACK (6L<<20) | ||
1064 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_SUB_NACK (9L<<20) | ||
899 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_SUB_LOST (0xdL<<20) | 1065 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_SUB_LOST (0xdL<<20) |
900 | #define BNX2_MISC_SMB_OUT_SMB_OUT_STATUS_BADACK (0x6L<<20) | ||
901 | #define BNX2_MISC_SMB_OUT_SMB_OUT_SLAVEMODE (1L<<24) | 1066 | #define BNX2_MISC_SMB_OUT_SMB_OUT_SLAVEMODE (1L<<24) |
902 | #define BNX2_MISC_SMB_OUT_SMB_OUT_DAT_EN (1L<<25) | 1067 | #define BNX2_MISC_SMB_OUT_SMB_OUT_DAT_EN (1L<<25) |
903 | #define BNX2_MISC_SMB_OUT_SMB_OUT_DAT_IN (1L<<26) | 1068 | #define BNX2_MISC_SMB_OUT_SMB_OUT_DAT_IN (1L<<26) |
@@ -955,6 +1120,38 @@ struct l2_fhdr { | |||
955 | #define BNX2_MISC_PERR_ENA0_RDE_MISC_RPC (1L<<29) | 1120 | #define BNX2_MISC_PERR_ENA0_RDE_MISC_RPC (1L<<29) |
956 | #define BNX2_MISC_PERR_ENA0_RDE_MISC_RPM (1L<<30) | 1121 | #define BNX2_MISC_PERR_ENA0_RDE_MISC_RPM (1L<<30) |
957 | #define BNX2_MISC_PERR_ENA0_RV2P_MISC_CB0REGS (1L<<31) | 1122 | #define BNX2_MISC_PERR_ENA0_RV2P_MISC_CB0REGS (1L<<31) |
1123 | #define BNX2_MISC_PERR_ENA0_COM_DMAE_PERR_EN_XI (1L<<0) | ||
1124 | #define BNX2_MISC_PERR_ENA0_CP_DMAE_PERR_EN_XI (1L<<1) | ||
1125 | #define BNX2_MISC_PERR_ENA0_RPM_ACPIBEMEM_PERR_EN_XI (1L<<2) | ||
1126 | #define BNX2_MISC_PERR_ENA0_CTX_USAGE_CNT_PERR_EN_XI (1L<<3) | ||
1127 | #define BNX2_MISC_PERR_ENA0_CTX_PGTBL_PERR_EN_XI (1L<<4) | ||
1128 | #define BNX2_MISC_PERR_ENA0_CTX_CACHE_PERR_EN_XI (1L<<5) | ||
1129 | #define BNX2_MISC_PERR_ENA0_CTX_MIRROR_PERR_EN_XI (1L<<6) | ||
1130 | #define BNX2_MISC_PERR_ENA0_COM_CTXC_PERR_EN_XI (1L<<7) | ||
1131 | #define BNX2_MISC_PERR_ENA0_COM_SCPAD_PERR_EN_XI (1L<<8) | ||
1132 | #define BNX2_MISC_PERR_ENA0_CP_CTXC_PERR_EN_XI (1L<<9) | ||
1133 | #define BNX2_MISC_PERR_ENA0_CP_SCPAD_PERR_EN_XI (1L<<10) | ||
1134 | #define BNX2_MISC_PERR_ENA0_RXP_RBUFC_PERR_EN_XI (1L<<11) | ||
1135 | #define BNX2_MISC_PERR_ENA0_RXP_CTXC_PERR_EN_XI (1L<<12) | ||
1136 | #define BNX2_MISC_PERR_ENA0_RXP_SCPAD_PERR_EN_XI (1L<<13) | ||
1137 | #define BNX2_MISC_PERR_ENA0_TPAT_SCPAD_PERR_EN_XI (1L<<14) | ||
1138 | #define BNX2_MISC_PERR_ENA0_TXP_CTXC_PERR_EN_XI (1L<<15) | ||
1139 | #define BNX2_MISC_PERR_ENA0_TXP_SCPAD_PERR_EN_XI (1L<<16) | ||
1140 | #define BNX2_MISC_PERR_ENA0_CS_TMEM_PERR_EN_XI (1L<<17) | ||
1141 | #define BNX2_MISC_PERR_ENA0_MQ_CTX_PERR_EN_XI (1L<<18) | ||
1142 | #define BNX2_MISC_PERR_ENA0_RPM_DFIFOMEM_PERR_EN_XI (1L<<19) | ||
1143 | #define BNX2_MISC_PERR_ENA0_RPC_DFIFOMEM_PERR_EN_XI (1L<<20) | ||
1144 | #define BNX2_MISC_PERR_ENA0_RBUF_PTRMEM_PERR_EN_XI (1L<<21) | ||
1145 | #define BNX2_MISC_PERR_ENA0_RBUF_DATAMEM_PERR_EN_XI (1L<<22) | ||
1146 | #define BNX2_MISC_PERR_ENA0_RV2P_P2IRAM_PERR_EN_XI (1L<<23) | ||
1147 | #define BNX2_MISC_PERR_ENA0_RV2P_P1IRAM_PERR_EN_XI (1L<<24) | ||
1148 | #define BNX2_MISC_PERR_ENA0_RV2P_CB1REGS_PERR_EN_XI (1L<<25) | ||
1149 | #define BNX2_MISC_PERR_ENA0_RV2P_CB0REGS_PERR_EN_XI (1L<<26) | ||
1150 | #define BNX2_MISC_PERR_ENA0_TPBUF_PERR_EN_XI (1L<<27) | ||
1151 | #define BNX2_MISC_PERR_ENA0_THBUF_PERR_EN_XI (1L<<28) | ||
1152 | #define BNX2_MISC_PERR_ENA0_TDMA_PERR_EN_XI (1L<<29) | ||
1153 | #define BNX2_MISC_PERR_ENA0_TBDC_PERR_EN_XI (1L<<30) | ||
1154 | #define BNX2_MISC_PERR_ENA0_TSCH_LR_PERR_EN_XI (1L<<31) | ||
958 | 1155 | ||
959 | #define BNX2_MISC_PERR_ENA1 0x000008a8 | 1156 | #define BNX2_MISC_PERR_ENA1 0x000008a8 |
960 | #define BNX2_MISC_PERR_ENA1_RV2P_MISC_CB1REGS (1L<<0) | 1157 | #define BNX2_MISC_PERR_ENA1_RV2P_MISC_CB1REGS (1L<<0) |
@@ -989,6 +1186,35 @@ struct l2_fhdr { | |||
989 | #define BNX2_MISC_PERR_ENA1_RXPQ_MISC (1L<<29) | 1186 | #define BNX2_MISC_PERR_ENA1_RXPQ_MISC (1L<<29) |
990 | #define BNX2_MISC_PERR_ENA1_RXPCQ_MISC (1L<<30) | 1187 | #define BNX2_MISC_PERR_ENA1_RXPCQ_MISC (1L<<30) |
991 | #define BNX2_MISC_PERR_ENA1_RLUPQ_MISC (1L<<31) | 1188 | #define BNX2_MISC_PERR_ENA1_RLUPQ_MISC (1L<<31) |
1189 | #define BNX2_MISC_PERR_ENA1_RBDC_PERR_EN_XI (1L<<0) | ||
1190 | #define BNX2_MISC_PERR_ENA1_RDMA_DFIFO_PERR_EN_XI (1L<<2) | ||
1191 | #define BNX2_MISC_PERR_ENA1_HC_STATS_PERR_EN_XI (1L<<3) | ||
1192 | #define BNX2_MISC_PERR_ENA1_HC_MSIX_PERR_EN_XI (1L<<4) | ||
1193 | #define BNX2_MISC_PERR_ENA1_HC_PRODUCSTB_PERR_EN_XI (1L<<5) | ||
1194 | #define BNX2_MISC_PERR_ENA1_HC_CONSUMSTB_PERR_EN_XI (1L<<6) | ||
1195 | #define BNX2_MISC_PERR_ENA1_TPATQ_PERR_EN_XI (1L<<7) | ||
1196 | #define BNX2_MISC_PERR_ENA1_MCPQ_PERR_EN_XI (1L<<8) | ||
1197 | #define BNX2_MISC_PERR_ENA1_TDMAQ_PERR_EN_XI (1L<<9) | ||
1198 | #define BNX2_MISC_PERR_ENA1_TXPQ_PERR_EN_XI (1L<<10) | ||
1199 | #define BNX2_MISC_PERR_ENA1_COMTQ_PERR_EN_XI (1L<<11) | ||
1200 | #define BNX2_MISC_PERR_ENA1_COMQ_PERR_EN_XI (1L<<12) | ||
1201 | #define BNX2_MISC_PERR_ENA1_RLUPQ_PERR_EN_XI (1L<<13) | ||
1202 | #define BNX2_MISC_PERR_ENA1_RXPQ_PERR_EN_XI (1L<<14) | ||
1203 | #define BNX2_MISC_PERR_ENA1_RV2PPQ_PERR_EN_XI (1L<<15) | ||
1204 | #define BNX2_MISC_PERR_ENA1_RDMAQ_PERR_EN_XI (1L<<16) | ||
1205 | #define BNX2_MISC_PERR_ENA1_TASQ_PERR_EN_XI (1L<<17) | ||
1206 | #define BNX2_MISC_PERR_ENA1_TBDRQ_PERR_EN_XI (1L<<18) | ||
1207 | #define BNX2_MISC_PERR_ENA1_TSCHQ_PERR_EN_XI (1L<<19) | ||
1208 | #define BNX2_MISC_PERR_ENA1_COMXQ_PERR_EN_XI (1L<<20) | ||
1209 | #define BNX2_MISC_PERR_ENA1_RXPCQ_PERR_EN_XI (1L<<21) | ||
1210 | #define BNX2_MISC_PERR_ENA1_RV2PTQ_PERR_EN_XI (1L<<22) | ||
1211 | #define BNX2_MISC_PERR_ENA1_RV2PMQ_PERR_EN_XI (1L<<23) | ||
1212 | #define BNX2_MISC_PERR_ENA1_CPQ_PERR_EN_XI (1L<<24) | ||
1213 | #define BNX2_MISC_PERR_ENA1_CSQ_PERR_EN_XI (1L<<25) | ||
1214 | #define BNX2_MISC_PERR_ENA1_RLUP_CID_PERR_EN_XI (1L<<26) | ||
1215 | #define BNX2_MISC_PERR_ENA1_RV2PCS_TMEM_PERR_EN_XI (1L<<27) | ||
1216 | #define BNX2_MISC_PERR_ENA1_RV2PCSQ_PERR_EN_XI (1L<<28) | ||
1217 | #define BNX2_MISC_PERR_ENA1_MQ_IDX_PERR_EN_XI (1L<<29) | ||
992 | 1218 | ||
993 | #define BNX2_MISC_PERR_ENA2 0x000008ac | 1219 | #define BNX2_MISC_PERR_ENA2 0x000008ac |
994 | #define BNX2_MISC_PERR_ENA2_COMQ_MISC (1L<<0) | 1220 | #define BNX2_MISC_PERR_ENA2_COMQ_MISC (1L<<0) |
@@ -1000,19 +1226,498 @@ struct l2_fhdr { | |||
1000 | #define BNX2_MISC_PERR_ENA2_TDMAQ_MISC (1L<<6) | 1226 | #define BNX2_MISC_PERR_ENA2_TDMAQ_MISC (1L<<6) |
1001 | #define BNX2_MISC_PERR_ENA2_TPATQ_MISC (1L<<7) | 1227 | #define BNX2_MISC_PERR_ENA2_TPATQ_MISC (1L<<7) |
1002 | #define BNX2_MISC_PERR_ENA2_TASQ_MISC (1L<<8) | 1228 | #define BNX2_MISC_PERR_ENA2_TASQ_MISC (1L<<8) |
1229 | #define BNX2_MISC_PERR_ENA2_TGT_FIFO_PERR_EN_XI (1L<<0) | ||
1230 | #define BNX2_MISC_PERR_ENA2_UMP_TX_PERR_EN_XI (1L<<1) | ||
1231 | #define BNX2_MISC_PERR_ENA2_UMP_RX_PERR_EN_XI (1L<<2) | ||
1232 | #define BNX2_MISC_PERR_ENA2_MCP_ROM_PERR_EN_XI (1L<<3) | ||
1233 | #define BNX2_MISC_PERR_ENA2_MCP_SCPAD_PERR_EN_XI (1L<<4) | ||
1234 | #define BNX2_MISC_PERR_ENA2_HB_MEM_PERR_EN_XI (1L<<5) | ||
1235 | #define BNX2_MISC_PERR_ENA2_PCIE_REPLAY_PERR_EN_XI (1L<<6) | ||
1003 | 1236 | ||
1004 | #define BNX2_MISC_DEBUG_VECTOR_SEL 0x000008b0 | 1237 | #define BNX2_MISC_DEBUG_VECTOR_SEL 0x000008b0 |
1005 | #define BNX2_MISC_DEBUG_VECTOR_SEL_0 (0xfffL<<0) | 1238 | #define BNX2_MISC_DEBUG_VECTOR_SEL_0 (0xfffL<<0) |
1006 | #define BNX2_MISC_DEBUG_VECTOR_SEL_1 (0xfffL<<12) | 1239 | #define BNX2_MISC_DEBUG_VECTOR_SEL_1 (0xfffL<<12) |
1240 | #define BNX2_MISC_DEBUG_VECTOR_SEL_1_XI (0xfffL<<15) | ||
1007 | 1241 | ||
1008 | #define BNX2_MISC_VREG_CONTROL 0x000008b4 | 1242 | #define BNX2_MISC_VREG_CONTROL 0x000008b4 |
1009 | #define BNX2_MISC_VREG_CONTROL_1_2 (0xfL<<0) | 1243 | #define BNX2_MISC_VREG_CONTROL_1_2 (0xfL<<0) |
1244 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_XI (0xfL<<0) | ||
1245 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_PLUS14_XI (0L<<0) | ||
1246 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_PLUS12_XI (1L<<0) | ||
1247 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_PLUS10_XI (2L<<0) | ||
1248 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_PLUS8_XI (3L<<0) | ||
1249 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_PLUS6_XI (4L<<0) | ||
1250 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_PLUS4_XI (5L<<0) | ||
1251 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_PLUS2_XI (6L<<0) | ||
1252 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_NOM_XI (7L<<0) | ||
1253 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_MINUS2_XI (8L<<0) | ||
1254 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_MINUS4_XI (9L<<0) | ||
1255 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_MINUS6_XI (10L<<0) | ||
1256 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_MINUS8_XI (11L<<0) | ||
1257 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_MINUS10_XI (12L<<0) | ||
1258 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_MINUS12_XI (13L<<0) | ||
1259 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_MINUS14_XI (14L<<0) | ||
1260 | #define BNX2_MISC_VREG_CONTROL_1_0_MAIN_MINUS16_XI (15L<<0) | ||
1010 | #define BNX2_MISC_VREG_CONTROL_2_5 (0xfL<<4) | 1261 | #define BNX2_MISC_VREG_CONTROL_2_5 (0xfL<<4) |
1262 | #define BNX2_MISC_VREG_CONTROL_2_5_PLUS14 (0L<<4) | ||
1263 | #define BNX2_MISC_VREG_CONTROL_2_5_PLUS12 (1L<<4) | ||
1264 | #define BNX2_MISC_VREG_CONTROL_2_5_PLUS10 (2L<<4) | ||
1265 | #define BNX2_MISC_VREG_CONTROL_2_5_PLUS8 (3L<<4) | ||
1266 | #define BNX2_MISC_VREG_CONTROL_2_5_PLUS6 (4L<<4) | ||
1267 | #define BNX2_MISC_VREG_CONTROL_2_5_PLUS4 (5L<<4) | ||
1268 | #define BNX2_MISC_VREG_CONTROL_2_5_PLUS2 (6L<<4) | ||
1269 | #define BNX2_MISC_VREG_CONTROL_2_5_NOM (7L<<4) | ||
1270 | #define BNX2_MISC_VREG_CONTROL_2_5_MINUS2 (8L<<4) | ||
1271 | #define BNX2_MISC_VREG_CONTROL_2_5_MINUS4 (9L<<4) | ||
1272 | #define BNX2_MISC_VREG_CONTROL_2_5_MINUS6 (10L<<4) | ||
1273 | #define BNX2_MISC_VREG_CONTROL_2_5_MINUS8 (11L<<4) | ||
1274 | #define BNX2_MISC_VREG_CONTROL_2_5_MINUS10 (12L<<4) | ||
1275 | #define BNX2_MISC_VREG_CONTROL_2_5_MINUS12 (13L<<4) | ||
1276 | #define BNX2_MISC_VREG_CONTROL_2_5_MINUS14 (14L<<4) | ||
1277 | #define BNX2_MISC_VREG_CONTROL_2_5_MINUS16 (15L<<4) | ||
1278 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT (0xfL<<8) | ||
1279 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_PLUS14 (0L<<8) | ||
1280 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_PLUS12 (1L<<8) | ||
1281 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_PLUS10 (2L<<8) | ||
1282 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_PLUS8 (3L<<8) | ||
1283 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_PLUS6 (4L<<8) | ||
1284 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_PLUS4 (5L<<8) | ||
1285 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_PLUS2 (6L<<8) | ||
1286 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_NOM (7L<<8) | ||
1287 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_MINUS2 (8L<<8) | ||
1288 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_MINUS4 (9L<<8) | ||
1289 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_MINUS6 (10L<<8) | ||
1290 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_MINUS8 (11L<<8) | ||
1291 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_MINUS10 (12L<<8) | ||
1292 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_MINUS12 (13L<<8) | ||
1293 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_MINUS14 (14L<<8) | ||
1294 | #define BNX2_MISC_VREG_CONTROL_1_0_MGMT_MINUS16 (15L<<8) | ||
1011 | 1295 | ||
1012 | #define BNX2_MISC_FINAL_CLK_CTL_VAL 0x000008b8 | 1296 | #define BNX2_MISC_FINAL_CLK_CTL_VAL 0x000008b8 |
1013 | #define BNX2_MISC_FINAL_CLK_CTL_VAL_MISC_FINAL_CLK_CTL_VAL (0x3ffffffL<<6) | 1297 | #define BNX2_MISC_FINAL_CLK_CTL_VAL_MISC_FINAL_CLK_CTL_VAL (0x3ffffffL<<6) |
1014 | 1298 | ||
1015 | #define BNX2_MISC_UNUSED0 0x000008bc | 1299 | #define BNX2_MISC_GP_HW_CTL0 0x000008bc |
1300 | #define BNX2_MISC_GP_HW_CTL0_TX_DRIVE (1L<<0) | ||
1301 | #define BNX2_MISC_GP_HW_CTL0_RMII_MODE (1L<<1) | ||
1302 | #define BNX2_MISC_GP_HW_CTL0_RMII_CRSDV_SEL (1L<<2) | ||
1303 | #define BNX2_MISC_GP_HW_CTL0_RVMII_MODE (1L<<3) | ||
1304 | #define BNX2_MISC_GP_HW_CTL0_FLASH_SAMP_SCLK_NEGEDGE_TE (1L<<4) | ||
1305 | #define BNX2_MISC_GP_HW_CTL0_HIDDEN_REVISION_ID_TE (1L<<5) | ||
1306 | #define BNX2_MISC_GP_HW_CTL0_HC_CNTL_TMOUT_CTR_RST_TE (1L<<6) | ||
1307 | #define BNX2_MISC_GP_HW_CTL0_RESERVED1_XI (0x7L<<4) | ||
1308 | #define BNX2_MISC_GP_HW_CTL0_ENA_CORE_RST_ON_MAIN_PWR_GOING_AWAY (1L<<7) | ||
1309 | #define BNX2_MISC_GP_HW_CTL0_ENA_SEL_VAUX_B_IN_L2_TE (1L<<8) | ||
1310 | #define BNX2_MISC_GP_HW_CTL0_GRC_BNK_FREE_FIX_TE (1L<<9) | ||
1311 | #define BNX2_MISC_GP_HW_CTL0_LED_ACT_SEL_TE (1L<<10) | ||
1312 | #define BNX2_MISC_GP_HW_CTL0_RESERVED2_XI (0x7L<<8) | ||
1313 | #define BNX2_MISC_GP_HW_CTL0_UP1_DEF0 (1L<<11) | ||
1314 | #define BNX2_MISC_GP_HW_CTL0_FIBER_MODE_DIS_DEF (1L<<12) | ||
1315 | #define BNX2_MISC_GP_HW_CTL0_FORCE2500_DEF (1L<<13) | ||
1316 | #define BNX2_MISC_GP_HW_CTL0_AUTODETECT_DIS_DEF (1L<<14) | ||
1317 | #define BNX2_MISC_GP_HW_CTL0_PARALLEL_DETECT_DEF (1L<<15) | ||
1318 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_DAI (0xfL<<16) | ||
1319 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_DAI_3MA (0L<<16) | ||
1320 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_DAI_2P5MA (1L<<16) | ||
1321 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_DAI_2P0MA (3L<<16) | ||
1322 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_DAI_1P5MA (5L<<16) | ||
1323 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_DAI_1P0MA (7L<<16) | ||
1324 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_DAI_PWRDN (15L<<16) | ||
1325 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_PRE2DIS (1L<<20) | ||
1326 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_PRE1DIS (1L<<21) | ||
1327 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_CTAT (0x3L<<22) | ||
1328 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_CTAT_M6P (0L<<22) | ||
1329 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_CTAT_M0P (1L<<22) | ||
1330 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_CTAT_P0P (2L<<22) | ||
1331 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_CTAT_P6P (3L<<22) | ||
1332 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_PTAT (0x3L<<24) | ||
1333 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_PTAT_M6P (0L<<24) | ||
1334 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_PTAT_M0P (1L<<24) | ||
1335 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_PTAT_P0P (2L<<24) | ||
1336 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_PTAT_P6P (3L<<24) | ||
1337 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_IAMP_ADJ (0x3L<<26) | ||
1338 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_IAMP_ADJ_240UA (0L<<26) | ||
1339 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_IAMP_ADJ_160UA (1L<<26) | ||
1340 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_IAMP_ADJ_400UA (2L<<26) | ||
1341 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_IAMP_ADJ_320UA (3L<<26) | ||
1342 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_ICBUF_ADJ (0x3L<<28) | ||
1343 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_ICBUF_ADJ_240UA (0L<<28) | ||
1344 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_ICBUF_ADJ_160UA (1L<<28) | ||
1345 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_ICBUF_ADJ_400UA (2L<<28) | ||
1346 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_ICBUF_ADJ_320UA (3L<<28) | ||
1347 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_XTAL_ADJ (0x3L<<30) | ||
1348 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_XTAL_ADJ_1P57 (0L<<30) | ||
1349 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_XTAL_ADJ_1P45 (1L<<30) | ||
1350 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_XTAL_ADJ_1P62 (2L<<30) | ||
1351 | #define BNX2_MISC_GP_HW_CTL0_OSCCTRL_XTAL_ADJ_1P66 (3L<<30) | ||
1352 | |||
1353 | #define BNX2_MISC_GP_HW_CTL1 0x000008c0 | ||
1354 | #define BNX2_MISC_GP_HW_CTL1_1_ATTN_BTN_PRSNT_TE (1L<<0) | ||
1355 | #define BNX2_MISC_GP_HW_CTL1_1_ATTN_IND_PRSNT_TE (1L<<1) | ||
1356 | #define BNX2_MISC_GP_HW_CTL1_1_PWR_IND_PRSNT_TE (1L<<2) | ||
1357 | #define BNX2_MISC_GP_HW_CTL1_0_PCIE_LOOPBACK_TE (1L<<3) | ||
1358 | #define BNX2_MISC_GP_HW_CTL1_RESERVED_SOFT_XI (0xffffL<<0) | ||
1359 | #define BNX2_MISC_GP_HW_CTL1_RESERVED_HARD_XI (0xffffL<<16) | ||
1360 | |||
1361 | #define BNX2_MISC_NEW_HW_CTL 0x000008c4 | ||
1362 | #define BNX2_MISC_NEW_HW_CTL_MAIN_POR_BYPASS (1L<<0) | ||
1363 | #define BNX2_MISC_NEW_HW_CTL_RINGOSC_ENABLE (1L<<1) | ||
1364 | #define BNX2_MISC_NEW_HW_CTL_RINGOSC_SEL0 (1L<<2) | ||
1365 | #define BNX2_MISC_NEW_HW_CTL_RINGOSC_SEL1 (1L<<3) | ||
1366 | #define BNX2_MISC_NEW_HW_CTL_RESERVED_SHARED (0xfffL<<4) | ||
1367 | #define BNX2_MISC_NEW_HW_CTL_RESERVED_SPLIT (0xffffL<<16) | ||
1368 | |||
1369 | #define BNX2_MISC_NEW_CORE_CTL 0x000008c8 | ||
1370 | #define BNX2_MISC_NEW_CORE_CTL_LINK_HOLDOFF_SUCCESS (1L<<0) | ||
1371 | #define BNX2_MISC_NEW_CORE_CTL_LINK_HOLDOFF_REQ (1L<<1) | ||
1372 | #define BNX2_MISC_NEW_CORE_CTL_RESERVED_CMN (0x3fffL<<2) | ||
1373 | #define BNX2_MISC_NEW_CORE_CTL_RESERVED_TC (0xffffL<<16) | ||
1374 | |||
1375 | #define BNX2_MISC_ECO_HW_CTL 0x000008cc | ||
1376 | #define BNX2_MISC_ECO_HW_CTL_LARGE_GRC_TMOUT_EN (1L<<0) | ||
1377 | #define BNX2_MISC_ECO_HW_CTL_RESERVED_SOFT (0x7fffL<<1) | ||
1378 | #define BNX2_MISC_ECO_HW_CTL_RESERVED_HARD (0xffffL<<16) | ||
1379 | |||
1380 | #define BNX2_MISC_ECO_CORE_CTL 0x000008d0 | ||
1381 | #define BNX2_MISC_ECO_CORE_CTL_RESERVED_SOFT (0xffffL<<0) | ||
1382 | #define BNX2_MISC_ECO_CORE_CTL_RESERVED_HARD (0xffffL<<16) | ||
1383 | |||
1384 | #define BNX2_MISC_PPIO 0x000008d4 | ||
1385 | #define BNX2_MISC_PPIO_VALUE (0xfL<<0) | ||
1386 | #define BNX2_MISC_PPIO_SET (0xfL<<8) | ||
1387 | #define BNX2_MISC_PPIO_CLR (0xfL<<16) | ||
1388 | #define BNX2_MISC_PPIO_FLOAT (0xfL<<24) | ||
1389 | |||
1390 | #define BNX2_MISC_PPIO_INT 0x000008d8 | ||
1391 | #define BNX2_MISC_PPIO_INT_INT_STATE (0xfL<<0) | ||
1392 | #define BNX2_MISC_PPIO_INT_OLD_VALUE (0xfL<<8) | ||
1393 | #define BNX2_MISC_PPIO_INT_OLD_SET (0xfL<<16) | ||
1394 | #define BNX2_MISC_PPIO_INT_OLD_CLR (0xfL<<24) | ||
1395 | |||
1396 | #define BNX2_MISC_RESET_NUMS 0x000008dc | ||
1397 | #define BNX2_MISC_RESET_NUMS_NUM_HARD_RESETS (0x7L<<0) | ||
1398 | #define BNX2_MISC_RESET_NUMS_NUM_PCIE_RESETS (0x7L<<4) | ||
1399 | #define BNX2_MISC_RESET_NUMS_NUM_PERSTB_RESETS (0x7L<<8) | ||
1400 | #define BNX2_MISC_RESET_NUMS_NUM_CMN_RESETS (0x7L<<12) | ||
1401 | #define BNX2_MISC_RESET_NUMS_NUM_PORT_RESETS (0x7L<<16) | ||
1402 | |||
1403 | #define BNX2_MISC_CS16_ERR 0x000008e0 | ||
1404 | #define BNX2_MISC_CS16_ERR_ENA_PCI (1L<<0) | ||
1405 | #define BNX2_MISC_CS16_ERR_ENA_RDMA (1L<<1) | ||
1406 | #define BNX2_MISC_CS16_ERR_ENA_TDMA (1L<<2) | ||
1407 | #define BNX2_MISC_CS16_ERR_ENA_EMAC (1L<<3) | ||
1408 | #define BNX2_MISC_CS16_ERR_ENA_CTX (1L<<4) | ||
1409 | #define BNX2_MISC_CS16_ERR_ENA_TBDR (1L<<5) | ||
1410 | #define BNX2_MISC_CS16_ERR_ENA_RBDC (1L<<6) | ||
1411 | #define BNX2_MISC_CS16_ERR_ENA_COM (1L<<7) | ||
1412 | #define BNX2_MISC_CS16_ERR_ENA_CP (1L<<8) | ||
1413 | #define BNX2_MISC_CS16_ERR_STA_PCI (1L<<16) | ||
1414 | #define BNX2_MISC_CS16_ERR_STA_RDMA (1L<<17) | ||
1415 | #define BNX2_MISC_CS16_ERR_STA_TDMA (1L<<18) | ||
1416 | #define BNX2_MISC_CS16_ERR_STA_EMAC (1L<<19) | ||
1417 | #define BNX2_MISC_CS16_ERR_STA_CTX (1L<<20) | ||
1418 | #define BNX2_MISC_CS16_ERR_STA_TBDR (1L<<21) | ||
1419 | #define BNX2_MISC_CS16_ERR_STA_RBDC (1L<<22) | ||
1420 | #define BNX2_MISC_CS16_ERR_STA_COM (1L<<23) | ||
1421 | #define BNX2_MISC_CS16_ERR_STA_CP (1L<<24) | ||
1422 | |||
1423 | #define BNX2_MISC_SPIO_EVENT 0x000008e4 | ||
1424 | #define BNX2_MISC_SPIO_EVENT_ENABLE (0xffL<<0) | ||
1425 | |||
1426 | #define BNX2_MISC_PPIO_EVENT 0x000008e8 | ||
1427 | #define BNX2_MISC_PPIO_EVENT_ENABLE (0xfL<<0) | ||
1428 | |||
1429 | #define BNX2_MISC_DUAL_MEDIA_CTRL 0x000008ec | ||
1430 | #define BNX2_MISC_DUAL_MEDIA_CTRL_BOND_ID (0xffL<<0) | ||
1431 | #define BNX2_MISC_DUAL_MEDIA_CTRL_BOND_ID_X (0L<<0) | ||
1432 | #define BNX2_MISC_DUAL_MEDIA_CTRL_BOND_ID_C (3L<<0) | ||
1433 | #define BNX2_MISC_DUAL_MEDIA_CTRL_BOND_ID_S (12L<<0) | ||
1434 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY_CTRL_STRAP (0x7L<<8) | ||
1435 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PORT_SWAP_PIN (1L<<11) | ||
1436 | #define BNX2_MISC_DUAL_MEDIA_CTRL_SERDES1_SIGDET (1L<<12) | ||
1437 | #define BNX2_MISC_DUAL_MEDIA_CTRL_SERDES0_SIGDET (1L<<13) | ||
1438 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY1_SIGDET (1L<<14) | ||
1439 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY0_SIGDET (1L<<15) | ||
1440 | #define BNX2_MISC_DUAL_MEDIA_CTRL_LCPLL_RST (1L<<16) | ||
1441 | #define BNX2_MISC_DUAL_MEDIA_CTRL_SERDES1_RST (1L<<17) | ||
1442 | #define BNX2_MISC_DUAL_MEDIA_CTRL_SERDES0_RST (1L<<18) | ||
1443 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY1_RST (1L<<19) | ||
1444 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY0_RST (1L<<20) | ||
1445 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY_CTRL (0x7L<<21) | ||
1446 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PORT_SWAP (1L<<24) | ||
1447 | #define BNX2_MISC_DUAL_MEDIA_CTRL_STRAP_OVERRIDE (1L<<25) | ||
1448 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY_SERDES_IDDQ (0xfL<<26) | ||
1449 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY_SERDES_IDDQ_SER1_IDDQ (1L<<26) | ||
1450 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY_SERDES_IDDQ_SER0_IDDQ (2L<<26) | ||
1451 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY_SERDES_IDDQ_PHY1_IDDQ (4L<<26) | ||
1452 | #define BNX2_MISC_DUAL_MEDIA_CTRL_PHY_SERDES_IDDQ_PHY0_IDDQ (8L<<26) | ||
1453 | |||
1454 | #define BNX2_MISC_OTP_CMD1 0x000008f0 | ||
1455 | #define BNX2_MISC_OTP_CMD1_FMODE (0x7L<<0) | ||
1456 | #define BNX2_MISC_OTP_CMD1_FMODE_IDLE (0L<<0) | ||
1457 | #define BNX2_MISC_OTP_CMD1_FMODE_WRITE (1L<<0) | ||
1458 | #define BNX2_MISC_OTP_CMD1_FMODE_INIT (2L<<0) | ||
1459 | #define BNX2_MISC_OTP_CMD1_FMODE_SET (3L<<0) | ||
1460 | #define BNX2_MISC_OTP_CMD1_FMODE_RST (4L<<0) | ||
1461 | #define BNX2_MISC_OTP_CMD1_FMODE_VERIFY (5L<<0) | ||
1462 | #define BNX2_MISC_OTP_CMD1_FMODE_RESERVED0 (6L<<0) | ||
1463 | #define BNX2_MISC_OTP_CMD1_FMODE_RESERVED1 (7L<<0) | ||
1464 | #define BNX2_MISC_OTP_CMD1_USEPINS (1L<<8) | ||
1465 | #define BNX2_MISC_OTP_CMD1_PROGSEL (1L<<9) | ||
1466 | #define BNX2_MISC_OTP_CMD1_PROGSTART (1L<<10) | ||
1467 | #define BNX2_MISC_OTP_CMD1_PCOUNT (0x7L<<16) | ||
1468 | #define BNX2_MISC_OTP_CMD1_PBYP (1L<<19) | ||
1469 | #define BNX2_MISC_OTP_CMD1_VSEL (0xfL<<20) | ||
1470 | #define BNX2_MISC_OTP_CMD1_TM (0x7L<<27) | ||
1471 | #define BNX2_MISC_OTP_CMD1_SADBYP (1L<<30) | ||
1472 | #define BNX2_MISC_OTP_CMD1_DEBUG (1L<<31) | ||
1473 | |||
1474 | #define BNX2_MISC_OTP_CMD2 0x000008f4 | ||
1475 | #define BNX2_MISC_OTP_CMD2_OTP_ROM_ADDR (0x3ffL<<0) | ||
1476 | #define BNX2_MISC_OTP_CMD2_DOSEL (0x7fL<<16) | ||
1477 | #define BNX2_MISC_OTP_CMD2_DOSEL_0 (0L<<16) | ||
1478 | #define BNX2_MISC_OTP_CMD2_DOSEL_1 (1L<<16) | ||
1479 | #define BNX2_MISC_OTP_CMD2_DOSEL_127 (127L<<16) | ||
1480 | |||
1481 | #define BNX2_MISC_OTP_STATUS 0x000008f8 | ||
1482 | #define BNX2_MISC_OTP_STATUS_DATA (0xffL<<0) | ||
1483 | #define BNX2_MISC_OTP_STATUS_VALID (1L<<8) | ||
1484 | #define BNX2_MISC_OTP_STATUS_BUSY (1L<<9) | ||
1485 | #define BNX2_MISC_OTP_STATUS_BUSYSM (1L<<10) | ||
1486 | #define BNX2_MISC_OTP_STATUS_DONE (1L<<11) | ||
1487 | |||
1488 | #define BNX2_MISC_OTP_SHIFT1_CMD 0x000008fc | ||
1489 | #define BNX2_MISC_OTP_SHIFT1_CMD_RESET_MODE_N (1L<<0) | ||
1490 | #define BNX2_MISC_OTP_SHIFT1_CMD_SHIFT_DONE (1L<<1) | ||
1491 | #define BNX2_MISC_OTP_SHIFT1_CMD_SHIFT_START (1L<<2) | ||
1492 | #define BNX2_MISC_OTP_SHIFT1_CMD_LOAD_DATA (1L<<3) | ||
1493 | #define BNX2_MISC_OTP_SHIFT1_CMD_SHIFT_SELECT (0x1fL<<8) | ||
1494 | |||
1495 | #define BNX2_MISC_OTP_SHIFT1_DATA 0x00000900 | ||
1496 | #define BNX2_MISC_OTP_SHIFT2_CMD 0x00000904 | ||
1497 | #define BNX2_MISC_OTP_SHIFT2_CMD_RESET_MODE_N (1L<<0) | ||
1498 | #define BNX2_MISC_OTP_SHIFT2_CMD_SHIFT_DONE (1L<<1) | ||
1499 | #define BNX2_MISC_OTP_SHIFT2_CMD_SHIFT_START (1L<<2) | ||
1500 | #define BNX2_MISC_OTP_SHIFT2_CMD_LOAD_DATA (1L<<3) | ||
1501 | #define BNX2_MISC_OTP_SHIFT2_CMD_SHIFT_SELECT (0x1fL<<8) | ||
1502 | |||
1503 | #define BNX2_MISC_OTP_SHIFT2_DATA 0x00000908 | ||
1504 | #define BNX2_MISC_BIST_CS0 0x0000090c | ||
1505 | #define BNX2_MISC_BIST_CS0_MBIST_EN (1L<<0) | ||
1506 | #define BNX2_MISC_BIST_CS0_BIST_SETUP (0x3L<<1) | ||
1507 | #define BNX2_MISC_BIST_CS0_MBIST_ASYNC_RESET (1L<<3) | ||
1508 | #define BNX2_MISC_BIST_CS0_MBIST_DONE (1L<<8) | ||
1509 | #define BNX2_MISC_BIST_CS0_MBIST_GO (1L<<9) | ||
1510 | #define BNX2_MISC_BIST_CS0_BIST_OVERRIDE (1L<<31) | ||
1511 | |||
1512 | #define BNX2_MISC_BIST_MEMSTATUS0 0x00000910 | ||
1513 | #define BNX2_MISC_BIST_CS1 0x00000914 | ||
1514 | #define BNX2_MISC_BIST_CS1_MBIST_EN (1L<<0) | ||
1515 | #define BNX2_MISC_BIST_CS1_BIST_SETUP (0x3L<<1) | ||
1516 | #define BNX2_MISC_BIST_CS1_MBIST_ASYNC_RESET (1L<<3) | ||
1517 | #define BNX2_MISC_BIST_CS1_MBIST_DONE (1L<<8) | ||
1518 | #define BNX2_MISC_BIST_CS1_MBIST_GO (1L<<9) | ||
1519 | |||
1520 | #define BNX2_MISC_BIST_MEMSTATUS1 0x00000918 | ||
1521 | #define BNX2_MISC_BIST_CS2 0x0000091c | ||
1522 | #define BNX2_MISC_BIST_CS2_MBIST_EN (1L<<0) | ||
1523 | #define BNX2_MISC_BIST_CS2_BIST_SETUP (0x3L<<1) | ||
1524 | #define BNX2_MISC_BIST_CS2_MBIST_ASYNC_RESET (1L<<3) | ||
1525 | #define BNX2_MISC_BIST_CS2_MBIST_DONE (1L<<8) | ||
1526 | #define BNX2_MISC_BIST_CS2_MBIST_GO (1L<<9) | ||
1527 | |||
1528 | #define BNX2_MISC_BIST_MEMSTATUS2 0x00000920 | ||
1529 | #define BNX2_MISC_BIST_CS3 0x00000924 | ||
1530 | #define BNX2_MISC_BIST_CS3_MBIST_EN (1L<<0) | ||
1531 | #define BNX2_MISC_BIST_CS3_BIST_SETUP (0x3L<<1) | ||
1532 | #define BNX2_MISC_BIST_CS3_MBIST_ASYNC_RESET (1L<<3) | ||
1533 | #define BNX2_MISC_BIST_CS3_MBIST_DONE (1L<<8) | ||
1534 | #define BNX2_MISC_BIST_CS3_MBIST_GO (1L<<9) | ||
1535 | |||
1536 | #define BNX2_MISC_BIST_MEMSTATUS3 0x00000928 | ||
1537 | #define BNX2_MISC_BIST_CS4 0x0000092c | ||
1538 | #define BNX2_MISC_BIST_CS4_MBIST_EN (1L<<0) | ||
1539 | #define BNX2_MISC_BIST_CS4_BIST_SETUP (0x3L<<1) | ||
1540 | #define BNX2_MISC_BIST_CS4_MBIST_ASYNC_RESET (1L<<3) | ||
1541 | #define BNX2_MISC_BIST_CS4_MBIST_DONE (1L<<8) | ||
1542 | #define BNX2_MISC_BIST_CS4_MBIST_GO (1L<<9) | ||
1543 | |||
1544 | #define BNX2_MISC_BIST_MEMSTATUS4 0x00000930 | ||
1545 | #define BNX2_MISC_BIST_CS5 0x00000934 | ||
1546 | #define BNX2_MISC_BIST_CS5_MBIST_EN (1L<<0) | ||
1547 | #define BNX2_MISC_BIST_CS5_BIST_SETUP (0x3L<<1) | ||
1548 | #define BNX2_MISC_BIST_CS5_MBIST_ASYNC_RESET (1L<<3) | ||
1549 | #define BNX2_MISC_BIST_CS5_MBIST_DONE (1L<<8) | ||
1550 | #define BNX2_MISC_BIST_CS5_MBIST_GO (1L<<9) | ||
1551 | |||
1552 | #define BNX2_MISC_BIST_MEMSTATUS5 0x00000938 | ||
1553 | #define BNX2_MISC_MEM_TM0 0x0000093c | ||
1554 | #define BNX2_MISC_MEM_TM0_PCIE_REPLAY_TM (0xfL<<0) | ||
1555 | #define BNX2_MISC_MEM_TM0_MCP_SCPAD (0xfL<<8) | ||
1556 | #define BNX2_MISC_MEM_TM0_UMP_TM (0xffL<<16) | ||
1557 | #define BNX2_MISC_MEM_TM0_HB_MEM_TM (0xfL<<24) | ||
1558 | |||
1559 | #define BNX2_MISC_USPLL_CTRL 0x00000940 | ||
1560 | #define BNX2_MISC_USPLL_CTRL_PH_DET_DIS (1L<<0) | ||
1561 | #define BNX2_MISC_USPLL_CTRL_FREQ_DET_DIS (1L<<1) | ||
1562 | #define BNX2_MISC_USPLL_CTRL_LCPX (0x3fL<<2) | ||
1563 | #define BNX2_MISC_USPLL_CTRL_RX (0x3L<<8) | ||
1564 | #define BNX2_MISC_USPLL_CTRL_VC_EN (1L<<10) | ||
1565 | #define BNX2_MISC_USPLL_CTRL_VCO_MG (0x3L<<11) | ||
1566 | #define BNX2_MISC_USPLL_CTRL_KVCO_XF (0x7L<<13) | ||
1567 | #define BNX2_MISC_USPLL_CTRL_KVCO_XS (0x7L<<16) | ||
1568 | #define BNX2_MISC_USPLL_CTRL_TESTD_EN (1L<<19) | ||
1569 | #define BNX2_MISC_USPLL_CTRL_TESTD_SEL (0x7L<<20) | ||
1570 | #define BNX2_MISC_USPLL_CTRL_TESTA_EN (1L<<23) | ||
1571 | #define BNX2_MISC_USPLL_CTRL_TESTA_SEL (0x3L<<24) | ||
1572 | #define BNX2_MISC_USPLL_CTRL_ATTEN_FREF (1L<<26) | ||
1573 | #define BNX2_MISC_USPLL_CTRL_DIGITAL_RST (1L<<27) | ||
1574 | #define BNX2_MISC_USPLL_CTRL_ANALOG_RST (1L<<28) | ||
1575 | #define BNX2_MISC_USPLL_CTRL_LOCK (1L<<29) | ||
1576 | |||
1577 | #define BNX2_MISC_PERR_STATUS0 0x00000944 | ||
1578 | #define BNX2_MISC_PERR_STATUS0_COM_DMAE_PERR (1L<<0) | ||
1579 | #define BNX2_MISC_PERR_STATUS0_CP_DMAE_PERR (1L<<1) | ||
1580 | #define BNX2_MISC_PERR_STATUS0_RPM_ACPIBEMEM_PERR (1L<<2) | ||
1581 | #define BNX2_MISC_PERR_STATUS0_CTX_USAGE_CNT_PERR (1L<<3) | ||
1582 | #define BNX2_MISC_PERR_STATUS0_CTX_PGTBL_PERR (1L<<4) | ||
1583 | #define BNX2_MISC_PERR_STATUS0_CTX_CACHE_PERR (1L<<5) | ||
1584 | #define BNX2_MISC_PERR_STATUS0_CTX_MIRROR_PERR (1L<<6) | ||
1585 | #define BNX2_MISC_PERR_STATUS0_COM_CTXC_PERR (1L<<7) | ||
1586 | #define BNX2_MISC_PERR_STATUS0_COM_SCPAD_PERR (1L<<8) | ||
1587 | #define BNX2_MISC_PERR_STATUS0_CP_CTXC_PERR (1L<<9) | ||
1588 | #define BNX2_MISC_PERR_STATUS0_CP_SCPAD_PERR (1L<<10) | ||
1589 | #define BNX2_MISC_PERR_STATUS0_RXP_RBUFC_PERR (1L<<11) | ||
1590 | #define BNX2_MISC_PERR_STATUS0_RXP_CTXC_PERR (1L<<12) | ||
1591 | #define BNX2_MISC_PERR_STATUS0_RXP_SCPAD_PERR (1L<<13) | ||
1592 | #define BNX2_MISC_PERR_STATUS0_TPAT_SCPAD_PERR (1L<<14) | ||
1593 | #define BNX2_MISC_PERR_STATUS0_TXP_CTXC_PERR (1L<<15) | ||
1594 | #define BNX2_MISC_PERR_STATUS0_TXP_SCPAD_PERR (1L<<16) | ||
1595 | #define BNX2_MISC_PERR_STATUS0_CS_TMEM_PERR (1L<<17) | ||
1596 | #define BNX2_MISC_PERR_STATUS0_MQ_CTX_PERR (1L<<18) | ||
1597 | #define BNX2_MISC_PERR_STATUS0_RPM_DFIFOMEM_PERR (1L<<19) | ||
1598 | #define BNX2_MISC_PERR_STATUS0_RPC_DFIFOMEM_PERR (1L<<20) | ||
1599 | #define BNX2_MISC_PERR_STATUS0_RBUF_PTRMEM_PERR (1L<<21) | ||
1600 | #define BNX2_MISC_PERR_STATUS0_RBUF_DATAMEM_PERR (1L<<22) | ||
1601 | #define BNX2_MISC_PERR_STATUS0_RV2P_P2IRAM_PERR (1L<<23) | ||
1602 | #define BNX2_MISC_PERR_STATUS0_RV2P_P1IRAM_PERR (1L<<24) | ||
1603 | #define BNX2_MISC_PERR_STATUS0_RV2P_CB1REGS_PERR (1L<<25) | ||
1604 | #define BNX2_MISC_PERR_STATUS0_RV2P_CB0REGS_PERR (1L<<26) | ||
1605 | #define BNX2_MISC_PERR_STATUS0_TPBUF_PERR (1L<<27) | ||
1606 | #define BNX2_MISC_PERR_STATUS0_THBUF_PERR (1L<<28) | ||
1607 | #define BNX2_MISC_PERR_STATUS0_TDMA_PERR (1L<<29) | ||
1608 | #define BNX2_MISC_PERR_STATUS0_TBDC_PERR (1L<<30) | ||
1609 | #define BNX2_MISC_PERR_STATUS0_TSCH_LR_PERR (1L<<31) | ||
1610 | |||
1611 | #define BNX2_MISC_PERR_STATUS1 0x00000948 | ||
1612 | #define BNX2_MISC_PERR_STATUS1_RBDC_PERR (1L<<0) | ||
1613 | #define BNX2_MISC_PERR_STATUS1_RDMA_DFIFO_PERR (1L<<2) | ||
1614 | #define BNX2_MISC_PERR_STATUS1_HC_STATS_PERR (1L<<3) | ||
1615 | #define BNX2_MISC_PERR_STATUS1_HC_MSIX_PERR (1L<<4) | ||
1616 | #define BNX2_MISC_PERR_STATUS1_HC_PRODUCSTB_PERR (1L<<5) | ||
1617 | #define BNX2_MISC_PERR_STATUS1_HC_CONSUMSTB_PERR (1L<<6) | ||
1618 | #define BNX2_MISC_PERR_STATUS1_TPATQ_PERR (1L<<7) | ||
1619 | #define BNX2_MISC_PERR_STATUS1_MCPQ_PERR (1L<<8) | ||
1620 | #define BNX2_MISC_PERR_STATUS1_TDMAQ_PERR (1L<<9) | ||
1621 | #define BNX2_MISC_PERR_STATUS1_TXPQ_PERR (1L<<10) | ||
1622 | #define BNX2_MISC_PERR_STATUS1_COMTQ_PERR (1L<<11) | ||
1623 | #define BNX2_MISC_PERR_STATUS1_COMQ_PERR (1L<<12) | ||
1624 | #define BNX2_MISC_PERR_STATUS1_RLUPQ_PERR (1L<<13) | ||
1625 | #define BNX2_MISC_PERR_STATUS1_RXPQ_PERR (1L<<14) | ||
1626 | #define BNX2_MISC_PERR_STATUS1_RV2PPQ_PERR (1L<<15) | ||
1627 | #define BNX2_MISC_PERR_STATUS1_RDMAQ_PERR (1L<<16) | ||
1628 | #define BNX2_MISC_PERR_STATUS1_TASQ_PERR (1L<<17) | ||
1629 | #define BNX2_MISC_PERR_STATUS1_TBDRQ_PERR (1L<<18) | ||
1630 | #define BNX2_MISC_PERR_STATUS1_TSCHQ_PERR (1L<<19) | ||
1631 | #define BNX2_MISC_PERR_STATUS1_COMXQ_PERR (1L<<20) | ||
1632 | #define BNX2_MISC_PERR_STATUS1_RXPCQ_PERR (1L<<21) | ||
1633 | #define BNX2_MISC_PERR_STATUS1_RV2PTQ_PERR (1L<<22) | ||
1634 | #define BNX2_MISC_PERR_STATUS1_RV2PMQ_PERR (1L<<23) | ||
1635 | #define BNX2_MISC_PERR_STATUS1_CPQ_PERR (1L<<24) | ||
1636 | #define BNX2_MISC_PERR_STATUS1_CSQ_PERR (1L<<25) | ||
1637 | #define BNX2_MISC_PERR_STATUS1_RLUP_CID_PERR (1L<<26) | ||
1638 | #define BNX2_MISC_PERR_STATUS1_RV2PCS_TMEM_PERR (1L<<27) | ||
1639 | #define BNX2_MISC_PERR_STATUS1_RV2PCSQ_PERR (1L<<28) | ||
1640 | #define BNX2_MISC_PERR_STATUS1_MQ_IDX_PERR (1L<<29) | ||
1641 | |||
1642 | #define BNX2_MISC_PERR_STATUS2 0x0000094c | ||
1643 | #define BNX2_MISC_PERR_STATUS2_TGT_FIFO_PERR (1L<<0) | ||
1644 | #define BNX2_MISC_PERR_STATUS2_UMP_TX_PERR (1L<<1) | ||
1645 | #define BNX2_MISC_PERR_STATUS2_UMP_RX_PERR (1L<<2) | ||
1646 | #define BNX2_MISC_PERR_STATUS2_MCP_ROM_PERR (1L<<3) | ||
1647 | #define BNX2_MISC_PERR_STATUS2_MCP_SCPAD_PERR (1L<<4) | ||
1648 | #define BNX2_MISC_PERR_STATUS2_HB_MEM_PERR (1L<<5) | ||
1649 | #define BNX2_MISC_PERR_STATUS2_PCIE_REPLAY_PERR (1L<<6) | ||
1650 | |||
1651 | #define BNX2_MISC_LCPLL_CTRL0 0x00000950 | ||
1652 | #define BNX2_MISC_LCPLL_CTRL0_OAC (0x7L<<0) | ||
1653 | #define BNX2_MISC_LCPLL_CTRL0_OAC_NEGTWENTY (0L<<0) | ||
1654 | #define BNX2_MISC_LCPLL_CTRL0_OAC_ZERO (1L<<0) | ||
1655 | #define BNX2_MISC_LCPLL_CTRL0_OAC_TWENTY (3L<<0) | ||
1656 | #define BNX2_MISC_LCPLL_CTRL0_OAC_FORTY (7L<<0) | ||
1657 | #define BNX2_MISC_LCPLL_CTRL0_ICP_CTRL (0x7L<<3) | ||
1658 | #define BNX2_MISC_LCPLL_CTRL0_ICP_CTRL_360 (0L<<3) | ||
1659 | #define BNX2_MISC_LCPLL_CTRL0_ICP_CTRL_480 (1L<<3) | ||
1660 | #define BNX2_MISC_LCPLL_CTRL0_ICP_CTRL_600 (3L<<3) | ||
1661 | #define BNX2_MISC_LCPLL_CTRL0_ICP_CTRL_720 (7L<<3) | ||
1662 | #define BNX2_MISC_LCPLL_CTRL0_BIAS_CTRL (0x3L<<6) | ||
1663 | #define BNX2_MISC_LCPLL_CTRL0_PLL_OBSERVE (0x7L<<8) | ||
1664 | #define BNX2_MISC_LCPLL_CTRL0_VTH_CTRL (0x3L<<11) | ||
1665 | #define BNX2_MISC_LCPLL_CTRL0_VTH_CTRL_0 (0L<<11) | ||
1666 | #define BNX2_MISC_LCPLL_CTRL0_VTH_CTRL_1 (1L<<11) | ||
1667 | #define BNX2_MISC_LCPLL_CTRL0_VTH_CTRL_2 (2L<<11) | ||
1668 | #define BNX2_MISC_LCPLL_CTRL0_PLLSEQSTART (1L<<13) | ||
1669 | #define BNX2_MISC_LCPLL_CTRL0_RESERVED (1L<<14) | ||
1670 | #define BNX2_MISC_LCPLL_CTRL0_CAPRETRY_EN (1L<<15) | ||
1671 | #define BNX2_MISC_LCPLL_CTRL0_FREQMONITOR_EN (1L<<16) | ||
1672 | #define BNX2_MISC_LCPLL_CTRL0_FREQDETRESTART_EN (1L<<17) | ||
1673 | #define BNX2_MISC_LCPLL_CTRL0_FREQDETRETRY_EN (1L<<18) | ||
1674 | #define BNX2_MISC_LCPLL_CTRL0_PLLFORCEFDONE_EN (1L<<19) | ||
1675 | #define BNX2_MISC_LCPLL_CTRL0_PLLFORCEFDONE (1L<<20) | ||
1676 | #define BNX2_MISC_LCPLL_CTRL0_PLLFORCEFPASS (1L<<21) | ||
1677 | #define BNX2_MISC_LCPLL_CTRL0_PLLFORCECAPDONE_EN (1L<<22) | ||
1678 | #define BNX2_MISC_LCPLL_CTRL0_PLLFORCECAPDONE (1L<<23) | ||
1679 | #define BNX2_MISC_LCPLL_CTRL0_PLLFORCECAPPASS_EN (1L<<24) | ||
1680 | #define BNX2_MISC_LCPLL_CTRL0_PLLFORCECAPPASS (1L<<25) | ||
1681 | #define BNX2_MISC_LCPLL_CTRL0_CAPRESTART (1L<<26) | ||
1682 | #define BNX2_MISC_LCPLL_CTRL0_CAPSELECTM_EN (1L<<27) | ||
1683 | |||
1684 | #define BNX2_MISC_LCPLL_CTRL1 0x00000954 | ||
1685 | #define BNX2_MISC_LCPLL_CTRL1_CAPSELECTM (0x1fL<<0) | ||
1686 | #define BNX2_MISC_LCPLL_CTRL1_CAPFORCESLOWDOWN_EN (1L<<5) | ||
1687 | #define BNX2_MISC_LCPLL_CTRL1_CAPFORCESLOWDOWN (1L<<6) | ||
1688 | #define BNX2_MISC_LCPLL_CTRL1_SLOWDN_XOR (1L<<7) | ||
1689 | |||
1690 | #define BNX2_MISC_LCPLL_STATUS 0x00000958 | ||
1691 | #define BNX2_MISC_LCPLL_STATUS_FREQDONE_SM (1L<<0) | ||
1692 | #define BNX2_MISC_LCPLL_STATUS_FREQPASS_SM (1L<<1) | ||
1693 | #define BNX2_MISC_LCPLL_STATUS_PLLSEQDONE (1L<<2) | ||
1694 | #define BNX2_MISC_LCPLL_STATUS_PLLSEQPASS (1L<<3) | ||
1695 | #define BNX2_MISC_LCPLL_STATUS_PLLSTATE (0x7L<<4) | ||
1696 | #define BNX2_MISC_LCPLL_STATUS_CAPSTATE (0x7L<<7) | ||
1697 | #define BNX2_MISC_LCPLL_STATUS_CAPSELECT (0x1fL<<10) | ||
1698 | #define BNX2_MISC_LCPLL_STATUS_SLOWDN_INDICATOR (1L<<15) | ||
1699 | #define BNX2_MISC_LCPLL_STATUS_SLOWDN_INDICATOR_0 (0L<<15) | ||
1700 | #define BNX2_MISC_LCPLL_STATUS_SLOWDN_INDICATOR_1 (1L<<15) | ||
1701 | |||
1702 | #define BNX2_MISC_OSCFUNDS_CTRL 0x0000095c | ||
1703 | #define BNX2_MISC_OSCFUNDS_CTRL_FREQ_MON (1L<<5) | ||
1704 | #define BNX2_MISC_OSCFUNDS_CTRL_FREQ_MON_OFF (0L<<5) | ||
1705 | #define BNX2_MISC_OSCFUNDS_CTRL_FREQ_MON_ON (1L<<5) | ||
1706 | #define BNX2_MISC_OSCFUNDS_CTRL_XTAL_ADJCM (0x3L<<6) | ||
1707 | #define BNX2_MISC_OSCFUNDS_CTRL_XTAL_ADJCM_0 (0L<<6) | ||
1708 | #define BNX2_MISC_OSCFUNDS_CTRL_XTAL_ADJCM_1 (1L<<6) | ||
1709 | #define BNX2_MISC_OSCFUNDS_CTRL_XTAL_ADJCM_2 (2L<<6) | ||
1710 | #define BNX2_MISC_OSCFUNDS_CTRL_XTAL_ADJCM_3 (3L<<6) | ||
1711 | #define BNX2_MISC_OSCFUNDS_CTRL_ICBUF_ADJ (0x3L<<8) | ||
1712 | #define BNX2_MISC_OSCFUNDS_CTRL_ICBUF_ADJ_0 (0L<<8) | ||
1713 | #define BNX2_MISC_OSCFUNDS_CTRL_ICBUF_ADJ_1 (1L<<8) | ||
1714 | #define BNX2_MISC_OSCFUNDS_CTRL_ICBUF_ADJ_2 (2L<<8) | ||
1715 | #define BNX2_MISC_OSCFUNDS_CTRL_ICBUF_ADJ_3 (3L<<8) | ||
1716 | #define BNX2_MISC_OSCFUNDS_CTRL_IAMP_ADJ (0x3L<<10) | ||
1717 | #define BNX2_MISC_OSCFUNDS_CTRL_IAMP_ADJ_0 (0L<<10) | ||
1718 | #define BNX2_MISC_OSCFUNDS_CTRL_IAMP_ADJ_1 (1L<<10) | ||
1719 | #define BNX2_MISC_OSCFUNDS_CTRL_IAMP_ADJ_2 (2L<<10) | ||
1720 | #define BNX2_MISC_OSCFUNDS_CTRL_IAMP_ADJ_3 (3L<<10) | ||
1016 | 1721 | ||
1017 | 1722 | ||
1018 | /* | 1723 | /* |
@@ -1031,11 +1736,35 @@ struct l2_fhdr { | |||
1031 | #define BNX2_NVM_COMMAND_WRDI (1L<<17) | 1736 | #define BNX2_NVM_COMMAND_WRDI (1L<<17) |
1032 | #define BNX2_NVM_COMMAND_EWSR (1L<<18) | 1737 | #define BNX2_NVM_COMMAND_EWSR (1L<<18) |
1033 | #define BNX2_NVM_COMMAND_WRSR (1L<<19) | 1738 | #define BNX2_NVM_COMMAND_WRSR (1L<<19) |
1739 | #define BNX2_NVM_COMMAND_RD_ID (1L<<20) | ||
1740 | #define BNX2_NVM_COMMAND_RD_STATUS (1L<<21) | ||
1741 | #define BNX2_NVM_COMMAND_MODE_256 (1L<<22) | ||
1034 | 1742 | ||
1035 | #define BNX2_NVM_STATUS 0x00006404 | 1743 | #define BNX2_NVM_STATUS 0x00006404 |
1036 | #define BNX2_NVM_STATUS_PI_FSM_STATE (0xfL<<0) | 1744 | #define BNX2_NVM_STATUS_PI_FSM_STATE (0xfL<<0) |
1037 | #define BNX2_NVM_STATUS_EE_FSM_STATE (0xfL<<4) | 1745 | #define BNX2_NVM_STATUS_EE_FSM_STATE (0xfL<<4) |
1038 | #define BNX2_NVM_STATUS_EQ_FSM_STATE (0xfL<<8) | 1746 | #define BNX2_NVM_STATUS_EQ_FSM_STATE (0xfL<<8) |
1747 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_XI (0x1fL<<0) | ||
1748 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_IDLE_XI (0L<<0) | ||
1749 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_CMD0_XI (1L<<0) | ||
1750 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_CMD1_XI (2L<<0) | ||
1751 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_CMD_FINISH0_XI (3L<<0) | ||
1752 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_CMD_FINISH1_XI (4L<<0) | ||
1753 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_ADDR0_XI (5L<<0) | ||
1754 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_WRITE_DATA0_XI (6L<<0) | ||
1755 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_WRITE_DATA1_XI (7L<<0) | ||
1756 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_WRITE_DATA2_XI (8L<<0) | ||
1757 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_READ_DATA0_XI (9L<<0) | ||
1758 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_READ_DATA1_XI (10L<<0) | ||
1759 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_READ_DATA2_XI (11L<<0) | ||
1760 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID0_XI (12L<<0) | ||
1761 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID1_XI (13L<<0) | ||
1762 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID2_XI (14L<<0) | ||
1763 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID3_XI (15L<<0) | ||
1764 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID4_XI (16L<<0) | ||
1765 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_CHECK_BUSY0_XI (17L<<0) | ||
1766 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_ST_WREN_XI (18L<<0) | ||
1767 | #define BNX2_NVM_STATUS_SPI_FSM_STATE_SPI_WAIT_XI (19L<<0) | ||
1039 | 1768 | ||
1040 | #define BNX2_NVM_WRITE 0x00006408 | 1769 | #define BNX2_NVM_WRITE 0x00006408 |
1041 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE (0xffffffffL<<0) | 1770 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE (0xffffffffL<<0) |
@@ -1046,6 +1775,10 @@ struct l2_fhdr { | |||
1046 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE_CS_B (8L<<0) | 1775 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE_CS_B (8L<<0) |
1047 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE_SO (16L<<0) | 1776 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE_SO (16L<<0) |
1048 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE_SI (32L<<0) | 1777 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE_SI (32L<<0) |
1778 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE_SI_XI (1L<<0) | ||
1779 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE_SO_XI (2L<<0) | ||
1780 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE_CS_B_XI (4L<<0) | ||
1781 | #define BNX2_NVM_WRITE_NVM_WRITE_VALUE_SCLK_XI (8L<<0) | ||
1049 | 1782 | ||
1050 | #define BNX2_NVM_ADDR 0x0000640c | 1783 | #define BNX2_NVM_ADDR 0x0000640c |
1051 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE (0xffffffL<<0) | 1784 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE (0xffffffL<<0) |
@@ -1056,6 +1789,10 @@ struct l2_fhdr { | |||
1056 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE_CS_B (8L<<0) | 1789 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE_CS_B (8L<<0) |
1057 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE_SO (16L<<0) | 1790 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE_SO (16L<<0) |
1058 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE_SI (32L<<0) | 1791 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE_SI (32L<<0) |
1792 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE_SI_XI (1L<<0) | ||
1793 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE_SO_XI (2L<<0) | ||
1794 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE_CS_B_XI (4L<<0) | ||
1795 | #define BNX2_NVM_ADDR_NVM_ADDR_VALUE_SCLK_XI (8L<<0) | ||
1059 | 1796 | ||
1060 | #define BNX2_NVM_READ 0x00006410 | 1797 | #define BNX2_NVM_READ 0x00006410 |
1061 | #define BNX2_NVM_READ_NVM_READ_VALUE (0xffffffffL<<0) | 1798 | #define BNX2_NVM_READ_NVM_READ_VALUE (0xffffffffL<<0) |
@@ -1066,6 +1803,10 @@ struct l2_fhdr { | |||
1066 | #define BNX2_NVM_READ_NVM_READ_VALUE_CS_B (8L<<0) | 1803 | #define BNX2_NVM_READ_NVM_READ_VALUE_CS_B (8L<<0) |
1067 | #define BNX2_NVM_READ_NVM_READ_VALUE_SO (16L<<0) | 1804 | #define BNX2_NVM_READ_NVM_READ_VALUE_SO (16L<<0) |
1068 | #define BNX2_NVM_READ_NVM_READ_VALUE_SI (32L<<0) | 1805 | #define BNX2_NVM_READ_NVM_READ_VALUE_SI (32L<<0) |
1806 | #define BNX2_NVM_READ_NVM_READ_VALUE_SI_XI (1L<<0) | ||
1807 | #define BNX2_NVM_READ_NVM_READ_VALUE_SO_XI (2L<<0) | ||
1808 | #define BNX2_NVM_READ_NVM_READ_VALUE_CS_B_XI (4L<<0) | ||
1809 | #define BNX2_NVM_READ_NVM_READ_VALUE_SCLK_XI (8L<<0) | ||
1069 | 1810 | ||
1070 | #define BNX2_NVM_CFG1 0x00006414 | 1811 | #define BNX2_NVM_CFG1 0x00006414 |
1071 | #define BNX2_NVM_CFG1_FLASH_MODE (1L<<0) | 1812 | #define BNX2_NVM_CFG1_FLASH_MODE (1L<<0) |
@@ -1077,14 +1818,21 @@ struct l2_fhdr { | |||
1077 | #define BNX2_NVM_CFG1_STATUS_BIT_BUFFER_RDY (7L<<4) | 1818 | #define BNX2_NVM_CFG1_STATUS_BIT_BUFFER_RDY (7L<<4) |
1078 | #define BNX2_NVM_CFG1_SPI_CLK_DIV (0xfL<<7) | 1819 | #define BNX2_NVM_CFG1_SPI_CLK_DIV (0xfL<<7) |
1079 | #define BNX2_NVM_CFG1_SEE_CLK_DIV (0x7ffL<<11) | 1820 | #define BNX2_NVM_CFG1_SEE_CLK_DIV (0x7ffL<<11) |
1821 | #define BNX2_NVM_CFG1_STRAP_CONTROL_0 (1L<<23) | ||
1080 | #define BNX2_NVM_CFG1_PROTECT_MODE (1L<<24) | 1822 | #define BNX2_NVM_CFG1_PROTECT_MODE (1L<<24) |
1081 | #define BNX2_NVM_CFG1_FLASH_SIZE (1L<<25) | 1823 | #define BNX2_NVM_CFG1_FLASH_SIZE (1L<<25) |
1824 | #define BNX2_NVM_CFG1_FW_USTRAP_1 (1L<<26) | ||
1825 | #define BNX2_NVM_CFG1_FW_USTRAP_0 (1L<<27) | ||
1826 | #define BNX2_NVM_CFG1_FW_USTRAP_2 (1L<<28) | ||
1827 | #define BNX2_NVM_CFG1_FW_USTRAP_3 (1L<<29) | ||
1828 | #define BNX2_NVM_CFG1_FW_FLASH_TYPE_EN (1L<<30) | ||
1082 | #define BNX2_NVM_CFG1_COMPAT_BYPASSS (1L<<31) | 1829 | #define BNX2_NVM_CFG1_COMPAT_BYPASSS (1L<<31) |
1083 | 1830 | ||
1084 | #define BNX2_NVM_CFG2 0x00006418 | 1831 | #define BNX2_NVM_CFG2 0x00006418 |
1085 | #define BNX2_NVM_CFG2_ERASE_CMD (0xffL<<0) | 1832 | #define BNX2_NVM_CFG2_ERASE_CMD (0xffL<<0) |
1086 | #define BNX2_NVM_CFG2_DUMMY (0xffL<<8) | 1833 | #define BNX2_NVM_CFG2_DUMMY (0xffL<<8) |
1087 | #define BNX2_NVM_CFG2_STATUS_CMD (0xffL<<16) | 1834 | #define BNX2_NVM_CFG2_STATUS_CMD (0xffL<<16) |
1835 | #define BNX2_NVM_CFG2_READ_ID (0xffL<<24) | ||
1088 | 1836 | ||
1089 | #define BNX2_NVM_CFG3 0x0000641c | 1837 | #define BNX2_NVM_CFG3 0x0000641c |
1090 | #define BNX2_NVM_CFG3_BUFFER_RD_CMD (0xffL<<0) | 1838 | #define BNX2_NVM_CFG3_BUFFER_RD_CMD (0xffL<<0) |
@@ -1119,6 +1867,35 @@ struct l2_fhdr { | |||
1119 | #define BNX2_NVM_WRITE1_WRDI_CMD (0xffL<<8) | 1867 | #define BNX2_NVM_WRITE1_WRDI_CMD (0xffL<<8) |
1120 | #define BNX2_NVM_WRITE1_SR_DATA (0xffL<<16) | 1868 | #define BNX2_NVM_WRITE1_SR_DATA (0xffL<<16) |
1121 | 1869 | ||
1870 | #define BNX2_NVM_CFG4 0x0000642c | ||
1871 | #define BNX2_NVM_CFG4_FLASH_SIZE (0x7L<<0) | ||
1872 | #define BNX2_NVM_CFG4_FLASH_SIZE_1MBIT (0L<<0) | ||
1873 | #define BNX2_NVM_CFG4_FLASH_SIZE_2MBIT (1L<<0) | ||
1874 | #define BNX2_NVM_CFG4_FLASH_SIZE_4MBIT (2L<<0) | ||
1875 | #define BNX2_NVM_CFG4_FLASH_SIZE_8MBIT (3L<<0) | ||
1876 | #define BNX2_NVM_CFG4_FLASH_SIZE_16MBIT (4L<<0) | ||
1877 | #define BNX2_NVM_CFG4_FLASH_SIZE_32MBIT (5L<<0) | ||
1878 | #define BNX2_NVM_CFG4_FLASH_SIZE_64MBIT (6L<<0) | ||
1879 | #define BNX2_NVM_CFG4_FLASH_SIZE_128MBIT (7L<<0) | ||
1880 | #define BNX2_NVM_CFG4_FLASH_VENDOR (1L<<3) | ||
1881 | #define BNX2_NVM_CFG4_FLASH_VENDOR_ST (0L<<3) | ||
1882 | #define BNX2_NVM_CFG4_FLASH_VENDOR_ATMEL (1L<<3) | ||
1883 | #define BNX2_NVM_CFG4_MODE_256_EMPTY_BIT_LOC (0x3L<<4) | ||
1884 | #define BNX2_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT8 (0L<<4) | ||
1885 | #define BNX2_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT9 (1L<<4) | ||
1886 | #define BNX2_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT10 (2L<<4) | ||
1887 | #define BNX2_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT11 (3L<<4) | ||
1888 | #define BNX2_NVM_CFG4_STATUS_BIT_POLARITY (1L<<6) | ||
1889 | #define BNX2_NVM_CFG4_RESERVED (0x1ffffffL<<7) | ||
1890 | |||
1891 | #define BNX2_NVM_RECONFIG 0x00006430 | ||
1892 | #define BNX2_NVM_RECONFIG_ORIG_STRAP_VALUE (0xfL<<0) | ||
1893 | #define BNX2_NVM_RECONFIG_ORIG_STRAP_VALUE_ST (0L<<0) | ||
1894 | #define BNX2_NVM_RECONFIG_ORIG_STRAP_VALUE_ATMEL (1L<<0) | ||
1895 | #define BNX2_NVM_RECONFIG_RECONFIG_STRAP_VALUE (0xfL<<4) | ||
1896 | #define BNX2_NVM_RECONFIG_RESERVED (0x7fffffL<<8) | ||
1897 | #define BNX2_NVM_RECONFIG_RECONFIG_DONE (1L<<31) | ||
1898 | |||
1122 | 1899 | ||
1123 | 1900 | ||
1124 | /* | 1901 | /* |
@@ -1140,6 +1917,8 @@ struct l2_fhdr { | |||
1140 | #define BNX2_DMA_STATUS_BIG_WRITE_TRANSFERS_STAT (1L<<23) | 1917 | #define BNX2_DMA_STATUS_BIG_WRITE_TRANSFERS_STAT (1L<<23) |
1141 | #define BNX2_DMA_STATUS_BIG_WRITE_DELAY_PCI_CLKS_STAT (1L<<24) | 1918 | #define BNX2_DMA_STATUS_BIG_WRITE_DELAY_PCI_CLKS_STAT (1L<<24) |
1142 | #define BNX2_DMA_STATUS_BIG_WRITE_RETRY_AFTER_DATA_STAT (1L<<25) | 1919 | #define BNX2_DMA_STATUS_BIG_WRITE_RETRY_AFTER_DATA_STAT (1L<<25) |
1920 | #define BNX2_DMA_STATUS_GLOBAL_ERR_XI (1L<<0) | ||
1921 | #define BNX2_DMA_STATUS_BME_XI (1L<<4) | ||
1143 | 1922 | ||
1144 | #define BNX2_DMA_CONFIG 0x00000c08 | 1923 | #define BNX2_DMA_CONFIG 0x00000c08 |
1145 | #define BNX2_DMA_CONFIG_DATA_BYTE_SWAP (1L<<0) | 1924 | #define BNX2_DMA_CONFIG_DATA_BYTE_SWAP (1L<<0) |
@@ -1161,85 +1940,315 @@ struct l2_fhdr { | |||
1161 | #define BNX2_DMA_CONFIG_BIG_SIZE_128 (0x2L<<24) | 1940 | #define BNX2_DMA_CONFIG_BIG_SIZE_128 (0x2L<<24) |
1162 | #define BNX2_DMA_CONFIG_BIG_SIZE_256 (0x4L<<24) | 1941 | #define BNX2_DMA_CONFIG_BIG_SIZE_256 (0x4L<<24) |
1163 | #define BNX2_DMA_CONFIG_BIG_SIZE_512 (0x8L<<24) | 1942 | #define BNX2_DMA_CONFIG_BIG_SIZE_512 (0x8L<<24) |
1943 | #define BNX2_DMA_CONFIG_DAT_WBSWAP_MODE_XI (0x3L<<0) | ||
1944 | #define BNX2_DMA_CONFIG_CTL_WBSWAP_MODE_XI (0x3L<<4) | ||
1945 | #define BNX2_DMA_CONFIG_MAX_PL_XI (0x7L<<12) | ||
1946 | #define BNX2_DMA_CONFIG_MAX_PL_128B_XI (0L<<12) | ||
1947 | #define BNX2_DMA_CONFIG_MAX_PL_256B_XI (1L<<12) | ||
1948 | #define BNX2_DMA_CONFIG_MAX_PL_512B_XI (2L<<12) | ||
1949 | #define BNX2_DMA_CONFIG_MAX_PL_EN_XI (1L<<15) | ||
1950 | #define BNX2_DMA_CONFIG_MAX_RRS_XI (0x7L<<16) | ||
1951 | #define BNX2_DMA_CONFIG_MAX_RRS_128B_XI (0L<<16) | ||
1952 | #define BNX2_DMA_CONFIG_MAX_RRS_256B_XI (1L<<16) | ||
1953 | #define BNX2_DMA_CONFIG_MAX_RRS_512B_XI (2L<<16) | ||
1954 | #define BNX2_DMA_CONFIG_MAX_RRS_1024B_XI (3L<<16) | ||
1955 | #define BNX2_DMA_CONFIG_MAX_RRS_2048B_XI (4L<<16) | ||
1956 | #define BNX2_DMA_CONFIG_MAX_RRS_4096B_XI (5L<<16) | ||
1957 | #define BNX2_DMA_CONFIG_MAX_RRS_EN_XI (1L<<19) | ||
1958 | #define BNX2_DMA_CONFIG_NO_64SWAP_EN_XI (1L<<31) | ||
1164 | 1959 | ||
1165 | #define BNX2_DMA_BLACKOUT 0x00000c0c | 1960 | #define BNX2_DMA_BLACKOUT 0x00000c0c |
1166 | #define BNX2_DMA_BLACKOUT_RD_RETRY_BLACKOUT (0xffL<<0) | 1961 | #define BNX2_DMA_BLACKOUT_RD_RETRY_BLACKOUT (0xffL<<0) |
1167 | #define BNX2_DMA_BLACKOUT_2ND_RD_RETRY_BLACKOUT (0xffL<<8) | 1962 | #define BNX2_DMA_BLACKOUT_2ND_RD_RETRY_BLACKOUT (0xffL<<8) |
1168 | #define BNX2_DMA_BLACKOUT_WR_RETRY_BLACKOUT (0xffL<<16) | 1963 | #define BNX2_DMA_BLACKOUT_WR_RETRY_BLACKOUT (0xffL<<16) |
1169 | 1964 | ||
1170 | #define BNX2_DMA_RCHAN_STAT 0x00000c30 | 1965 | #define BNX2_DMA_READ_MASTER_SETTING_0 0x00000c10 |
1171 | #define BNX2_DMA_RCHAN_STAT_COMP_CODE_0 (0x7L<<0) | 1966 | #define BNX2_DMA_READ_MASTER_SETTING_0_TBDC_NO_SNOOP (1L<<0) |
1172 | #define BNX2_DMA_RCHAN_STAT_PAR_ERR_0 (1L<<3) | 1967 | #define BNX2_DMA_READ_MASTER_SETTING_0_TBDC_RELAX_ORDER (1L<<1) |
1173 | #define BNX2_DMA_RCHAN_STAT_COMP_CODE_1 (0x7L<<4) | 1968 | #define BNX2_DMA_READ_MASTER_SETTING_0_TBDC_PRIORITY (1L<<2) |
1174 | #define BNX2_DMA_RCHAN_STAT_PAR_ERR_1 (1L<<7) | 1969 | #define BNX2_DMA_READ_MASTER_SETTING_0_TBDC_TRAFFIC_CLASS (0x7L<<4) |
1175 | #define BNX2_DMA_RCHAN_STAT_COMP_CODE_2 (0x7L<<8) | 1970 | #define BNX2_DMA_READ_MASTER_SETTING_0_TBDC_PARAM_EN (1L<<7) |
1176 | #define BNX2_DMA_RCHAN_STAT_PAR_ERR_2 (1L<<11) | 1971 | #define BNX2_DMA_READ_MASTER_SETTING_0_RBDC_NO_SNOOP (1L<<8) |
1177 | #define BNX2_DMA_RCHAN_STAT_COMP_CODE_3 (0x7L<<12) | 1972 | #define BNX2_DMA_READ_MASTER_SETTING_0_RBDC_RELAX_ORDER (1L<<9) |
1178 | #define BNX2_DMA_RCHAN_STAT_PAR_ERR_3 (1L<<15) | 1973 | #define BNX2_DMA_READ_MASTER_SETTING_0_RBDC_PRIORITY (1L<<10) |
1179 | #define BNX2_DMA_RCHAN_STAT_COMP_CODE_4 (0x7L<<16) | 1974 | #define BNX2_DMA_READ_MASTER_SETTING_0_RBDC_TRAFFIC_CLASS (0x7L<<12) |
1180 | #define BNX2_DMA_RCHAN_STAT_PAR_ERR_4 (1L<<19) | 1975 | #define BNX2_DMA_READ_MASTER_SETTING_0_RBDC_PARAM_EN (1L<<15) |
1181 | #define BNX2_DMA_RCHAN_STAT_COMP_CODE_5 (0x7L<<20) | 1976 | #define BNX2_DMA_READ_MASTER_SETTING_0_TDMA_NO_SNOOP (1L<<16) |
1182 | #define BNX2_DMA_RCHAN_STAT_PAR_ERR_5 (1L<<23) | 1977 | #define BNX2_DMA_READ_MASTER_SETTING_0_TDMA_RELAX_ORDER (1L<<17) |
1183 | #define BNX2_DMA_RCHAN_STAT_COMP_CODE_6 (0x7L<<24) | 1978 | #define BNX2_DMA_READ_MASTER_SETTING_0_TDMA_PRIORITY (1L<<18) |
1184 | #define BNX2_DMA_RCHAN_STAT_PAR_ERR_6 (1L<<27) | 1979 | #define BNX2_DMA_READ_MASTER_SETTING_0_TDMA_TRAFFIC_CLASS (0x7L<<20) |
1185 | #define BNX2_DMA_RCHAN_STAT_COMP_CODE_7 (0x7L<<28) | 1980 | #define BNX2_DMA_READ_MASTER_SETTING_0_TDMA_PARAM_EN (1L<<23) |
1186 | #define BNX2_DMA_RCHAN_STAT_PAR_ERR_7 (1L<<31) | 1981 | #define BNX2_DMA_READ_MASTER_SETTING_0_CTX_NO_SNOOP (1L<<24) |
1187 | 1982 | #define BNX2_DMA_READ_MASTER_SETTING_0_CTX_RELAX_ORDER (1L<<25) | |
1188 | #define BNX2_DMA_WCHAN_STAT 0x00000c34 | 1983 | #define BNX2_DMA_READ_MASTER_SETTING_0_CTX_PRIORITY (1L<<26) |
1189 | #define BNX2_DMA_WCHAN_STAT_COMP_CODE_0 (0x7L<<0) | 1984 | #define BNX2_DMA_READ_MASTER_SETTING_0_CTX_TRAFFIC_CLASS (0x7L<<28) |
1190 | #define BNX2_DMA_WCHAN_STAT_PAR_ERR_0 (1L<<3) | 1985 | #define BNX2_DMA_READ_MASTER_SETTING_0_CTX_PARAM_EN (1L<<31) |
1191 | #define BNX2_DMA_WCHAN_STAT_COMP_CODE_1 (0x7L<<4) | 1986 | |
1192 | #define BNX2_DMA_WCHAN_STAT_PAR_ERR_1 (1L<<7) | 1987 | #define BNX2_DMA_READ_MASTER_SETTING_1 0x00000c14 |
1193 | #define BNX2_DMA_WCHAN_STAT_COMP_CODE_2 (0x7L<<8) | 1988 | #define BNX2_DMA_READ_MASTER_SETTING_1_COM_NO_SNOOP (1L<<0) |
1194 | #define BNX2_DMA_WCHAN_STAT_PAR_ERR_2 (1L<<11) | 1989 | #define BNX2_DMA_READ_MASTER_SETTING_1_COM_RELAX_ORDER (1L<<1) |
1195 | #define BNX2_DMA_WCHAN_STAT_COMP_CODE_3 (0x7L<<12) | 1990 | #define BNX2_DMA_READ_MASTER_SETTING_1_COM_PRIORITY (1L<<2) |
1196 | #define BNX2_DMA_WCHAN_STAT_PAR_ERR_3 (1L<<15) | 1991 | #define BNX2_DMA_READ_MASTER_SETTING_1_COM_TRAFFIC_CLASS (0x7L<<4) |
1197 | #define BNX2_DMA_WCHAN_STAT_COMP_CODE_4 (0x7L<<16) | 1992 | #define BNX2_DMA_READ_MASTER_SETTING_1_COM_PARAM_EN (1L<<7) |
1198 | #define BNX2_DMA_WCHAN_STAT_PAR_ERR_4 (1L<<19) | 1993 | #define BNX2_DMA_READ_MASTER_SETTING_1_CP_NO_SNOOP (1L<<8) |
1199 | #define BNX2_DMA_WCHAN_STAT_COMP_CODE_5 (0x7L<<20) | 1994 | #define BNX2_DMA_READ_MASTER_SETTING_1_CP_RELAX_ORDER (1L<<9) |
1200 | #define BNX2_DMA_WCHAN_STAT_PAR_ERR_5 (1L<<23) | 1995 | #define BNX2_DMA_READ_MASTER_SETTING_1_CP_PRIORITY (1L<<10) |
1201 | #define BNX2_DMA_WCHAN_STAT_COMP_CODE_6 (0x7L<<24) | 1996 | #define BNX2_DMA_READ_MASTER_SETTING_1_CP_TRAFFIC_CLASS (0x7L<<12) |
1202 | #define BNX2_DMA_WCHAN_STAT_PAR_ERR_6 (1L<<27) | 1997 | #define BNX2_DMA_READ_MASTER_SETTING_1_CP_PARAM_EN (1L<<15) |
1203 | #define BNX2_DMA_WCHAN_STAT_COMP_CODE_7 (0x7L<<28) | 1998 | |
1204 | #define BNX2_DMA_WCHAN_STAT_PAR_ERR_7 (1L<<31) | 1999 | #define BNX2_DMA_WRITE_MASTER_SETTING_0 0x00000c18 |
1205 | 2000 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_HC_NO_SNOOP (1L<<0) | |
1206 | #define BNX2_DMA_RCHAN_ASSIGNMENT 0x00000c38 | 2001 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_HC_RELAX_ORDER (1L<<1) |
1207 | #define BNX2_DMA_RCHAN_ASSIGNMENT_0 (0xfL<<0) | 2002 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_HC_PRIORITY (1L<<2) |
1208 | #define BNX2_DMA_RCHAN_ASSIGNMENT_1 (0xfL<<4) | 2003 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_HC_CS_VLD (1L<<3) |
1209 | #define BNX2_DMA_RCHAN_ASSIGNMENT_2 (0xfL<<8) | 2004 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_HC_TRAFFIC_CLASS (0x7L<<4) |
1210 | #define BNX2_DMA_RCHAN_ASSIGNMENT_3 (0xfL<<12) | 2005 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_HC_PARAM_EN (1L<<7) |
1211 | #define BNX2_DMA_RCHAN_ASSIGNMENT_4 (0xfL<<16) | 2006 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_RDMA_NO_SNOOP (1L<<8) |
1212 | #define BNX2_DMA_RCHAN_ASSIGNMENT_5 (0xfL<<20) | 2007 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_RDMA_RELAX_ORDER (1L<<9) |
1213 | #define BNX2_DMA_RCHAN_ASSIGNMENT_6 (0xfL<<24) | 2008 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_RDMA_PRIORITY (1L<<10) |
1214 | #define BNX2_DMA_RCHAN_ASSIGNMENT_7 (0xfL<<28) | 2009 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_RDMA_CS_VLD (1L<<11) |
1215 | 2010 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_RDMA_TRAFFIC_CLASS (0x7L<<12) | |
1216 | #define BNX2_DMA_WCHAN_ASSIGNMENT 0x00000c3c | 2011 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_RDMA_PARAM_EN (1L<<15) |
1217 | #define BNX2_DMA_WCHAN_ASSIGNMENT_0 (0xfL<<0) | 2012 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_CTX_NO_SNOOP (1L<<24) |
1218 | #define BNX2_DMA_WCHAN_ASSIGNMENT_1 (0xfL<<4) | 2013 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_CTX_RELAX_ORDER (1L<<25) |
1219 | #define BNX2_DMA_WCHAN_ASSIGNMENT_2 (0xfL<<8) | 2014 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_CTX_PRIORITY (1L<<26) |
1220 | #define BNX2_DMA_WCHAN_ASSIGNMENT_3 (0xfL<<12) | 2015 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_CTX_CS_VLD (1L<<27) |
1221 | #define BNX2_DMA_WCHAN_ASSIGNMENT_4 (0xfL<<16) | 2016 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_CTX_TRAFFIC_CLASS (0x7L<<28) |
1222 | #define BNX2_DMA_WCHAN_ASSIGNMENT_5 (0xfL<<20) | 2017 | #define BNX2_DMA_WRITE_MASTER_SETTING_0_CTX_PARAM_EN (1L<<31) |
1223 | #define BNX2_DMA_WCHAN_ASSIGNMENT_6 (0xfL<<24) | 2018 | |
1224 | #define BNX2_DMA_WCHAN_ASSIGNMENT_7 (0xfL<<28) | 2019 | #define BNX2_DMA_WRITE_MASTER_SETTING_1 0x00000c1c |
1225 | 2020 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_COM_NO_SNOOP (1L<<0) | |
1226 | #define BNX2_DMA_RCHAN_STAT_00 0x00000c40 | 2021 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_COM_RELAX_ORDER (1L<<1) |
1227 | #define BNX2_DMA_RCHAN_STAT_00_RCHAN_STA_HOST_ADDR_LOW (0xffffffffL<<0) | 2022 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_COM_PRIORITY (1L<<2) |
1228 | 2023 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_COM_CS_VLD (1L<<3) | |
1229 | #define BNX2_DMA_RCHAN_STAT_01 0x00000c44 | 2024 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_COM_TRAFFIC_CLASS (0x7L<<4) |
1230 | #define BNX2_DMA_RCHAN_STAT_01_RCHAN_STA_HOST_ADDR_HIGH (0xffffffffL<<0) | 2025 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_COM_PARAM_EN (1L<<7) |
1231 | 2026 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_CP_NO_SNOOP (1L<<8) | |
1232 | #define BNX2_DMA_RCHAN_STAT_02 0x00000c48 | 2027 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_CP_RELAX_ORDER (1L<<9) |
1233 | #define BNX2_DMA_RCHAN_STAT_02_LENGTH (0xffffL<<0) | 2028 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_CP_PRIORITY (1L<<10) |
1234 | #define BNX2_DMA_RCHAN_STAT_02_WORD_SWAP (1L<<16) | 2029 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_CP_CS_VLD (1L<<11) |
1235 | #define BNX2_DMA_RCHAN_STAT_02_BYTE_SWAP (1L<<17) | 2030 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_CP_TRAFFIC_CLASS (0x7L<<12) |
1236 | #define BNX2_DMA_RCHAN_STAT_02_PRIORITY_LVL (1L<<18) | 2031 | #define BNX2_DMA_WRITE_MASTER_SETTING_1_CP_PARAM_EN (1L<<15) |
1237 | 2032 | ||
1238 | #define BNX2_DMA_RCHAN_STAT_10 0x00000c4c | 2033 | #define BNX2_DMA_ARBITER 0x00000c20 |
1239 | #define BNX2_DMA_RCHAN_STAT_11 0x00000c50 | 2034 | #define BNX2_DMA_ARBITER_NUM_READS (0x7L<<0) |
1240 | #define BNX2_DMA_RCHAN_STAT_12 0x00000c54 | 2035 | #define BNX2_DMA_ARBITER_WR_ARB_MODE (1L<<4) |
1241 | #define BNX2_DMA_RCHAN_STAT_20 0x00000c58 | 2036 | #define BNX2_DMA_ARBITER_WR_ARB_MODE_STRICT (0L<<4) |
1242 | #define BNX2_DMA_RCHAN_STAT_21 0x00000c5c | 2037 | #define BNX2_DMA_ARBITER_WR_ARB_MODE_RND_RBN (1L<<4) |
2038 | #define BNX2_DMA_ARBITER_RD_ARB_MODE (0x3L<<5) | ||
2039 | #define BNX2_DMA_ARBITER_RD_ARB_MODE_STRICT (0L<<5) | ||
2040 | #define BNX2_DMA_ARBITER_RD_ARB_MODE_RND_RBN (1L<<5) | ||
2041 | #define BNX2_DMA_ARBITER_RD_ARB_MODE_WGT_RND_RBN (2L<<5) | ||
2042 | #define BNX2_DMA_ARBITER_ALT_MODE_EN (1L<<8) | ||
2043 | #define BNX2_DMA_ARBITER_RR_MODE (1L<<9) | ||
2044 | #define BNX2_DMA_ARBITER_TIMER_MODE (1L<<10) | ||
2045 | #define BNX2_DMA_ARBITER_OUSTD_READ_REQ (0xfL<<12) | ||
2046 | |||
2047 | #define BNX2_DMA_ARB_TIMERS 0x00000c24 | ||
2048 | #define BNX2_DMA_ARB_TIMERS_RD_DRR_WAIT_TIME (0xffL<<0) | ||
2049 | #define BNX2_DMA_ARB_TIMERS_TM_MIN_TIMEOUT (0xffL<<12) | ||
2050 | #define BNX2_DMA_ARB_TIMERS_TM_MAX_TIMEOUT (0xfffL<<20) | ||
2051 | |||
2052 | #define BNX2_DMA_DEBUG_VECT_PEEK 0x00000c2c | ||
2053 | #define BNX2_DMA_DEBUG_VECT_PEEK_1_VALUE (0x7ffL<<0) | ||
2054 | #define BNX2_DMA_DEBUG_VECT_PEEK_1_PEEK_EN (1L<<11) | ||
2055 | #define BNX2_DMA_DEBUG_VECT_PEEK_1_SEL (0xfL<<12) | ||
2056 | #define BNX2_DMA_DEBUG_VECT_PEEK_2_VALUE (0x7ffL<<16) | ||
2057 | #define BNX2_DMA_DEBUG_VECT_PEEK_2_PEEK_EN (1L<<27) | ||
2058 | #define BNX2_DMA_DEBUG_VECT_PEEK_2_SEL (0xfL<<28) | ||
2059 | |||
2060 | #define BNX2_DMA_TAG_RAM_00 0x00000c30 | ||
2061 | #define BNX2_DMA_TAG_RAM_00_CHANNEL (0xfL<<0) | ||
2062 | #define BNX2_DMA_TAG_RAM_00_MASTER (0x7L<<4) | ||
2063 | #define BNX2_DMA_TAG_RAM_00_MASTER_CTX (0L<<4) | ||
2064 | #define BNX2_DMA_TAG_RAM_00_MASTER_RBDC (1L<<4) | ||
2065 | #define BNX2_DMA_TAG_RAM_00_MASTER_TBDC (2L<<4) | ||
2066 | #define BNX2_DMA_TAG_RAM_00_MASTER_COM (3L<<4) | ||
2067 | #define BNX2_DMA_TAG_RAM_00_MASTER_CP (4L<<4) | ||
2068 | #define BNX2_DMA_TAG_RAM_00_MASTER_TDMA (5L<<4) | ||
2069 | #define BNX2_DMA_TAG_RAM_00_SWAP (0x3L<<7) | ||
2070 | #define BNX2_DMA_TAG_RAM_00_SWAP_CONFIG (0L<<7) | ||
2071 | #define BNX2_DMA_TAG_RAM_00_SWAP_DATA (1L<<7) | ||
2072 | #define BNX2_DMA_TAG_RAM_00_SWAP_CONTROL (2L<<7) | ||
2073 | #define BNX2_DMA_TAG_RAM_00_FUNCTION (1L<<9) | ||
2074 | #define BNX2_DMA_TAG_RAM_00_VALID (1L<<10) | ||
2075 | |||
2076 | #define BNX2_DMA_TAG_RAM_01 0x00000c34 | ||
2077 | #define BNX2_DMA_TAG_RAM_01_CHANNEL (0xfL<<0) | ||
2078 | #define BNX2_DMA_TAG_RAM_01_MASTER (0x7L<<4) | ||
2079 | #define BNX2_DMA_TAG_RAM_01_MASTER_CTX (0L<<4) | ||
2080 | #define BNX2_DMA_TAG_RAM_01_MASTER_RBDC (1L<<4) | ||
2081 | #define BNX2_DMA_TAG_RAM_01_MASTER_TBDC (2L<<4) | ||
2082 | #define BNX2_DMA_TAG_RAM_01_MASTER_COM (3L<<4) | ||
2083 | #define BNX2_DMA_TAG_RAM_01_MASTER_CP (4L<<4) | ||
2084 | #define BNX2_DMA_TAG_RAM_01_MASTER_TDMA (5L<<4) | ||
2085 | #define BNX2_DMA_TAG_RAM_01_SWAP (0x3L<<7) | ||
2086 | #define BNX2_DMA_TAG_RAM_01_SWAP_CONFIG (0L<<7) | ||
2087 | #define BNX2_DMA_TAG_RAM_01_SWAP_DATA (1L<<7) | ||
2088 | #define BNX2_DMA_TAG_RAM_01_SWAP_CONTROL (2L<<7) | ||
2089 | #define BNX2_DMA_TAG_RAM_01_FUNCTION (1L<<9) | ||
2090 | #define BNX2_DMA_TAG_RAM_01_VALID (1L<<10) | ||
2091 | |||
2092 | #define BNX2_DMA_TAG_RAM_02 0x00000c38 | ||
2093 | #define BNX2_DMA_TAG_RAM_02_CHANNEL (0xfL<<0) | ||
2094 | #define BNX2_DMA_TAG_RAM_02_MASTER (0x7L<<4) | ||
2095 | #define BNX2_DMA_TAG_RAM_02_MASTER_CTX (0L<<4) | ||
2096 | #define BNX2_DMA_TAG_RAM_02_MASTER_RBDC (1L<<4) | ||
2097 | #define BNX2_DMA_TAG_RAM_02_MASTER_TBDC (2L<<4) | ||
2098 | #define BNX2_DMA_TAG_RAM_02_MASTER_COM (3L<<4) | ||
2099 | #define BNX2_DMA_TAG_RAM_02_MASTER_CP (4L<<4) | ||
2100 | #define BNX2_DMA_TAG_RAM_02_MASTER_TDMA (5L<<4) | ||
2101 | #define BNX2_DMA_TAG_RAM_02_SWAP (0x3L<<7) | ||
2102 | #define BNX2_DMA_TAG_RAM_02_SWAP_CONFIG (0L<<7) | ||
2103 | #define BNX2_DMA_TAG_RAM_02_SWAP_DATA (1L<<7) | ||
2104 | #define BNX2_DMA_TAG_RAM_02_SWAP_CONTROL (2L<<7) | ||
2105 | #define BNX2_DMA_TAG_RAM_02_FUNCTION (1L<<9) | ||
2106 | #define BNX2_DMA_TAG_RAM_02_VALID (1L<<10) | ||
2107 | |||
2108 | #define BNX2_DMA_TAG_RAM_03 0x00000c3c | ||
2109 | #define BNX2_DMA_TAG_RAM_03_CHANNEL (0xfL<<0) | ||
2110 | #define BNX2_DMA_TAG_RAM_03_MASTER (0x7L<<4) | ||
2111 | #define BNX2_DMA_TAG_RAM_03_MASTER_CTX (0L<<4) | ||
2112 | #define BNX2_DMA_TAG_RAM_03_MASTER_RBDC (1L<<4) | ||
2113 | #define BNX2_DMA_TAG_RAM_03_MASTER_TBDC (2L<<4) | ||
2114 | #define BNX2_DMA_TAG_RAM_03_MASTER_COM (3L<<4) | ||
2115 | #define BNX2_DMA_TAG_RAM_03_MASTER_CP (4L<<4) | ||
2116 | #define BNX2_DMA_TAG_RAM_03_MASTER_TDMA (5L<<4) | ||
2117 | #define BNX2_DMA_TAG_RAM_03_SWAP (0x3L<<7) | ||
2118 | #define BNX2_DMA_TAG_RAM_03_SWAP_CONFIG (0L<<7) | ||
2119 | #define BNX2_DMA_TAG_RAM_03_SWAP_DATA (1L<<7) | ||
2120 | #define BNX2_DMA_TAG_RAM_03_SWAP_CONTROL (2L<<7) | ||
2121 | #define BNX2_DMA_TAG_RAM_03_FUNCTION (1L<<9) | ||
2122 | #define BNX2_DMA_TAG_RAM_03_VALID (1L<<10) | ||
2123 | |||
2124 | #define BNX2_DMA_TAG_RAM_04 0x00000c40 | ||
2125 | #define BNX2_DMA_TAG_RAM_04_CHANNEL (0xfL<<0) | ||
2126 | #define BNX2_DMA_TAG_RAM_04_MASTER (0x7L<<4) | ||
2127 | #define BNX2_DMA_TAG_RAM_04_MASTER_CTX (0L<<4) | ||
2128 | #define BNX2_DMA_TAG_RAM_04_MASTER_RBDC (1L<<4) | ||
2129 | #define BNX2_DMA_TAG_RAM_04_MASTER_TBDC (2L<<4) | ||
2130 | #define BNX2_DMA_TAG_RAM_04_MASTER_COM (3L<<4) | ||
2131 | #define BNX2_DMA_TAG_RAM_04_MASTER_CP (4L<<4) | ||
2132 | #define BNX2_DMA_TAG_RAM_04_MASTER_TDMA (5L<<4) | ||
2133 | #define BNX2_DMA_TAG_RAM_04_SWAP (0x3L<<7) | ||
2134 | #define BNX2_DMA_TAG_RAM_04_SWAP_CONFIG (0L<<7) | ||
2135 | #define BNX2_DMA_TAG_RAM_04_SWAP_DATA (1L<<7) | ||
2136 | #define BNX2_DMA_TAG_RAM_04_SWAP_CONTROL (2L<<7) | ||
2137 | #define BNX2_DMA_TAG_RAM_04_FUNCTION (1L<<9) | ||
2138 | #define BNX2_DMA_TAG_RAM_04_VALID (1L<<10) | ||
2139 | |||
2140 | #define BNX2_DMA_TAG_RAM_05 0x00000c44 | ||
2141 | #define BNX2_DMA_TAG_RAM_05_CHANNEL (0xfL<<0) | ||
2142 | #define BNX2_DMA_TAG_RAM_05_MASTER (0x7L<<4) | ||
2143 | #define BNX2_DMA_TAG_RAM_05_MASTER_CTX (0L<<4) | ||
2144 | #define BNX2_DMA_TAG_RAM_05_MASTER_RBDC (1L<<4) | ||
2145 | #define BNX2_DMA_TAG_RAM_05_MASTER_TBDC (2L<<4) | ||
2146 | #define BNX2_DMA_TAG_RAM_05_MASTER_COM (3L<<4) | ||
2147 | #define BNX2_DMA_TAG_RAM_05_MASTER_CP (4L<<4) | ||
2148 | #define BNX2_DMA_TAG_RAM_05_MASTER_TDMA (5L<<4) | ||
2149 | #define BNX2_DMA_TAG_RAM_05_SWAP (0x3L<<7) | ||
2150 | #define BNX2_DMA_TAG_RAM_05_SWAP_CONFIG (0L<<7) | ||
2151 | #define BNX2_DMA_TAG_RAM_05_SWAP_DATA (1L<<7) | ||
2152 | #define BNX2_DMA_TAG_RAM_05_SWAP_CONTROL (2L<<7) | ||
2153 | #define BNX2_DMA_TAG_RAM_05_FUNCTION (1L<<9) | ||
2154 | #define BNX2_DMA_TAG_RAM_05_VALID (1L<<10) | ||
2155 | |||
2156 | #define BNX2_DMA_TAG_RAM_06 0x00000c48 | ||
2157 | #define BNX2_DMA_TAG_RAM_06_CHANNEL (0xfL<<0) | ||
2158 | #define BNX2_DMA_TAG_RAM_06_MASTER (0x7L<<4) | ||
2159 | #define BNX2_DMA_TAG_RAM_06_MASTER_CTX (0L<<4) | ||
2160 | #define BNX2_DMA_TAG_RAM_06_MASTER_RBDC (1L<<4) | ||
2161 | #define BNX2_DMA_TAG_RAM_06_MASTER_TBDC (2L<<4) | ||
2162 | #define BNX2_DMA_TAG_RAM_06_MASTER_COM (3L<<4) | ||
2163 | #define BNX2_DMA_TAG_RAM_06_MASTER_CP (4L<<4) | ||
2164 | #define BNX2_DMA_TAG_RAM_06_MASTER_TDMA (5L<<4) | ||
2165 | #define BNX2_DMA_TAG_RAM_06_SWAP (0x3L<<7) | ||
2166 | #define BNX2_DMA_TAG_RAM_06_SWAP_CONFIG (0L<<7) | ||
2167 | #define BNX2_DMA_TAG_RAM_06_SWAP_DATA (1L<<7) | ||
2168 | #define BNX2_DMA_TAG_RAM_06_SWAP_CONTROL (2L<<7) | ||
2169 | #define BNX2_DMA_TAG_RAM_06_FUNCTION (1L<<9) | ||
2170 | #define BNX2_DMA_TAG_RAM_06_VALID (1L<<10) | ||
2171 | |||
2172 | #define BNX2_DMA_TAG_RAM_07 0x00000c4c | ||
2173 | #define BNX2_DMA_TAG_RAM_07_CHANNEL (0xfL<<0) | ||
2174 | #define BNX2_DMA_TAG_RAM_07_MASTER (0x7L<<4) | ||
2175 | #define BNX2_DMA_TAG_RAM_07_MASTER_CTX (0L<<4) | ||
2176 | #define BNX2_DMA_TAG_RAM_07_MASTER_RBDC (1L<<4) | ||
2177 | #define BNX2_DMA_TAG_RAM_07_MASTER_TBDC (2L<<4) | ||
2178 | #define BNX2_DMA_TAG_RAM_07_MASTER_COM (3L<<4) | ||
2179 | #define BNX2_DMA_TAG_RAM_07_MASTER_CP (4L<<4) | ||
2180 | #define BNX2_DMA_TAG_RAM_07_MASTER_TDMA (5L<<4) | ||
2181 | #define BNX2_DMA_TAG_RAM_07_SWAP (0x3L<<7) | ||
2182 | #define BNX2_DMA_TAG_RAM_07_SWAP_CONFIG (0L<<7) | ||
2183 | #define BNX2_DMA_TAG_RAM_07_SWAP_DATA (1L<<7) | ||
2184 | #define BNX2_DMA_TAG_RAM_07_SWAP_CONTROL (2L<<7) | ||
2185 | #define BNX2_DMA_TAG_RAM_07_FUNCTION (1L<<9) | ||
2186 | #define BNX2_DMA_TAG_RAM_07_VALID (1L<<10) | ||
2187 | |||
2188 | #define BNX2_DMA_TAG_RAM_08 0x00000c50 | ||
2189 | #define BNX2_DMA_TAG_RAM_08_CHANNEL (0xfL<<0) | ||
2190 | #define BNX2_DMA_TAG_RAM_08_MASTER (0x7L<<4) | ||
2191 | #define BNX2_DMA_TAG_RAM_08_MASTER_CTX (0L<<4) | ||
2192 | #define BNX2_DMA_TAG_RAM_08_MASTER_RBDC (1L<<4) | ||
2193 | #define BNX2_DMA_TAG_RAM_08_MASTER_TBDC (2L<<4) | ||
2194 | #define BNX2_DMA_TAG_RAM_08_MASTER_COM (3L<<4) | ||
2195 | #define BNX2_DMA_TAG_RAM_08_MASTER_CP (4L<<4) | ||
2196 | #define BNX2_DMA_TAG_RAM_08_MASTER_TDMA (5L<<4) | ||
2197 | #define BNX2_DMA_TAG_RAM_08_SWAP (0x3L<<7) | ||
2198 | #define BNX2_DMA_TAG_RAM_08_SWAP_CONFIG (0L<<7) | ||
2199 | #define BNX2_DMA_TAG_RAM_08_SWAP_DATA (1L<<7) | ||
2200 | #define BNX2_DMA_TAG_RAM_08_SWAP_CONTROL (2L<<7) | ||
2201 | #define BNX2_DMA_TAG_RAM_08_FUNCTION (1L<<9) | ||
2202 | #define BNX2_DMA_TAG_RAM_08_VALID (1L<<10) | ||
2203 | |||
2204 | #define BNX2_DMA_TAG_RAM_09 0x00000c54 | ||
2205 | #define BNX2_DMA_TAG_RAM_09_CHANNEL (0xfL<<0) | ||
2206 | #define BNX2_DMA_TAG_RAM_09_MASTER (0x7L<<4) | ||
2207 | #define BNX2_DMA_TAG_RAM_09_MASTER_CTX (0L<<4) | ||
2208 | #define BNX2_DMA_TAG_RAM_09_MASTER_RBDC (1L<<4) | ||
2209 | #define BNX2_DMA_TAG_RAM_09_MASTER_TBDC (2L<<4) | ||
2210 | #define BNX2_DMA_TAG_RAM_09_MASTER_COM (3L<<4) | ||
2211 | #define BNX2_DMA_TAG_RAM_09_MASTER_CP (4L<<4) | ||
2212 | #define BNX2_DMA_TAG_RAM_09_MASTER_TDMA (5L<<4) | ||
2213 | #define BNX2_DMA_TAG_RAM_09_SWAP (0x3L<<7) | ||
2214 | #define BNX2_DMA_TAG_RAM_09_SWAP_CONFIG (0L<<7) | ||
2215 | #define BNX2_DMA_TAG_RAM_09_SWAP_DATA (1L<<7) | ||
2216 | #define BNX2_DMA_TAG_RAM_09_SWAP_CONTROL (2L<<7) | ||
2217 | #define BNX2_DMA_TAG_RAM_09_FUNCTION (1L<<9) | ||
2218 | #define BNX2_DMA_TAG_RAM_09_VALID (1L<<10) | ||
2219 | |||
2220 | #define BNX2_DMA_TAG_RAM_10 0x00000c58 | ||
2221 | #define BNX2_DMA_TAG_RAM_10_CHANNEL (0xfL<<0) | ||
2222 | #define BNX2_DMA_TAG_RAM_10_MASTER (0x7L<<4) | ||
2223 | #define BNX2_DMA_TAG_RAM_10_MASTER_CTX (0L<<4) | ||
2224 | #define BNX2_DMA_TAG_RAM_10_MASTER_RBDC (1L<<4) | ||
2225 | #define BNX2_DMA_TAG_RAM_10_MASTER_TBDC (2L<<4) | ||
2226 | #define BNX2_DMA_TAG_RAM_10_MASTER_COM (3L<<4) | ||
2227 | #define BNX2_DMA_TAG_RAM_10_MASTER_CP (4L<<4) | ||
2228 | #define BNX2_DMA_TAG_RAM_10_MASTER_TDMA (5L<<4) | ||
2229 | #define BNX2_DMA_TAG_RAM_10_SWAP (0x3L<<7) | ||
2230 | #define BNX2_DMA_TAG_RAM_10_SWAP_CONFIG (0L<<7) | ||
2231 | #define BNX2_DMA_TAG_RAM_10_SWAP_DATA (1L<<7) | ||
2232 | #define BNX2_DMA_TAG_RAM_10_SWAP_CONTROL (2L<<7) | ||
2233 | #define BNX2_DMA_TAG_RAM_10_FUNCTION (1L<<9) | ||
2234 | #define BNX2_DMA_TAG_RAM_10_VALID (1L<<10) | ||
2235 | |||
2236 | #define BNX2_DMA_TAG_RAM_11 0x00000c5c | ||
2237 | #define BNX2_DMA_TAG_RAM_11_CHANNEL (0xfL<<0) | ||
2238 | #define BNX2_DMA_TAG_RAM_11_MASTER (0x7L<<4) | ||
2239 | #define BNX2_DMA_TAG_RAM_11_MASTER_CTX (0L<<4) | ||
2240 | #define BNX2_DMA_TAG_RAM_11_MASTER_RBDC (1L<<4) | ||
2241 | #define BNX2_DMA_TAG_RAM_11_MASTER_TBDC (2L<<4) | ||
2242 | #define BNX2_DMA_TAG_RAM_11_MASTER_COM (3L<<4) | ||
2243 | #define BNX2_DMA_TAG_RAM_11_MASTER_CP (4L<<4) | ||
2244 | #define BNX2_DMA_TAG_RAM_11_MASTER_TDMA (5L<<4) | ||
2245 | #define BNX2_DMA_TAG_RAM_11_SWAP (0x3L<<7) | ||
2246 | #define BNX2_DMA_TAG_RAM_11_SWAP_CONFIG (0L<<7) | ||
2247 | #define BNX2_DMA_TAG_RAM_11_SWAP_DATA (1L<<7) | ||
2248 | #define BNX2_DMA_TAG_RAM_11_SWAP_CONTROL (2L<<7) | ||
2249 | #define BNX2_DMA_TAG_RAM_11_FUNCTION (1L<<9) | ||
2250 | #define BNX2_DMA_TAG_RAM_11_VALID (1L<<10) | ||
2251 | |||
1243 | #define BNX2_DMA_RCHAN_STAT_22 0x00000c60 | 2252 | #define BNX2_DMA_RCHAN_STAT_22 0x00000c60 |
1244 | #define BNX2_DMA_RCHAN_STAT_30 0x00000c64 | 2253 | #define BNX2_DMA_RCHAN_STAT_30 0x00000c64 |
1245 | #define BNX2_DMA_RCHAN_STAT_31 0x00000c68 | 2254 | #define BNX2_DMA_RCHAN_STAT_31 0x00000c68 |
@@ -1336,6 +2345,25 @@ struct l2_fhdr { | |||
1336 | */ | 2345 | */ |
1337 | #define BNX2_CTX_COMMAND 0x00001000 | 2346 | #define BNX2_CTX_COMMAND 0x00001000 |
1338 | #define BNX2_CTX_COMMAND_ENABLED (1L<<0) | 2347 | #define BNX2_CTX_COMMAND_ENABLED (1L<<0) |
2348 | #define BNX2_CTX_COMMAND_DISABLE_USAGE_CNT (1L<<1) | ||
2349 | #define BNX2_CTX_COMMAND_DISABLE_PLRU (1L<<2) | ||
2350 | #define BNX2_CTX_COMMAND_DISABLE_COMBINE_READ (1L<<3) | ||
2351 | #define BNX2_CTX_COMMAND_FLUSH_AHEAD (0x1fL<<8) | ||
2352 | #define BNX2_CTX_COMMAND_MEM_INIT (1L<<13) | ||
2353 | #define BNX2_CTX_COMMAND_PAGE_SIZE (0xfL<<16) | ||
2354 | #define BNX2_CTX_COMMAND_PAGE_SIZE_256 (0L<<16) | ||
2355 | #define BNX2_CTX_COMMAND_PAGE_SIZE_512 (1L<<16) | ||
2356 | #define BNX2_CTX_COMMAND_PAGE_SIZE_1K (2L<<16) | ||
2357 | #define BNX2_CTX_COMMAND_PAGE_SIZE_2K (3L<<16) | ||
2358 | #define BNX2_CTX_COMMAND_PAGE_SIZE_4K (4L<<16) | ||
2359 | #define BNX2_CTX_COMMAND_PAGE_SIZE_8K (5L<<16) | ||
2360 | #define BNX2_CTX_COMMAND_PAGE_SIZE_16K (6L<<16) | ||
2361 | #define BNX2_CTX_COMMAND_PAGE_SIZE_32K (7L<<16) | ||
2362 | #define BNX2_CTX_COMMAND_PAGE_SIZE_64K (8L<<16) | ||
2363 | #define BNX2_CTX_COMMAND_PAGE_SIZE_128K (9L<<16) | ||
2364 | #define BNX2_CTX_COMMAND_PAGE_SIZE_256K (10L<<16) | ||
2365 | #define BNX2_CTX_COMMAND_PAGE_SIZE_512K (11L<<16) | ||
2366 | #define BNX2_CTX_COMMAND_PAGE_SIZE_1M (12L<<16) | ||
1339 | 2367 | ||
1340 | #define BNX2_CTX_STATUS 0x00001004 | 2368 | #define BNX2_CTX_STATUS 0x00001004 |
1341 | #define BNX2_CTX_STATUS_LOCK_WAIT (1L<<0) | 2369 | #define BNX2_CTX_STATUS_LOCK_WAIT (1L<<0) |
@@ -1343,6 +2371,13 @@ struct l2_fhdr { | |||
1343 | #define BNX2_CTX_STATUS_WRITE_STAT (1L<<17) | 2371 | #define BNX2_CTX_STATUS_WRITE_STAT (1L<<17) |
1344 | #define BNX2_CTX_STATUS_ACC_STALL_STAT (1L<<18) | 2372 | #define BNX2_CTX_STATUS_ACC_STALL_STAT (1L<<18) |
1345 | #define BNX2_CTX_STATUS_LOCK_STALL_STAT (1L<<19) | 2373 | #define BNX2_CTX_STATUS_LOCK_STALL_STAT (1L<<19) |
2374 | #define BNX2_CTX_STATUS_EXT_READ_STAT (1L<<20) | ||
2375 | #define BNX2_CTX_STATUS_EXT_WRITE_STAT (1L<<21) | ||
2376 | #define BNX2_CTX_STATUS_MISS_STAT (1L<<22) | ||
2377 | #define BNX2_CTX_STATUS_HIT_STAT (1L<<23) | ||
2378 | #define BNX2_CTX_STATUS_DEAD_LOCK (1L<<24) | ||
2379 | #define BNX2_CTX_STATUS_USAGE_CNT_ERR (1L<<25) | ||
2380 | #define BNX2_CTX_STATUS_INVALID_PAGE (1L<<26) | ||
1346 | 2381 | ||
1347 | #define BNX2_CTX_VIRT_ADDR 0x00001008 | 2382 | #define BNX2_CTX_VIRT_ADDR 0x00001008 |
1348 | #define BNX2_CTX_VIRT_ADDR_VIRT_ADDR (0x7fffL<<6) | 2383 | #define BNX2_CTX_VIRT_ADDR_VIRT_ADDR (0x7fffL<<6) |
@@ -1357,10 +2392,15 @@ struct l2_fhdr { | |||
1357 | #define BNX2_CTX_LOCK 0x00001018 | 2392 | #define BNX2_CTX_LOCK 0x00001018 |
1358 | #define BNX2_CTX_LOCK_TYPE (0x7L<<0) | 2393 | #define BNX2_CTX_LOCK_TYPE (0x7L<<0) |
1359 | #define BNX2_CTX_LOCK_TYPE_LOCK_TYPE_VOID (0x0L<<0) | 2394 | #define BNX2_CTX_LOCK_TYPE_LOCK_TYPE_VOID (0x0L<<0) |
1360 | #define BNX2_CTX_LOCK_TYPE_LOCK_TYPE_COMPLETE (0x7L<<0) | ||
1361 | #define BNX2_CTX_LOCK_TYPE_LOCK_TYPE_PROTOCOL (0x1L<<0) | 2395 | #define BNX2_CTX_LOCK_TYPE_LOCK_TYPE_PROTOCOL (0x1L<<0) |
1362 | #define BNX2_CTX_LOCK_TYPE_LOCK_TYPE_TX (0x2L<<0) | 2396 | #define BNX2_CTX_LOCK_TYPE_LOCK_TYPE_TX (0x2L<<0) |
1363 | #define BNX2_CTX_LOCK_TYPE_LOCK_TYPE_TIMER (0x4L<<0) | 2397 | #define BNX2_CTX_LOCK_TYPE_LOCK_TYPE_TIMER (0x4L<<0) |
2398 | #define BNX2_CTX_LOCK_TYPE_LOCK_TYPE_COMPLETE (0x7L<<0) | ||
2399 | #define BNX2_CTX_LOCK_TYPE_VOID_XI (0L<<0) | ||
2400 | #define BNX2_CTX_LOCK_TYPE_PROTOCOL_XI (1L<<0) | ||
2401 | #define BNX2_CTX_LOCK_TYPE_TX_XI (2L<<0) | ||
2402 | #define BNX2_CTX_LOCK_TYPE_TIMER_XI (4L<<0) | ||
2403 | #define BNX2_CTX_LOCK_TYPE_COMPLETE_XI (7L<<0) | ||
1364 | #define BNX2_CTX_LOCK_CID_VALUE (0x3fffL<<7) | 2404 | #define BNX2_CTX_LOCK_CID_VALUE (0x3fffL<<7) |
1365 | #define BNX2_CTX_LOCK_GRANTED (1L<<26) | 2405 | #define BNX2_CTX_LOCK_GRANTED (1L<<26) |
1366 | #define BNX2_CTX_LOCK_MODE (0x7L<<27) | 2406 | #define BNX2_CTX_LOCK_MODE (0x7L<<27) |
@@ -1370,21 +2410,89 @@ struct l2_fhdr { | |||
1370 | #define BNX2_CTX_LOCK_STATUS (1L<<30) | 2410 | #define BNX2_CTX_LOCK_STATUS (1L<<30) |
1371 | #define BNX2_CTX_LOCK_REQ (1L<<31) | 2411 | #define BNX2_CTX_LOCK_REQ (1L<<31) |
1372 | 2412 | ||
2413 | #define BNX2_CTX_CTX_CTRL 0x0000101c | ||
2414 | #define BNX2_CTX_CTX_CTRL_CTX_ADDR (0x7ffffL<<2) | ||
2415 | #define BNX2_CTX_CTX_CTRL_MOD_USAGE_CNT (0x3L<<21) | ||
2416 | #define BNX2_CTX_CTX_CTRL_NO_RAM_ACC (1L<<23) | ||
2417 | #define BNX2_CTX_CTX_CTRL_PREFETCH_SIZE (0x3L<<24) | ||
2418 | #define BNX2_CTX_CTX_CTRL_ATTR (1L<<26) | ||
2419 | #define BNX2_CTX_CTX_CTRL_WRITE_REQ (1L<<30) | ||
2420 | #define BNX2_CTX_CTX_CTRL_READ_REQ (1L<<31) | ||
2421 | |||
2422 | #define BNX2_CTX_CTX_DATA 0x00001020 | ||
1373 | #define BNX2_CTX_ACCESS_STATUS 0x00001040 | 2423 | #define BNX2_CTX_ACCESS_STATUS 0x00001040 |
1374 | #define BNX2_CTX_ACCESS_STATUS_MASTERENCODED (0xfL<<0) | 2424 | #define BNX2_CTX_ACCESS_STATUS_MASTERENCODED (0xfL<<0) |
1375 | #define BNX2_CTX_ACCESS_STATUS_ACCESSMEMORYSM (0x3L<<10) | 2425 | #define BNX2_CTX_ACCESS_STATUS_ACCESSMEMORYSM (0x3L<<10) |
1376 | #define BNX2_CTX_ACCESS_STATUS_PAGETABLEINITSM (0x3L<<12) | 2426 | #define BNX2_CTX_ACCESS_STATUS_PAGETABLEINITSM (0x3L<<12) |
1377 | #define BNX2_CTX_ACCESS_STATUS_ACCESSMEMORYINITSM (0x3L<<14) | 2427 | #define BNX2_CTX_ACCESS_STATUS_ACCESSMEMORYINITSM (0x3L<<14) |
1378 | #define BNX2_CTX_ACCESS_STATUS_QUALIFIED_REQUEST (0x7ffL<<17) | 2428 | #define BNX2_CTX_ACCESS_STATUS_QUALIFIED_REQUEST (0x7ffL<<17) |
2429 | #define BNX2_CTX_ACCESS_STATUS_CAMMASTERENCODED_XI (0x1fL<<0) | ||
2430 | #define BNX2_CTX_ACCESS_STATUS_CACHEMASTERENCODED_XI (0x1fL<<5) | ||
2431 | #define BNX2_CTX_ACCESS_STATUS_REQUEST_XI (0x3fffffL<<10) | ||
1379 | 2432 | ||
1380 | #define BNX2_CTX_DBG_LOCK_STATUS 0x00001044 | 2433 | #define BNX2_CTX_DBG_LOCK_STATUS 0x00001044 |
1381 | #define BNX2_CTX_DBG_LOCK_STATUS_SM (0x3ffL<<0) | 2434 | #define BNX2_CTX_DBG_LOCK_STATUS_SM (0x3ffL<<0) |
1382 | #define BNX2_CTX_DBG_LOCK_STATUS_MATCH (0x3ffL<<22) | 2435 | #define BNX2_CTX_DBG_LOCK_STATUS_MATCH (0x3ffL<<22) |
1383 | 2436 | ||
2437 | #define BNX2_CTX_CACHE_CTRL_STATUS 0x00001048 | ||
2438 | #define BNX2_CTX_CACHE_CTRL_STATUS_RFIFO_OVERFLOW (1L<<0) | ||
2439 | #define BNX2_CTX_CACHE_CTRL_STATUS_INVALID_READ_COMP (1L<<1) | ||
2440 | #define BNX2_CTX_CACHE_CTRL_STATUS_FLUSH_START (1L<<6) | ||
2441 | #define BNX2_CTX_CACHE_CTRL_STATUS_FREE_ENTRY_CNT (0x3fL<<7) | ||
2442 | #define BNX2_CTX_CACHE_CTRL_STATUS_CACHE_ENTRY_NEEDED (0x3fL<<13) | ||
2443 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN0_ACTIVE (1L<<19) | ||
2444 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN1_ACTIVE (1L<<20) | ||
2445 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN2_ACTIVE (1L<<21) | ||
2446 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN3_ACTIVE (1L<<22) | ||
2447 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN4_ACTIVE (1L<<23) | ||
2448 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN5_ACTIVE (1L<<24) | ||
2449 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN6_ACTIVE (1L<<25) | ||
2450 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN7_ACTIVE (1L<<26) | ||
2451 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN8_ACTIVE (1L<<27) | ||
2452 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN9_ACTIVE (1L<<28) | ||
2453 | #define BNX2_CTX_CACHE_CTRL_STATUS_RD_CHAN10_ACTIVE (1L<<29) | ||
2454 | |||
2455 | #define BNX2_CTX_CACHE_CTRL_SM_STATUS 0x0000104c | ||
2456 | #define BNX2_CTX_CACHE_CTRL_SM_STATUS_CS_DWC (0x7L<<0) | ||
2457 | #define BNX2_CTX_CACHE_CTRL_SM_STATUS_CS_WFIFOC (0x7L<<3) | ||
2458 | #define BNX2_CTX_CACHE_CTRL_SM_STATUS_CS_RTAGC (0x7L<<6) | ||
2459 | #define BNX2_CTX_CACHE_CTRL_SM_STATUS_CS_RFIFOC (0x7L<<9) | ||
2460 | #define BNX2_CTX_CACHE_CTRL_SM_STATUS_INVALID_BLK_ADDR (0x7fffL<<16) | ||
2461 | |||
2462 | #define BNX2_CTX_CACHE_STATUS 0x00001050 | ||
2463 | #define BNX2_CTX_CACHE_STATUS_HELD_ENTRIES (0x3ffL<<0) | ||
2464 | #define BNX2_CTX_CACHE_STATUS_MAX_HELD_ENTRIES (0x3ffL<<16) | ||
2465 | |||
2466 | #define BNX2_CTX_DMA_STATUS 0x00001054 | ||
2467 | #define BNX2_CTX_DMA_STATUS_RD_CHAN0_STATUS (0x3L<<0) | ||
2468 | #define BNX2_CTX_DMA_STATUS_RD_CHAN1_STATUS (0x3L<<2) | ||
2469 | #define BNX2_CTX_DMA_STATUS_RD_CHAN2_STATUS (0x3L<<4) | ||
2470 | #define BNX2_CTX_DMA_STATUS_RD_CHAN3_STATUS (0x3L<<6) | ||
2471 | #define BNX2_CTX_DMA_STATUS_RD_CHAN4_STATUS (0x3L<<8) | ||
2472 | #define BNX2_CTX_DMA_STATUS_RD_CHAN5_STATUS (0x3L<<10) | ||
2473 | #define BNX2_CTX_DMA_STATUS_RD_CHAN6_STATUS (0x3L<<12) | ||
2474 | #define BNX2_CTX_DMA_STATUS_RD_CHAN7_STATUS (0x3L<<14) | ||
2475 | #define BNX2_CTX_DMA_STATUS_RD_CHAN8_STATUS (0x3L<<16) | ||
2476 | #define BNX2_CTX_DMA_STATUS_RD_CHAN9_STATUS (0x3L<<18) | ||
2477 | #define BNX2_CTX_DMA_STATUS_RD_CHAN10_STATUS (0x3L<<20) | ||
2478 | |||
2479 | #define BNX2_CTX_REP_STATUS 0x00001058 | ||
2480 | #define BNX2_CTX_REP_STATUS_ERROR_ENTRY (0x3ffL<<0) | ||
2481 | #define BNX2_CTX_REP_STATUS_ERROR_CLIENT_ID (0x1fL<<10) | ||
2482 | #define BNX2_CTX_REP_STATUS_USAGE_CNT_MAX_ERR (1L<<16) | ||
2483 | #define BNX2_CTX_REP_STATUS_USAGE_CNT_MIN_ERR (1L<<17) | ||
2484 | #define BNX2_CTX_REP_STATUS_USAGE_CNT_MISS_ERR (1L<<18) | ||
2485 | |||
2486 | #define BNX2_CTX_CKSUM_ERROR_STATUS 0x0000105c | ||
2487 | #define BNX2_CTX_CKSUM_ERROR_STATUS_CALCULATED (0xffffL<<0) | ||
2488 | #define BNX2_CTX_CKSUM_ERROR_STATUS_EXPECTED (0xffffL<<16) | ||
2489 | |||
1384 | #define BNX2_CTX_CHNL_LOCK_STATUS_0 0x00001080 | 2490 | #define BNX2_CTX_CHNL_LOCK_STATUS_0 0x00001080 |
1385 | #define BNX2_CTX_CHNL_LOCK_STATUS_0_CID (0x3fffL<<0) | 2491 | #define BNX2_CTX_CHNL_LOCK_STATUS_0_CID (0x3fffL<<0) |
1386 | #define BNX2_CTX_CHNL_LOCK_STATUS_0_TYPE (0x3L<<14) | 2492 | #define BNX2_CTX_CHNL_LOCK_STATUS_0_TYPE (0x3L<<14) |
1387 | #define BNX2_CTX_CHNL_LOCK_STATUS_0_MODE (1L<<16) | 2493 | #define BNX2_CTX_CHNL_LOCK_STATUS_0_MODE (1L<<16) |
2494 | #define BNX2_CTX_CHNL_LOCK_STATUS_0_MODE_XI (1L<<14) | ||
2495 | #define BNX2_CTX_CHNL_LOCK_STATUS_0_TYPE_XI (0x7L<<15) | ||
1388 | 2496 | ||
1389 | #define BNX2_CTX_CHNL_LOCK_STATUS_1 0x00001084 | 2497 | #define BNX2_CTX_CHNL_LOCK_STATUS_1 0x00001084 |
1390 | #define BNX2_CTX_CHNL_LOCK_STATUS_2 0x00001088 | 2498 | #define BNX2_CTX_CHNL_LOCK_STATUS_2 0x00001088 |
@@ -1394,6 +2502,26 @@ struct l2_fhdr { | |||
1394 | #define BNX2_CTX_CHNL_LOCK_STATUS_6 0x00001098 | 2502 | #define BNX2_CTX_CHNL_LOCK_STATUS_6 0x00001098 |
1395 | #define BNX2_CTX_CHNL_LOCK_STATUS_7 0x0000109c | 2503 | #define BNX2_CTX_CHNL_LOCK_STATUS_7 0x0000109c |
1396 | #define BNX2_CTX_CHNL_LOCK_STATUS_8 0x000010a0 | 2504 | #define BNX2_CTX_CHNL_LOCK_STATUS_8 0x000010a0 |
2505 | #define BNX2_CTX_CHNL_LOCK_STATUS_9 0x000010a4 | ||
2506 | |||
2507 | #define BNX2_CTX_CACHE_DATA 0x000010c4 | ||
2508 | #define BNX2_CTX_HOST_PAGE_TBL_CTRL 0x000010c8 | ||
2509 | #define BNX2_CTX_HOST_PAGE_TBL_CTRL_PAGE_TBL_ADDR (0x1ffL<<0) | ||
2510 | #define BNX2_CTX_HOST_PAGE_TBL_CTRL_WRITE_REQ (1L<<30) | ||
2511 | #define BNX2_CTX_HOST_PAGE_TBL_CTRL_READ_REQ (1L<<31) | ||
2512 | |||
2513 | #define BNX2_CTX_HOST_PAGE_TBL_DATA0 0x000010cc | ||
2514 | #define BNX2_CTX_HOST_PAGE_TBL_DATA0_VALID (1L<<0) | ||
2515 | #define BNX2_CTX_HOST_PAGE_TBL_DATA0_VALUE (0xffffffL<<8) | ||
2516 | |||
2517 | #define BNX2_CTX_HOST_PAGE_TBL_DATA1 0x000010d0 | ||
2518 | #define BNX2_CTX_CAM_CTRL 0x000010d4 | ||
2519 | #define BNX2_CTX_CAM_CTRL_CAM_ADDR (0x3ffL<<0) | ||
2520 | #define BNX2_CTX_CAM_CTRL_RESET (1L<<27) | ||
2521 | #define BNX2_CTX_CAM_CTRL_INVALIDATE (1L<<28) | ||
2522 | #define BNX2_CTX_CAM_CTRL_SEARCH (1L<<29) | ||
2523 | #define BNX2_CTX_CAM_CTRL_WRITE_REQ (1L<<30) | ||
2524 | #define BNX2_CTX_CAM_CTRL_READ_REQ (1L<<31) | ||
1397 | 2525 | ||
1398 | 2526 | ||
1399 | /* | 2527 | /* |
@@ -1407,14 +2535,16 @@ struct l2_fhdr { | |||
1407 | #define BNX2_EMAC_MODE_PORT_NONE (0L<<2) | 2535 | #define BNX2_EMAC_MODE_PORT_NONE (0L<<2) |
1408 | #define BNX2_EMAC_MODE_PORT_MII (1L<<2) | 2536 | #define BNX2_EMAC_MODE_PORT_MII (1L<<2) |
1409 | #define BNX2_EMAC_MODE_PORT_GMII (2L<<2) | 2537 | #define BNX2_EMAC_MODE_PORT_GMII (2L<<2) |
1410 | #define BNX2_EMAC_MODE_PORT_MII_10 (3L<<2) | 2538 | #define BNX2_EMAC_MODE_PORT_MII_10M (3L<<2) |
1411 | #define BNX2_EMAC_MODE_MAC_LOOP (1L<<4) | 2539 | #define BNX2_EMAC_MODE_MAC_LOOP (1L<<4) |
1412 | #define BNX2_EMAC_MODE_25G (1L<<5) | 2540 | #define BNX2_EMAC_MODE_25G_MODE (1L<<5) |
1413 | #define BNX2_EMAC_MODE_TAGGED_MAC_CTL (1L<<7) | 2541 | #define BNX2_EMAC_MODE_TAGGED_MAC_CTL (1L<<7) |
1414 | #define BNX2_EMAC_MODE_TX_BURST (1L<<8) | 2542 | #define BNX2_EMAC_MODE_TX_BURST (1L<<8) |
1415 | #define BNX2_EMAC_MODE_MAX_DEFER_DROP_ENA (1L<<9) | 2543 | #define BNX2_EMAC_MODE_MAX_DEFER_DROP_ENA (1L<<9) |
1416 | #define BNX2_EMAC_MODE_EXT_LINK_POL (1L<<10) | 2544 | #define BNX2_EMAC_MODE_EXT_LINK_POL (1L<<10) |
1417 | #define BNX2_EMAC_MODE_FORCE_LINK (1L<<11) | 2545 | #define BNX2_EMAC_MODE_FORCE_LINK (1L<<11) |
2546 | #define BNX2_EMAC_MODE_SERDES_MODE (1L<<12) | ||
2547 | #define BNX2_EMAC_MODE_BOND_OVRD (1L<<13) | ||
1418 | #define BNX2_EMAC_MODE_MPKT (1L<<18) | 2548 | #define BNX2_EMAC_MODE_MPKT (1L<<18) |
1419 | #define BNX2_EMAC_MODE_MPKT_RCVD (1L<<19) | 2549 | #define BNX2_EMAC_MODE_MPKT_RCVD (1L<<19) |
1420 | #define BNX2_EMAC_MODE_ACPI_RCVD (1L<<20) | 2550 | #define BNX2_EMAC_MODE_ACPI_RCVD (1L<<20) |
@@ -1422,6 +2552,11 @@ struct l2_fhdr { | |||
1422 | #define BNX2_EMAC_STATUS 0x00001404 | 2552 | #define BNX2_EMAC_STATUS 0x00001404 |
1423 | #define BNX2_EMAC_STATUS_LINK (1L<<11) | 2553 | #define BNX2_EMAC_STATUS_LINK (1L<<11) |
1424 | #define BNX2_EMAC_STATUS_LINK_CHANGE (1L<<12) | 2554 | #define BNX2_EMAC_STATUS_LINK_CHANGE (1L<<12) |
2555 | #define BNX2_EMAC_STATUS_SERDES_AUTONEG_COMPLETE (1L<<13) | ||
2556 | #define BNX2_EMAC_STATUS_SERDES_AUTONEG_CHANGE (1L<<14) | ||
2557 | #define BNX2_EMAC_STATUS_SERDES_NXT_PG_CHANGE (1L<<16) | ||
2558 | #define BNX2_EMAC_STATUS_SERDES_RX_CONFIG_IS_0 (1L<<17) | ||
2559 | #define BNX2_EMAC_STATUS_SERDES_RX_CONFIG_IS_0_CHANGE (1L<<18) | ||
1425 | #define BNX2_EMAC_STATUS_MI_COMPLETE (1L<<22) | 2560 | #define BNX2_EMAC_STATUS_MI_COMPLETE (1L<<22) |
1426 | #define BNX2_EMAC_STATUS_MI_INT (1L<<23) | 2561 | #define BNX2_EMAC_STATUS_MI_INT (1L<<23) |
1427 | #define BNX2_EMAC_STATUS_AP_ERROR (1L<<24) | 2562 | #define BNX2_EMAC_STATUS_AP_ERROR (1L<<24) |
@@ -1429,6 +2564,9 @@ struct l2_fhdr { | |||
1429 | 2564 | ||
1430 | #define BNX2_EMAC_ATTENTION_ENA 0x00001408 | 2565 | #define BNX2_EMAC_ATTENTION_ENA 0x00001408 |
1431 | #define BNX2_EMAC_ATTENTION_ENA_LINK (1L<<11) | 2566 | #define BNX2_EMAC_ATTENTION_ENA_LINK (1L<<11) |
2567 | #define BNX2_EMAC_ATTENTION_ENA_AUTONEG_CHANGE (1L<<14) | ||
2568 | #define BNX2_EMAC_ATTENTION_ENA_NXT_PG_CHANGE (1L<<16) | ||
2569 | #define BNX2_EMAC_ATTENTION_ENA_SERDES_RX_CONFIG_IS_0_CHANGE (1L<<18) | ||
1432 | #define BNX2_EMAC_ATTENTION_ENA_MI_COMPLETE (1L<<22) | 2570 | #define BNX2_EMAC_ATTENTION_ENA_MI_COMPLETE (1L<<22) |
1433 | #define BNX2_EMAC_ATTENTION_ENA_MI_INT (1L<<23) | 2571 | #define BNX2_EMAC_ATTENTION_ENA_MI_INT (1L<<23) |
1434 | #define BNX2_EMAC_ATTENTION_ENA_AP_ERROR (1L<<24) | 2572 | #define BNX2_EMAC_ATTENTION_ENA_AP_ERROR (1L<<24) |
@@ -1445,6 +2583,13 @@ struct l2_fhdr { | |||
1445 | #define BNX2_EMAC_LED_100MB (1L<<8) | 2583 | #define BNX2_EMAC_LED_100MB (1L<<8) |
1446 | #define BNX2_EMAC_LED_10MB (1L<<9) | 2584 | #define BNX2_EMAC_LED_10MB (1L<<9) |
1447 | #define BNX2_EMAC_LED_TRAFFIC_STAT (1L<<10) | 2585 | #define BNX2_EMAC_LED_TRAFFIC_STAT (1L<<10) |
2586 | #define BNX2_EMAC_LED_2500MB (1L<<11) | ||
2587 | #define BNX2_EMAC_LED_2500MB_OVERRIDE (1L<<12) | ||
2588 | #define BNX2_EMAC_LED_ACTIVITY_SEL (0x3L<<17) | ||
2589 | #define BNX2_EMAC_LED_ACTIVITY_SEL_0 (0L<<17) | ||
2590 | #define BNX2_EMAC_LED_ACTIVITY_SEL_1 (1L<<17) | ||
2591 | #define BNX2_EMAC_LED_ACTIVITY_SEL_2 (2L<<17) | ||
2592 | #define BNX2_EMAC_LED_ACTIVITY_SEL_3 (3L<<17) | ||
1448 | #define BNX2_EMAC_LED_BLNK_RATE (0xfffL<<19) | 2593 | #define BNX2_EMAC_LED_BLNK_RATE (0xfffL<<19) |
1449 | #define BNX2_EMAC_LED_BLNK_RATE_ENA (1L<<31) | 2594 | #define BNX2_EMAC_LED_BLNK_RATE_ENA (1L<<31) |
1450 | 2595 | ||
@@ -1515,9 +2660,15 @@ struct l2_fhdr { | |||
1515 | #define BNX2_EMAC_MDIO_COMM_PHY_ADDR (0x1fL<<21) | 2660 | #define BNX2_EMAC_MDIO_COMM_PHY_ADDR (0x1fL<<21) |
1516 | #define BNX2_EMAC_MDIO_COMM_COMMAND (0x3L<<26) | 2661 | #define BNX2_EMAC_MDIO_COMM_COMMAND (0x3L<<26) |
1517 | #define BNX2_EMAC_MDIO_COMM_COMMAND_UNDEFINED_0 (0L<<26) | 2662 | #define BNX2_EMAC_MDIO_COMM_COMMAND_UNDEFINED_0 (0L<<26) |
2663 | #define BNX2_EMAC_MDIO_COMM_COMMAND_ADDRESS (0L<<26) | ||
1518 | #define BNX2_EMAC_MDIO_COMM_COMMAND_WRITE (1L<<26) | 2664 | #define BNX2_EMAC_MDIO_COMM_COMMAND_WRITE (1L<<26) |
1519 | #define BNX2_EMAC_MDIO_COMM_COMMAND_READ (2L<<26) | 2665 | #define BNX2_EMAC_MDIO_COMM_COMMAND_READ (2L<<26) |
2666 | #define BNX2_EMAC_MDIO_COMM_COMMAND_WRITE_22_XI (1L<<26) | ||
2667 | #define BNX2_EMAC_MDIO_COMM_COMMAND_WRITE_45_XI (1L<<26) | ||
2668 | #define BNX2_EMAC_MDIO_COMM_COMMAND_READ_22_XI (2L<<26) | ||
2669 | #define BNX2_EMAC_MDIO_COMM_COMMAND_READ_INC_45_XI (2L<<26) | ||
1520 | #define BNX2_EMAC_MDIO_COMM_COMMAND_UNDEFINED_3 (3L<<26) | 2670 | #define BNX2_EMAC_MDIO_COMM_COMMAND_UNDEFINED_3 (3L<<26) |
2671 | #define BNX2_EMAC_MDIO_COMM_COMMAND_READ_45 (3L<<26) | ||
1521 | #define BNX2_EMAC_MDIO_COMM_FAIL (1L<<28) | 2672 | #define BNX2_EMAC_MDIO_COMM_FAIL (1L<<28) |
1522 | #define BNX2_EMAC_MDIO_COMM_START_BUSY (1L<<29) | 2673 | #define BNX2_EMAC_MDIO_COMM_START_BUSY (1L<<29) |
1523 | #define BNX2_EMAC_MDIO_COMM_DISEXT (1L<<30) | 2674 | #define BNX2_EMAC_MDIO_COMM_DISEXT (1L<<30) |
@@ -1534,13 +2685,17 @@ struct l2_fhdr { | |||
1534 | #define BNX2_EMAC_MDIO_MODE_MDIO_OE (1L<<10) | 2685 | #define BNX2_EMAC_MDIO_MODE_MDIO_OE (1L<<10) |
1535 | #define BNX2_EMAC_MDIO_MODE_MDC (1L<<11) | 2686 | #define BNX2_EMAC_MDIO_MODE_MDC (1L<<11) |
1536 | #define BNX2_EMAC_MDIO_MODE_MDINT (1L<<12) | 2687 | #define BNX2_EMAC_MDIO_MODE_MDINT (1L<<12) |
2688 | #define BNX2_EMAC_MDIO_MODE_EXT_MDINT (1L<<13) | ||
1537 | #define BNX2_EMAC_MDIO_MODE_CLOCK_CNT (0x1fL<<16) | 2689 | #define BNX2_EMAC_MDIO_MODE_CLOCK_CNT (0x1fL<<16) |
2690 | #define BNX2_EMAC_MDIO_MODE_CLOCK_CNT_XI (0x3fL<<16) | ||
2691 | #define BNX2_EMAC_MDIO_MODE_CLAUSE_45_XI (1L<<31) | ||
1538 | 2692 | ||
1539 | #define BNX2_EMAC_MDIO_AUTO_STATUS 0x000014b8 | 2693 | #define BNX2_EMAC_MDIO_AUTO_STATUS 0x000014b8 |
1540 | #define BNX2_EMAC_MDIO_AUTO_STATUS_AUTO_ERR (1L<<0) | 2694 | #define BNX2_EMAC_MDIO_AUTO_STATUS_AUTO_ERR (1L<<0) |
1541 | 2695 | ||
1542 | #define BNX2_EMAC_TX_MODE 0x000014bc | 2696 | #define BNX2_EMAC_TX_MODE 0x000014bc |
1543 | #define BNX2_EMAC_TX_MODE_RESET (1L<<0) | 2697 | #define BNX2_EMAC_TX_MODE_RESET (1L<<0) |
2698 | #define BNX2_EMAC_TX_MODE_CS16_TEST (1L<<2) | ||
1544 | #define BNX2_EMAC_TX_MODE_EXT_PAUSE_EN (1L<<3) | 2699 | #define BNX2_EMAC_TX_MODE_EXT_PAUSE_EN (1L<<3) |
1545 | #define BNX2_EMAC_TX_MODE_FLOW_EN (1L<<4) | 2700 | #define BNX2_EMAC_TX_MODE_FLOW_EN (1L<<4) |
1546 | #define BNX2_EMAC_TX_MODE_BIG_BACKOFF (1L<<5) | 2701 | #define BNX2_EMAC_TX_MODE_BIG_BACKOFF (1L<<5) |
@@ -1553,6 +2708,7 @@ struct l2_fhdr { | |||
1553 | #define BNX2_EMAC_TX_STATUS_XON_SENT (1L<<2) | 2708 | #define BNX2_EMAC_TX_STATUS_XON_SENT (1L<<2) |
1554 | #define BNX2_EMAC_TX_STATUS_LINK_UP (1L<<3) | 2709 | #define BNX2_EMAC_TX_STATUS_LINK_UP (1L<<3) |
1555 | #define BNX2_EMAC_TX_STATUS_UNDERRUN (1L<<4) | 2710 | #define BNX2_EMAC_TX_STATUS_UNDERRUN (1L<<4) |
2711 | #define BNX2_EMAC_TX_STATUS_CS16_ERROR (1L<<5) | ||
1556 | 2712 | ||
1557 | #define BNX2_EMAC_TX_LENGTHS 0x000014c4 | 2713 | #define BNX2_EMAC_TX_LENGTHS 0x000014c4 |
1558 | #define BNX2_EMAC_TX_LENGTHS_SLOT (0xffL<<0) | 2714 | #define BNX2_EMAC_TX_LENGTHS_SLOT (0xffL<<0) |
@@ -1586,6 +2742,10 @@ struct l2_fhdr { | |||
1586 | #define BNX2_EMAC_MULTICAST_HASH5 0x000014e4 | 2742 | #define BNX2_EMAC_MULTICAST_HASH5 0x000014e4 |
1587 | #define BNX2_EMAC_MULTICAST_HASH6 0x000014e8 | 2743 | #define BNX2_EMAC_MULTICAST_HASH6 0x000014e8 |
1588 | #define BNX2_EMAC_MULTICAST_HASH7 0x000014ec | 2744 | #define BNX2_EMAC_MULTICAST_HASH7 0x000014ec |
2745 | #define BNX2_EMAC_CKSUM_ERROR_STATUS 0x000014f0 | ||
2746 | #define BNX2_EMAC_CKSUM_ERROR_STATUS_CALCULATED (0xffffL<<0) | ||
2747 | #define BNX2_EMAC_CKSUM_ERROR_STATUS_EXPECTED (0xffffL<<16) | ||
2748 | |||
1589 | #define BNX2_EMAC_RX_STAT_IFHCINOCTETS 0x00001500 | 2749 | #define BNX2_EMAC_RX_STAT_IFHCINOCTETS 0x00001500 |
1590 | #define BNX2_EMAC_RX_STAT_IFHCINBADOCTETS 0x00001504 | 2750 | #define BNX2_EMAC_RX_STAT_IFHCINBADOCTETS 0x00001504 |
1591 | #define BNX2_EMAC_RX_STAT_ETHERSTATSFRAGMENTS 0x00001508 | 2751 | #define BNX2_EMAC_RX_STAT_ETHERSTATSFRAGMENTS 0x00001508 |
@@ -1608,7 +2768,7 @@ struct l2_fhdr { | |||
1608 | #define BNX2_EMAC_RX_STAT_ETHERSTATSPKTS256OCTETSTO511OCTETS 0x0000154c | 2768 | #define BNX2_EMAC_RX_STAT_ETHERSTATSPKTS256OCTETSTO511OCTETS 0x0000154c |
1609 | #define BNX2_EMAC_RX_STAT_ETHERSTATSPKTS512OCTETSTO1023OCTETS 0x00001550 | 2769 | #define BNX2_EMAC_RX_STAT_ETHERSTATSPKTS512OCTETSTO1023OCTETS 0x00001550 |
1610 | #define BNX2_EMAC_RX_STAT_ETHERSTATSPKTS1024OCTETSTO1522OCTETS 0x00001554 | 2770 | #define BNX2_EMAC_RX_STAT_ETHERSTATSPKTS1024OCTETSTO1522OCTETS 0x00001554 |
1611 | #define BNX2_EMAC_RX_STAT_ETHERSTATSPKTS1523OCTETSTO9022OCTETS 0x00001558 | 2771 | #define BNX2_EMAC_RX_STAT_ETHERSTATSPKTSOVER1522OCTETS 0x00001558 |
1612 | #define BNX2_EMAC_RXMAC_DEBUG0 0x0000155c | 2772 | #define BNX2_EMAC_RXMAC_DEBUG0 0x0000155c |
1613 | #define BNX2_EMAC_RXMAC_DEBUG1 0x00001560 | 2773 | #define BNX2_EMAC_RXMAC_DEBUG1 0x00001560 |
1614 | #define BNX2_EMAC_RXMAC_DEBUG1_LENGTH_NE_BYTE_COUNT (1L<<0) | 2774 | #define BNX2_EMAC_RXMAC_DEBUG1_LENGTH_NE_BYTE_COUNT (1L<<0) |
@@ -1661,9 +2821,9 @@ struct l2_fhdr { | |||
1661 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_UMAC2 (0x1L<<16) | 2821 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_UMAC2 (0x1L<<16) |
1662 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_UMAC3 (0x2L<<16) | 2822 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_UMAC3 (0x2L<<16) |
1663 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_UNI (0x3L<<16) | 2823 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_UNI (0x3L<<16) |
1664 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_MMAC2 (0x7L<<16) | ||
1665 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_MMAC3 (0x5L<<16) | 2824 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_MMAC3 (0x5L<<16) |
1666 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_PSA1 (0x6L<<16) | 2825 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_PSA1 (0x6L<<16) |
2826 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_MMAC2 (0x7L<<16) | ||
1667 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_PSA2 (0x7L<<16) | 2827 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_PSA2 (0x7L<<16) |
1668 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_PSA3 (0x8L<<16) | 2828 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_PSA3 (0x8L<<16) |
1669 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_MC2 (0x9L<<16) | 2829 | #define BNX2_EMAC_RXMAC_DEBUG4_FILT_STATE_MC2 (0x9L<<16) |
@@ -1701,7 +2861,7 @@ struct l2_fhdr { | |||
1701 | #define BNX2_EMAC_RXMAC_DEBUG4_SLOT_FILLED (1L<<23) | 2861 | #define BNX2_EMAC_RXMAC_DEBUG4_SLOT_FILLED (1L<<23) |
1702 | #define BNX2_EMAC_RXMAC_DEBUG4_FALSE_CARRIER (1L<<24) | 2862 | #define BNX2_EMAC_RXMAC_DEBUG4_FALSE_CARRIER (1L<<24) |
1703 | #define BNX2_EMAC_RXMAC_DEBUG4_LAST_DATA (1L<<25) | 2863 | #define BNX2_EMAC_RXMAC_DEBUG4_LAST_DATA (1L<<25) |
1704 | #define BNX2_EMAC_RXMAC_DEBUG4_sfd_FOUND (1L<<26) | 2864 | #define BNX2_EMAC_RXMAC_DEBUG4_SFD_FOUND (1L<<26) |
1705 | #define BNX2_EMAC_RXMAC_DEBUG4_ADVANCE (1L<<27) | 2865 | #define BNX2_EMAC_RXMAC_DEBUG4_ADVANCE (1L<<27) |
1706 | #define BNX2_EMAC_RXMAC_DEBUG4_START (1L<<28) | 2866 | #define BNX2_EMAC_RXMAC_DEBUG4_START (1L<<28) |
1707 | 2867 | ||
@@ -1733,6 +2893,7 @@ struct l2_fhdr { | |||
1733 | #define BNX2_EMAC_RXMAC_DEBUG5_IDI_RPM_ACCEPT (1L<<19) | 2893 | #define BNX2_EMAC_RXMAC_DEBUG5_IDI_RPM_ACCEPT (1L<<19) |
1734 | #define BNX2_EMAC_RXMAC_DEBUG5_FMLEN (0xfffL<<20) | 2894 | #define BNX2_EMAC_RXMAC_DEBUG5_FMLEN (0xfffL<<20) |
1735 | 2895 | ||
2896 | #define BNX2_EMAC_RX_STAT_FALSECARRIERERRORS 0x00001574 | ||
1736 | #define BNX2_EMAC_RX_STAT_AC0 0x00001580 | 2897 | #define BNX2_EMAC_RX_STAT_AC0 0x00001580 |
1737 | #define BNX2_EMAC_RX_STAT_AC1 0x00001584 | 2898 | #define BNX2_EMAC_RX_STAT_AC1 0x00001584 |
1738 | #define BNX2_EMAC_RX_STAT_AC2 0x00001588 | 2899 | #define BNX2_EMAC_RX_STAT_AC2 0x00001588 |
@@ -1757,6 +2918,7 @@ struct l2_fhdr { | |||
1757 | #define BNX2_EMAC_RX_STAT_AC21 0x000015d4 | 2918 | #define BNX2_EMAC_RX_STAT_AC21 0x000015d4 |
1758 | #define BNX2_EMAC_RX_STAT_AC22 0x000015d8 | 2919 | #define BNX2_EMAC_RX_STAT_AC22 0x000015d8 |
1759 | #define BNX2_EMAC_RXMAC_SUC_DBG_OVERRUNVEC 0x000015dc | 2920 | #define BNX2_EMAC_RXMAC_SUC_DBG_OVERRUNVEC 0x000015dc |
2921 | #define BNX2_EMAC_RX_STAT_AC_28 0x000015f4 | ||
1760 | #define BNX2_EMAC_TX_STAT_IFHCOUTOCTETS 0x00001600 | 2922 | #define BNX2_EMAC_TX_STAT_IFHCOUTOCTETS 0x00001600 |
1761 | #define BNX2_EMAC_TX_STAT_IFHCOUTBADOCTETS 0x00001604 | 2923 | #define BNX2_EMAC_TX_STAT_IFHCOUTBADOCTETS 0x00001604 |
1762 | #define BNX2_EMAC_TX_STAT_ETHERSTATSCOLLISIONS 0x00001608 | 2924 | #define BNX2_EMAC_TX_STAT_ETHERSTATSCOLLISIONS 0x00001608 |
@@ -1777,7 +2939,7 @@ struct l2_fhdr { | |||
1777 | #define BNX2_EMAC_TX_STAT_ETHERSTATSPKTS256OCTETSTO511OCTETS 0x00001644 | 2939 | #define BNX2_EMAC_TX_STAT_ETHERSTATSPKTS256OCTETSTO511OCTETS 0x00001644 |
1778 | #define BNX2_EMAC_TX_STAT_ETHERSTATSPKTS512OCTETSTO1023OCTETS 0x00001648 | 2940 | #define BNX2_EMAC_TX_STAT_ETHERSTATSPKTS512OCTETSTO1023OCTETS 0x00001648 |
1779 | #define BNX2_EMAC_TX_STAT_ETHERSTATSPKTS1024OCTETSTO1522OCTETS 0x0000164c | 2941 | #define BNX2_EMAC_TX_STAT_ETHERSTATSPKTS1024OCTETSTO1522OCTETS 0x0000164c |
1780 | #define BNX2_EMAC_TX_STAT_ETHERSTATSPKTS1523OCTETSTO9022OCTETS 0x00001650 | 2942 | #define BNX2_EMAC_TX_STAT_ETHERSTATSPKTSOVER1522OCTETS 0x00001650 |
1781 | #define BNX2_EMAC_TX_STAT_DOT3STATSINTERNALMACTRANSMITERRORS 0x00001654 | 2943 | #define BNX2_EMAC_TX_STAT_DOT3STATSINTERNALMACTRANSMITERRORS 0x00001654 |
1782 | #define BNX2_EMAC_TXMAC_DEBUG0 0x00001658 | 2944 | #define BNX2_EMAC_TXMAC_DEBUG0 0x00001658 |
1783 | #define BNX2_EMAC_TXMAC_DEBUG1 0x0000165c | 2945 | #define BNX2_EMAC_TXMAC_DEBUG1 0x0000165c |
@@ -1843,16 +3005,16 @@ struct l2_fhdr { | |||
1843 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_IDLE (0x0L<<16) | 3005 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_IDLE (0x0L<<16) |
1844 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_MCA1 (0x2L<<16) | 3006 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_MCA1 (0x2L<<16) |
1845 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_MCA2 (0x3L<<16) | 3007 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_MCA2 (0x3L<<16) |
3008 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_SRC3 (0x4L<<16) | ||
3009 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_SRC2 (0x5L<<16) | ||
1846 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_MCA3 (0x6L<<16) | 3010 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_MCA3 (0x6L<<16) |
1847 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_SRC1 (0x7L<<16) | 3011 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_SRC1 (0x7L<<16) |
1848 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_SRC2 (0x5L<<16) | ||
1849 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_SRC3 (0x4L<<16) | ||
1850 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_TYPE (0xcL<<16) | ||
1851 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_CMD (0xeL<<16) | ||
1852 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_TIME (0xaL<<16) | ||
1853 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_CRC1 (0x8L<<16) | 3012 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_CRC1 (0x8L<<16) |
1854 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_CRC2 (0x9L<<16) | 3013 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_CRC2 (0x9L<<16) |
3014 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_TIME (0xaL<<16) | ||
3015 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_TYPE (0xcL<<16) | ||
1855 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_WAIT (0xdL<<16) | 3016 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_WAIT (0xdL<<16) |
3017 | #define BNX2_EMAC_TXMAC_DEBUG4_PAUSE_STATE_CMD (0xeL<<16) | ||
1856 | #define BNX2_EMAC_TXMAC_DEBUG4_STATS0_VALID (1L<<20) | 3018 | #define BNX2_EMAC_TXMAC_DEBUG4_STATS0_VALID (1L<<20) |
1857 | #define BNX2_EMAC_TXMAC_DEBUG4_APPEND_CRC (1L<<21) | 3019 | #define BNX2_EMAC_TXMAC_DEBUG4_APPEND_CRC (1L<<21) |
1858 | #define BNX2_EMAC_TXMAC_DEBUG4_SLOT_FILLED (1L<<22) | 3020 | #define BNX2_EMAC_TXMAC_DEBUG4_SLOT_FILLED (1L<<22) |
@@ -1887,8 +3049,11 @@ struct l2_fhdr { | |||
1887 | #define BNX2_EMAC_TX_STAT_AC18 0x000016c8 | 3049 | #define BNX2_EMAC_TX_STAT_AC18 0x000016c8 |
1888 | #define BNX2_EMAC_TX_STAT_AC19 0x000016cc | 3050 | #define BNX2_EMAC_TX_STAT_AC19 0x000016cc |
1889 | #define BNX2_EMAC_TX_STAT_AC20 0x000016d0 | 3051 | #define BNX2_EMAC_TX_STAT_AC20 0x000016d0 |
1890 | #define BNX2_EMAC_TX_STAT_AC21 0x000016d4 | ||
1891 | #define BNX2_EMAC_TXMAC_SUC_DBG_OVERRUNVEC 0x000016d8 | 3052 | #define BNX2_EMAC_TXMAC_SUC_DBG_OVERRUNVEC 0x000016d8 |
3053 | #define BNX2_EMAC_TX_RATE_LIMIT_CTRL 0x000016fc | ||
3054 | #define BNX2_EMAC_TX_RATE_LIMIT_CTRL_TX_THROTTLE_INC (0x7fL<<0) | ||
3055 | #define BNX2_EMAC_TX_RATE_LIMIT_CTRL_TX_THROTTLE_NUM (0x7fL<<16) | ||
3056 | #define BNX2_EMAC_TX_RATE_LIMIT_CTRL_RATE_LIMITER_EN (1L<<31) | ||
1892 | 3057 | ||
1893 | 3058 | ||
1894 | /* | 3059 | /* |
@@ -1909,8 +3074,15 @@ struct l2_fhdr { | |||
1909 | #define BNX2_RPM_CONFIG_ACPI_KEEP (1L<<2) | 3074 | #define BNX2_RPM_CONFIG_ACPI_KEEP (1L<<2) |
1910 | #define BNX2_RPM_CONFIG_MP_KEEP (1L<<3) | 3075 | #define BNX2_RPM_CONFIG_MP_KEEP (1L<<3) |
1911 | #define BNX2_RPM_CONFIG_SORT_VECT_VAL (0xfL<<4) | 3076 | #define BNX2_RPM_CONFIG_SORT_VECT_VAL (0xfL<<4) |
3077 | #define BNX2_RPM_CONFIG_DISABLE_WOL_ASSERT (1L<<30) | ||
1912 | #define BNX2_RPM_CONFIG_IGNORE_VLAN (1L<<31) | 3078 | #define BNX2_RPM_CONFIG_IGNORE_VLAN (1L<<31) |
1913 | 3079 | ||
3080 | #define BNX2_RPM_MGMT_PKT_CTRL 0x0000180c | ||
3081 | #define BNX2_RPM_MGMT_PKT_CTRL_MGMT_SORT (0xfL<<0) | ||
3082 | #define BNX2_RPM_MGMT_PKT_CTRL_MGMT_RULE (0xfL<<4) | ||
3083 | #define BNX2_RPM_MGMT_PKT_CTRL_MGMT_DISCARD_EN (1L<<30) | ||
3084 | #define BNX2_RPM_MGMT_PKT_CTRL_MGMT_EN (1L<<31) | ||
3085 | |||
1914 | #define BNX2_RPM_VLAN_MATCH0 0x00001810 | 3086 | #define BNX2_RPM_VLAN_MATCH0 0x00001810 |
1915 | #define BNX2_RPM_VLAN_MATCH0_RPM_VLAN_MTCH0_VALUE (0xfffL<<0) | 3087 | #define BNX2_RPM_VLAN_MATCH0_RPM_VLAN_MTCH0_VALUE (0xfffL<<0) |
1916 | 3088 | ||
@@ -1931,6 +3103,7 @@ struct l2_fhdr { | |||
1931 | #define BNX2_RPM_SORT_USER0_PROM_EN (1L<<19) | 3103 | #define BNX2_RPM_SORT_USER0_PROM_EN (1L<<19) |
1932 | #define BNX2_RPM_SORT_USER0_VLAN_EN (0xfL<<20) | 3104 | #define BNX2_RPM_SORT_USER0_VLAN_EN (0xfL<<20) |
1933 | #define BNX2_RPM_SORT_USER0_PROM_VLAN (1L<<24) | 3105 | #define BNX2_RPM_SORT_USER0_PROM_VLAN (1L<<24) |
3106 | #define BNX2_RPM_SORT_USER0_VLAN_NOTMATCH (1L<<25) | ||
1934 | #define BNX2_RPM_SORT_USER0_ENA (1L<<31) | 3107 | #define BNX2_RPM_SORT_USER0_ENA (1L<<31) |
1935 | 3108 | ||
1936 | #define BNX2_RPM_SORT_USER1 0x00001824 | 3109 | #define BNX2_RPM_SORT_USER1 0x00001824 |
@@ -1968,11 +3141,187 @@ struct l2_fhdr { | |||
1968 | #define BNX2_RPM_STAT_IFINFTQDISCARDS 0x00001848 | 3141 | #define BNX2_RPM_STAT_IFINFTQDISCARDS 0x00001848 |
1969 | #define BNX2_RPM_STAT_IFINMBUFDISCARD 0x0000184c | 3142 | #define BNX2_RPM_STAT_IFINMBUFDISCARD 0x0000184c |
1970 | #define BNX2_RPM_STAT_RULE_CHECKER_P4_HIT 0x00001850 | 3143 | #define BNX2_RPM_STAT_RULE_CHECKER_P4_HIT 0x00001850 |
3144 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION0 0x00001854 | ||
3145 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION0_NEXT_HEADER_LEN (0xffL<<0) | ||
3146 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION0_NEXT_HEADER (0xffL<<16) | ||
3147 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION0_NEXT_HEADER_LEN_TYPE (1L<<30) | ||
3148 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION0_NEXT_HEADER_EN (1L<<31) | ||
3149 | |||
3150 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION1 0x00001858 | ||
3151 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION1_NEXT_HEADER_LEN (0xffL<<0) | ||
3152 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION1_NEXT_HEADER (0xffL<<16) | ||
3153 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION1_NEXT_HEADER_LEN_TYPE (1L<<30) | ||
3154 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION1_NEXT_HEADER_EN (1L<<31) | ||
3155 | |||
3156 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION2 0x0000185c | ||
3157 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION2_NEXT_HEADER_LEN (0xffL<<0) | ||
3158 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION2_NEXT_HEADER (0xffL<<16) | ||
3159 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION2_NEXT_HEADER_LEN_TYPE (1L<<30) | ||
3160 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION2_NEXT_HEADER_EN (1L<<31) | ||
3161 | |||
3162 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION3 0x00001860 | ||
3163 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION3_NEXT_HEADER_LEN (0xffL<<0) | ||
3164 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION3_NEXT_HEADER (0xffL<<16) | ||
3165 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION3_NEXT_HEADER_LEN_TYPE (1L<<30) | ||
3166 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION3_NEXT_HEADER_EN (1L<<31) | ||
3167 | |||
3168 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION4 0x00001864 | ||
3169 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION4_NEXT_HEADER_LEN (0xffL<<0) | ||
3170 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION4_NEXT_HEADER (0xffL<<16) | ||
3171 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION4_NEXT_HEADER_LEN_TYPE (1L<<30) | ||
3172 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION4_NEXT_HEADER_EN (1L<<31) | ||
3173 | |||
3174 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION5 0x00001868 | ||
3175 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION5_NEXT_HEADER_LEN (0xffL<<0) | ||
3176 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION5_NEXT_HEADER (0xffL<<16) | ||
3177 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION5_NEXT_HEADER_LEN_TYPE (1L<<30) | ||
3178 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION5_NEXT_HEADER_EN (1L<<31) | ||
3179 | |||
3180 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION6 0x0000186c | ||
3181 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION6_NEXT_HEADER_LEN (0xffL<<0) | ||
3182 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION6_NEXT_HEADER (0xffL<<16) | ||
3183 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION6_NEXT_HEADER_LEN_TYPE (1L<<30) | ||
3184 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION6_NEXT_HEADER_EN (1L<<31) | ||
3185 | |||
3186 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION7 0x00001870 | ||
3187 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION7_NEXT_HEADER_LEN (0xffL<<0) | ||
3188 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION7_NEXT_HEADER (0xffL<<16) | ||
3189 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION7_NEXT_HEADER_LEN_TYPE (1L<<30) | ||
3190 | #define BNX2_RPM_IPV6_PROGRAMMABLE_EXTENSION7_NEXT_HEADER_EN (1L<<31) | ||
3191 | |||
1971 | #define BNX2_RPM_STAT_AC0 0x00001880 | 3192 | #define BNX2_RPM_STAT_AC0 0x00001880 |
1972 | #define BNX2_RPM_STAT_AC1 0x00001884 | 3193 | #define BNX2_RPM_STAT_AC1 0x00001884 |
1973 | #define BNX2_RPM_STAT_AC2 0x00001888 | 3194 | #define BNX2_RPM_STAT_AC2 0x00001888 |
1974 | #define BNX2_RPM_STAT_AC3 0x0000188c | 3195 | #define BNX2_RPM_STAT_AC3 0x0000188c |
1975 | #define BNX2_RPM_STAT_AC4 0x00001890 | 3196 | #define BNX2_RPM_STAT_AC4 0x00001890 |
3197 | #define BNX2_RPM_RC_CNTL_16 0x000018e0 | ||
3198 | #define BNX2_RPM_RC_CNTL_16_OFFSET (0xffL<<0) | ||
3199 | #define BNX2_RPM_RC_CNTL_16_CLASS (0x7L<<8) | ||
3200 | #define BNX2_RPM_RC_CNTL_16_PRIORITY (1L<<11) | ||
3201 | #define BNX2_RPM_RC_CNTL_16_P4 (1L<<12) | ||
3202 | #define BNX2_RPM_RC_CNTL_16_HDR_TYPE (0x7L<<13) | ||
3203 | #define BNX2_RPM_RC_CNTL_16_HDR_TYPE_START (0L<<13) | ||
3204 | #define BNX2_RPM_RC_CNTL_16_HDR_TYPE_IP (1L<<13) | ||
3205 | #define BNX2_RPM_RC_CNTL_16_HDR_TYPE_TCP (2L<<13) | ||
3206 | #define BNX2_RPM_RC_CNTL_16_HDR_TYPE_UDP (3L<<13) | ||
3207 | #define BNX2_RPM_RC_CNTL_16_HDR_TYPE_DATA (4L<<13) | ||
3208 | #define BNX2_RPM_RC_CNTL_16_HDR_TYPE_TCP_UDP (5L<<13) | ||
3209 | #define BNX2_RPM_RC_CNTL_16_HDR_TYPE_ICMPV6 (6L<<13) | ||
3210 | #define BNX2_RPM_RC_CNTL_16_COMP (0x3L<<16) | ||
3211 | #define BNX2_RPM_RC_CNTL_16_COMP_EQUAL (0L<<16) | ||
3212 | #define BNX2_RPM_RC_CNTL_16_COMP_NEQUAL (1L<<16) | ||
3213 | #define BNX2_RPM_RC_CNTL_16_COMP_GREATER (2L<<16) | ||
3214 | #define BNX2_RPM_RC_CNTL_16_COMP_LESS (3L<<16) | ||
3215 | #define BNX2_RPM_RC_CNTL_16_MAP (1L<<18) | ||
3216 | #define BNX2_RPM_RC_CNTL_16_SBIT (1L<<19) | ||
3217 | #define BNX2_RPM_RC_CNTL_16_CMDSEL (0x1fL<<20) | ||
3218 | #define BNX2_RPM_RC_CNTL_16_DISCARD (1L<<25) | ||
3219 | #define BNX2_RPM_RC_CNTL_16_MASK (1L<<26) | ||
3220 | #define BNX2_RPM_RC_CNTL_16_P1 (1L<<27) | ||
3221 | #define BNX2_RPM_RC_CNTL_16_P2 (1L<<28) | ||
3222 | #define BNX2_RPM_RC_CNTL_16_P3 (1L<<29) | ||
3223 | #define BNX2_RPM_RC_CNTL_16_NBIT (1L<<30) | ||
3224 | |||
3225 | #define BNX2_RPM_RC_VALUE_MASK_16 0x000018e4 | ||
3226 | #define BNX2_RPM_RC_VALUE_MASK_16_VALUE (0xffffL<<0) | ||
3227 | #define BNX2_RPM_RC_VALUE_MASK_16_MASK (0xffffL<<16) | ||
3228 | |||
3229 | #define BNX2_RPM_RC_CNTL_17 0x000018e8 | ||
3230 | #define BNX2_RPM_RC_CNTL_17_OFFSET (0xffL<<0) | ||
3231 | #define BNX2_RPM_RC_CNTL_17_CLASS (0x7L<<8) | ||
3232 | #define BNX2_RPM_RC_CNTL_17_PRIORITY (1L<<11) | ||
3233 | #define BNX2_RPM_RC_CNTL_17_P4 (1L<<12) | ||
3234 | #define BNX2_RPM_RC_CNTL_17_HDR_TYPE (0x7L<<13) | ||
3235 | #define BNX2_RPM_RC_CNTL_17_HDR_TYPE_START (0L<<13) | ||
3236 | #define BNX2_RPM_RC_CNTL_17_HDR_TYPE_IP (1L<<13) | ||
3237 | #define BNX2_RPM_RC_CNTL_17_HDR_TYPE_TCP (2L<<13) | ||
3238 | #define BNX2_RPM_RC_CNTL_17_HDR_TYPE_UDP (3L<<13) | ||
3239 | #define BNX2_RPM_RC_CNTL_17_HDR_TYPE_DATA (4L<<13) | ||
3240 | #define BNX2_RPM_RC_CNTL_17_HDR_TYPE_TCP_UDP (5L<<13) | ||
3241 | #define BNX2_RPM_RC_CNTL_17_HDR_TYPE_ICMPV6 (6L<<13) | ||
3242 | #define BNX2_RPM_RC_CNTL_17_COMP (0x3L<<16) | ||
3243 | #define BNX2_RPM_RC_CNTL_17_COMP_EQUAL (0L<<16) | ||
3244 | #define BNX2_RPM_RC_CNTL_17_COMP_NEQUAL (1L<<16) | ||
3245 | #define BNX2_RPM_RC_CNTL_17_COMP_GREATER (2L<<16) | ||
3246 | #define BNX2_RPM_RC_CNTL_17_COMP_LESS (3L<<16) | ||
3247 | #define BNX2_RPM_RC_CNTL_17_MAP (1L<<18) | ||
3248 | #define BNX2_RPM_RC_CNTL_17_SBIT (1L<<19) | ||
3249 | #define BNX2_RPM_RC_CNTL_17_CMDSEL (0x1fL<<20) | ||
3250 | #define BNX2_RPM_RC_CNTL_17_DISCARD (1L<<25) | ||
3251 | #define BNX2_RPM_RC_CNTL_17_MASK (1L<<26) | ||
3252 | #define BNX2_RPM_RC_CNTL_17_P1 (1L<<27) | ||
3253 | #define BNX2_RPM_RC_CNTL_17_P2 (1L<<28) | ||
3254 | #define BNX2_RPM_RC_CNTL_17_P3 (1L<<29) | ||
3255 | #define BNX2_RPM_RC_CNTL_17_NBIT (1L<<30) | ||
3256 | |||
3257 | #define BNX2_RPM_RC_VALUE_MASK_17 0x000018ec | ||
3258 | #define BNX2_RPM_RC_VALUE_MASK_17_VALUE (0xffffL<<0) | ||
3259 | #define BNX2_RPM_RC_VALUE_MASK_17_MASK (0xffffL<<16) | ||
3260 | |||
3261 | #define BNX2_RPM_RC_CNTL_18 0x000018f0 | ||
3262 | #define BNX2_RPM_RC_CNTL_18_OFFSET (0xffL<<0) | ||
3263 | #define BNX2_RPM_RC_CNTL_18_CLASS (0x7L<<8) | ||
3264 | #define BNX2_RPM_RC_CNTL_18_PRIORITY (1L<<11) | ||
3265 | #define BNX2_RPM_RC_CNTL_18_P4 (1L<<12) | ||
3266 | #define BNX2_RPM_RC_CNTL_18_HDR_TYPE (0x7L<<13) | ||
3267 | #define BNX2_RPM_RC_CNTL_18_HDR_TYPE_START (0L<<13) | ||
3268 | #define BNX2_RPM_RC_CNTL_18_HDR_TYPE_IP (1L<<13) | ||
3269 | #define BNX2_RPM_RC_CNTL_18_HDR_TYPE_TCP (2L<<13) | ||
3270 | #define BNX2_RPM_RC_CNTL_18_HDR_TYPE_UDP (3L<<13) | ||
3271 | #define BNX2_RPM_RC_CNTL_18_HDR_TYPE_DATA (4L<<13) | ||
3272 | #define BNX2_RPM_RC_CNTL_18_HDR_TYPE_TCP_UDP (5L<<13) | ||
3273 | #define BNX2_RPM_RC_CNTL_18_HDR_TYPE_ICMPV6 (6L<<13) | ||
3274 | #define BNX2_RPM_RC_CNTL_18_COMP (0x3L<<16) | ||
3275 | #define BNX2_RPM_RC_CNTL_18_COMP_EQUAL (0L<<16) | ||
3276 | #define BNX2_RPM_RC_CNTL_18_COMP_NEQUAL (1L<<16) | ||
3277 | #define BNX2_RPM_RC_CNTL_18_COMP_GREATER (2L<<16) | ||
3278 | #define BNX2_RPM_RC_CNTL_18_COMP_LESS (3L<<16) | ||
3279 | #define BNX2_RPM_RC_CNTL_18_MAP (1L<<18) | ||
3280 | #define BNX2_RPM_RC_CNTL_18_SBIT (1L<<19) | ||
3281 | #define BNX2_RPM_RC_CNTL_18_CMDSEL (0x1fL<<20) | ||
3282 | #define BNX2_RPM_RC_CNTL_18_DISCARD (1L<<25) | ||
3283 | #define BNX2_RPM_RC_CNTL_18_MASK (1L<<26) | ||
3284 | #define BNX2_RPM_RC_CNTL_18_P1 (1L<<27) | ||
3285 | #define BNX2_RPM_RC_CNTL_18_P2 (1L<<28) | ||
3286 | #define BNX2_RPM_RC_CNTL_18_P3 (1L<<29) | ||
3287 | #define BNX2_RPM_RC_CNTL_18_NBIT (1L<<30) | ||
3288 | |||
3289 | #define BNX2_RPM_RC_VALUE_MASK_18 0x000018f4 | ||
3290 | #define BNX2_RPM_RC_VALUE_MASK_18_VALUE (0xffffL<<0) | ||
3291 | #define BNX2_RPM_RC_VALUE_MASK_18_MASK (0xffffL<<16) | ||
3292 | |||
3293 | #define BNX2_RPM_RC_CNTL_19 0x000018f8 | ||
3294 | #define BNX2_RPM_RC_CNTL_19_OFFSET (0xffL<<0) | ||
3295 | #define BNX2_RPM_RC_CNTL_19_CLASS (0x7L<<8) | ||
3296 | #define BNX2_RPM_RC_CNTL_19_PRIORITY (1L<<11) | ||
3297 | #define BNX2_RPM_RC_CNTL_19_P4 (1L<<12) | ||
3298 | #define BNX2_RPM_RC_CNTL_19_HDR_TYPE (0x7L<<13) | ||
3299 | #define BNX2_RPM_RC_CNTL_19_HDR_TYPE_START (0L<<13) | ||
3300 | #define BNX2_RPM_RC_CNTL_19_HDR_TYPE_IP (1L<<13) | ||
3301 | #define BNX2_RPM_RC_CNTL_19_HDR_TYPE_TCP (2L<<13) | ||
3302 | #define BNX2_RPM_RC_CNTL_19_HDR_TYPE_UDP (3L<<13) | ||
3303 | #define BNX2_RPM_RC_CNTL_19_HDR_TYPE_DATA (4L<<13) | ||
3304 | #define BNX2_RPM_RC_CNTL_19_HDR_TYPE_TCP_UDP (5L<<13) | ||
3305 | #define BNX2_RPM_RC_CNTL_19_HDR_TYPE_ICMPV6 (6L<<13) | ||
3306 | #define BNX2_RPM_RC_CNTL_19_COMP (0x3L<<16) | ||
3307 | #define BNX2_RPM_RC_CNTL_19_COMP_EQUAL (0L<<16) | ||
3308 | #define BNX2_RPM_RC_CNTL_19_COMP_NEQUAL (1L<<16) | ||
3309 | #define BNX2_RPM_RC_CNTL_19_COMP_GREATER (2L<<16) | ||
3310 | #define BNX2_RPM_RC_CNTL_19_COMP_LESS (3L<<16) | ||
3311 | #define BNX2_RPM_RC_CNTL_19_MAP (1L<<18) | ||
3312 | #define BNX2_RPM_RC_CNTL_19_SBIT (1L<<19) | ||
3313 | #define BNX2_RPM_RC_CNTL_19_CMDSEL (0x1fL<<20) | ||
3314 | #define BNX2_RPM_RC_CNTL_19_DISCARD (1L<<25) | ||
3315 | #define BNX2_RPM_RC_CNTL_19_MASK (1L<<26) | ||
3316 | #define BNX2_RPM_RC_CNTL_19_P1 (1L<<27) | ||
3317 | #define BNX2_RPM_RC_CNTL_19_P2 (1L<<28) | ||
3318 | #define BNX2_RPM_RC_CNTL_19_P3 (1L<<29) | ||
3319 | #define BNX2_RPM_RC_CNTL_19_NBIT (1L<<30) | ||
3320 | |||
3321 | #define BNX2_RPM_RC_VALUE_MASK_19 0x000018fc | ||
3322 | #define BNX2_RPM_RC_VALUE_MASK_19_VALUE (0xffffL<<0) | ||
3323 | #define BNX2_RPM_RC_VALUE_MASK_19_MASK (0xffffL<<16) | ||
3324 | |||
1976 | #define BNX2_RPM_RC_CNTL_0 0x00001900 | 3325 | #define BNX2_RPM_RC_CNTL_0 0x00001900 |
1977 | #define BNX2_RPM_RC_CNTL_0_OFFSET (0xffL<<0) | 3326 | #define BNX2_RPM_RC_CNTL_0_OFFSET (0xffL<<0) |
1978 | #define BNX2_RPM_RC_CNTL_0_CLASS (0x7L<<8) | 3327 | #define BNX2_RPM_RC_CNTL_0_CLASS (0x7L<<8) |
@@ -1984,14 +3333,18 @@ struct l2_fhdr { | |||
1984 | #define BNX2_RPM_RC_CNTL_0_HDR_TYPE_TCP (2L<<13) | 3333 | #define BNX2_RPM_RC_CNTL_0_HDR_TYPE_TCP (2L<<13) |
1985 | #define BNX2_RPM_RC_CNTL_0_HDR_TYPE_UDP (3L<<13) | 3334 | #define BNX2_RPM_RC_CNTL_0_HDR_TYPE_UDP (3L<<13) |
1986 | #define BNX2_RPM_RC_CNTL_0_HDR_TYPE_DATA (4L<<13) | 3335 | #define BNX2_RPM_RC_CNTL_0_HDR_TYPE_DATA (4L<<13) |
3336 | #define BNX2_RPM_RC_CNTL_0_HDR_TYPE_TCP_UDP (5L<<13) | ||
3337 | #define BNX2_RPM_RC_CNTL_0_HDR_TYPE_ICMPV6 (6L<<13) | ||
1987 | #define BNX2_RPM_RC_CNTL_0_COMP (0x3L<<16) | 3338 | #define BNX2_RPM_RC_CNTL_0_COMP (0x3L<<16) |
1988 | #define BNX2_RPM_RC_CNTL_0_COMP_EQUAL (0L<<16) | 3339 | #define BNX2_RPM_RC_CNTL_0_COMP_EQUAL (0L<<16) |
1989 | #define BNX2_RPM_RC_CNTL_0_COMP_NEQUAL (1L<<16) | 3340 | #define BNX2_RPM_RC_CNTL_0_COMP_NEQUAL (1L<<16) |
1990 | #define BNX2_RPM_RC_CNTL_0_COMP_GREATER (2L<<16) | 3341 | #define BNX2_RPM_RC_CNTL_0_COMP_GREATER (2L<<16) |
1991 | #define BNX2_RPM_RC_CNTL_0_COMP_LESS (3L<<16) | 3342 | #define BNX2_RPM_RC_CNTL_0_COMP_LESS (3L<<16) |
3343 | #define BNX2_RPM_RC_CNTL_0_MAP_XI (1L<<18) | ||
1992 | #define BNX2_RPM_RC_CNTL_0_SBIT (1L<<19) | 3344 | #define BNX2_RPM_RC_CNTL_0_SBIT (1L<<19) |
1993 | #define BNX2_RPM_RC_CNTL_0_CMDSEL (0xfL<<20) | 3345 | #define BNX2_RPM_RC_CNTL_0_CMDSEL (0xfL<<20) |
1994 | #define BNX2_RPM_RC_CNTL_0_MAP (1L<<24) | 3346 | #define BNX2_RPM_RC_CNTL_0_MAP (1L<<24) |
3347 | #define BNX2_RPM_RC_CNTL_0_CMDSEL_XI (0x1fL<<20) | ||
1995 | #define BNX2_RPM_RC_CNTL_0_DISCARD (1L<<25) | 3348 | #define BNX2_RPM_RC_CNTL_0_DISCARD (1L<<25) |
1996 | #define BNX2_RPM_RC_CNTL_0_MASK (1L<<26) | 3349 | #define BNX2_RPM_RC_CNTL_0_MASK (1L<<26) |
1997 | #define BNX2_RPM_RC_CNTL_0_P1 (1L<<27) | 3350 | #define BNX2_RPM_RC_CNTL_0_P1 (1L<<27) |
@@ -2006,81 +3359,518 @@ struct l2_fhdr { | |||
2006 | #define BNX2_RPM_RC_CNTL_1 0x00001908 | 3359 | #define BNX2_RPM_RC_CNTL_1 0x00001908 |
2007 | #define BNX2_RPM_RC_CNTL_1_A (0x3ffffL<<0) | 3360 | #define BNX2_RPM_RC_CNTL_1_A (0x3ffffL<<0) |
2008 | #define BNX2_RPM_RC_CNTL_1_B (0xfffL<<19) | 3361 | #define BNX2_RPM_RC_CNTL_1_B (0xfffL<<19) |
3362 | #define BNX2_RPM_RC_CNTL_1_OFFSET_XI (0xffL<<0) | ||
3363 | #define BNX2_RPM_RC_CNTL_1_CLASS_XI (0x7L<<8) | ||
3364 | #define BNX2_RPM_RC_CNTL_1_PRIORITY_XI (1L<<11) | ||
3365 | #define BNX2_RPM_RC_CNTL_1_P4_XI (1L<<12) | ||
3366 | #define BNX2_RPM_RC_CNTL_1_HDR_TYPE_XI (0x7L<<13) | ||
3367 | #define BNX2_RPM_RC_CNTL_1_HDR_TYPE_START_XI (0L<<13) | ||
3368 | #define BNX2_RPM_RC_CNTL_1_HDR_TYPE_IP_XI (1L<<13) | ||
3369 | #define BNX2_RPM_RC_CNTL_1_HDR_TYPE_TCP_XI (2L<<13) | ||
3370 | #define BNX2_RPM_RC_CNTL_1_HDR_TYPE_UDP_XI (3L<<13) | ||
3371 | #define BNX2_RPM_RC_CNTL_1_HDR_TYPE_DATA_XI (4L<<13) | ||
3372 | #define BNX2_RPM_RC_CNTL_1_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3373 | #define BNX2_RPM_RC_CNTL_1_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3374 | #define BNX2_RPM_RC_CNTL_1_COMP_XI (0x3L<<16) | ||
3375 | #define BNX2_RPM_RC_CNTL_1_COMP_EQUAL_XI (0L<<16) | ||
3376 | #define BNX2_RPM_RC_CNTL_1_COMP_NEQUAL_XI (1L<<16) | ||
3377 | #define BNX2_RPM_RC_CNTL_1_COMP_GREATER_XI (2L<<16) | ||
3378 | #define BNX2_RPM_RC_CNTL_1_COMP_LESS_XI (3L<<16) | ||
3379 | #define BNX2_RPM_RC_CNTL_1_MAP_XI (1L<<18) | ||
3380 | #define BNX2_RPM_RC_CNTL_1_SBIT_XI (1L<<19) | ||
3381 | #define BNX2_RPM_RC_CNTL_1_CMDSEL_XI (0x1fL<<20) | ||
3382 | #define BNX2_RPM_RC_CNTL_1_DISCARD_XI (1L<<25) | ||
3383 | #define BNX2_RPM_RC_CNTL_1_MASK_XI (1L<<26) | ||
3384 | #define BNX2_RPM_RC_CNTL_1_P1_XI (1L<<27) | ||
3385 | #define BNX2_RPM_RC_CNTL_1_P2_XI (1L<<28) | ||
3386 | #define BNX2_RPM_RC_CNTL_1_P3_XI (1L<<29) | ||
3387 | #define BNX2_RPM_RC_CNTL_1_NBIT_XI (1L<<30) | ||
2009 | 3388 | ||
2010 | #define BNX2_RPM_RC_VALUE_MASK_1 0x0000190c | 3389 | #define BNX2_RPM_RC_VALUE_MASK_1 0x0000190c |
3390 | #define BNX2_RPM_RC_VALUE_MASK_1_VALUE (0xffffL<<0) | ||
3391 | #define BNX2_RPM_RC_VALUE_MASK_1_MASK (0xffffL<<16) | ||
3392 | |||
2011 | #define BNX2_RPM_RC_CNTL_2 0x00001910 | 3393 | #define BNX2_RPM_RC_CNTL_2 0x00001910 |
2012 | #define BNX2_RPM_RC_CNTL_2_A (0x3ffffL<<0) | 3394 | #define BNX2_RPM_RC_CNTL_2_A (0x3ffffL<<0) |
2013 | #define BNX2_RPM_RC_CNTL_2_B (0xfffL<<19) | 3395 | #define BNX2_RPM_RC_CNTL_2_B (0xfffL<<19) |
3396 | #define BNX2_RPM_RC_CNTL_2_OFFSET_XI (0xffL<<0) | ||
3397 | #define BNX2_RPM_RC_CNTL_2_CLASS_XI (0x7L<<8) | ||
3398 | #define BNX2_RPM_RC_CNTL_2_PRIORITY_XI (1L<<11) | ||
3399 | #define BNX2_RPM_RC_CNTL_2_P4_XI (1L<<12) | ||
3400 | #define BNX2_RPM_RC_CNTL_2_HDR_TYPE_XI (0x7L<<13) | ||
3401 | #define BNX2_RPM_RC_CNTL_2_HDR_TYPE_START_XI (0L<<13) | ||
3402 | #define BNX2_RPM_RC_CNTL_2_HDR_TYPE_IP_XI (1L<<13) | ||
3403 | #define BNX2_RPM_RC_CNTL_2_HDR_TYPE_TCP_XI (2L<<13) | ||
3404 | #define BNX2_RPM_RC_CNTL_2_HDR_TYPE_UDP_XI (3L<<13) | ||
3405 | #define BNX2_RPM_RC_CNTL_2_HDR_TYPE_DATA_XI (4L<<13) | ||
3406 | #define BNX2_RPM_RC_CNTL_2_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3407 | #define BNX2_RPM_RC_CNTL_2_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3408 | #define BNX2_RPM_RC_CNTL_2_COMP_XI (0x3L<<16) | ||
3409 | #define BNX2_RPM_RC_CNTL_2_COMP_EQUAL_XI (0L<<16) | ||
3410 | #define BNX2_RPM_RC_CNTL_2_COMP_NEQUAL_XI (1L<<16) | ||
3411 | #define BNX2_RPM_RC_CNTL_2_COMP_GREATER_XI (2L<<16) | ||
3412 | #define BNX2_RPM_RC_CNTL_2_COMP_LESS_XI (3L<<16) | ||
3413 | #define BNX2_RPM_RC_CNTL_2_MAP_XI (1L<<18) | ||
3414 | #define BNX2_RPM_RC_CNTL_2_SBIT_XI (1L<<19) | ||
3415 | #define BNX2_RPM_RC_CNTL_2_CMDSEL_XI (0x1fL<<20) | ||
3416 | #define BNX2_RPM_RC_CNTL_2_DISCARD_XI (1L<<25) | ||
3417 | #define BNX2_RPM_RC_CNTL_2_MASK_XI (1L<<26) | ||
3418 | #define BNX2_RPM_RC_CNTL_2_P1_XI (1L<<27) | ||
3419 | #define BNX2_RPM_RC_CNTL_2_P2_XI (1L<<28) | ||
3420 | #define BNX2_RPM_RC_CNTL_2_P3_XI (1L<<29) | ||
3421 | #define BNX2_RPM_RC_CNTL_2_NBIT_XI (1L<<30) | ||
2014 | 3422 | ||
2015 | #define BNX2_RPM_RC_VALUE_MASK_2 0x00001914 | 3423 | #define BNX2_RPM_RC_VALUE_MASK_2 0x00001914 |
3424 | #define BNX2_RPM_RC_VALUE_MASK_2_VALUE (0xffffL<<0) | ||
3425 | #define BNX2_RPM_RC_VALUE_MASK_2_MASK (0xffffL<<16) | ||
3426 | |||
2016 | #define BNX2_RPM_RC_CNTL_3 0x00001918 | 3427 | #define BNX2_RPM_RC_CNTL_3 0x00001918 |
2017 | #define BNX2_RPM_RC_CNTL_3_A (0x3ffffL<<0) | 3428 | #define BNX2_RPM_RC_CNTL_3_A (0x3ffffL<<0) |
2018 | #define BNX2_RPM_RC_CNTL_3_B (0xfffL<<19) | 3429 | #define BNX2_RPM_RC_CNTL_3_B (0xfffL<<19) |
3430 | #define BNX2_RPM_RC_CNTL_3_OFFSET_XI (0xffL<<0) | ||
3431 | #define BNX2_RPM_RC_CNTL_3_CLASS_XI (0x7L<<8) | ||
3432 | #define BNX2_RPM_RC_CNTL_3_PRIORITY_XI (1L<<11) | ||
3433 | #define BNX2_RPM_RC_CNTL_3_P4_XI (1L<<12) | ||
3434 | #define BNX2_RPM_RC_CNTL_3_HDR_TYPE_XI (0x7L<<13) | ||
3435 | #define BNX2_RPM_RC_CNTL_3_HDR_TYPE_START_XI (0L<<13) | ||
3436 | #define BNX2_RPM_RC_CNTL_3_HDR_TYPE_IP_XI (1L<<13) | ||
3437 | #define BNX2_RPM_RC_CNTL_3_HDR_TYPE_TCP_XI (2L<<13) | ||
3438 | #define BNX2_RPM_RC_CNTL_3_HDR_TYPE_UDP_XI (3L<<13) | ||
3439 | #define BNX2_RPM_RC_CNTL_3_HDR_TYPE_DATA_XI (4L<<13) | ||
3440 | #define BNX2_RPM_RC_CNTL_3_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3441 | #define BNX2_RPM_RC_CNTL_3_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3442 | #define BNX2_RPM_RC_CNTL_3_COMP_XI (0x3L<<16) | ||
3443 | #define BNX2_RPM_RC_CNTL_3_COMP_EQUAL_XI (0L<<16) | ||
3444 | #define BNX2_RPM_RC_CNTL_3_COMP_NEQUAL_XI (1L<<16) | ||
3445 | #define BNX2_RPM_RC_CNTL_3_COMP_GREATER_XI (2L<<16) | ||
3446 | #define BNX2_RPM_RC_CNTL_3_COMP_LESS_XI (3L<<16) | ||
3447 | #define BNX2_RPM_RC_CNTL_3_MAP_XI (1L<<18) | ||
3448 | #define BNX2_RPM_RC_CNTL_3_SBIT_XI (1L<<19) | ||
3449 | #define BNX2_RPM_RC_CNTL_3_CMDSEL_XI (0x1fL<<20) | ||
3450 | #define BNX2_RPM_RC_CNTL_3_DISCARD_XI (1L<<25) | ||
3451 | #define BNX2_RPM_RC_CNTL_3_MASK_XI (1L<<26) | ||
3452 | #define BNX2_RPM_RC_CNTL_3_P1_XI (1L<<27) | ||
3453 | #define BNX2_RPM_RC_CNTL_3_P2_XI (1L<<28) | ||
3454 | #define BNX2_RPM_RC_CNTL_3_P3_XI (1L<<29) | ||
3455 | #define BNX2_RPM_RC_CNTL_3_NBIT_XI (1L<<30) | ||
2019 | 3456 | ||
2020 | #define BNX2_RPM_RC_VALUE_MASK_3 0x0000191c | 3457 | #define BNX2_RPM_RC_VALUE_MASK_3 0x0000191c |
3458 | #define BNX2_RPM_RC_VALUE_MASK_3_VALUE (0xffffL<<0) | ||
3459 | #define BNX2_RPM_RC_VALUE_MASK_3_MASK (0xffffL<<16) | ||
3460 | |||
2021 | #define BNX2_RPM_RC_CNTL_4 0x00001920 | 3461 | #define BNX2_RPM_RC_CNTL_4 0x00001920 |
2022 | #define BNX2_RPM_RC_CNTL_4_A (0x3ffffL<<0) | 3462 | #define BNX2_RPM_RC_CNTL_4_A (0x3ffffL<<0) |
2023 | #define BNX2_RPM_RC_CNTL_4_B (0xfffL<<19) | 3463 | #define BNX2_RPM_RC_CNTL_4_B (0xfffL<<19) |
3464 | #define BNX2_RPM_RC_CNTL_4_OFFSET_XI (0xffL<<0) | ||
3465 | #define BNX2_RPM_RC_CNTL_4_CLASS_XI (0x7L<<8) | ||
3466 | #define BNX2_RPM_RC_CNTL_4_PRIORITY_XI (1L<<11) | ||
3467 | #define BNX2_RPM_RC_CNTL_4_P4_XI (1L<<12) | ||
3468 | #define BNX2_RPM_RC_CNTL_4_HDR_TYPE_XI (0x7L<<13) | ||
3469 | #define BNX2_RPM_RC_CNTL_4_HDR_TYPE_START_XI (0L<<13) | ||
3470 | #define BNX2_RPM_RC_CNTL_4_HDR_TYPE_IP_XI (1L<<13) | ||
3471 | #define BNX2_RPM_RC_CNTL_4_HDR_TYPE_TCP_XI (2L<<13) | ||
3472 | #define BNX2_RPM_RC_CNTL_4_HDR_TYPE_UDP_XI (3L<<13) | ||
3473 | #define BNX2_RPM_RC_CNTL_4_HDR_TYPE_DATA_XI (4L<<13) | ||
3474 | #define BNX2_RPM_RC_CNTL_4_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3475 | #define BNX2_RPM_RC_CNTL_4_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3476 | #define BNX2_RPM_RC_CNTL_4_COMP_XI (0x3L<<16) | ||
3477 | #define BNX2_RPM_RC_CNTL_4_COMP_EQUAL_XI (0L<<16) | ||
3478 | #define BNX2_RPM_RC_CNTL_4_COMP_NEQUAL_XI (1L<<16) | ||
3479 | #define BNX2_RPM_RC_CNTL_4_COMP_GREATER_XI (2L<<16) | ||
3480 | #define BNX2_RPM_RC_CNTL_4_COMP_LESS_XI (3L<<16) | ||
3481 | #define BNX2_RPM_RC_CNTL_4_MAP_XI (1L<<18) | ||
3482 | #define BNX2_RPM_RC_CNTL_4_SBIT_XI (1L<<19) | ||
3483 | #define BNX2_RPM_RC_CNTL_4_CMDSEL_XI (0x1fL<<20) | ||
3484 | #define BNX2_RPM_RC_CNTL_4_DISCARD_XI (1L<<25) | ||
3485 | #define BNX2_RPM_RC_CNTL_4_MASK_XI (1L<<26) | ||
3486 | #define BNX2_RPM_RC_CNTL_4_P1_XI (1L<<27) | ||
3487 | #define BNX2_RPM_RC_CNTL_4_P2_XI (1L<<28) | ||
3488 | #define BNX2_RPM_RC_CNTL_4_P3_XI (1L<<29) | ||
3489 | #define BNX2_RPM_RC_CNTL_4_NBIT_XI (1L<<30) | ||
2024 | 3490 | ||
2025 | #define BNX2_RPM_RC_VALUE_MASK_4 0x00001924 | 3491 | #define BNX2_RPM_RC_VALUE_MASK_4 0x00001924 |
3492 | #define BNX2_RPM_RC_VALUE_MASK_4_VALUE (0xffffL<<0) | ||
3493 | #define BNX2_RPM_RC_VALUE_MASK_4_MASK (0xffffL<<16) | ||
3494 | |||
2026 | #define BNX2_RPM_RC_CNTL_5 0x00001928 | 3495 | #define BNX2_RPM_RC_CNTL_5 0x00001928 |
2027 | #define BNX2_RPM_RC_CNTL_5_A (0x3ffffL<<0) | 3496 | #define BNX2_RPM_RC_CNTL_5_A (0x3ffffL<<0) |
2028 | #define BNX2_RPM_RC_CNTL_5_B (0xfffL<<19) | 3497 | #define BNX2_RPM_RC_CNTL_5_B (0xfffL<<19) |
3498 | #define BNX2_RPM_RC_CNTL_5_OFFSET_XI (0xffL<<0) | ||
3499 | #define BNX2_RPM_RC_CNTL_5_CLASS_XI (0x7L<<8) | ||
3500 | #define BNX2_RPM_RC_CNTL_5_PRIORITY_XI (1L<<11) | ||
3501 | #define BNX2_RPM_RC_CNTL_5_P4_XI (1L<<12) | ||
3502 | #define BNX2_RPM_RC_CNTL_5_HDR_TYPE_XI (0x7L<<13) | ||
3503 | #define BNX2_RPM_RC_CNTL_5_HDR_TYPE_START_XI (0L<<13) | ||
3504 | #define BNX2_RPM_RC_CNTL_5_HDR_TYPE_IP_XI (1L<<13) | ||
3505 | #define BNX2_RPM_RC_CNTL_5_HDR_TYPE_TCP_XI (2L<<13) | ||
3506 | #define BNX2_RPM_RC_CNTL_5_HDR_TYPE_UDP_XI (3L<<13) | ||
3507 | #define BNX2_RPM_RC_CNTL_5_HDR_TYPE_DATA_XI (4L<<13) | ||
3508 | #define BNX2_RPM_RC_CNTL_5_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3509 | #define BNX2_RPM_RC_CNTL_5_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3510 | #define BNX2_RPM_RC_CNTL_5_COMP_XI (0x3L<<16) | ||
3511 | #define BNX2_RPM_RC_CNTL_5_COMP_EQUAL_XI (0L<<16) | ||
3512 | #define BNX2_RPM_RC_CNTL_5_COMP_NEQUAL_XI (1L<<16) | ||
3513 | #define BNX2_RPM_RC_CNTL_5_COMP_GREATER_XI (2L<<16) | ||
3514 | #define BNX2_RPM_RC_CNTL_5_COMP_LESS_XI (3L<<16) | ||
3515 | #define BNX2_RPM_RC_CNTL_5_MAP_XI (1L<<18) | ||
3516 | #define BNX2_RPM_RC_CNTL_5_SBIT_XI (1L<<19) | ||
3517 | #define BNX2_RPM_RC_CNTL_5_CMDSEL_XI (0x1fL<<20) | ||
3518 | #define BNX2_RPM_RC_CNTL_5_DISCARD_XI (1L<<25) | ||
3519 | #define BNX2_RPM_RC_CNTL_5_MASK_XI (1L<<26) | ||
3520 | #define BNX2_RPM_RC_CNTL_5_P1_XI (1L<<27) | ||
3521 | #define BNX2_RPM_RC_CNTL_5_P2_XI (1L<<28) | ||
3522 | #define BNX2_RPM_RC_CNTL_5_P3_XI (1L<<29) | ||
3523 | #define BNX2_RPM_RC_CNTL_5_NBIT_XI (1L<<30) | ||
2029 | 3524 | ||
2030 | #define BNX2_RPM_RC_VALUE_MASK_5 0x0000192c | 3525 | #define BNX2_RPM_RC_VALUE_MASK_5 0x0000192c |
3526 | #define BNX2_RPM_RC_VALUE_MASK_5_VALUE (0xffffL<<0) | ||
3527 | #define BNX2_RPM_RC_VALUE_MASK_5_MASK (0xffffL<<16) | ||
3528 | |||
2031 | #define BNX2_RPM_RC_CNTL_6 0x00001930 | 3529 | #define BNX2_RPM_RC_CNTL_6 0x00001930 |
2032 | #define BNX2_RPM_RC_CNTL_6_A (0x3ffffL<<0) | 3530 | #define BNX2_RPM_RC_CNTL_6_A (0x3ffffL<<0) |
2033 | #define BNX2_RPM_RC_CNTL_6_B (0xfffL<<19) | 3531 | #define BNX2_RPM_RC_CNTL_6_B (0xfffL<<19) |
3532 | #define BNX2_RPM_RC_CNTL_6_OFFSET_XI (0xffL<<0) | ||
3533 | #define BNX2_RPM_RC_CNTL_6_CLASS_XI (0x7L<<8) | ||
3534 | #define BNX2_RPM_RC_CNTL_6_PRIORITY_XI (1L<<11) | ||
3535 | #define BNX2_RPM_RC_CNTL_6_P4_XI (1L<<12) | ||
3536 | #define BNX2_RPM_RC_CNTL_6_HDR_TYPE_XI (0x7L<<13) | ||
3537 | #define BNX2_RPM_RC_CNTL_6_HDR_TYPE_START_XI (0L<<13) | ||
3538 | #define BNX2_RPM_RC_CNTL_6_HDR_TYPE_IP_XI (1L<<13) | ||
3539 | #define BNX2_RPM_RC_CNTL_6_HDR_TYPE_TCP_XI (2L<<13) | ||
3540 | #define BNX2_RPM_RC_CNTL_6_HDR_TYPE_UDP_XI (3L<<13) | ||
3541 | #define BNX2_RPM_RC_CNTL_6_HDR_TYPE_DATA_XI (4L<<13) | ||
3542 | #define BNX2_RPM_RC_CNTL_6_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3543 | #define BNX2_RPM_RC_CNTL_6_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3544 | #define BNX2_RPM_RC_CNTL_6_COMP_XI (0x3L<<16) | ||
3545 | #define BNX2_RPM_RC_CNTL_6_COMP_EQUAL_XI (0L<<16) | ||
3546 | #define BNX2_RPM_RC_CNTL_6_COMP_NEQUAL_XI (1L<<16) | ||
3547 | #define BNX2_RPM_RC_CNTL_6_COMP_GREATER_XI (2L<<16) | ||
3548 | #define BNX2_RPM_RC_CNTL_6_COMP_LESS_XI (3L<<16) | ||
3549 | #define BNX2_RPM_RC_CNTL_6_MAP_XI (1L<<18) | ||
3550 | #define BNX2_RPM_RC_CNTL_6_SBIT_XI (1L<<19) | ||
3551 | #define BNX2_RPM_RC_CNTL_6_CMDSEL_XI (0x1fL<<20) | ||
3552 | #define BNX2_RPM_RC_CNTL_6_DISCARD_XI (1L<<25) | ||
3553 | #define BNX2_RPM_RC_CNTL_6_MASK_XI (1L<<26) | ||
3554 | #define BNX2_RPM_RC_CNTL_6_P1_XI (1L<<27) | ||
3555 | #define BNX2_RPM_RC_CNTL_6_P2_XI (1L<<28) | ||
3556 | #define BNX2_RPM_RC_CNTL_6_P3_XI (1L<<29) | ||
3557 | #define BNX2_RPM_RC_CNTL_6_NBIT_XI (1L<<30) | ||
2034 | 3558 | ||
2035 | #define BNX2_RPM_RC_VALUE_MASK_6 0x00001934 | 3559 | #define BNX2_RPM_RC_VALUE_MASK_6 0x00001934 |
3560 | #define BNX2_RPM_RC_VALUE_MASK_6_VALUE (0xffffL<<0) | ||
3561 | #define BNX2_RPM_RC_VALUE_MASK_6_MASK (0xffffL<<16) | ||
3562 | |||
2036 | #define BNX2_RPM_RC_CNTL_7 0x00001938 | 3563 | #define BNX2_RPM_RC_CNTL_7 0x00001938 |
2037 | #define BNX2_RPM_RC_CNTL_7_A (0x3ffffL<<0) | 3564 | #define BNX2_RPM_RC_CNTL_7_A (0x3ffffL<<0) |
2038 | #define BNX2_RPM_RC_CNTL_7_B (0xfffL<<19) | 3565 | #define BNX2_RPM_RC_CNTL_7_B (0xfffL<<19) |
3566 | #define BNX2_RPM_RC_CNTL_7_OFFSET_XI (0xffL<<0) | ||
3567 | #define BNX2_RPM_RC_CNTL_7_CLASS_XI (0x7L<<8) | ||
3568 | #define BNX2_RPM_RC_CNTL_7_PRIORITY_XI (1L<<11) | ||
3569 | #define BNX2_RPM_RC_CNTL_7_P4_XI (1L<<12) | ||
3570 | #define BNX2_RPM_RC_CNTL_7_HDR_TYPE_XI (0x7L<<13) | ||
3571 | #define BNX2_RPM_RC_CNTL_7_HDR_TYPE_START_XI (0L<<13) | ||
3572 | #define BNX2_RPM_RC_CNTL_7_HDR_TYPE_IP_XI (1L<<13) | ||
3573 | #define BNX2_RPM_RC_CNTL_7_HDR_TYPE_TCP_XI (2L<<13) | ||
3574 | #define BNX2_RPM_RC_CNTL_7_HDR_TYPE_UDP_XI (3L<<13) | ||
3575 | #define BNX2_RPM_RC_CNTL_7_HDR_TYPE_DATA_XI (4L<<13) | ||
3576 | #define BNX2_RPM_RC_CNTL_7_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3577 | #define BNX2_RPM_RC_CNTL_7_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3578 | #define BNX2_RPM_RC_CNTL_7_COMP_XI (0x3L<<16) | ||
3579 | #define BNX2_RPM_RC_CNTL_7_COMP_EQUAL_XI (0L<<16) | ||
3580 | #define BNX2_RPM_RC_CNTL_7_COMP_NEQUAL_XI (1L<<16) | ||
3581 | #define BNX2_RPM_RC_CNTL_7_COMP_GREATER_XI (2L<<16) | ||
3582 | #define BNX2_RPM_RC_CNTL_7_COMP_LESS_XI (3L<<16) | ||
3583 | #define BNX2_RPM_RC_CNTL_7_MAP_XI (1L<<18) | ||
3584 | #define BNX2_RPM_RC_CNTL_7_SBIT_XI (1L<<19) | ||
3585 | #define BNX2_RPM_RC_CNTL_7_CMDSEL_XI (0x1fL<<20) | ||
3586 | #define BNX2_RPM_RC_CNTL_7_DISCARD_XI (1L<<25) | ||
3587 | #define BNX2_RPM_RC_CNTL_7_MASK_XI (1L<<26) | ||
3588 | #define BNX2_RPM_RC_CNTL_7_P1_XI (1L<<27) | ||
3589 | #define BNX2_RPM_RC_CNTL_7_P2_XI (1L<<28) | ||
3590 | #define BNX2_RPM_RC_CNTL_7_P3_XI (1L<<29) | ||
3591 | #define BNX2_RPM_RC_CNTL_7_NBIT_XI (1L<<30) | ||
2039 | 3592 | ||
2040 | #define BNX2_RPM_RC_VALUE_MASK_7 0x0000193c | 3593 | #define BNX2_RPM_RC_VALUE_MASK_7 0x0000193c |
3594 | #define BNX2_RPM_RC_VALUE_MASK_7_VALUE (0xffffL<<0) | ||
3595 | #define BNX2_RPM_RC_VALUE_MASK_7_MASK (0xffffL<<16) | ||
3596 | |||
2041 | #define BNX2_RPM_RC_CNTL_8 0x00001940 | 3597 | #define BNX2_RPM_RC_CNTL_8 0x00001940 |
2042 | #define BNX2_RPM_RC_CNTL_8_A (0x3ffffL<<0) | 3598 | #define BNX2_RPM_RC_CNTL_8_A (0x3ffffL<<0) |
2043 | #define BNX2_RPM_RC_CNTL_8_B (0xfffL<<19) | 3599 | #define BNX2_RPM_RC_CNTL_8_B (0xfffL<<19) |
3600 | #define BNX2_RPM_RC_CNTL_8_OFFSET_XI (0xffL<<0) | ||
3601 | #define BNX2_RPM_RC_CNTL_8_CLASS_XI (0x7L<<8) | ||
3602 | #define BNX2_RPM_RC_CNTL_8_PRIORITY_XI (1L<<11) | ||
3603 | #define BNX2_RPM_RC_CNTL_8_P4_XI (1L<<12) | ||
3604 | #define BNX2_RPM_RC_CNTL_8_HDR_TYPE_XI (0x7L<<13) | ||
3605 | #define BNX2_RPM_RC_CNTL_8_HDR_TYPE_START_XI (0L<<13) | ||
3606 | #define BNX2_RPM_RC_CNTL_8_HDR_TYPE_IP_XI (1L<<13) | ||
3607 | #define BNX2_RPM_RC_CNTL_8_HDR_TYPE_TCP_XI (2L<<13) | ||
3608 | #define BNX2_RPM_RC_CNTL_8_HDR_TYPE_UDP_XI (3L<<13) | ||
3609 | #define BNX2_RPM_RC_CNTL_8_HDR_TYPE_DATA_XI (4L<<13) | ||
3610 | #define BNX2_RPM_RC_CNTL_8_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3611 | #define BNX2_RPM_RC_CNTL_8_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3612 | #define BNX2_RPM_RC_CNTL_8_COMP_XI (0x3L<<16) | ||
3613 | #define BNX2_RPM_RC_CNTL_8_COMP_EQUAL_XI (0L<<16) | ||
3614 | #define BNX2_RPM_RC_CNTL_8_COMP_NEQUAL_XI (1L<<16) | ||
3615 | #define BNX2_RPM_RC_CNTL_8_COMP_GREATER_XI (2L<<16) | ||
3616 | #define BNX2_RPM_RC_CNTL_8_COMP_LESS_XI (3L<<16) | ||
3617 | #define BNX2_RPM_RC_CNTL_8_MAP_XI (1L<<18) | ||
3618 | #define BNX2_RPM_RC_CNTL_8_SBIT_XI (1L<<19) | ||
3619 | #define BNX2_RPM_RC_CNTL_8_CMDSEL_XI (0x1fL<<20) | ||
3620 | #define BNX2_RPM_RC_CNTL_8_DISCARD_XI (1L<<25) | ||
3621 | #define BNX2_RPM_RC_CNTL_8_MASK_XI (1L<<26) | ||
3622 | #define BNX2_RPM_RC_CNTL_8_P1_XI (1L<<27) | ||
3623 | #define BNX2_RPM_RC_CNTL_8_P2_XI (1L<<28) | ||
3624 | #define BNX2_RPM_RC_CNTL_8_P3_XI (1L<<29) | ||
3625 | #define BNX2_RPM_RC_CNTL_8_NBIT_XI (1L<<30) | ||
2044 | 3626 | ||
2045 | #define BNX2_RPM_RC_VALUE_MASK_8 0x00001944 | 3627 | #define BNX2_RPM_RC_VALUE_MASK_8 0x00001944 |
3628 | #define BNX2_RPM_RC_VALUE_MASK_8_VALUE (0xffffL<<0) | ||
3629 | #define BNX2_RPM_RC_VALUE_MASK_8_MASK (0xffffL<<16) | ||
3630 | |||
2046 | #define BNX2_RPM_RC_CNTL_9 0x00001948 | 3631 | #define BNX2_RPM_RC_CNTL_9 0x00001948 |
2047 | #define BNX2_RPM_RC_CNTL_9_A (0x3ffffL<<0) | 3632 | #define BNX2_RPM_RC_CNTL_9_A (0x3ffffL<<0) |
2048 | #define BNX2_RPM_RC_CNTL_9_B (0xfffL<<19) | 3633 | #define BNX2_RPM_RC_CNTL_9_B (0xfffL<<19) |
3634 | #define BNX2_RPM_RC_CNTL_9_OFFSET_XI (0xffL<<0) | ||
3635 | #define BNX2_RPM_RC_CNTL_9_CLASS_XI (0x7L<<8) | ||
3636 | #define BNX2_RPM_RC_CNTL_9_PRIORITY_XI (1L<<11) | ||
3637 | #define BNX2_RPM_RC_CNTL_9_P4_XI (1L<<12) | ||
3638 | #define BNX2_RPM_RC_CNTL_9_HDR_TYPE_XI (0x7L<<13) | ||
3639 | #define BNX2_RPM_RC_CNTL_9_HDR_TYPE_START_XI (0L<<13) | ||
3640 | #define BNX2_RPM_RC_CNTL_9_HDR_TYPE_IP_XI (1L<<13) | ||
3641 | #define BNX2_RPM_RC_CNTL_9_HDR_TYPE_TCP_XI (2L<<13) | ||
3642 | #define BNX2_RPM_RC_CNTL_9_HDR_TYPE_UDP_XI (3L<<13) | ||
3643 | #define BNX2_RPM_RC_CNTL_9_HDR_TYPE_DATA_XI (4L<<13) | ||
3644 | #define BNX2_RPM_RC_CNTL_9_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3645 | #define BNX2_RPM_RC_CNTL_9_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3646 | #define BNX2_RPM_RC_CNTL_9_COMP_XI (0x3L<<16) | ||
3647 | #define BNX2_RPM_RC_CNTL_9_COMP_EQUAL_XI (0L<<16) | ||
3648 | #define BNX2_RPM_RC_CNTL_9_COMP_NEQUAL_XI (1L<<16) | ||
3649 | #define BNX2_RPM_RC_CNTL_9_COMP_GREATER_XI (2L<<16) | ||
3650 | #define BNX2_RPM_RC_CNTL_9_COMP_LESS_XI (3L<<16) | ||
3651 | #define BNX2_RPM_RC_CNTL_9_MAP_XI (1L<<18) | ||
3652 | #define BNX2_RPM_RC_CNTL_9_SBIT_XI (1L<<19) | ||
3653 | #define BNX2_RPM_RC_CNTL_9_CMDSEL_XI (0x1fL<<20) | ||
3654 | #define BNX2_RPM_RC_CNTL_9_DISCARD_XI (1L<<25) | ||
3655 | #define BNX2_RPM_RC_CNTL_9_MASK_XI (1L<<26) | ||
3656 | #define BNX2_RPM_RC_CNTL_9_P1_XI (1L<<27) | ||
3657 | #define BNX2_RPM_RC_CNTL_9_P2_XI (1L<<28) | ||
3658 | #define BNX2_RPM_RC_CNTL_9_P3_XI (1L<<29) | ||
3659 | #define BNX2_RPM_RC_CNTL_9_NBIT_XI (1L<<30) | ||
2049 | 3660 | ||
2050 | #define BNX2_RPM_RC_VALUE_MASK_9 0x0000194c | 3661 | #define BNX2_RPM_RC_VALUE_MASK_9 0x0000194c |
3662 | #define BNX2_RPM_RC_VALUE_MASK_9_VALUE (0xffffL<<0) | ||
3663 | #define BNX2_RPM_RC_VALUE_MASK_9_MASK (0xffffL<<16) | ||
3664 | |||
2051 | #define BNX2_RPM_RC_CNTL_10 0x00001950 | 3665 | #define BNX2_RPM_RC_CNTL_10 0x00001950 |
2052 | #define BNX2_RPM_RC_CNTL_10_A (0x3ffffL<<0) | 3666 | #define BNX2_RPM_RC_CNTL_10_A (0x3ffffL<<0) |
2053 | #define BNX2_RPM_RC_CNTL_10_B (0xfffL<<19) | 3667 | #define BNX2_RPM_RC_CNTL_10_B (0xfffL<<19) |
3668 | #define BNX2_RPM_RC_CNTL_10_OFFSET_XI (0xffL<<0) | ||
3669 | #define BNX2_RPM_RC_CNTL_10_CLASS_XI (0x7L<<8) | ||
3670 | #define BNX2_RPM_RC_CNTL_10_PRIORITY_XI (1L<<11) | ||
3671 | #define BNX2_RPM_RC_CNTL_10_P4_XI (1L<<12) | ||
3672 | #define BNX2_RPM_RC_CNTL_10_HDR_TYPE_XI (0x7L<<13) | ||
3673 | #define BNX2_RPM_RC_CNTL_10_HDR_TYPE_START_XI (0L<<13) | ||
3674 | #define BNX2_RPM_RC_CNTL_10_HDR_TYPE_IP_XI (1L<<13) | ||
3675 | #define BNX2_RPM_RC_CNTL_10_HDR_TYPE_TCP_XI (2L<<13) | ||
3676 | #define BNX2_RPM_RC_CNTL_10_HDR_TYPE_UDP_XI (3L<<13) | ||
3677 | #define BNX2_RPM_RC_CNTL_10_HDR_TYPE_DATA_XI (4L<<13) | ||
3678 | #define BNX2_RPM_RC_CNTL_10_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3679 | #define BNX2_RPM_RC_CNTL_10_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3680 | #define BNX2_RPM_RC_CNTL_10_COMP_XI (0x3L<<16) | ||
3681 | #define BNX2_RPM_RC_CNTL_10_COMP_EQUAL_XI (0L<<16) | ||
3682 | #define BNX2_RPM_RC_CNTL_10_COMP_NEQUAL_XI (1L<<16) | ||
3683 | #define BNX2_RPM_RC_CNTL_10_COMP_GREATER_XI (2L<<16) | ||
3684 | #define BNX2_RPM_RC_CNTL_10_COMP_LESS_XI (3L<<16) | ||
3685 | #define BNX2_RPM_RC_CNTL_10_MAP_XI (1L<<18) | ||
3686 | #define BNX2_RPM_RC_CNTL_10_SBIT_XI (1L<<19) | ||
3687 | #define BNX2_RPM_RC_CNTL_10_CMDSEL_XI (0x1fL<<20) | ||
3688 | #define BNX2_RPM_RC_CNTL_10_DISCARD_XI (1L<<25) | ||
3689 | #define BNX2_RPM_RC_CNTL_10_MASK_XI (1L<<26) | ||
3690 | #define BNX2_RPM_RC_CNTL_10_P1_XI (1L<<27) | ||
3691 | #define BNX2_RPM_RC_CNTL_10_P2_XI (1L<<28) | ||
3692 | #define BNX2_RPM_RC_CNTL_10_P3_XI (1L<<29) | ||
3693 | #define BNX2_RPM_RC_CNTL_10_NBIT_XI (1L<<30) | ||
2054 | 3694 | ||
2055 | #define BNX2_RPM_RC_VALUE_MASK_10 0x00001954 | 3695 | #define BNX2_RPM_RC_VALUE_MASK_10 0x00001954 |
3696 | #define BNX2_RPM_RC_VALUE_MASK_10_VALUE (0xffffL<<0) | ||
3697 | #define BNX2_RPM_RC_VALUE_MASK_10_MASK (0xffffL<<16) | ||
3698 | |||
2056 | #define BNX2_RPM_RC_CNTL_11 0x00001958 | 3699 | #define BNX2_RPM_RC_CNTL_11 0x00001958 |
2057 | #define BNX2_RPM_RC_CNTL_11_A (0x3ffffL<<0) | 3700 | #define BNX2_RPM_RC_CNTL_11_A (0x3ffffL<<0) |
2058 | #define BNX2_RPM_RC_CNTL_11_B (0xfffL<<19) | 3701 | #define BNX2_RPM_RC_CNTL_11_B (0xfffL<<19) |
3702 | #define BNX2_RPM_RC_CNTL_11_OFFSET_XI (0xffL<<0) | ||
3703 | #define BNX2_RPM_RC_CNTL_11_CLASS_XI (0x7L<<8) | ||
3704 | #define BNX2_RPM_RC_CNTL_11_PRIORITY_XI (1L<<11) | ||
3705 | #define BNX2_RPM_RC_CNTL_11_P4_XI (1L<<12) | ||
3706 | #define BNX2_RPM_RC_CNTL_11_HDR_TYPE_XI (0x7L<<13) | ||
3707 | #define BNX2_RPM_RC_CNTL_11_HDR_TYPE_START_XI (0L<<13) | ||
3708 | #define BNX2_RPM_RC_CNTL_11_HDR_TYPE_IP_XI (1L<<13) | ||
3709 | #define BNX2_RPM_RC_CNTL_11_HDR_TYPE_TCP_XI (2L<<13) | ||
3710 | #define BNX2_RPM_RC_CNTL_11_HDR_TYPE_UDP_XI (3L<<13) | ||
3711 | #define BNX2_RPM_RC_CNTL_11_HDR_TYPE_DATA_XI (4L<<13) | ||
3712 | #define BNX2_RPM_RC_CNTL_11_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3713 | #define BNX2_RPM_RC_CNTL_11_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3714 | #define BNX2_RPM_RC_CNTL_11_COMP_XI (0x3L<<16) | ||
3715 | #define BNX2_RPM_RC_CNTL_11_COMP_EQUAL_XI (0L<<16) | ||
3716 | #define BNX2_RPM_RC_CNTL_11_COMP_NEQUAL_XI (1L<<16) | ||
3717 | #define BNX2_RPM_RC_CNTL_11_COMP_GREATER_XI (2L<<16) | ||
3718 | #define BNX2_RPM_RC_CNTL_11_COMP_LESS_XI (3L<<16) | ||
3719 | #define BNX2_RPM_RC_CNTL_11_MAP_XI (1L<<18) | ||
3720 | #define BNX2_RPM_RC_CNTL_11_SBIT_XI (1L<<19) | ||
3721 | #define BNX2_RPM_RC_CNTL_11_CMDSEL_XI (0x1fL<<20) | ||
3722 | #define BNX2_RPM_RC_CNTL_11_DISCARD_XI (1L<<25) | ||
3723 | #define BNX2_RPM_RC_CNTL_11_MASK_XI (1L<<26) | ||
3724 | #define BNX2_RPM_RC_CNTL_11_P1_XI (1L<<27) | ||
3725 | #define BNX2_RPM_RC_CNTL_11_P2_XI (1L<<28) | ||
3726 | #define BNX2_RPM_RC_CNTL_11_P3_XI (1L<<29) | ||
3727 | #define BNX2_RPM_RC_CNTL_11_NBIT_XI (1L<<30) | ||
2059 | 3728 | ||
2060 | #define BNX2_RPM_RC_VALUE_MASK_11 0x0000195c | 3729 | #define BNX2_RPM_RC_VALUE_MASK_11 0x0000195c |
3730 | #define BNX2_RPM_RC_VALUE_MASK_11_VALUE (0xffffL<<0) | ||
3731 | #define BNX2_RPM_RC_VALUE_MASK_11_MASK (0xffffL<<16) | ||
3732 | |||
2061 | #define BNX2_RPM_RC_CNTL_12 0x00001960 | 3733 | #define BNX2_RPM_RC_CNTL_12 0x00001960 |
2062 | #define BNX2_RPM_RC_CNTL_12_A (0x3ffffL<<0) | 3734 | #define BNX2_RPM_RC_CNTL_12_A (0x3ffffL<<0) |
2063 | #define BNX2_RPM_RC_CNTL_12_B (0xfffL<<19) | 3735 | #define BNX2_RPM_RC_CNTL_12_B (0xfffL<<19) |
3736 | #define BNX2_RPM_RC_CNTL_12_OFFSET_XI (0xffL<<0) | ||
3737 | #define BNX2_RPM_RC_CNTL_12_CLASS_XI (0x7L<<8) | ||
3738 | #define BNX2_RPM_RC_CNTL_12_PRIORITY_XI (1L<<11) | ||
3739 | #define BNX2_RPM_RC_CNTL_12_P4_XI (1L<<12) | ||
3740 | #define BNX2_RPM_RC_CNTL_12_HDR_TYPE_XI (0x7L<<13) | ||
3741 | #define BNX2_RPM_RC_CNTL_12_HDR_TYPE_START_XI (0L<<13) | ||
3742 | #define BNX2_RPM_RC_CNTL_12_HDR_TYPE_IP_XI (1L<<13) | ||
3743 | #define BNX2_RPM_RC_CNTL_12_HDR_TYPE_TCP_XI (2L<<13) | ||
3744 | #define BNX2_RPM_RC_CNTL_12_HDR_TYPE_UDP_XI (3L<<13) | ||
3745 | #define BNX2_RPM_RC_CNTL_12_HDR_TYPE_DATA_XI (4L<<13) | ||
3746 | #define BNX2_RPM_RC_CNTL_12_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3747 | #define BNX2_RPM_RC_CNTL_12_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3748 | #define BNX2_RPM_RC_CNTL_12_COMP_XI (0x3L<<16) | ||
3749 | #define BNX2_RPM_RC_CNTL_12_COMP_EQUAL_XI (0L<<16) | ||
3750 | #define BNX2_RPM_RC_CNTL_12_COMP_NEQUAL_XI (1L<<16) | ||
3751 | #define BNX2_RPM_RC_CNTL_12_COMP_GREATER_XI (2L<<16) | ||
3752 | #define BNX2_RPM_RC_CNTL_12_COMP_LESS_XI (3L<<16) | ||
3753 | #define BNX2_RPM_RC_CNTL_12_MAP_XI (1L<<18) | ||
3754 | #define BNX2_RPM_RC_CNTL_12_SBIT_XI (1L<<19) | ||
3755 | #define BNX2_RPM_RC_CNTL_12_CMDSEL_XI (0x1fL<<20) | ||
3756 | #define BNX2_RPM_RC_CNTL_12_DISCARD_XI (1L<<25) | ||
3757 | #define BNX2_RPM_RC_CNTL_12_MASK_XI (1L<<26) | ||
3758 | #define BNX2_RPM_RC_CNTL_12_P1_XI (1L<<27) | ||
3759 | #define BNX2_RPM_RC_CNTL_12_P2_XI (1L<<28) | ||
3760 | #define BNX2_RPM_RC_CNTL_12_P3_XI (1L<<29) | ||
3761 | #define BNX2_RPM_RC_CNTL_12_NBIT_XI (1L<<30) | ||
2064 | 3762 | ||
2065 | #define BNX2_RPM_RC_VALUE_MASK_12 0x00001964 | 3763 | #define BNX2_RPM_RC_VALUE_MASK_12 0x00001964 |
3764 | #define BNX2_RPM_RC_VALUE_MASK_12_VALUE (0xffffL<<0) | ||
3765 | #define BNX2_RPM_RC_VALUE_MASK_12_MASK (0xffffL<<16) | ||
3766 | |||
2066 | #define BNX2_RPM_RC_CNTL_13 0x00001968 | 3767 | #define BNX2_RPM_RC_CNTL_13 0x00001968 |
2067 | #define BNX2_RPM_RC_CNTL_13_A (0x3ffffL<<0) | 3768 | #define BNX2_RPM_RC_CNTL_13_A (0x3ffffL<<0) |
2068 | #define BNX2_RPM_RC_CNTL_13_B (0xfffL<<19) | 3769 | #define BNX2_RPM_RC_CNTL_13_B (0xfffL<<19) |
3770 | #define BNX2_RPM_RC_CNTL_13_OFFSET_XI (0xffL<<0) | ||
3771 | #define BNX2_RPM_RC_CNTL_13_CLASS_XI (0x7L<<8) | ||
3772 | #define BNX2_RPM_RC_CNTL_13_PRIORITY_XI (1L<<11) | ||
3773 | #define BNX2_RPM_RC_CNTL_13_P4_XI (1L<<12) | ||
3774 | #define BNX2_RPM_RC_CNTL_13_HDR_TYPE_XI (0x7L<<13) | ||
3775 | #define BNX2_RPM_RC_CNTL_13_HDR_TYPE_START_XI (0L<<13) | ||
3776 | #define BNX2_RPM_RC_CNTL_13_HDR_TYPE_IP_XI (1L<<13) | ||
3777 | #define BNX2_RPM_RC_CNTL_13_HDR_TYPE_TCP_XI (2L<<13) | ||
3778 | #define BNX2_RPM_RC_CNTL_13_HDR_TYPE_UDP_XI (3L<<13) | ||
3779 | #define BNX2_RPM_RC_CNTL_13_HDR_TYPE_DATA_XI (4L<<13) | ||
3780 | #define BNX2_RPM_RC_CNTL_13_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3781 | #define BNX2_RPM_RC_CNTL_13_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3782 | #define BNX2_RPM_RC_CNTL_13_COMP_XI (0x3L<<16) | ||
3783 | #define BNX2_RPM_RC_CNTL_13_COMP_EQUAL_XI (0L<<16) | ||
3784 | #define BNX2_RPM_RC_CNTL_13_COMP_NEQUAL_XI (1L<<16) | ||
3785 | #define BNX2_RPM_RC_CNTL_13_COMP_GREATER_XI (2L<<16) | ||
3786 | #define BNX2_RPM_RC_CNTL_13_COMP_LESS_XI (3L<<16) | ||
3787 | #define BNX2_RPM_RC_CNTL_13_MAP_XI (1L<<18) | ||
3788 | #define BNX2_RPM_RC_CNTL_13_SBIT_XI (1L<<19) | ||
3789 | #define BNX2_RPM_RC_CNTL_13_CMDSEL_XI (0x1fL<<20) | ||
3790 | #define BNX2_RPM_RC_CNTL_13_DISCARD_XI (1L<<25) | ||
3791 | #define BNX2_RPM_RC_CNTL_13_MASK_XI (1L<<26) | ||
3792 | #define BNX2_RPM_RC_CNTL_13_P1_XI (1L<<27) | ||
3793 | #define BNX2_RPM_RC_CNTL_13_P2_XI (1L<<28) | ||
3794 | #define BNX2_RPM_RC_CNTL_13_P3_XI (1L<<29) | ||
3795 | #define BNX2_RPM_RC_CNTL_13_NBIT_XI (1L<<30) | ||
2069 | 3796 | ||
2070 | #define BNX2_RPM_RC_VALUE_MASK_13 0x0000196c | 3797 | #define BNX2_RPM_RC_VALUE_MASK_13 0x0000196c |
3798 | #define BNX2_RPM_RC_VALUE_MASK_13_VALUE (0xffffL<<0) | ||
3799 | #define BNX2_RPM_RC_VALUE_MASK_13_MASK (0xffffL<<16) | ||
3800 | |||
2071 | #define BNX2_RPM_RC_CNTL_14 0x00001970 | 3801 | #define BNX2_RPM_RC_CNTL_14 0x00001970 |
2072 | #define BNX2_RPM_RC_CNTL_14_A (0x3ffffL<<0) | 3802 | #define BNX2_RPM_RC_CNTL_14_A (0x3ffffL<<0) |
2073 | #define BNX2_RPM_RC_CNTL_14_B (0xfffL<<19) | 3803 | #define BNX2_RPM_RC_CNTL_14_B (0xfffL<<19) |
3804 | #define BNX2_RPM_RC_CNTL_14_OFFSET_XI (0xffL<<0) | ||
3805 | #define BNX2_RPM_RC_CNTL_14_CLASS_XI (0x7L<<8) | ||
3806 | #define BNX2_RPM_RC_CNTL_14_PRIORITY_XI (1L<<11) | ||
3807 | #define BNX2_RPM_RC_CNTL_14_P4_XI (1L<<12) | ||
3808 | #define BNX2_RPM_RC_CNTL_14_HDR_TYPE_XI (0x7L<<13) | ||
3809 | #define BNX2_RPM_RC_CNTL_14_HDR_TYPE_START_XI (0L<<13) | ||
3810 | #define BNX2_RPM_RC_CNTL_14_HDR_TYPE_IP_XI (1L<<13) | ||
3811 | #define BNX2_RPM_RC_CNTL_14_HDR_TYPE_TCP_XI (2L<<13) | ||
3812 | #define BNX2_RPM_RC_CNTL_14_HDR_TYPE_UDP_XI (3L<<13) | ||
3813 | #define BNX2_RPM_RC_CNTL_14_HDR_TYPE_DATA_XI (4L<<13) | ||
3814 | #define BNX2_RPM_RC_CNTL_14_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3815 | #define BNX2_RPM_RC_CNTL_14_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3816 | #define BNX2_RPM_RC_CNTL_14_COMP_XI (0x3L<<16) | ||
3817 | #define BNX2_RPM_RC_CNTL_14_COMP_EQUAL_XI (0L<<16) | ||
3818 | #define BNX2_RPM_RC_CNTL_14_COMP_NEQUAL_XI (1L<<16) | ||
3819 | #define BNX2_RPM_RC_CNTL_14_COMP_GREATER_XI (2L<<16) | ||
3820 | #define BNX2_RPM_RC_CNTL_14_COMP_LESS_XI (3L<<16) | ||
3821 | #define BNX2_RPM_RC_CNTL_14_MAP_XI (1L<<18) | ||
3822 | #define BNX2_RPM_RC_CNTL_14_SBIT_XI (1L<<19) | ||
3823 | #define BNX2_RPM_RC_CNTL_14_CMDSEL_XI (0x1fL<<20) | ||
3824 | #define BNX2_RPM_RC_CNTL_14_DISCARD_XI (1L<<25) | ||
3825 | #define BNX2_RPM_RC_CNTL_14_MASK_XI (1L<<26) | ||
3826 | #define BNX2_RPM_RC_CNTL_14_P1_XI (1L<<27) | ||
3827 | #define BNX2_RPM_RC_CNTL_14_P2_XI (1L<<28) | ||
3828 | #define BNX2_RPM_RC_CNTL_14_P3_XI (1L<<29) | ||
3829 | #define BNX2_RPM_RC_CNTL_14_NBIT_XI (1L<<30) | ||
2074 | 3830 | ||
2075 | #define BNX2_RPM_RC_VALUE_MASK_14 0x00001974 | 3831 | #define BNX2_RPM_RC_VALUE_MASK_14 0x00001974 |
3832 | #define BNX2_RPM_RC_VALUE_MASK_14_VALUE (0xffffL<<0) | ||
3833 | #define BNX2_RPM_RC_VALUE_MASK_14_MASK (0xffffL<<16) | ||
3834 | |||
2076 | #define BNX2_RPM_RC_CNTL_15 0x00001978 | 3835 | #define BNX2_RPM_RC_CNTL_15 0x00001978 |
2077 | #define BNX2_RPM_RC_CNTL_15_A (0x3ffffL<<0) | 3836 | #define BNX2_RPM_RC_CNTL_15_A (0x3ffffL<<0) |
2078 | #define BNX2_RPM_RC_CNTL_15_B (0xfffL<<19) | 3837 | #define BNX2_RPM_RC_CNTL_15_B (0xfffL<<19) |
3838 | #define BNX2_RPM_RC_CNTL_15_OFFSET_XI (0xffL<<0) | ||
3839 | #define BNX2_RPM_RC_CNTL_15_CLASS_XI (0x7L<<8) | ||
3840 | #define BNX2_RPM_RC_CNTL_15_PRIORITY_XI (1L<<11) | ||
3841 | #define BNX2_RPM_RC_CNTL_15_P4_XI (1L<<12) | ||
3842 | #define BNX2_RPM_RC_CNTL_15_HDR_TYPE_XI (0x7L<<13) | ||
3843 | #define BNX2_RPM_RC_CNTL_15_HDR_TYPE_START_XI (0L<<13) | ||
3844 | #define BNX2_RPM_RC_CNTL_15_HDR_TYPE_IP_XI (1L<<13) | ||
3845 | #define BNX2_RPM_RC_CNTL_15_HDR_TYPE_TCP_XI (2L<<13) | ||
3846 | #define BNX2_RPM_RC_CNTL_15_HDR_TYPE_UDP_XI (3L<<13) | ||
3847 | #define BNX2_RPM_RC_CNTL_15_HDR_TYPE_DATA_XI (4L<<13) | ||
3848 | #define BNX2_RPM_RC_CNTL_15_HDR_TYPE_TCP_UDP_XI (5L<<13) | ||
3849 | #define BNX2_RPM_RC_CNTL_15_HDR_TYPE_ICMPV6_XI (6L<<13) | ||
3850 | #define BNX2_RPM_RC_CNTL_15_COMP_XI (0x3L<<16) | ||
3851 | #define BNX2_RPM_RC_CNTL_15_COMP_EQUAL_XI (0L<<16) | ||
3852 | #define BNX2_RPM_RC_CNTL_15_COMP_NEQUAL_XI (1L<<16) | ||
3853 | #define BNX2_RPM_RC_CNTL_15_COMP_GREATER_XI (2L<<16) | ||
3854 | #define BNX2_RPM_RC_CNTL_15_COMP_LESS_XI (3L<<16) | ||
3855 | #define BNX2_RPM_RC_CNTL_15_MAP_XI (1L<<18) | ||
3856 | #define BNX2_RPM_RC_CNTL_15_SBIT_XI (1L<<19) | ||
3857 | #define BNX2_RPM_RC_CNTL_15_CMDSEL_XI (0x1fL<<20) | ||
3858 | #define BNX2_RPM_RC_CNTL_15_DISCARD_XI (1L<<25) | ||
3859 | #define BNX2_RPM_RC_CNTL_15_MASK_XI (1L<<26) | ||
3860 | #define BNX2_RPM_RC_CNTL_15_P1_XI (1L<<27) | ||
3861 | #define BNX2_RPM_RC_CNTL_15_P2_XI (1L<<28) | ||
3862 | #define BNX2_RPM_RC_CNTL_15_P3_XI (1L<<29) | ||
3863 | #define BNX2_RPM_RC_CNTL_15_NBIT_XI (1L<<30) | ||
2079 | 3864 | ||
2080 | #define BNX2_RPM_RC_VALUE_MASK_15 0x0000197c | 3865 | #define BNX2_RPM_RC_VALUE_MASK_15 0x0000197c |
3866 | #define BNX2_RPM_RC_VALUE_MASK_15_VALUE (0xffffL<<0) | ||
3867 | #define BNX2_RPM_RC_VALUE_MASK_15_MASK (0xffffL<<16) | ||
3868 | |||
2081 | #define BNX2_RPM_RC_CONFIG 0x00001980 | 3869 | #define BNX2_RPM_RC_CONFIG 0x00001980 |
2082 | #define BNX2_RPM_RC_CONFIG_RULE_ENABLE (0xffffL<<0) | 3870 | #define BNX2_RPM_RC_CONFIG_RULE_ENABLE (0xffffL<<0) |
3871 | #define BNX2_RPM_RC_CONFIG_RULE_ENABLE_XI (0xfffffL<<0) | ||
2083 | #define BNX2_RPM_RC_CONFIG_DEF_CLASS (0x7L<<24) | 3872 | #define BNX2_RPM_RC_CONFIG_DEF_CLASS (0x7L<<24) |
3873 | #define BNX2_RPM_RC_CONFIG_KNUM_OVERWRITE (1L<<31) | ||
2084 | 3874 | ||
2085 | #define BNX2_RPM_DEBUG0 0x00001984 | 3875 | #define BNX2_RPM_DEBUG0 0x00001984 |
2086 | #define BNX2_RPM_DEBUG0_FM_BCNT (0xffffL<<0) | 3876 | #define BNX2_RPM_DEBUG0_FM_BCNT (0xffffL<<0) |
@@ -2236,6 +4026,16 @@ struct l2_fhdr { | |||
2236 | #define BNX2_RPM_DEBUG9_INFIFO_OVERRUN_OCCURRED (1L<<29) | 4026 | #define BNX2_RPM_DEBUG9_INFIFO_OVERRUN_OCCURRED (1L<<29) |
2237 | #define BNX2_RPM_DEBUG9_ACPI_MATCH_INT (1L<<30) | 4027 | #define BNX2_RPM_DEBUG9_ACPI_MATCH_INT (1L<<30) |
2238 | #define BNX2_RPM_DEBUG9_ACPI_ENABLE_SYN (1L<<31) | 4028 | #define BNX2_RPM_DEBUG9_ACPI_ENABLE_SYN (1L<<31) |
4029 | #define BNX2_RPM_DEBUG9_BEMEM_R_XI (0x1fL<<0) | ||
4030 | #define BNX2_RPM_DEBUG9_EO_XI (1L<<5) | ||
4031 | #define BNX2_RPM_DEBUG9_AEOF_DE_XI (1L<<6) | ||
4032 | #define BNX2_RPM_DEBUG9_SO_XI (1L<<7) | ||
4033 | #define BNX2_RPM_DEBUG9_WD64_CT_XI (0x1fL<<8) | ||
4034 | #define BNX2_RPM_DEBUG9_EOF_VLDBYTE_XI (0x7L<<13) | ||
4035 | #define BNX2_RPM_DEBUG9_ACPI_RDE_PAT_ID_XI (0xfL<<16) | ||
4036 | #define BNX2_RPM_DEBUG9_CALCRC_RESULT_XI (0x3ffL<<20) | ||
4037 | #define BNX2_RPM_DEBUG9_DATA_IN_VL_XI (1L<<30) | ||
4038 | #define BNX2_RPM_DEBUG9_CALCRC_BUFFER_VLD_XI (1L<<31) | ||
2239 | 4039 | ||
2240 | #define BNX2_RPM_ACPI_DBG_BUF_W00 0x000019c0 | 4040 | #define BNX2_RPM_ACPI_DBG_BUF_W00 0x000019c0 |
2241 | #define BNX2_RPM_ACPI_DBG_BUF_W01 0x000019c4 | 4041 | #define BNX2_RPM_ACPI_DBG_BUF_W01 0x000019c4 |
@@ -2253,6 +4053,56 @@ struct l2_fhdr { | |||
2253 | #define BNX2_RPM_ACPI_DBG_BUF_W31 0x000019f4 | 4053 | #define BNX2_RPM_ACPI_DBG_BUF_W31 0x000019f4 |
2254 | #define BNX2_RPM_ACPI_DBG_BUF_W32 0x000019f8 | 4054 | #define BNX2_RPM_ACPI_DBG_BUF_W32 0x000019f8 |
2255 | #define BNX2_RPM_ACPI_DBG_BUF_W33 0x000019fc | 4055 | #define BNX2_RPM_ACPI_DBG_BUF_W33 0x000019fc |
4056 | #define BNX2_RPM_ACPI_BYTE_ENABLE_CTRL 0x00001a00 | ||
4057 | #define BNX2_RPM_ACPI_BYTE_ENABLE_CTRL_BYTE_ADDRESS (0xffffL<<0) | ||
4058 | #define BNX2_RPM_ACPI_BYTE_ENABLE_CTRL_DEBUGRD (1L<<28) | ||
4059 | #define BNX2_RPM_ACPI_BYTE_ENABLE_CTRL_MODE (1L<<29) | ||
4060 | #define BNX2_RPM_ACPI_BYTE_ENABLE_CTRL_INIT (1L<<30) | ||
4061 | #define BNX2_RPM_ACPI_BYTE_ENABLE_CTRL_WR (1L<<31) | ||
4062 | |||
4063 | #define BNX2_RPM_ACPI_PATTERN_CTRL 0x00001a04 | ||
4064 | #define BNX2_RPM_ACPI_PATTERN_CTRL_PATTERN_ID (0xfL<<0) | ||
4065 | #define BNX2_RPM_ACPI_PATTERN_CTRL_CRC_SM_CLR (1L<<30) | ||
4066 | #define BNX2_RPM_ACPI_PATTERN_CTRL_WR (1L<<31) | ||
4067 | |||
4068 | #define BNX2_RPM_ACPI_DATA 0x00001a08 | ||
4069 | #define BNX2_RPM_ACPI_DATA_PATTERN_BE (0xffffffffL<<0) | ||
4070 | |||
4071 | #define BNX2_RPM_ACPI_PATTERN_LEN0 0x00001a0c | ||
4072 | #define BNX2_RPM_ACPI_PATTERN_LEN0_PATTERN_LEN3 (0xffL<<0) | ||
4073 | #define BNX2_RPM_ACPI_PATTERN_LEN0_PATTERN_LEN2 (0xffL<<8) | ||
4074 | #define BNX2_RPM_ACPI_PATTERN_LEN0_PATTERN_LEN1 (0xffL<<16) | ||
4075 | #define BNX2_RPM_ACPI_PATTERN_LEN0_PATTERN_LEN0 (0xffL<<24) | ||
4076 | |||
4077 | #define BNX2_RPM_ACPI_PATTERN_LEN1 0x00001a10 | ||
4078 | #define BNX2_RPM_ACPI_PATTERN_LEN1_PATTERN_LEN7 (0xffL<<0) | ||
4079 | #define BNX2_RPM_ACPI_PATTERN_LEN1_PATTERN_LEN6 (0xffL<<8) | ||
4080 | #define BNX2_RPM_ACPI_PATTERN_LEN1_PATTERN_LEN5 (0xffL<<16) | ||
4081 | #define BNX2_RPM_ACPI_PATTERN_LEN1_PATTERN_LEN4 (0xffL<<24) | ||
4082 | |||
4083 | #define BNX2_RPM_ACPI_PATTERN_CRC0 0x00001a18 | ||
4084 | #define BNX2_RPM_ACPI_PATTERN_CRC0_PATTERN_CRC0 (0xffffffffL<<0) | ||
4085 | |||
4086 | #define BNX2_RPM_ACPI_PATTERN_CRC1 0x00001a1c | ||
4087 | #define BNX2_RPM_ACPI_PATTERN_CRC1_PATTERN_CRC1 (0xffffffffL<<0) | ||
4088 | |||
4089 | #define BNX2_RPM_ACPI_PATTERN_CRC2 0x00001a20 | ||
4090 | #define BNX2_RPM_ACPI_PATTERN_CRC2_PATTERN_CRC2 (0xffffffffL<<0) | ||
4091 | |||
4092 | #define BNX2_RPM_ACPI_PATTERN_CRC3 0x00001a24 | ||
4093 | #define BNX2_RPM_ACPI_PATTERN_CRC3_PATTERN_CRC3 (0xffffffffL<<0) | ||
4094 | |||
4095 | #define BNX2_RPM_ACPI_PATTERN_CRC4 0x00001a28 | ||
4096 | #define BNX2_RPM_ACPI_PATTERN_CRC4_PATTERN_CRC4 (0xffffffffL<<0) | ||
4097 | |||
4098 | #define BNX2_RPM_ACPI_PATTERN_CRC5 0x00001a2c | ||
4099 | #define BNX2_RPM_ACPI_PATTERN_CRC5_PATTERN_CRC5 (0xffffffffL<<0) | ||
4100 | |||
4101 | #define BNX2_RPM_ACPI_PATTERN_CRC6 0x00001a30 | ||
4102 | #define BNX2_RPM_ACPI_PATTERN_CRC6_PATTERN_CRC6 (0xffffffffL<<0) | ||
4103 | |||
4104 | #define BNX2_RPM_ACPI_PATTERN_CRC7 0x00001a34 | ||
4105 | #define BNX2_RPM_ACPI_PATTERN_CRC7_PATTERN_CRC7 (0xffffffffL<<0) | ||
2256 | 4106 | ||
2257 | 4107 | ||
2258 | /* | 4108 | /* |
@@ -2263,15 +4113,20 @@ struct l2_fhdr { | |||
2263 | #define BNX2_RBUF_COMMAND_ENABLED (1L<<0) | 4113 | #define BNX2_RBUF_COMMAND_ENABLED (1L<<0) |
2264 | #define BNX2_RBUF_COMMAND_FREE_INIT (1L<<1) | 4114 | #define BNX2_RBUF_COMMAND_FREE_INIT (1L<<1) |
2265 | #define BNX2_RBUF_COMMAND_RAM_INIT (1L<<2) | 4115 | #define BNX2_RBUF_COMMAND_RAM_INIT (1L<<2) |
4116 | #define BNX2_RBUF_COMMAND_PKT_OFFSET_OVFL (1L<<3) | ||
2266 | #define BNX2_RBUF_COMMAND_OVER_FREE (1L<<4) | 4117 | #define BNX2_RBUF_COMMAND_OVER_FREE (1L<<4) |
2267 | #define BNX2_RBUF_COMMAND_ALLOC_REQ (1L<<5) | 4118 | #define BNX2_RBUF_COMMAND_ALLOC_REQ (1L<<5) |
4119 | #define BNX2_RBUF_COMMAND_EN_PRI_CHNGE_TE (1L<<6) | ||
4120 | #define BNX2_RBUF_COMMAND_CU_ISOLATE_XI (1L<<5) | ||
4121 | #define BNX2_RBUF_COMMAND_EN_PRI_CHANGE_XI (1L<<6) | ||
4122 | #define BNX2_RBUF_COMMAND_GRC_ENDIAN_CONV_DIS_XI (1L<<7) | ||
2268 | 4123 | ||
2269 | #define BNX2_RBUF_STATUS1 0x00200004 | 4124 | #define BNX2_RBUF_STATUS1 0x00200004 |
2270 | #define BNX2_RBUF_STATUS1_FREE_COUNT (0x3ffL<<0) | 4125 | #define BNX2_RBUF_STATUS1_FREE_COUNT (0x3ffL<<0) |
2271 | 4126 | ||
2272 | #define BNX2_RBUF_STATUS2 0x00200008 | 4127 | #define BNX2_RBUF_STATUS2 0x00200008 |
2273 | #define BNX2_RBUF_STATUS2_FREE_TAIL (0x3ffL<<0) | 4128 | #define BNX2_RBUF_STATUS2_FREE_TAIL (0x1ffL<<0) |
2274 | #define BNX2_RBUF_STATUS2_FREE_HEAD (0x3ffL<<16) | 4129 | #define BNX2_RBUF_STATUS2_FREE_HEAD (0x1ffL<<16) |
2275 | 4130 | ||
2276 | #define BNX2_RBUF_CONFIG 0x0020000c | 4131 | #define BNX2_RBUF_CONFIG 0x0020000c |
2277 | #define BNX2_RBUF_CONFIG_XOFF_TRIP (0x3ffL<<0) | 4132 | #define BNX2_RBUF_CONFIG_XOFF_TRIP (0x3ffL<<0) |
@@ -2279,16 +4134,21 @@ struct l2_fhdr { | |||
2279 | 4134 | ||
2280 | #define BNX2_RBUF_FW_BUF_ALLOC 0x00200010 | 4135 | #define BNX2_RBUF_FW_BUF_ALLOC 0x00200010 |
2281 | #define BNX2_RBUF_FW_BUF_ALLOC_VALUE (0x1ffL<<7) | 4136 | #define BNX2_RBUF_FW_BUF_ALLOC_VALUE (0x1ffL<<7) |
4137 | #define BNX2_RBUF_FW_BUF_ALLOC_TYPE (1L<<16) | ||
4138 | #define BNX2_RBUF_FW_BUF_ALLOC_ALLOC_REQ (1L<<31) | ||
2282 | 4139 | ||
2283 | #define BNX2_RBUF_FW_BUF_FREE 0x00200014 | 4140 | #define BNX2_RBUF_FW_BUF_FREE 0x00200014 |
2284 | #define BNX2_RBUF_FW_BUF_FREE_COUNT (0x7fL<<0) | 4141 | #define BNX2_RBUF_FW_BUF_FREE_COUNT (0x7fL<<0) |
2285 | #define BNX2_RBUF_FW_BUF_FREE_TAIL (0x1ffL<<7) | 4142 | #define BNX2_RBUF_FW_BUF_FREE_TAIL (0x1ffL<<7) |
2286 | #define BNX2_RBUF_FW_BUF_FREE_HEAD (0x1ffL<<16) | 4143 | #define BNX2_RBUF_FW_BUF_FREE_HEAD (0x1ffL<<16) |
4144 | #define BNX2_RBUF_FW_BUF_FREE_TYPE (1L<<25) | ||
4145 | #define BNX2_RBUF_FW_BUF_FREE_FREE_REQ (1L<<31) | ||
2287 | 4146 | ||
2288 | #define BNX2_RBUF_FW_BUF_SEL 0x00200018 | 4147 | #define BNX2_RBUF_FW_BUF_SEL 0x00200018 |
2289 | #define BNX2_RBUF_FW_BUF_SEL_COUNT (0x7fL<<0) | 4148 | #define BNX2_RBUF_FW_BUF_SEL_COUNT (0x7fL<<0) |
2290 | #define BNX2_RBUF_FW_BUF_SEL_TAIL (0x1ffL<<7) | 4149 | #define BNX2_RBUF_FW_BUF_SEL_TAIL (0x1ffL<<7) |
2291 | #define BNX2_RBUF_FW_BUF_SEL_HEAD (0x1ffL<<16) | 4150 | #define BNX2_RBUF_FW_BUF_SEL_HEAD (0x1ffL<<16) |
4151 | #define BNX2_RBUF_FW_BUF_SEL_SEL_REQ (1L<<31) | ||
2292 | 4152 | ||
2293 | #define BNX2_RBUF_CONFIG2 0x0020001c | 4153 | #define BNX2_RBUF_CONFIG2 0x0020001c |
2294 | #define BNX2_RBUF_CONFIG2_MAC_DROP_TRIP (0x3ffL<<0) | 4154 | #define BNX2_RBUF_CONFIG2_MAC_DROP_TRIP (0x3ffL<<0) |
@@ -2376,6 +4236,8 @@ struct l2_fhdr { | |||
2376 | #define BNX2_RV2P_INSTR_HIGH_HIGH (0x1fL<<0) | 4236 | #define BNX2_RV2P_INSTR_HIGH_HIGH (0x1fL<<0) |
2377 | 4237 | ||
2378 | #define BNX2_RV2P_INSTR_LOW 0x00002834 | 4238 | #define BNX2_RV2P_INSTR_LOW 0x00002834 |
4239 | #define BNX2_RV2P_INSTR_LOW_LOW (0xffffffffL<<0) | ||
4240 | |||
2379 | #define BNX2_RV2P_PROC1_ADDR_CMD 0x00002838 | 4241 | #define BNX2_RV2P_PROC1_ADDR_CMD 0x00002838 |
2380 | #define BNX2_RV2P_PROC1_ADDR_CMD_ADD (0x3ffL<<0) | 4242 | #define BNX2_RV2P_PROC1_ADDR_CMD_ADD (0x3ffL<<0) |
2381 | #define BNX2_RV2P_PROC1_ADDR_CMD_RDWR (1L<<31) | 4243 | #define BNX2_RV2P_PROC1_ADDR_CMD_RDWR (1L<<31) |
@@ -2395,7 +4257,29 @@ struct l2_fhdr { | |||
2395 | #define BNX2_RV2P_DEBUG_VECT_PEEK_2_PEEK_EN (1L<<27) | 4257 | #define BNX2_RV2P_DEBUG_VECT_PEEK_2_PEEK_EN (1L<<27) |
2396 | #define BNX2_RV2P_DEBUG_VECT_PEEK_2_SEL (0xfL<<28) | 4258 | #define BNX2_RV2P_DEBUG_VECT_PEEK_2_SEL (0xfL<<28) |
2397 | 4259 | ||
2398 | #define BNX2_RV2P_PFTQ_DATA 0x00002b40 | 4260 | #define BNX2_RV2P_MPFE_PFE_CTL 0x00002afc |
4261 | #define BNX2_RV2P_MPFE_PFE_CTL_INC_USAGE_CNT (1L<<0) | ||
4262 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE (0xfL<<4) | ||
4263 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_0 (0L<<4) | ||
4264 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_1 (1L<<4) | ||
4265 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_2 (2L<<4) | ||
4266 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_3 (3L<<4) | ||
4267 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_4 (4L<<4) | ||
4268 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_5 (5L<<4) | ||
4269 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_6 (6L<<4) | ||
4270 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_7 (7L<<4) | ||
4271 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_8 (8L<<4) | ||
4272 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_9 (9L<<4) | ||
4273 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_10 (10L<<4) | ||
4274 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_11 (11L<<4) | ||
4275 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_12 (12L<<4) | ||
4276 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_13 (13L<<4) | ||
4277 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_14 (14L<<4) | ||
4278 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_SIZE_15 (15L<<4) | ||
4279 | #define BNX2_RV2P_MPFE_PFE_CTL_PFE_COUNT (0xfL<<12) | ||
4280 | #define BNX2_RV2P_MPFE_PFE_CTL_OFFSET (0x1ffL<<16) | ||
4281 | |||
4282 | #define BNX2_RV2P_RV2PPQ 0x00002b40 | ||
2399 | #define BNX2_RV2P_PFTQ_CMD 0x00002b78 | 4283 | #define BNX2_RV2P_PFTQ_CMD 0x00002b78 |
2400 | #define BNX2_RV2P_PFTQ_CMD_OFFSET (0x3ffL<<0) | 4284 | #define BNX2_RV2P_PFTQ_CMD_OFFSET (0x3ffL<<0) |
2401 | #define BNX2_RV2P_PFTQ_CMD_WR_TOP (1L<<10) | 4285 | #define BNX2_RV2P_PFTQ_CMD_WR_TOP (1L<<10) |
@@ -2416,7 +4300,7 @@ struct l2_fhdr { | |||
2416 | #define BNX2_RV2P_PFTQ_CTL_MAX_DEPTH (0x3ffL<<12) | 4300 | #define BNX2_RV2P_PFTQ_CTL_MAX_DEPTH (0x3ffL<<12) |
2417 | #define BNX2_RV2P_PFTQ_CTL_CUR_DEPTH (0x3ffL<<22) | 4301 | #define BNX2_RV2P_PFTQ_CTL_CUR_DEPTH (0x3ffL<<22) |
2418 | 4302 | ||
2419 | #define BNX2_RV2P_TFTQ_DATA 0x00002b80 | 4303 | #define BNX2_RV2P_RV2PTQ 0x00002b80 |
2420 | #define BNX2_RV2P_TFTQ_CMD 0x00002bb8 | 4304 | #define BNX2_RV2P_TFTQ_CMD 0x00002bb8 |
2421 | #define BNX2_RV2P_TFTQ_CMD_OFFSET (0x3ffL<<0) | 4305 | #define BNX2_RV2P_TFTQ_CMD_OFFSET (0x3ffL<<0) |
2422 | #define BNX2_RV2P_TFTQ_CMD_WR_TOP (1L<<10) | 4306 | #define BNX2_RV2P_TFTQ_CMD_WR_TOP (1L<<10) |
@@ -2437,7 +4321,7 @@ struct l2_fhdr { | |||
2437 | #define BNX2_RV2P_TFTQ_CTL_MAX_DEPTH (0x3ffL<<12) | 4321 | #define BNX2_RV2P_TFTQ_CTL_MAX_DEPTH (0x3ffL<<12) |
2438 | #define BNX2_RV2P_TFTQ_CTL_CUR_DEPTH (0x3ffL<<22) | 4322 | #define BNX2_RV2P_TFTQ_CTL_CUR_DEPTH (0x3ffL<<22) |
2439 | 4323 | ||
2440 | #define BNX2_RV2P_MFTQ_DATA 0x00002bc0 | 4324 | #define BNX2_RV2P_RV2PMQ 0x00002bc0 |
2441 | #define BNX2_RV2P_MFTQ_CMD 0x00002bf8 | 4325 | #define BNX2_RV2P_MFTQ_CMD 0x00002bf8 |
2442 | #define BNX2_RV2P_MFTQ_CMD_OFFSET (0x3ffL<<0) | 4326 | #define BNX2_RV2P_MFTQ_CMD_OFFSET (0x3ffL<<0) |
2443 | #define BNX2_RV2P_MFTQ_CMD_WR_TOP (1L<<10) | 4327 | #define BNX2_RV2P_MFTQ_CMD_WR_TOP (1L<<10) |
@@ -2466,18 +4350,26 @@ struct l2_fhdr { | |||
2466 | */ | 4350 | */ |
2467 | #define BNX2_MQ_COMMAND 0x00003c00 | 4351 | #define BNX2_MQ_COMMAND 0x00003c00 |
2468 | #define BNX2_MQ_COMMAND_ENABLED (1L<<0) | 4352 | #define BNX2_MQ_COMMAND_ENABLED (1L<<0) |
4353 | #define BNX2_MQ_COMMAND_INIT (1L<<1) | ||
2469 | #define BNX2_MQ_COMMAND_OVERFLOW (1L<<4) | 4354 | #define BNX2_MQ_COMMAND_OVERFLOW (1L<<4) |
2470 | #define BNX2_MQ_COMMAND_WR_ERROR (1L<<5) | 4355 | #define BNX2_MQ_COMMAND_WR_ERROR (1L<<5) |
2471 | #define BNX2_MQ_COMMAND_RD_ERROR (1L<<6) | 4356 | #define BNX2_MQ_COMMAND_RD_ERROR (1L<<6) |
4357 | #define BNX2_MQ_COMMAND_IDB_CFG_ERROR (1L<<7) | ||
4358 | #define BNX2_MQ_COMMAND_IDB_OVERFLOW (1L<<10) | ||
4359 | #define BNX2_MQ_COMMAND_NO_BIN_ERROR (1L<<11) | ||
4360 | #define BNX2_MQ_COMMAND_NO_MAP_ERROR (1L<<12) | ||
2472 | 4361 | ||
2473 | #define BNX2_MQ_STATUS 0x00003c04 | 4362 | #define BNX2_MQ_STATUS 0x00003c04 |
2474 | #define BNX2_MQ_STATUS_CTX_ACCESS_STAT (1L<<16) | 4363 | #define BNX2_MQ_STATUS_CTX_ACCESS_STAT (1L<<16) |
2475 | #define BNX2_MQ_STATUS_CTX_ACCESS64_STAT (1L<<17) | 4364 | #define BNX2_MQ_STATUS_CTX_ACCESS64_STAT (1L<<17) |
2476 | #define BNX2_MQ_STATUS_PCI_STALL_STAT (1L<<18) | 4365 | #define BNX2_MQ_STATUS_PCI_STALL_STAT (1L<<18) |
4366 | #define BNX2_MQ_STATUS_IDB_OFLOW_STAT (1L<<19) | ||
2477 | 4367 | ||
2478 | #define BNX2_MQ_CONFIG 0x00003c08 | 4368 | #define BNX2_MQ_CONFIG 0x00003c08 |
2479 | #define BNX2_MQ_CONFIG_TX_HIGH_PRI (1L<<0) | 4369 | #define BNX2_MQ_CONFIG_TX_HIGH_PRI (1L<<0) |
2480 | #define BNX2_MQ_CONFIG_HALT_DIS (1L<<1) | 4370 | #define BNX2_MQ_CONFIG_HALT_DIS (1L<<1) |
4371 | #define BNX2_MQ_CONFIG_BIN_MQ_MODE (1L<<2) | ||
4372 | #define BNX2_MQ_CONFIG_DIS_IDB_DROP (1L<<3) | ||
2481 | #define BNX2_MQ_CONFIG_KNL_BYP_BLK_SIZE (0x7L<<4) | 4373 | #define BNX2_MQ_CONFIG_KNL_BYP_BLK_SIZE (0x7L<<4) |
2482 | #define BNX2_MQ_CONFIG_KNL_BYP_BLK_SIZE_256 (0L<<4) | 4374 | #define BNX2_MQ_CONFIG_KNL_BYP_BLK_SIZE_256 (0L<<4) |
2483 | #define BNX2_MQ_CONFIG_KNL_BYP_BLK_SIZE_512 (1L<<4) | 4375 | #define BNX2_MQ_CONFIG_KNL_BYP_BLK_SIZE_512 (1L<<4) |
@@ -2533,6 +4425,7 @@ struct l2_fhdr { | |||
2533 | 4425 | ||
2534 | #define BNX2_MQ_MEM_WR_DATA2 0x00003c80 | 4426 | #define BNX2_MQ_MEM_WR_DATA2 0x00003c80 |
2535 | #define BNX2_MQ_MEM_WR_DATA2_VALUE (0x3fffffffL<<0) | 4427 | #define BNX2_MQ_MEM_WR_DATA2_VALUE (0x3fffffffL<<0) |
4428 | #define BNX2_MQ_MEM_WR_DATA2_VALUE_XI (0x7fffffffL<<0) | ||
2536 | 4429 | ||
2537 | #define BNX2_MQ_MEM_RD_ADDR 0x00003c84 | 4430 | #define BNX2_MQ_MEM_RD_ADDR 0x00003c84 |
2538 | #define BNX2_MQ_MEM_RD_ADDR_VALUE (0x3fL<<0) | 4431 | #define BNX2_MQ_MEM_RD_ADDR_VALUE (0x3fL<<0) |
@@ -2545,6 +4438,16 @@ struct l2_fhdr { | |||
2545 | 4438 | ||
2546 | #define BNX2_MQ_MEM_RD_DATA2 0x00003c90 | 4439 | #define BNX2_MQ_MEM_RD_DATA2 0x00003c90 |
2547 | #define BNX2_MQ_MEM_RD_DATA2_VALUE (0x3fffffffL<<0) | 4440 | #define BNX2_MQ_MEM_RD_DATA2_VALUE (0x3fffffffL<<0) |
4441 | #define BNX2_MQ_MEM_RD_DATA2_VALUE_XI (0x7fffffffL<<0) | ||
4442 | |||
4443 | |||
4444 | /* | ||
4445 | * tsch_reg definition | ||
4446 | * offset: 0x4c00 | ||
4447 | */ | ||
4448 | #define BNX2_TSCH_TSS_CFG 0x00004c1c | ||
4449 | #define BNX2_TSCH_TSS_CFG_TSS_START_CID (0x7ffL<<8) | ||
4450 | #define BNX2_TSCH_TSS_CFG_NUM_OF_TSS_CON (0xfL<<24) | ||
2548 | 4451 | ||
2549 | 4452 | ||
2550 | 4453 | ||
@@ -2594,7 +4497,11 @@ struct l2_fhdr { | |||
2594 | #define BNX2_TBDR_DEBUG_VECT_PEEK_2_PEEK_EN (1L<<27) | 4497 | #define BNX2_TBDR_DEBUG_VECT_PEEK_2_PEEK_EN (1L<<27) |
2595 | #define BNX2_TBDR_DEBUG_VECT_PEEK_2_SEL (0xfL<<28) | 4498 | #define BNX2_TBDR_DEBUG_VECT_PEEK_2_SEL (0xfL<<28) |
2596 | 4499 | ||
2597 | #define BNX2_TBDR_FTQ_DATA 0x000053c0 | 4500 | #define BNX2_TBDR_CKSUM_ERROR_STATUS 0x00005010 |
4501 | #define BNX2_TBDR_CKSUM_ERROR_STATUS_CALCULATED (0xffffL<<0) | ||
4502 | #define BNX2_TBDR_CKSUM_ERROR_STATUS_EXPECTED (0xffffL<<16) | ||
4503 | |||
4504 | #define BNX2_TBDR_TBDRQ 0x000053c0 | ||
2598 | #define BNX2_TBDR_FTQ_CMD 0x000053f8 | 4505 | #define BNX2_TBDR_FTQ_CMD 0x000053f8 |
2599 | #define BNX2_TBDR_FTQ_CMD_OFFSET (0x3ffL<<0) | 4506 | #define BNX2_TBDR_FTQ_CMD_OFFSET (0x3ffL<<0) |
2600 | #define BNX2_TBDR_FTQ_CMD_WR_TOP (1L<<10) | 4507 | #define BNX2_TBDR_FTQ_CMD_WR_TOP (1L<<10) |
@@ -2624,7 +4531,15 @@ struct l2_fhdr { | |||
2624 | #define BNX2_TDMA_COMMAND 0x00005c00 | 4531 | #define BNX2_TDMA_COMMAND 0x00005c00 |
2625 | #define BNX2_TDMA_COMMAND_ENABLED (1L<<0) | 4532 | #define BNX2_TDMA_COMMAND_ENABLED (1L<<0) |
2626 | #define BNX2_TDMA_COMMAND_MASTER_ABORT (1L<<4) | 4533 | #define BNX2_TDMA_COMMAND_MASTER_ABORT (1L<<4) |
4534 | #define BNX2_TDMA_COMMAND_CS16_ERR (1L<<5) | ||
2627 | #define BNX2_TDMA_COMMAND_BAD_L2_LENGTH_ABORT (1L<<7) | 4535 | #define BNX2_TDMA_COMMAND_BAD_L2_LENGTH_ABORT (1L<<7) |
4536 | #define BNX2_TDMA_COMMAND_MASK_CS1 (1L<<20) | ||
4537 | #define BNX2_TDMA_COMMAND_MASK_CS2 (1L<<21) | ||
4538 | #define BNX2_TDMA_COMMAND_MASK_CS3 (1L<<22) | ||
4539 | #define BNX2_TDMA_COMMAND_MASK_CS4 (1L<<23) | ||
4540 | #define BNX2_TDMA_COMMAND_FORCE_ILOCK_CKERR (1L<<24) | ||
4541 | #define BNX2_TDMA_COMMAND_OFIFO_CLR (1L<<30) | ||
4542 | #define BNX2_TDMA_COMMAND_IFIFO_CLR (1L<<31) | ||
2628 | 4543 | ||
2629 | #define BNX2_TDMA_STATUS 0x00005c04 | 4544 | #define BNX2_TDMA_STATUS 0x00005c04 |
2630 | #define BNX2_TDMA_STATUS_DMA_WAIT (1L<<0) | 4545 | #define BNX2_TDMA_STATUS_DMA_WAIT (1L<<0) |
@@ -2633,10 +4548,18 @@ struct l2_fhdr { | |||
2633 | #define BNX2_TDMA_STATUS_LOCK_WAIT (1L<<3) | 4548 | #define BNX2_TDMA_STATUS_LOCK_WAIT (1L<<3) |
2634 | #define BNX2_TDMA_STATUS_FTQ_ENTRY_CNT (1L<<16) | 4549 | #define BNX2_TDMA_STATUS_FTQ_ENTRY_CNT (1L<<16) |
2635 | #define BNX2_TDMA_STATUS_BURST_CNT (1L<<17) | 4550 | #define BNX2_TDMA_STATUS_BURST_CNT (1L<<17) |
4551 | #define BNX2_TDMA_STATUS_MAX_IFIFO_DEPTH (0x3fL<<20) | ||
4552 | #define BNX2_TDMA_STATUS_OFIFO_OVERFLOW (1L<<30) | ||
4553 | #define BNX2_TDMA_STATUS_IFIFO_OVERFLOW (1L<<31) | ||
2636 | 4554 | ||
2637 | #define BNX2_TDMA_CONFIG 0x00005c08 | 4555 | #define BNX2_TDMA_CONFIG 0x00005c08 |
2638 | #define BNX2_TDMA_CONFIG_ONE_DMA (1L<<0) | 4556 | #define BNX2_TDMA_CONFIG_ONE_DMA (1L<<0) |
2639 | #define BNX2_TDMA_CONFIG_ONE_RECORD (1L<<1) | 4557 | #define BNX2_TDMA_CONFIG_ONE_RECORD (1L<<1) |
4558 | #define BNX2_TDMA_CONFIG_NUM_DMA_CHAN (0x3L<<2) | ||
4559 | #define BNX2_TDMA_CONFIG_NUM_DMA_CHAN_0 (0L<<2) | ||
4560 | #define BNX2_TDMA_CONFIG_NUM_DMA_CHAN_1 (1L<<2) | ||
4561 | #define BNX2_TDMA_CONFIG_NUM_DMA_CHAN_2 (2L<<2) | ||
4562 | #define BNX2_TDMA_CONFIG_NUM_DMA_CHAN_3 (3L<<2) | ||
2640 | #define BNX2_TDMA_CONFIG_LIMIT_SZ (0xfL<<4) | 4563 | #define BNX2_TDMA_CONFIG_LIMIT_SZ (0xfL<<4) |
2641 | #define BNX2_TDMA_CONFIG_LIMIT_SZ_64 (0L<<4) | 4564 | #define BNX2_TDMA_CONFIG_LIMIT_SZ_64 (0L<<4) |
2642 | #define BNX2_TDMA_CONFIG_LIMIT_SZ_128 (0x4L<<4) | 4565 | #define BNX2_TDMA_CONFIG_LIMIT_SZ_128 (0x4L<<4) |
@@ -2649,7 +4572,35 @@ struct l2_fhdr { | |||
2649 | #define BNX2_TDMA_CONFIG_LINE_SZ_512 (8L<<8) | 4572 | #define BNX2_TDMA_CONFIG_LINE_SZ_512 (8L<<8) |
2650 | #define BNX2_TDMA_CONFIG_ALIGN_ENA (1L<<15) | 4573 | #define BNX2_TDMA_CONFIG_ALIGN_ENA (1L<<15) |
2651 | #define BNX2_TDMA_CONFIG_CHK_L2_BD (1L<<16) | 4574 | #define BNX2_TDMA_CONFIG_CHK_L2_BD (1L<<16) |
4575 | #define BNX2_TDMA_CONFIG_CMPL_ENTRY (1L<<17) | ||
4576 | #define BNX2_TDMA_CONFIG_OFIFO_CMP (1L<<19) | ||
4577 | #define BNX2_TDMA_CONFIG_OFIFO_CMP_3 (0L<<19) | ||
4578 | #define BNX2_TDMA_CONFIG_OFIFO_CMP_2 (1L<<19) | ||
2652 | #define BNX2_TDMA_CONFIG_FIFO_CMP (0xfL<<20) | 4579 | #define BNX2_TDMA_CONFIG_FIFO_CMP (0xfL<<20) |
4580 | #define BNX2_TDMA_CONFIG_IFIFO_DEPTH_XI (0x7L<<20) | ||
4581 | #define BNX2_TDMA_CONFIG_IFIFO_DEPTH_0_XI (0L<<20) | ||
4582 | #define BNX2_TDMA_CONFIG_IFIFO_DEPTH_4_XI (1L<<20) | ||
4583 | #define BNX2_TDMA_CONFIG_IFIFO_DEPTH_8_XI (2L<<20) | ||
4584 | #define BNX2_TDMA_CONFIG_IFIFO_DEPTH_16_XI (3L<<20) | ||
4585 | #define BNX2_TDMA_CONFIG_IFIFO_DEPTH_32_XI (4L<<20) | ||
4586 | #define BNX2_TDMA_CONFIG_IFIFO_DEPTH_64_XI (5L<<20) | ||
4587 | #define BNX2_TDMA_CONFIG_FIFO_CMP_EN_XI (1L<<23) | ||
4588 | #define BNX2_TDMA_CONFIG_BYTES_OST_XI (0x7L<<24) | ||
4589 | #define BNX2_TDMA_CONFIG_BYTES_OST_512_XI (0L<<24) | ||
4590 | #define BNX2_TDMA_CONFIG_BYTES_OST_1024_XI (1L<<24) | ||
4591 | #define BNX2_TDMA_CONFIG_BYTES_OST_2048_XI (2L<<24) | ||
4592 | #define BNX2_TDMA_CONFIG_BYTES_OST_4096_XI (3L<<24) | ||
4593 | #define BNX2_TDMA_CONFIG_BYTES_OST_8192_XI (4L<<24) | ||
4594 | #define BNX2_TDMA_CONFIG_BYTES_OST_16384_XI (5L<<24) | ||
4595 | #define BNX2_TDMA_CONFIG_HC_BYPASS_XI (1L<<27) | ||
4596 | #define BNX2_TDMA_CONFIG_LCL_MRRS_XI (0x7L<<28) | ||
4597 | #define BNX2_TDMA_CONFIG_LCL_MRRS_128_XI (0L<<28) | ||
4598 | #define BNX2_TDMA_CONFIG_LCL_MRRS_256_XI (1L<<28) | ||
4599 | #define BNX2_TDMA_CONFIG_LCL_MRRS_512_XI (2L<<28) | ||
4600 | #define BNX2_TDMA_CONFIG_LCL_MRRS_1024_XI (3L<<28) | ||
4601 | #define BNX2_TDMA_CONFIG_LCL_MRRS_2048_XI (4L<<28) | ||
4602 | #define BNX2_TDMA_CONFIG_LCL_MRRS_4096_XI (5L<<28) | ||
4603 | #define BNX2_TDMA_CONFIG_LCL_MRRS_EN_XI (1L<<31) | ||
2653 | 4604 | ||
2654 | #define BNX2_TDMA_PAYLOAD_PROD 0x00005c0c | 4605 | #define BNX2_TDMA_PAYLOAD_PROD 0x00005c0c |
2655 | #define BNX2_TDMA_PAYLOAD_PROD_VALUE (0x1fffL<<3) | 4606 | #define BNX2_TDMA_PAYLOAD_PROD_VALUE (0x1fffL<<3) |
@@ -2685,7 +4636,22 @@ struct l2_fhdr { | |||
2685 | #define BNX2_TDMA_DR_INTF_STATUS_NXT_PNTR (0xfL<<12) | 4636 | #define BNX2_TDMA_DR_INTF_STATUS_NXT_PNTR (0xfL<<12) |
2686 | #define BNX2_TDMA_DR_INTF_STATUS_BYTE_COUNT (0x7L<<16) | 4637 | #define BNX2_TDMA_DR_INTF_STATUS_BYTE_COUNT (0x7L<<16) |
2687 | 4638 | ||
2688 | #define BNX2_TDMA_FTQ_DATA 0x00005fc0 | 4639 | #define BNX2_TDMA_PUSH_FSM 0x00005c90 |
4640 | #define BNX2_TDMA_BD_IF_DEBUG 0x00005c94 | ||
4641 | #define BNX2_TDMA_DMAD_IF_DEBUG 0x00005c98 | ||
4642 | #define BNX2_TDMA_CTX_IF_DEBUG 0x00005c9c | ||
4643 | #define BNX2_TDMA_TPBUF_IF_DEBUG 0x00005ca0 | ||
4644 | #define BNX2_TDMA_DR_IF_DEBUG 0x00005ca4 | ||
4645 | #define BNX2_TDMA_TPATQ_IF_DEBUG 0x00005ca8 | ||
4646 | #define BNX2_TDMA_TDMA_ILOCK_CKSUM 0x00005cac | ||
4647 | #define BNX2_TDMA_TDMA_ILOCK_CKSUM_CALCULATED (0xffffL<<0) | ||
4648 | #define BNX2_TDMA_TDMA_ILOCK_CKSUM_EXPECTED (0xffffL<<16) | ||
4649 | |||
4650 | #define BNX2_TDMA_TDMA_PCIE_CKSUM 0x00005cb0 | ||
4651 | #define BNX2_TDMA_TDMA_PCIE_CKSUM_CALCULATED (0xffffL<<0) | ||
4652 | #define BNX2_TDMA_TDMA_PCIE_CKSUM_EXPECTED (0xffffL<<16) | ||
4653 | |||
4654 | #define BNX2_TDMA_TDMAQ 0x00005fc0 | ||
2689 | #define BNX2_TDMA_FTQ_CMD 0x00005ff8 | 4655 | #define BNX2_TDMA_FTQ_CMD 0x00005ff8 |
2690 | #define BNX2_TDMA_FTQ_CMD_OFFSET (0x3ffL<<0) | 4656 | #define BNX2_TDMA_FTQ_CMD_OFFSET (0x3ffL<<0) |
2691 | #define BNX2_TDMA_FTQ_CMD_WR_TOP (1L<<10) | 4657 | #define BNX2_TDMA_FTQ_CMD_WR_TOP (1L<<10) |
@@ -2724,6 +4690,8 @@ struct l2_fhdr { | |||
2724 | #define BNX2_HC_COMMAND_FORCE_INT_LOW (2L<<19) | 4690 | #define BNX2_HC_COMMAND_FORCE_INT_LOW (2L<<19) |
2725 | #define BNX2_HC_COMMAND_FORCE_INT_FREE (3L<<19) | 4691 | #define BNX2_HC_COMMAND_FORCE_INT_FREE (3L<<19) |
2726 | #define BNX2_HC_COMMAND_CLR_STAT_NOW (1L<<21) | 4692 | #define BNX2_HC_COMMAND_CLR_STAT_NOW (1L<<21) |
4693 | #define BNX2_HC_COMMAND_MAIN_PWR_INT (1L<<22) | ||
4694 | #define BNX2_HC_COMMAND_COAL_ON_NEXT_EVENT (1L<<27) | ||
2727 | 4695 | ||
2728 | #define BNX2_HC_STATUS 0x00006804 | 4696 | #define BNX2_HC_STATUS 0x00006804 |
2729 | #define BNX2_HC_STATUS_MASTER_ABORT (1L<<0) | 4697 | #define BNX2_HC_STATUS_MASTER_ABORT (1L<<0) |
@@ -2746,6 +4714,23 @@ struct l2_fhdr { | |||
2746 | #define BNX2_HC_CONFIG_STATISTIC_PRIORITY (1L<<5) | 4714 | #define BNX2_HC_CONFIG_STATISTIC_PRIORITY (1L<<5) |
2747 | #define BNX2_HC_CONFIG_STATUS_PRIORITY (1L<<6) | 4715 | #define BNX2_HC_CONFIG_STATUS_PRIORITY (1L<<6) |
2748 | #define BNX2_HC_CONFIG_STAT_MEM_ADDR (0xffL<<8) | 4716 | #define BNX2_HC_CONFIG_STAT_MEM_ADDR (0xffL<<8) |
4717 | #define BNX2_HC_CONFIG_PER_MODE (1L<<16) | ||
4718 | #define BNX2_HC_CONFIG_ONE_SHOT (1L<<17) | ||
4719 | #define BNX2_HC_CONFIG_USE_INT_PARAM (1L<<18) | ||
4720 | #define BNX2_HC_CONFIG_SET_MASK_AT_RD (1L<<19) | ||
4721 | #define BNX2_HC_CONFIG_PER_COLLECT_LIMIT (0xfL<<20) | ||
4722 | #define BNX2_HC_CONFIG_SB_ADDR_INC (0x7L<<24) | ||
4723 | #define BNX2_HC_CONFIG_SB_ADDR_INC_64B (0L<<24) | ||
4724 | #define BNX2_HC_CONFIG_SB_ADDR_INC_128B (1L<<24) | ||
4725 | #define BNX2_HC_CONFIG_SB_ADDR_INC_256B (2L<<24) | ||
4726 | #define BNX2_HC_CONFIG_SB_ADDR_INC_512B (3L<<24) | ||
4727 | #define BNX2_HC_CONFIG_SB_ADDR_INC_1024B (4L<<24) | ||
4728 | #define BNX2_HC_CONFIG_SB_ADDR_INC_2048B (5L<<24) | ||
4729 | #define BNX2_HC_CONFIG_SB_ADDR_INC_4096B (6L<<24) | ||
4730 | #define BNX2_HC_CONFIG_SB_ADDR_INC_8192B (7L<<24) | ||
4731 | #define BNX2_HC_CONFIG_GEN_STAT_AVG_INTR (1L<<29) | ||
4732 | #define BNX2_HC_CONFIG_UNMASK_ALL (1L<<30) | ||
4733 | #define BNX2_HC_CONFIG_TX_SEL (1L<<31) | ||
2749 | 4734 | ||
2750 | #define BNX2_HC_ATTN_BITS_ENABLE 0x0000680c | 4735 | #define BNX2_HC_ATTN_BITS_ENABLE 0x0000680c |
2751 | #define BNX2_HC_STATUS_ADDR_L 0x00006810 | 4736 | #define BNX2_HC_STATUS_ADDR_L 0x00006810 |
@@ -2782,6 +4767,7 @@ struct l2_fhdr { | |||
2782 | 4767 | ||
2783 | #define BNX2_HC_PERIODIC_TICKS 0x0000683c | 4768 | #define BNX2_HC_PERIODIC_TICKS 0x0000683c |
2784 | #define BNX2_HC_PERIODIC_TICKS_HC_PERIODIC_TICKS (0xffffL<<0) | 4769 | #define BNX2_HC_PERIODIC_TICKS_HC_PERIODIC_TICKS (0xffffL<<0) |
4770 | #define BNX2_HC_PERIODIC_TICKS_HC_INT_PERIODIC_TICKS (0xffffL<<16) | ||
2785 | 4771 | ||
2786 | #define BNX2_HC_STAT_COLLECT_TICKS 0x00006840 | 4772 | #define BNX2_HC_STAT_COLLECT_TICKS 0x00006840 |
2787 | #define BNX2_HC_STAT_COLLECT_TICKS_HC_STAT_COLL_TICKS (0xffL<<4) | 4773 | #define BNX2_HC_STAT_COLLECT_TICKS_HC_STAT_COLL_TICKS (0xffL<<4) |
@@ -2789,6 +4775,10 @@ struct l2_fhdr { | |||
2789 | #define BNX2_HC_STATS_TICKS 0x00006844 | 4775 | #define BNX2_HC_STATS_TICKS 0x00006844 |
2790 | #define BNX2_HC_STATS_TICKS_HC_STAT_TICKS (0xffffL<<8) | 4776 | #define BNX2_HC_STATS_TICKS_HC_STAT_TICKS (0xffffL<<8) |
2791 | 4777 | ||
4778 | #define BNX2_HC_STATS_INTERRUPT_STATUS 0x00006848 | ||
4779 | #define BNX2_HC_STATS_INTERRUPT_STATUS_SB_STATUS (0x1ffL<<0) | ||
4780 | #define BNX2_HC_STATS_INTERRUPT_STATUS_INT_STATUS (0x1ffL<<16) | ||
4781 | |||
2792 | #define BNX2_HC_STAT_MEM_DATA 0x0000684c | 4782 | #define BNX2_HC_STAT_MEM_DATA 0x0000684c |
2793 | #define BNX2_HC_STAT_GEN_SEL_0 0x00006850 | 4783 | #define BNX2_HC_STAT_GEN_SEL_0 0x00006850 |
2794 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0 (0x7fL<<0) | 4784 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0 (0x7fL<<0) |
@@ -2917,24 +4907,108 @@ struct l2_fhdr { | |||
2917 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_1 (0x7fL<<8) | 4907 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_1 (0x7fL<<8) |
2918 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_2 (0x7fL<<16) | 4908 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_2 (0x7fL<<16) |
2919 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_3 (0x7fL<<24) | 4909 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_3 (0x7fL<<24) |
4910 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_XI (0xffL<<0) | ||
4911 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UMP_RX_FRAME_DROP_XI (52L<<0) | ||
4912 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S0_XI (57L<<0) | ||
4913 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S1_XI (58L<<0) | ||
4914 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S2_XI (85L<<0) | ||
4915 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S3_XI (86L<<0) | ||
4916 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S4_XI (87L<<0) | ||
4917 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S5_XI (88L<<0) | ||
4918 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S6_XI (89L<<0) | ||
4919 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S7_XI (90L<<0) | ||
4920 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S8_XI (91L<<0) | ||
4921 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S9_XI (92L<<0) | ||
4922 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_UNUSED_S10_XI (93L<<0) | ||
4923 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_MQ_IDB_OFLOW_XI (94L<<0) | ||
4924 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_CTX_BLK_RD_CNT_XI (123L<<0) | ||
4925 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_CTX_BLK_WR_CNT_XI (124L<<0) | ||
4926 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_CTX_HITS_XI (125L<<0) | ||
4927 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_CTX_MISSES_XI (126L<<0) | ||
4928 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_STATUS_BLOCKS_VEC1_XI (128L<<0) | ||
4929 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_GEN_VEC1_XI (129L<<0) | ||
4930 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_MBOX_WR_VEC1_XI (130L<<0) | ||
4931 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_HW_INTACK_VEC1_XI (131L<<0) | ||
4932 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_SW_INTACK_VEC1_XI (132L<<0) | ||
4933 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_DURING_SW_INTACK_VEC1_XI (133L<<0) | ||
4934 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_STATUS_BLOCKS_VEC2_XI (134L<<0) | ||
4935 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_GEN_VEC2_XI (135L<<0) | ||
4936 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_MBOX_WR_VEC2_XI (136L<<0) | ||
4937 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_HW_INTACK_VEC2_XI (137L<<0) | ||
4938 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_SW_INTACK_VEC2_XI (138L<<0) | ||
4939 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_DURING_SW_INTACK_VEC2_XI (139L<<0) | ||
4940 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_STATUS_BLOCKS_VEC3_XI (140L<<0) | ||
4941 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_GEN_VEC3_XI (141L<<0) | ||
4942 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_MBOX_WR_VEC3_XI (142L<<0) | ||
4943 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_HW_INTACK_VEC3_XI (143L<<0) | ||
4944 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_SW_INTACK_VEC3_XI (144L<<0) | ||
4945 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_DURING_SW_INTACK_VEC3_XI (145L<<0) | ||
4946 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_STATUS_BLOCKS_VEC4_XI (146L<<0) | ||
4947 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_GEN_VEC4_XI (147L<<0) | ||
4948 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_MBOX_WR_VEC4_XI (148L<<0) | ||
4949 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_HW_INTACK_VEC4_XI (149L<<0) | ||
4950 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_SW_INTACK_VEC4_XI (150L<<0) | ||
4951 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_DURING_SW_INTACK_VEC4_XI (151L<<0) | ||
4952 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_STATUS_BLOCKS_VEC5_XI (152L<<0) | ||
4953 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_GEN_VEC5_XI (153L<<0) | ||
4954 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_MBOX_WR_VEC5_XI (154L<<0) | ||
4955 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_HW_INTACK_VEC5_XI (155L<<0) | ||
4956 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_SW_INTACK_VEC5_XI (156L<<0) | ||
4957 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_DURING_SW_INTACK_VEC5_XI (157L<<0) | ||
4958 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_STATUS_BLOCKS_VEC6_XI (158L<<0) | ||
4959 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_GEN_VEC6_XI (159L<<0) | ||
4960 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_MBOX_WR_VEC6_XI (160L<<0) | ||
4961 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_HW_INTACK_VEC6_XI (161L<<0) | ||
4962 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_SW_INTACK_VEC6_XI (162L<<0) | ||
4963 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_DURING_SW_INTACK_VEC6_XI (163L<<0) | ||
4964 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_STATUS_BLOCKS_VEC7_XI (164L<<0) | ||
4965 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_GEN_VEC7_XI (165L<<0) | ||
4966 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_MBOX_WR_VEC7_XI (166L<<0) | ||
4967 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_HW_INTACK_VEC7_XI (167L<<0) | ||
4968 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_SW_INTACK_VEC7_XI (168L<<0) | ||
4969 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_DURING_SW_INTACK_VEC7_XI (169L<<0) | ||
4970 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_STATUS_BLOCKS_VEC8_XI (170L<<0) | ||
4971 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_GEN_VEC8_XI (171L<<0) | ||
4972 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_NUM_INT_MBOX_WR_VEC8_XI (172L<<0) | ||
4973 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_HW_INTACK_VEC8_XI (173L<<0) | ||
4974 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_TO_SW_INTACK_VEC8_XI (174L<<0) | ||
4975 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_HC_CORE_CLKS_DURING_SW_INTACK_VEC8_XI (175L<<0) | ||
4976 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_RV2PCS_CMD_CNT_XI (176L<<0) | ||
4977 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_RV2PCS_SLOT_CNT_XI (177L<<0) | ||
4978 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_0_RV2PCSQ_VALID_CNT_XI (178L<<0) | ||
4979 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_1_XI (0xffL<<8) | ||
4980 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_2_XI (0xffL<<16) | ||
4981 | #define BNX2_HC_STAT_GEN_SEL_0_GEN_SEL_3_XI (0xffL<<24) | ||
2920 | 4982 | ||
2921 | #define BNX2_HC_STAT_GEN_SEL_1 0x00006854 | 4983 | #define BNX2_HC_STAT_GEN_SEL_1 0x00006854 |
2922 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_4 (0x7fL<<0) | 4984 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_4 (0x7fL<<0) |
2923 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_5 (0x7fL<<8) | 4985 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_5 (0x7fL<<8) |
2924 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_6 (0x7fL<<16) | 4986 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_6 (0x7fL<<16) |
2925 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_7 (0x7fL<<24) | 4987 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_7 (0x7fL<<24) |
4988 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_4_XI (0xffL<<0) | ||
4989 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_5_XI (0xffL<<8) | ||
4990 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_6_XI (0xffL<<16) | ||
4991 | #define BNX2_HC_STAT_GEN_SEL_1_GEN_SEL_7_XI (0xffL<<24) | ||
2926 | 4992 | ||
2927 | #define BNX2_HC_STAT_GEN_SEL_2 0x00006858 | 4993 | #define BNX2_HC_STAT_GEN_SEL_2 0x00006858 |
2928 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_8 (0x7fL<<0) | 4994 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_8 (0x7fL<<0) |
2929 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_9 (0x7fL<<8) | 4995 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_9 (0x7fL<<8) |
2930 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_10 (0x7fL<<16) | 4996 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_10 (0x7fL<<16) |
2931 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_11 (0x7fL<<24) | 4997 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_11 (0x7fL<<24) |
4998 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_8_XI (0xffL<<0) | ||
4999 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_9_XI (0xffL<<8) | ||
5000 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_10_XI (0xffL<<16) | ||
5001 | #define BNX2_HC_STAT_GEN_SEL_2_GEN_SEL_11_XI (0xffL<<24) | ||
2932 | 5002 | ||
2933 | #define BNX2_HC_STAT_GEN_SEL_3 0x0000685c | 5003 | #define BNX2_HC_STAT_GEN_SEL_3 0x0000685c |
2934 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_12 (0x7fL<<0) | 5004 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_12 (0x7fL<<0) |
2935 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_13 (0x7fL<<8) | 5005 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_13 (0x7fL<<8) |
2936 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_14 (0x7fL<<16) | 5006 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_14 (0x7fL<<16) |
2937 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_15 (0x7fL<<24) | 5007 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_15 (0x7fL<<24) |
5008 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_12_XI (0xffL<<0) | ||
5009 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_13_XI (0xffL<<8) | ||
5010 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_14_XI (0xffL<<16) | ||
5011 | #define BNX2_HC_STAT_GEN_SEL_3_GEN_SEL_15_XI (0xffL<<24) | ||
2938 | 5012 | ||
2939 | #define BNX2_HC_STAT_GEN_STAT0 0x00006888 | 5013 | #define BNX2_HC_STAT_GEN_STAT0 0x00006888 |
2940 | #define BNX2_HC_STAT_GEN_STAT1 0x0000688c | 5014 | #define BNX2_HC_STAT_GEN_STAT1 0x0000688c |
@@ -2968,6 +5042,7 @@ struct l2_fhdr { | |||
2968 | #define BNX2_HC_STAT_GEN_STAT_AC13 0x000068fc | 5042 | #define BNX2_HC_STAT_GEN_STAT_AC13 0x000068fc |
2969 | #define BNX2_HC_STAT_GEN_STAT_AC14 0x00006900 | 5043 | #define BNX2_HC_STAT_GEN_STAT_AC14 0x00006900 |
2970 | #define BNX2_HC_STAT_GEN_STAT_AC15 0x00006904 | 5044 | #define BNX2_HC_STAT_GEN_STAT_AC15 0x00006904 |
5045 | #define BNX2_HC_STAT_GEN_STAT_AC 0x000068c8 | ||
2971 | #define BNX2_HC_VIS 0x00006908 | 5046 | #define BNX2_HC_VIS 0x00006908 |
2972 | #define BNX2_HC_VIS_STAT_BUILD_STATE (0xfL<<0) | 5047 | #define BNX2_HC_VIS_STAT_BUILD_STATE (0xfL<<0) |
2973 | #define BNX2_HC_VIS_STAT_BUILD_STATE_IDLE (0L<<0) | 5048 | #define BNX2_HC_VIS_STAT_BUILD_STATE_IDLE (0L<<0) |
@@ -3038,6 +5113,349 @@ struct l2_fhdr { | |||
3038 | #define BNX2_HC_DEBUG_VECT_PEEK_2_PEEK_EN (1L<<27) | 5113 | #define BNX2_HC_DEBUG_VECT_PEEK_2_PEEK_EN (1L<<27) |
3039 | #define BNX2_HC_DEBUG_VECT_PEEK_2_SEL (0xfL<<28) | 5114 | #define BNX2_HC_DEBUG_VECT_PEEK_2_SEL (0xfL<<28) |
3040 | 5115 | ||
5116 | #define BNX2_HC_COALESCE_NOW 0x00006914 | ||
5117 | #define BNX2_HC_COALESCE_NOW_COAL_NOW (0x1ffL<<1) | ||
5118 | #define BNX2_HC_COALESCE_NOW_COAL_NOW_WO_INT (0x1ffL<<11) | ||
5119 | #define BNX2_HC_COALESCE_NOW_COAL_ON_NXT_EVENT (0x1ffL<<21) | ||
5120 | |||
5121 | #define BNX2_HC_MSIX_BIT_VECTOR 0x00006918 | ||
5122 | #define BNX2_HC_MSIX_BIT_VECTOR_VAL (0x1ffL<<0) | ||
5123 | |||
5124 | #define BNX2_HC_SB_CONFIG_1 0x00006a00 | ||
5125 | #define BNX2_HC_SB_CONFIG_1_RX_TMR_MODE (1L<<1) | ||
5126 | #define BNX2_HC_SB_CONFIG_1_TX_TMR_MODE (1L<<2) | ||
5127 | #define BNX2_HC_SB_CONFIG_1_COM_TMR_MODE (1L<<3) | ||
5128 | #define BNX2_HC_SB_CONFIG_1_CMD_TMR_MODE (1L<<4) | ||
5129 | #define BNX2_HC_SB_CONFIG_1_PER_MODE (1L<<16) | ||
5130 | #define BNX2_HC_SB_CONFIG_1_ONE_SHOT (1L<<17) | ||
5131 | #define BNX2_HC_SB_CONFIG_1_USE_INT_PARAM (1L<<18) | ||
5132 | #define BNX2_HC_SB_CONFIG_1_PER_COLLECT_LIMIT (0xfL<<20) | ||
5133 | |||
5134 | #define BNX2_HC_TX_QUICK_CONS_TRIP_1 0x00006a04 | ||
5135 | #define BNX2_HC_TX_QUICK_CONS_TRIP_1_VALUE (0xffL<<0) | ||
5136 | #define BNX2_HC_TX_QUICK_CONS_TRIP_1_INT (0xffL<<16) | ||
5137 | |||
5138 | #define BNX2_HC_COMP_PROD_TRIP_1 0x00006a08 | ||
5139 | #define BNX2_HC_COMP_PROD_TRIP_1_VALUE (0xffL<<0) | ||
5140 | #define BNX2_HC_COMP_PROD_TRIP_1_INT (0xffL<<16) | ||
5141 | |||
5142 | #define BNX2_HC_RX_QUICK_CONS_TRIP_1 0x00006a0c | ||
5143 | #define BNX2_HC_RX_QUICK_CONS_TRIP_1_VALUE (0xffL<<0) | ||
5144 | #define BNX2_HC_RX_QUICK_CONS_TRIP_1_INT (0xffL<<16) | ||
5145 | |||
5146 | #define BNX2_HC_RX_TICKS_1 0x00006a10 | ||
5147 | #define BNX2_HC_RX_TICKS_1_VALUE (0x3ffL<<0) | ||
5148 | #define BNX2_HC_RX_TICKS_1_INT (0x3ffL<<16) | ||
5149 | |||
5150 | #define BNX2_HC_TX_TICKS_1 0x00006a14 | ||
5151 | #define BNX2_HC_TX_TICKS_1_VALUE (0x3ffL<<0) | ||
5152 | #define BNX2_HC_TX_TICKS_1_INT (0x3ffL<<16) | ||
5153 | |||
5154 | #define BNX2_HC_COM_TICKS_1 0x00006a18 | ||
5155 | #define BNX2_HC_COM_TICKS_1_VALUE (0x3ffL<<0) | ||
5156 | #define BNX2_HC_COM_TICKS_1_INT (0x3ffL<<16) | ||
5157 | |||
5158 | #define BNX2_HC_CMD_TICKS_1 0x00006a1c | ||
5159 | #define BNX2_HC_CMD_TICKS_1_VALUE (0x3ffL<<0) | ||
5160 | #define BNX2_HC_CMD_TICKS_1_INT (0x3ffL<<16) | ||
5161 | |||
5162 | #define BNX2_HC_PERIODIC_TICKS_1 0x00006a20 | ||
5163 | #define BNX2_HC_PERIODIC_TICKS_1_HC_PERIODIC_TICKS (0xffffL<<0) | ||
5164 | #define BNX2_HC_PERIODIC_TICKS_1_HC_INT_PERIODIC_TICKS (0xffffL<<16) | ||
5165 | |||
5166 | #define BNX2_HC_SB_CONFIG_2 0x00006a24 | ||
5167 | #define BNX2_HC_SB_CONFIG_2_RX_TMR_MODE (1L<<1) | ||
5168 | #define BNX2_HC_SB_CONFIG_2_TX_TMR_MODE (1L<<2) | ||
5169 | #define BNX2_HC_SB_CONFIG_2_COM_TMR_MODE (1L<<3) | ||
5170 | #define BNX2_HC_SB_CONFIG_2_CMD_TMR_MODE (1L<<4) | ||
5171 | #define BNX2_HC_SB_CONFIG_2_PER_MODE (1L<<16) | ||
5172 | #define BNX2_HC_SB_CONFIG_2_ONE_SHOT (1L<<17) | ||
5173 | #define BNX2_HC_SB_CONFIG_2_USE_INT_PARAM (1L<<18) | ||
5174 | #define BNX2_HC_SB_CONFIG_2_PER_COLLECT_LIMIT (0xfL<<20) | ||
5175 | |||
5176 | #define BNX2_HC_TX_QUICK_CONS_TRIP_2 0x00006a28 | ||
5177 | #define BNX2_HC_TX_QUICK_CONS_TRIP_2_VALUE (0xffL<<0) | ||
5178 | #define BNX2_HC_TX_QUICK_CONS_TRIP_2_INT (0xffL<<16) | ||
5179 | |||
5180 | #define BNX2_HC_COMP_PROD_TRIP_2 0x00006a2c | ||
5181 | #define BNX2_HC_COMP_PROD_TRIP_2_VALUE (0xffL<<0) | ||
5182 | #define BNX2_HC_COMP_PROD_TRIP_2_INT (0xffL<<16) | ||
5183 | |||
5184 | #define BNX2_HC_RX_QUICK_CONS_TRIP_2 0x00006a30 | ||
5185 | #define BNX2_HC_RX_QUICK_CONS_TRIP_2_VALUE (0xffL<<0) | ||
5186 | #define BNX2_HC_RX_QUICK_CONS_TRIP_2_INT (0xffL<<16) | ||
5187 | |||
5188 | #define BNX2_HC_RX_TICKS_2 0x00006a34 | ||
5189 | #define BNX2_HC_RX_TICKS_2_VALUE (0x3ffL<<0) | ||
5190 | #define BNX2_HC_RX_TICKS_2_INT (0x3ffL<<16) | ||
5191 | |||
5192 | #define BNX2_HC_TX_TICKS_2 0x00006a38 | ||
5193 | #define BNX2_HC_TX_TICKS_2_VALUE (0x3ffL<<0) | ||
5194 | #define BNX2_HC_TX_TICKS_2_INT (0x3ffL<<16) | ||
5195 | |||
5196 | #define BNX2_HC_COM_TICKS_2 0x00006a3c | ||
5197 | #define BNX2_HC_COM_TICKS_2_VALUE (0x3ffL<<0) | ||
5198 | #define BNX2_HC_COM_TICKS_2_INT (0x3ffL<<16) | ||
5199 | |||
5200 | #define BNX2_HC_CMD_TICKS_2 0x00006a40 | ||
5201 | #define BNX2_HC_CMD_TICKS_2_VALUE (0x3ffL<<0) | ||
5202 | #define BNX2_HC_CMD_TICKS_2_INT (0x3ffL<<16) | ||
5203 | |||
5204 | #define BNX2_HC_PERIODIC_TICKS_2 0x00006a44 | ||
5205 | #define BNX2_HC_PERIODIC_TICKS_2_HC_PERIODIC_TICKS (0xffffL<<0) | ||
5206 | #define BNX2_HC_PERIODIC_TICKS_2_HC_INT_PERIODIC_TICKS (0xffffL<<16) | ||
5207 | |||
5208 | #define BNX2_HC_SB_CONFIG_3 0x00006a48 | ||
5209 | #define BNX2_HC_SB_CONFIG_3_RX_TMR_MODE (1L<<1) | ||
5210 | #define BNX2_HC_SB_CONFIG_3_TX_TMR_MODE (1L<<2) | ||
5211 | #define BNX2_HC_SB_CONFIG_3_COM_TMR_MODE (1L<<3) | ||
5212 | #define BNX2_HC_SB_CONFIG_3_CMD_TMR_MODE (1L<<4) | ||
5213 | #define BNX2_HC_SB_CONFIG_3_PER_MODE (1L<<16) | ||
5214 | #define BNX2_HC_SB_CONFIG_3_ONE_SHOT (1L<<17) | ||
5215 | #define BNX2_HC_SB_CONFIG_3_USE_INT_PARAM (1L<<18) | ||
5216 | #define BNX2_HC_SB_CONFIG_3_PER_COLLECT_LIMIT (0xfL<<20) | ||
5217 | |||
5218 | #define BNX2_HC_TX_QUICK_CONS_TRIP_3 0x00006a4c | ||
5219 | #define BNX2_HC_TX_QUICK_CONS_TRIP_3_VALUE (0xffL<<0) | ||
5220 | #define BNX2_HC_TX_QUICK_CONS_TRIP_3_INT (0xffL<<16) | ||
5221 | |||
5222 | #define BNX2_HC_COMP_PROD_TRIP_3 0x00006a50 | ||
5223 | #define BNX2_HC_COMP_PROD_TRIP_3_VALUE (0xffL<<0) | ||
5224 | #define BNX2_HC_COMP_PROD_TRIP_3_INT (0xffL<<16) | ||
5225 | |||
5226 | #define BNX2_HC_RX_QUICK_CONS_TRIP_3 0x00006a54 | ||
5227 | #define BNX2_HC_RX_QUICK_CONS_TRIP_3_VALUE (0xffL<<0) | ||
5228 | #define BNX2_HC_RX_QUICK_CONS_TRIP_3_INT (0xffL<<16) | ||
5229 | |||
5230 | #define BNX2_HC_RX_TICKS_3 0x00006a58 | ||
5231 | #define BNX2_HC_RX_TICKS_3_VALUE (0x3ffL<<0) | ||
5232 | #define BNX2_HC_RX_TICKS_3_INT (0x3ffL<<16) | ||
5233 | |||
5234 | #define BNX2_HC_TX_TICKS_3 0x00006a5c | ||
5235 | #define BNX2_HC_TX_TICKS_3_VALUE (0x3ffL<<0) | ||
5236 | #define BNX2_HC_TX_TICKS_3_INT (0x3ffL<<16) | ||
5237 | |||
5238 | #define BNX2_HC_COM_TICKS_3 0x00006a60 | ||
5239 | #define BNX2_HC_COM_TICKS_3_VALUE (0x3ffL<<0) | ||
5240 | #define BNX2_HC_COM_TICKS_3_INT (0x3ffL<<16) | ||
5241 | |||
5242 | #define BNX2_HC_CMD_TICKS_3 0x00006a64 | ||
5243 | #define BNX2_HC_CMD_TICKS_3_VALUE (0x3ffL<<0) | ||
5244 | #define BNX2_HC_CMD_TICKS_3_INT (0x3ffL<<16) | ||
5245 | |||
5246 | #define BNX2_HC_PERIODIC_TICKS_3 0x00006a68 | ||
5247 | #define BNX2_HC_PERIODIC_TICKS_3_HC_PERIODIC_TICKS (0xffffL<<0) | ||
5248 | #define BNX2_HC_PERIODIC_TICKS_3_HC_INT_PERIODIC_TICKS (0xffffL<<16) | ||
5249 | |||
5250 | #define BNX2_HC_SB_CONFIG_4 0x00006a6c | ||
5251 | #define BNX2_HC_SB_CONFIG_4_RX_TMR_MODE (1L<<1) | ||
5252 | #define BNX2_HC_SB_CONFIG_4_TX_TMR_MODE (1L<<2) | ||
5253 | #define BNX2_HC_SB_CONFIG_4_COM_TMR_MODE (1L<<3) | ||
5254 | #define BNX2_HC_SB_CONFIG_4_CMD_TMR_MODE (1L<<4) | ||
5255 | #define BNX2_HC_SB_CONFIG_4_PER_MODE (1L<<16) | ||
5256 | #define BNX2_HC_SB_CONFIG_4_ONE_SHOT (1L<<17) | ||
5257 | #define BNX2_HC_SB_CONFIG_4_USE_INT_PARAM (1L<<18) | ||
5258 | #define BNX2_HC_SB_CONFIG_4_PER_COLLECT_LIMIT (0xfL<<20) | ||
5259 | |||
5260 | #define BNX2_HC_TX_QUICK_CONS_TRIP_4 0x00006a70 | ||
5261 | #define BNX2_HC_TX_QUICK_CONS_TRIP_4_VALUE (0xffL<<0) | ||
5262 | #define BNX2_HC_TX_QUICK_CONS_TRIP_4_INT (0xffL<<16) | ||
5263 | |||
5264 | #define BNX2_HC_COMP_PROD_TRIP_4 0x00006a74 | ||
5265 | #define BNX2_HC_COMP_PROD_TRIP_4_VALUE (0xffL<<0) | ||
5266 | #define BNX2_HC_COMP_PROD_TRIP_4_INT (0xffL<<16) | ||
5267 | |||
5268 | #define BNX2_HC_RX_QUICK_CONS_TRIP_4 0x00006a78 | ||
5269 | #define BNX2_HC_RX_QUICK_CONS_TRIP_4_VALUE (0xffL<<0) | ||
5270 | #define BNX2_HC_RX_QUICK_CONS_TRIP_4_INT (0xffL<<16) | ||
5271 | |||
5272 | #define BNX2_HC_RX_TICKS_4 0x00006a7c | ||
5273 | #define BNX2_HC_RX_TICKS_4_VALUE (0x3ffL<<0) | ||
5274 | #define BNX2_HC_RX_TICKS_4_INT (0x3ffL<<16) | ||
5275 | |||
5276 | #define BNX2_HC_TX_TICKS_4 0x00006a80 | ||
5277 | #define BNX2_HC_TX_TICKS_4_VALUE (0x3ffL<<0) | ||
5278 | #define BNX2_HC_TX_TICKS_4_INT (0x3ffL<<16) | ||
5279 | |||
5280 | #define BNX2_HC_COM_TICKS_4 0x00006a84 | ||
5281 | #define BNX2_HC_COM_TICKS_4_VALUE (0x3ffL<<0) | ||
5282 | #define BNX2_HC_COM_TICKS_4_INT (0x3ffL<<16) | ||
5283 | |||
5284 | #define BNX2_HC_CMD_TICKS_4 0x00006a88 | ||
5285 | #define BNX2_HC_CMD_TICKS_4_VALUE (0x3ffL<<0) | ||
5286 | #define BNX2_HC_CMD_TICKS_4_INT (0x3ffL<<16) | ||
5287 | |||
5288 | #define BNX2_HC_PERIODIC_TICKS_4 0x00006a8c | ||
5289 | #define BNX2_HC_PERIODIC_TICKS_4_HC_PERIODIC_TICKS (0xffffL<<0) | ||
5290 | #define BNX2_HC_PERIODIC_TICKS_4_HC_INT_PERIODIC_TICKS (0xffffL<<16) | ||
5291 | |||
5292 | #define BNX2_HC_SB_CONFIG_5 0x00006a90 | ||
5293 | #define BNX2_HC_SB_CONFIG_5_RX_TMR_MODE (1L<<1) | ||
5294 | #define BNX2_HC_SB_CONFIG_5_TX_TMR_MODE (1L<<2) | ||
5295 | #define BNX2_HC_SB_CONFIG_5_COM_TMR_MODE (1L<<3) | ||
5296 | #define BNX2_HC_SB_CONFIG_5_CMD_TMR_MODE (1L<<4) | ||
5297 | #define BNX2_HC_SB_CONFIG_5_PER_MODE (1L<<16) | ||
5298 | #define BNX2_HC_SB_CONFIG_5_ONE_SHOT (1L<<17) | ||
5299 | #define BNX2_HC_SB_CONFIG_5_USE_INT_PARAM (1L<<18) | ||
5300 | #define BNX2_HC_SB_CONFIG_5_PER_COLLECT_LIMIT (0xfL<<20) | ||
5301 | |||
5302 | #define BNX2_HC_TX_QUICK_CONS_TRIP_5 0x00006a94 | ||
5303 | #define BNX2_HC_TX_QUICK_CONS_TRIP_5_VALUE (0xffL<<0) | ||
5304 | #define BNX2_HC_TX_QUICK_CONS_TRIP_5_INT (0xffL<<16) | ||
5305 | |||
5306 | #define BNX2_HC_COMP_PROD_TRIP_5 0x00006a98 | ||
5307 | #define BNX2_HC_COMP_PROD_TRIP_5_VALUE (0xffL<<0) | ||
5308 | #define BNX2_HC_COMP_PROD_TRIP_5_INT (0xffL<<16) | ||
5309 | |||
5310 | #define BNX2_HC_RX_QUICK_CONS_TRIP_5 0x00006a9c | ||
5311 | #define BNX2_HC_RX_QUICK_CONS_TRIP_5_VALUE (0xffL<<0) | ||
5312 | #define BNX2_HC_RX_QUICK_CONS_TRIP_5_INT (0xffL<<16) | ||
5313 | |||
5314 | #define BNX2_HC_RX_TICKS_5 0x00006aa0 | ||
5315 | #define BNX2_HC_RX_TICKS_5_VALUE (0x3ffL<<0) | ||
5316 | #define BNX2_HC_RX_TICKS_5_INT (0x3ffL<<16) | ||
5317 | |||
5318 | #define BNX2_HC_TX_TICKS_5 0x00006aa4 | ||
5319 | #define BNX2_HC_TX_TICKS_5_VALUE (0x3ffL<<0) | ||
5320 | #define BNX2_HC_TX_TICKS_5_INT (0x3ffL<<16) | ||
5321 | |||
5322 | #define BNX2_HC_COM_TICKS_5 0x00006aa8 | ||
5323 | #define BNX2_HC_COM_TICKS_5_VALUE (0x3ffL<<0) | ||
5324 | #define BNX2_HC_COM_TICKS_5_INT (0x3ffL<<16) | ||
5325 | |||
5326 | #define BNX2_HC_CMD_TICKS_5 0x00006aac | ||
5327 | #define BNX2_HC_CMD_TICKS_5_VALUE (0x3ffL<<0) | ||
5328 | #define BNX2_HC_CMD_TICKS_5_INT (0x3ffL<<16) | ||
5329 | |||
5330 | #define BNX2_HC_PERIODIC_TICKS_5 0x00006ab0 | ||
5331 | #define BNX2_HC_PERIODIC_TICKS_5_HC_PERIODIC_TICKS (0xffffL<<0) | ||
5332 | #define BNX2_HC_PERIODIC_TICKS_5_HC_INT_PERIODIC_TICKS (0xffffL<<16) | ||
5333 | |||
5334 | #define BNX2_HC_SB_CONFIG_6 0x00006ab4 | ||
5335 | #define BNX2_HC_SB_CONFIG_6_RX_TMR_MODE (1L<<1) | ||
5336 | #define BNX2_HC_SB_CONFIG_6_TX_TMR_MODE (1L<<2) | ||
5337 | #define BNX2_HC_SB_CONFIG_6_COM_TMR_MODE (1L<<3) | ||
5338 | #define BNX2_HC_SB_CONFIG_6_CMD_TMR_MODE (1L<<4) | ||
5339 | #define BNX2_HC_SB_CONFIG_6_PER_MODE (1L<<16) | ||
5340 | #define BNX2_HC_SB_CONFIG_6_ONE_SHOT (1L<<17) | ||
5341 | #define BNX2_HC_SB_CONFIG_6_USE_INT_PARAM (1L<<18) | ||
5342 | #define BNX2_HC_SB_CONFIG_6_PER_COLLECT_LIMIT (0xfL<<20) | ||
5343 | |||
5344 | #define BNX2_HC_TX_QUICK_CONS_TRIP_6 0x00006ab8 | ||
5345 | #define BNX2_HC_TX_QUICK_CONS_TRIP_6_VALUE (0xffL<<0) | ||
5346 | #define BNX2_HC_TX_QUICK_CONS_TRIP_6_INT (0xffL<<16) | ||
5347 | |||
5348 | #define BNX2_HC_COMP_PROD_TRIP_6 0x00006abc | ||
5349 | #define BNX2_HC_COMP_PROD_TRIP_6_VALUE (0xffL<<0) | ||
5350 | #define BNX2_HC_COMP_PROD_TRIP_6_INT (0xffL<<16) | ||
5351 | |||
5352 | #define BNX2_HC_RX_QUICK_CONS_TRIP_6 0x00006ac0 | ||
5353 | #define BNX2_HC_RX_QUICK_CONS_TRIP_6_VALUE (0xffL<<0) | ||
5354 | #define BNX2_HC_RX_QUICK_CONS_TRIP_6_INT (0xffL<<16) | ||
5355 | |||
5356 | #define BNX2_HC_RX_TICKS_6 0x00006ac4 | ||
5357 | #define BNX2_HC_RX_TICKS_6_VALUE (0x3ffL<<0) | ||
5358 | #define BNX2_HC_RX_TICKS_6_INT (0x3ffL<<16) | ||
5359 | |||
5360 | #define BNX2_HC_TX_TICKS_6 0x00006ac8 | ||
5361 | #define BNX2_HC_TX_TICKS_6_VALUE (0x3ffL<<0) | ||
5362 | #define BNX2_HC_TX_TICKS_6_INT (0x3ffL<<16) | ||
5363 | |||
5364 | #define BNX2_HC_COM_TICKS_6 0x00006acc | ||
5365 | #define BNX2_HC_COM_TICKS_6_VALUE (0x3ffL<<0) | ||
5366 | #define BNX2_HC_COM_TICKS_6_INT (0x3ffL<<16) | ||
5367 | |||
5368 | #define BNX2_HC_CMD_TICKS_6 0x00006ad0 | ||
5369 | #define BNX2_HC_CMD_TICKS_6_VALUE (0x3ffL<<0) | ||
5370 | #define BNX2_HC_CMD_TICKS_6_INT (0x3ffL<<16) | ||
5371 | |||
5372 | #define BNX2_HC_PERIODIC_TICKS_6 0x00006ad4 | ||
5373 | #define BNX2_HC_PERIODIC_TICKS_6_HC_PERIODIC_TICKS (0xffffL<<0) | ||
5374 | #define BNX2_HC_PERIODIC_TICKS_6_HC_INT_PERIODIC_TICKS (0xffffL<<16) | ||
5375 | |||
5376 | #define BNX2_HC_SB_CONFIG_7 0x00006ad8 | ||
5377 | #define BNX2_HC_SB_CONFIG_7_RX_TMR_MODE (1L<<1) | ||
5378 | #define BNX2_HC_SB_CONFIG_7_TX_TMR_MODE (1L<<2) | ||
5379 | #define BNX2_HC_SB_CONFIG_7_COM_TMR_MODE (1L<<3) | ||
5380 | #define BNX2_HC_SB_CONFIG_7_CMD_TMR_MODE (1L<<4) | ||
5381 | #define BNX2_HC_SB_CONFIG_7_PER_MODE (1L<<16) | ||
5382 | #define BNX2_HC_SB_CONFIG_7_ONE_SHOT (1L<<17) | ||
5383 | #define BNX2_HC_SB_CONFIG_7_USE_INT_PARAM (1L<<18) | ||
5384 | #define BNX2_HC_SB_CONFIG_7_PER_COLLECT_LIMIT (0xfL<<20) | ||
5385 | |||
5386 | #define BNX2_HC_TX_QUICK_CONS_TRIP_7 0x00006adc | ||
5387 | #define BNX2_HC_TX_QUICK_CONS_TRIP_7_VALUE (0xffL<<0) | ||
5388 | #define BNX2_HC_TX_QUICK_CONS_TRIP_7_INT (0xffL<<16) | ||
5389 | |||
5390 | #define BNX2_HC_COMP_PROD_TRIP_7 0x00006ae0 | ||
5391 | #define BNX2_HC_COMP_PROD_TRIP_7_VALUE (0xffL<<0) | ||
5392 | #define BNX2_HC_COMP_PROD_TRIP_7_INT (0xffL<<16) | ||
5393 | |||
5394 | #define BNX2_HC_RX_QUICK_CONS_TRIP_7 0x00006ae4 | ||
5395 | #define BNX2_HC_RX_QUICK_CONS_TRIP_7_VALUE (0xffL<<0) | ||
5396 | #define BNX2_HC_RX_QUICK_CONS_TRIP_7_INT (0xffL<<16) | ||
5397 | |||
5398 | #define BNX2_HC_RX_TICKS_7 0x00006ae8 | ||
5399 | #define BNX2_HC_RX_TICKS_7_VALUE (0x3ffL<<0) | ||
5400 | #define BNX2_HC_RX_TICKS_7_INT (0x3ffL<<16) | ||
5401 | |||
5402 | #define BNX2_HC_TX_TICKS_7 0x00006aec | ||
5403 | #define BNX2_HC_TX_TICKS_7_VALUE (0x3ffL<<0) | ||
5404 | #define BNX2_HC_TX_TICKS_7_INT (0x3ffL<<16) | ||
5405 | |||
5406 | #define BNX2_HC_COM_TICKS_7 0x00006af0 | ||
5407 | #define BNX2_HC_COM_TICKS_7_VALUE (0x3ffL<<0) | ||
5408 | #define BNX2_HC_COM_TICKS_7_INT (0x3ffL<<16) | ||
5409 | |||
5410 | #define BNX2_HC_CMD_TICKS_7 0x00006af4 | ||
5411 | #define BNX2_HC_CMD_TICKS_7_VALUE (0x3ffL<<0) | ||
5412 | #define BNX2_HC_CMD_TICKS_7_INT (0x3ffL<<16) | ||
5413 | |||
5414 | #define BNX2_HC_PERIODIC_TICKS_7 0x00006af8 | ||
5415 | #define BNX2_HC_PERIODIC_TICKS_7_HC_PERIODIC_TICKS (0xffffL<<0) | ||
5416 | #define BNX2_HC_PERIODIC_TICKS_7_HC_INT_PERIODIC_TICKS (0xffffL<<16) | ||
5417 | |||
5418 | #define BNX2_HC_SB_CONFIG_8 0x00006afc | ||
5419 | #define BNX2_HC_SB_CONFIG_8_RX_TMR_MODE (1L<<1) | ||
5420 | #define BNX2_HC_SB_CONFIG_8_TX_TMR_MODE (1L<<2) | ||
5421 | #define BNX2_HC_SB_CONFIG_8_COM_TMR_MODE (1L<<3) | ||
5422 | #define BNX2_HC_SB_CONFIG_8_CMD_TMR_MODE (1L<<4) | ||
5423 | #define BNX2_HC_SB_CONFIG_8_PER_MODE (1L<<16) | ||
5424 | #define BNX2_HC_SB_CONFIG_8_ONE_SHOT (1L<<17) | ||
5425 | #define BNX2_HC_SB_CONFIG_8_USE_INT_PARAM (1L<<18) | ||
5426 | #define BNX2_HC_SB_CONFIG_8_PER_COLLECT_LIMIT (0xfL<<20) | ||
5427 | |||
5428 | #define BNX2_HC_TX_QUICK_CONS_TRIP_8 0x00006b00 | ||
5429 | #define BNX2_HC_TX_QUICK_CONS_TRIP_8_VALUE (0xffL<<0) | ||
5430 | #define BNX2_HC_TX_QUICK_CONS_TRIP_8_INT (0xffL<<16) | ||
5431 | |||
5432 | #define BNX2_HC_COMP_PROD_TRIP_8 0x00006b04 | ||
5433 | #define BNX2_HC_COMP_PROD_TRIP_8_VALUE (0xffL<<0) | ||
5434 | #define BNX2_HC_COMP_PROD_TRIP_8_INT (0xffL<<16) | ||
5435 | |||
5436 | #define BNX2_HC_RX_QUICK_CONS_TRIP_8 0x00006b08 | ||
5437 | #define BNX2_HC_RX_QUICK_CONS_TRIP_8_VALUE (0xffL<<0) | ||
5438 | #define BNX2_HC_RX_QUICK_CONS_TRIP_8_INT (0xffL<<16) | ||
5439 | |||
5440 | #define BNX2_HC_RX_TICKS_8 0x00006b0c | ||
5441 | #define BNX2_HC_RX_TICKS_8_VALUE (0x3ffL<<0) | ||
5442 | #define BNX2_HC_RX_TICKS_8_INT (0x3ffL<<16) | ||
5443 | |||
5444 | #define BNX2_HC_TX_TICKS_8 0x00006b10 | ||
5445 | #define BNX2_HC_TX_TICKS_8_VALUE (0x3ffL<<0) | ||
5446 | #define BNX2_HC_TX_TICKS_8_INT (0x3ffL<<16) | ||
5447 | |||
5448 | #define BNX2_HC_COM_TICKS_8 0x00006b14 | ||
5449 | #define BNX2_HC_COM_TICKS_8_VALUE (0x3ffL<<0) | ||
5450 | #define BNX2_HC_COM_TICKS_8_INT (0x3ffL<<16) | ||
5451 | |||
5452 | #define BNX2_HC_CMD_TICKS_8 0x00006b18 | ||
5453 | #define BNX2_HC_CMD_TICKS_8_VALUE (0x3ffL<<0) | ||
5454 | #define BNX2_HC_CMD_TICKS_8_INT (0x3ffL<<16) | ||
5455 | |||
5456 | #define BNX2_HC_PERIODIC_TICKS_8 0x00006b1c | ||
5457 | #define BNX2_HC_PERIODIC_TICKS_8_HC_PERIODIC_TICKS (0xffffL<<0) | ||
5458 | #define BNX2_HC_PERIODIC_TICKS_8_HC_INT_PERIODIC_TICKS (0xffffL<<16) | ||
3041 | 5459 | ||
3042 | 5460 | ||
3043 | /* | 5461 | /* |
@@ -3063,7 +5481,7 @@ struct l2_fhdr { | |||
3063 | #define BNX2_TXP_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) | 5481 | #define BNX2_TXP_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) |
3064 | #define BNX2_TXP_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) | 5482 | #define BNX2_TXP_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) |
3065 | #define BNX2_TXP_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) | 5483 | #define BNX2_TXP_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) |
3066 | #define BNX2_TXP_CPU_STATE_BAD_pc_HALTED (1L<<6) | 5484 | #define BNX2_TXP_CPU_STATE_BAD_PC_HALTED (1L<<6) |
3067 | #define BNX2_TXP_CPU_STATE_ALIGN_HALTED (1L<<7) | 5485 | #define BNX2_TXP_CPU_STATE_ALIGN_HALTED (1L<<7) |
3068 | #define BNX2_TXP_CPU_STATE_FIO_ABORT_HALTED (1L<<8) | 5486 | #define BNX2_TXP_CPU_STATE_FIO_ABORT_HALTED (1L<<8) |
3069 | #define BNX2_TXP_CPU_STATE_SOFT_HALTED (1L<<10) | 5487 | #define BNX2_TXP_CPU_STATE_SOFT_HALTED (1L<<10) |
@@ -3111,7 +5529,7 @@ struct l2_fhdr { | |||
3111 | #define BNX2_TXP_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) | 5529 | #define BNX2_TXP_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) |
3112 | 5530 | ||
3113 | #define BNX2_TXP_CPU_REG_FILE 0x00045200 | 5531 | #define BNX2_TXP_CPU_REG_FILE 0x00045200 |
3114 | #define BNX2_TXP_FTQ_DATA 0x000453c0 | 5532 | #define BNX2_TXP_TXPQ 0x000453c0 |
3115 | #define BNX2_TXP_FTQ_CMD 0x000453f8 | 5533 | #define BNX2_TXP_FTQ_CMD 0x000453f8 |
3116 | #define BNX2_TXP_FTQ_CMD_OFFSET (0x3ffL<<0) | 5534 | #define BNX2_TXP_FTQ_CMD_OFFSET (0x3ffL<<0) |
3117 | #define BNX2_TXP_FTQ_CMD_WR_TOP (1L<<10) | 5535 | #define BNX2_TXP_FTQ_CMD_WR_TOP (1L<<10) |
@@ -3158,7 +5576,7 @@ struct l2_fhdr { | |||
3158 | #define BNX2_TPAT_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) | 5576 | #define BNX2_TPAT_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) |
3159 | #define BNX2_TPAT_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) | 5577 | #define BNX2_TPAT_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) |
3160 | #define BNX2_TPAT_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) | 5578 | #define BNX2_TPAT_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) |
3161 | #define BNX2_TPAT_CPU_STATE_BAD_pc_HALTED (1L<<6) | 5579 | #define BNX2_TPAT_CPU_STATE_BAD_PC_HALTED (1L<<6) |
3162 | #define BNX2_TPAT_CPU_STATE_ALIGN_HALTED (1L<<7) | 5580 | #define BNX2_TPAT_CPU_STATE_ALIGN_HALTED (1L<<7) |
3163 | #define BNX2_TPAT_CPU_STATE_FIO_ABORT_HALTED (1L<<8) | 5581 | #define BNX2_TPAT_CPU_STATE_FIO_ABORT_HALTED (1L<<8) |
3164 | #define BNX2_TPAT_CPU_STATE_SOFT_HALTED (1L<<10) | 5582 | #define BNX2_TPAT_CPU_STATE_SOFT_HALTED (1L<<10) |
@@ -3206,7 +5624,7 @@ struct l2_fhdr { | |||
3206 | #define BNX2_TPAT_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) | 5624 | #define BNX2_TPAT_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) |
3207 | 5625 | ||
3208 | #define BNX2_TPAT_CPU_REG_FILE 0x00085200 | 5626 | #define BNX2_TPAT_CPU_REG_FILE 0x00085200 |
3209 | #define BNX2_TPAT_FTQ_DATA 0x000853c0 | 5627 | #define BNX2_TPAT_TPATQ 0x000853c0 |
3210 | #define BNX2_TPAT_FTQ_CMD 0x000853f8 | 5628 | #define BNX2_TPAT_FTQ_CMD 0x000853f8 |
3211 | #define BNX2_TPAT_FTQ_CMD_OFFSET (0x3ffL<<0) | 5629 | #define BNX2_TPAT_FTQ_CMD_OFFSET (0x3ffL<<0) |
3212 | #define BNX2_TPAT_FTQ_CMD_WR_TOP (1L<<10) | 5630 | #define BNX2_TPAT_FTQ_CMD_WR_TOP (1L<<10) |
@@ -3253,7 +5671,7 @@ struct l2_fhdr { | |||
3253 | #define BNX2_RXP_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) | 5671 | #define BNX2_RXP_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) |
3254 | #define BNX2_RXP_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) | 5672 | #define BNX2_RXP_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) |
3255 | #define BNX2_RXP_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) | 5673 | #define BNX2_RXP_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) |
3256 | #define BNX2_RXP_CPU_STATE_BAD_pc_HALTED (1L<<6) | 5674 | #define BNX2_RXP_CPU_STATE_BAD_PC_HALTED (1L<<6) |
3257 | #define BNX2_RXP_CPU_STATE_ALIGN_HALTED (1L<<7) | 5675 | #define BNX2_RXP_CPU_STATE_ALIGN_HALTED (1L<<7) |
3258 | #define BNX2_RXP_CPU_STATE_FIO_ABORT_HALTED (1L<<8) | 5676 | #define BNX2_RXP_CPU_STATE_FIO_ABORT_HALTED (1L<<8) |
3259 | #define BNX2_RXP_CPU_STATE_SOFT_HALTED (1L<<10) | 5677 | #define BNX2_RXP_CPU_STATE_SOFT_HALTED (1L<<10) |
@@ -3301,7 +5719,29 @@ struct l2_fhdr { | |||
3301 | #define BNX2_RXP_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) | 5719 | #define BNX2_RXP_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) |
3302 | 5720 | ||
3303 | #define BNX2_RXP_CPU_REG_FILE 0x000c5200 | 5721 | #define BNX2_RXP_CPU_REG_FILE 0x000c5200 |
3304 | #define BNX2_RXP_CFTQ_DATA 0x000c5380 | 5722 | #define BNX2_RXP_PFE_PFE_CTL 0x000c537c |
5723 | #define BNX2_RXP_PFE_PFE_CTL_INC_USAGE_CNT (1L<<0) | ||
5724 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE (0xfL<<4) | ||
5725 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_0 (0L<<4) | ||
5726 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_1 (1L<<4) | ||
5727 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_2 (2L<<4) | ||
5728 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_3 (3L<<4) | ||
5729 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_4 (4L<<4) | ||
5730 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_5 (5L<<4) | ||
5731 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_6 (6L<<4) | ||
5732 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_7 (7L<<4) | ||
5733 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_8 (8L<<4) | ||
5734 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_9 (9L<<4) | ||
5735 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_10 (10L<<4) | ||
5736 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_11 (11L<<4) | ||
5737 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_12 (12L<<4) | ||
5738 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_13 (13L<<4) | ||
5739 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_14 (14L<<4) | ||
5740 | #define BNX2_RXP_PFE_PFE_CTL_PFE_SIZE_15 (15L<<4) | ||
5741 | #define BNX2_RXP_PFE_PFE_CTL_PFE_COUNT (0xfL<<12) | ||
5742 | #define BNX2_RXP_PFE_PFE_CTL_OFFSET (0x1ffL<<16) | ||
5743 | |||
5744 | #define BNX2_RXP_RXPCQ 0x000c5380 | ||
3305 | #define BNX2_RXP_CFTQ_CMD 0x000c53b8 | 5745 | #define BNX2_RXP_CFTQ_CMD 0x000c53b8 |
3306 | #define BNX2_RXP_CFTQ_CMD_OFFSET (0x3ffL<<0) | 5746 | #define BNX2_RXP_CFTQ_CMD_OFFSET (0x3ffL<<0) |
3307 | #define BNX2_RXP_CFTQ_CMD_WR_TOP (1L<<10) | 5747 | #define BNX2_RXP_CFTQ_CMD_WR_TOP (1L<<10) |
@@ -3322,7 +5762,7 @@ struct l2_fhdr { | |||
3322 | #define BNX2_RXP_CFTQ_CTL_MAX_DEPTH (0x3ffL<<12) | 5762 | #define BNX2_RXP_CFTQ_CTL_MAX_DEPTH (0x3ffL<<12) |
3323 | #define BNX2_RXP_CFTQ_CTL_CUR_DEPTH (0x3ffL<<22) | 5763 | #define BNX2_RXP_CFTQ_CTL_CUR_DEPTH (0x3ffL<<22) |
3324 | 5764 | ||
3325 | #define BNX2_RXP_FTQ_DATA 0x000c53c0 | 5765 | #define BNX2_RXP_RXPQ 0x000c53c0 |
3326 | #define BNX2_RXP_FTQ_CMD 0x000c53f8 | 5766 | #define BNX2_RXP_FTQ_CMD 0x000c53f8 |
3327 | #define BNX2_RXP_FTQ_CMD_OFFSET (0x3ffL<<0) | 5767 | #define BNX2_RXP_FTQ_CMD_OFFSET (0x3ffL<<0) |
3328 | #define BNX2_RXP_FTQ_CMD_WR_TOP (1L<<10) | 5768 | #define BNX2_RXP_FTQ_CMD_WR_TOP (1L<<10) |
@@ -3350,6 +5790,10 @@ struct l2_fhdr { | |||
3350 | * com_reg definition | 5790 | * com_reg definition |
3351 | * offset: 0x100000 | 5791 | * offset: 0x100000 |
3352 | */ | 5792 | */ |
5793 | #define BNX2_COM_CKSUM_ERROR_STATUS 0x00100000 | ||
5794 | #define BNX2_COM_CKSUM_ERROR_STATUS_CALCULATED (0xffffL<<0) | ||
5795 | #define BNX2_COM_CKSUM_ERROR_STATUS_EXPECTED (0xffffL<<16) | ||
5796 | |||
3353 | #define BNX2_COM_CPU_MODE 0x00105000 | 5797 | #define BNX2_COM_CPU_MODE 0x00105000 |
3354 | #define BNX2_COM_CPU_MODE_LOCAL_RST (1L<<0) | 5798 | #define BNX2_COM_CPU_MODE_LOCAL_RST (1L<<0) |
3355 | #define BNX2_COM_CPU_MODE_STEP_ENA (1L<<1) | 5799 | #define BNX2_COM_CPU_MODE_STEP_ENA (1L<<1) |
@@ -3369,7 +5813,7 @@ struct l2_fhdr { | |||
3369 | #define BNX2_COM_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) | 5813 | #define BNX2_COM_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) |
3370 | #define BNX2_COM_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) | 5814 | #define BNX2_COM_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) |
3371 | #define BNX2_COM_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) | 5815 | #define BNX2_COM_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) |
3372 | #define BNX2_COM_CPU_STATE_BAD_pc_HALTED (1L<<6) | 5816 | #define BNX2_COM_CPU_STATE_BAD_PC_HALTED (1L<<6) |
3373 | #define BNX2_COM_CPU_STATE_ALIGN_HALTED (1L<<7) | 5817 | #define BNX2_COM_CPU_STATE_ALIGN_HALTED (1L<<7) |
3374 | #define BNX2_COM_CPU_STATE_FIO_ABORT_HALTED (1L<<8) | 5818 | #define BNX2_COM_CPU_STATE_FIO_ABORT_HALTED (1L<<8) |
3375 | #define BNX2_COM_CPU_STATE_SOFT_HALTED (1L<<10) | 5819 | #define BNX2_COM_CPU_STATE_SOFT_HALTED (1L<<10) |
@@ -3417,7 +5861,29 @@ struct l2_fhdr { | |||
3417 | #define BNX2_COM_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) | 5861 | #define BNX2_COM_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) |
3418 | 5862 | ||
3419 | #define BNX2_COM_CPU_REG_FILE 0x00105200 | 5863 | #define BNX2_COM_CPU_REG_FILE 0x00105200 |
3420 | #define BNX2_COM_COMXQ_FTQ_DATA 0x00105340 | 5864 | #define BNX2_COM_COMTQ_PFE_PFE_CTL 0x001052bc |
5865 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_INC_USAGE_CNT (1L<<0) | ||
5866 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE (0xfL<<4) | ||
5867 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_0 (0L<<4) | ||
5868 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_1 (1L<<4) | ||
5869 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_2 (2L<<4) | ||
5870 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_3 (3L<<4) | ||
5871 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_4 (4L<<4) | ||
5872 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_5 (5L<<4) | ||
5873 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_6 (6L<<4) | ||
5874 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_7 (7L<<4) | ||
5875 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_8 (8L<<4) | ||
5876 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_9 (9L<<4) | ||
5877 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_10 (10L<<4) | ||
5878 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_11 (11L<<4) | ||
5879 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_12 (12L<<4) | ||
5880 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_13 (13L<<4) | ||
5881 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_14 (14L<<4) | ||
5882 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_SIZE_15 (15L<<4) | ||
5883 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_PFE_COUNT (0xfL<<12) | ||
5884 | #define BNX2_COM_COMTQ_PFE_PFE_CTL_OFFSET (0x1ffL<<16) | ||
5885 | |||
5886 | #define BNX2_COM_COMXQ 0x00105340 | ||
3421 | #define BNX2_COM_COMXQ_FTQ_CMD 0x00105378 | 5887 | #define BNX2_COM_COMXQ_FTQ_CMD 0x00105378 |
3422 | #define BNX2_COM_COMXQ_FTQ_CMD_OFFSET (0x3ffL<<0) | 5888 | #define BNX2_COM_COMXQ_FTQ_CMD_OFFSET (0x3ffL<<0) |
3423 | #define BNX2_COM_COMXQ_FTQ_CMD_WR_TOP (1L<<10) | 5889 | #define BNX2_COM_COMXQ_FTQ_CMD_WR_TOP (1L<<10) |
@@ -3438,7 +5904,7 @@ struct l2_fhdr { | |||
3438 | #define BNX2_COM_COMXQ_FTQ_CTL_MAX_DEPTH (0x3ffL<<12) | 5904 | #define BNX2_COM_COMXQ_FTQ_CTL_MAX_DEPTH (0x3ffL<<12) |
3439 | #define BNX2_COM_COMXQ_FTQ_CTL_CUR_DEPTH (0x3ffL<<22) | 5905 | #define BNX2_COM_COMXQ_FTQ_CTL_CUR_DEPTH (0x3ffL<<22) |
3440 | 5906 | ||
3441 | #define BNX2_COM_COMTQ_FTQ_DATA 0x00105380 | 5907 | #define BNX2_COM_COMTQ 0x00105380 |
3442 | #define BNX2_COM_COMTQ_FTQ_CMD 0x001053b8 | 5908 | #define BNX2_COM_COMTQ_FTQ_CMD 0x001053b8 |
3443 | #define BNX2_COM_COMTQ_FTQ_CMD_OFFSET (0x3ffL<<0) | 5909 | #define BNX2_COM_COMTQ_FTQ_CMD_OFFSET (0x3ffL<<0) |
3444 | #define BNX2_COM_COMTQ_FTQ_CMD_WR_TOP (1L<<10) | 5910 | #define BNX2_COM_COMTQ_FTQ_CMD_WR_TOP (1L<<10) |
@@ -3459,7 +5925,7 @@ struct l2_fhdr { | |||
3459 | #define BNX2_COM_COMTQ_FTQ_CTL_MAX_DEPTH (0x3ffL<<12) | 5925 | #define BNX2_COM_COMTQ_FTQ_CTL_MAX_DEPTH (0x3ffL<<12) |
3460 | #define BNX2_COM_COMTQ_FTQ_CTL_CUR_DEPTH (0x3ffL<<22) | 5926 | #define BNX2_COM_COMTQ_FTQ_CTL_CUR_DEPTH (0x3ffL<<22) |
3461 | 5927 | ||
3462 | #define BNX2_COM_COMQ_FTQ_DATA 0x001053c0 | 5928 | #define BNX2_COM_COMQ 0x001053c0 |
3463 | #define BNX2_COM_COMQ_FTQ_CMD 0x001053f8 | 5929 | #define BNX2_COM_COMQ_FTQ_CMD 0x001053f8 |
3464 | #define BNX2_COM_COMQ_FTQ_CMD_OFFSET (0x3ffL<<0) | 5930 | #define BNX2_COM_COMQ_FTQ_CMD_OFFSET (0x3ffL<<0) |
3465 | #define BNX2_COM_COMQ_FTQ_CMD_WR_TOP (1L<<10) | 5931 | #define BNX2_COM_COMQ_FTQ_CMD_WR_TOP (1L<<10) |
@@ -3489,6 +5955,10 @@ struct l2_fhdr { | |||
3489 | * cp_reg definition | 5955 | * cp_reg definition |
3490 | * offset: 0x180000 | 5956 | * offset: 0x180000 |
3491 | */ | 5957 | */ |
5958 | #define BNX2_CP_CKSUM_ERROR_STATUS 0x00180000 | ||
5959 | #define BNX2_CP_CKSUM_ERROR_STATUS_CALCULATED (0xffffL<<0) | ||
5960 | #define BNX2_CP_CKSUM_ERROR_STATUS_EXPECTED (0xffffL<<16) | ||
5961 | |||
3492 | #define BNX2_CP_CPU_MODE 0x00185000 | 5962 | #define BNX2_CP_CPU_MODE 0x00185000 |
3493 | #define BNX2_CP_CPU_MODE_LOCAL_RST (1L<<0) | 5963 | #define BNX2_CP_CPU_MODE_LOCAL_RST (1L<<0) |
3494 | #define BNX2_CP_CPU_MODE_STEP_ENA (1L<<1) | 5964 | #define BNX2_CP_CPU_MODE_STEP_ENA (1L<<1) |
@@ -3508,7 +5978,7 @@ struct l2_fhdr { | |||
3508 | #define BNX2_CP_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) | 5978 | #define BNX2_CP_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) |
3509 | #define BNX2_CP_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) | 5979 | #define BNX2_CP_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) |
3510 | #define BNX2_CP_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) | 5980 | #define BNX2_CP_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) |
3511 | #define BNX2_CP_CPU_STATE_BAD_pc_HALTED (1L<<6) | 5981 | #define BNX2_CP_CPU_STATE_BAD_PC_HALTED (1L<<6) |
3512 | #define BNX2_CP_CPU_STATE_ALIGN_HALTED (1L<<7) | 5982 | #define BNX2_CP_CPU_STATE_ALIGN_HALTED (1L<<7) |
3513 | #define BNX2_CP_CPU_STATE_FIO_ABORT_HALTED (1L<<8) | 5983 | #define BNX2_CP_CPU_STATE_FIO_ABORT_HALTED (1L<<8) |
3514 | #define BNX2_CP_CPU_STATE_SOFT_HALTED (1L<<10) | 5984 | #define BNX2_CP_CPU_STATE_SOFT_HALTED (1L<<10) |
@@ -3556,7 +6026,29 @@ struct l2_fhdr { | |||
3556 | #define BNX2_CP_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) | 6026 | #define BNX2_CP_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) |
3557 | 6027 | ||
3558 | #define BNX2_CP_CPU_REG_FILE 0x00185200 | 6028 | #define BNX2_CP_CPU_REG_FILE 0x00185200 |
3559 | #define BNX2_CP_CPQ_FTQ_DATA 0x001853c0 | 6029 | #define BNX2_CP_CPQ_PFE_PFE_CTL 0x001853bc |
6030 | #define BNX2_CP_CPQ_PFE_PFE_CTL_INC_USAGE_CNT (1L<<0) | ||
6031 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE (0xfL<<4) | ||
6032 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_0 (0L<<4) | ||
6033 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_1 (1L<<4) | ||
6034 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_2 (2L<<4) | ||
6035 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_3 (3L<<4) | ||
6036 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_4 (4L<<4) | ||
6037 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_5 (5L<<4) | ||
6038 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_6 (6L<<4) | ||
6039 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_7 (7L<<4) | ||
6040 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_8 (8L<<4) | ||
6041 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_9 (9L<<4) | ||
6042 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_10 (10L<<4) | ||
6043 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_11 (11L<<4) | ||
6044 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_12 (12L<<4) | ||
6045 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_13 (13L<<4) | ||
6046 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_14 (14L<<4) | ||
6047 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_SIZE_15 (15L<<4) | ||
6048 | #define BNX2_CP_CPQ_PFE_PFE_CTL_PFE_COUNT (0xfL<<12) | ||
6049 | #define BNX2_CP_CPQ_PFE_PFE_CTL_OFFSET (0x1ffL<<16) | ||
6050 | |||
6051 | #define BNX2_CP_CPQ 0x001853c0 | ||
3560 | #define BNX2_CP_CPQ_FTQ_CMD 0x001853f8 | 6052 | #define BNX2_CP_CPQ_FTQ_CMD 0x001853f8 |
3561 | #define BNX2_CP_CPQ_FTQ_CMD_OFFSET (0x3ffL<<0) | 6053 | #define BNX2_CP_CPQ_FTQ_CMD_OFFSET (0x3ffL<<0) |
3562 | #define BNX2_CP_CPQ_FTQ_CMD_WR_TOP (1L<<10) | 6054 | #define BNX2_CP_CPQ_FTQ_CMD_WR_TOP (1L<<10) |
@@ -3584,6 +6076,59 @@ struct l2_fhdr { | |||
3584 | * mcp_reg definition | 6076 | * mcp_reg definition |
3585 | * offset: 0x140000 | 6077 | * offset: 0x140000 |
3586 | */ | 6078 | */ |
6079 | #define BNX2_MCP_MCP_CONTROL 0x00140080 | ||
6080 | #define BNX2_MCP_MCP_CONTROL_SMBUS_SEL (1L<<30) | ||
6081 | #define BNX2_MCP_MCP_CONTROL_MCP_ISOLATE (1L<<31) | ||
6082 | |||
6083 | #define BNX2_MCP_MCP_ATTENTION_STATUS 0x00140084 | ||
6084 | #define BNX2_MCP_MCP_ATTENTION_STATUS_DRV_DOORBELL (1L<<29) | ||
6085 | #define BNX2_MCP_MCP_ATTENTION_STATUS_WATCHDOG_TIMEOUT (1L<<30) | ||
6086 | #define BNX2_MCP_MCP_ATTENTION_STATUS_CPU_EVENT (1L<<31) | ||
6087 | |||
6088 | #define BNX2_MCP_MCP_HEARTBEAT_CONTROL 0x00140088 | ||
6089 | #define BNX2_MCP_MCP_HEARTBEAT_CONTROL_MCP_HEARTBEAT_ENABLE (1L<<31) | ||
6090 | |||
6091 | #define BNX2_MCP_MCP_HEARTBEAT_STATUS 0x0014008c | ||
6092 | #define BNX2_MCP_MCP_HEARTBEAT_STATUS_MCP_HEARTBEAT_PERIOD (0x7ffL<<0) | ||
6093 | #define BNX2_MCP_MCP_HEARTBEAT_STATUS_VALID (1L<<31) | ||
6094 | |||
6095 | #define BNX2_MCP_MCP_HEARTBEAT 0x00140090 | ||
6096 | #define BNX2_MCP_MCP_HEARTBEAT_MCP_HEARTBEAT_COUNT (0x3fffffffL<<0) | ||
6097 | #define BNX2_MCP_MCP_HEARTBEAT_MCP_HEARTBEAT_INC (1L<<30) | ||
6098 | #define BNX2_MCP_MCP_HEARTBEAT_MCP_HEARTBEAT_RESET (1L<<31) | ||
6099 | |||
6100 | #define BNX2_MCP_WATCHDOG_RESET 0x00140094 | ||
6101 | #define BNX2_MCP_WATCHDOG_RESET_WATCHDOG_RESET (1L<<31) | ||
6102 | |||
6103 | #define BNX2_MCP_WATCHDOG_CONTROL 0x00140098 | ||
6104 | #define BNX2_MCP_WATCHDOG_CONTROL_WATCHDOG_TIMEOUT (0xfffffffL<<0) | ||
6105 | #define BNX2_MCP_WATCHDOG_CONTROL_WATCHDOG_ATTN (1L<<29) | ||
6106 | #define BNX2_MCP_WATCHDOG_CONTROL_MCP_RST_ENABLE (1L<<30) | ||
6107 | #define BNX2_MCP_WATCHDOG_CONTROL_WATCHDOG_ENABLE (1L<<31) | ||
6108 | |||
6109 | #define BNX2_MCP_ACCESS_LOCK 0x0014009c | ||
6110 | #define BNX2_MCP_ACCESS_LOCK_LOCK (1L<<31) | ||
6111 | |||
6112 | #define BNX2_MCP_TOE_ID 0x001400a0 | ||
6113 | #define BNX2_MCP_TOE_ID_FUNCTION_ID (1L<<31) | ||
6114 | |||
6115 | #define BNX2_MCP_MAILBOX_CFG 0x001400a4 | ||
6116 | #define BNX2_MCP_MAILBOX_CFG_MAILBOX_OFFSET (0x3fffL<<0) | ||
6117 | #define BNX2_MCP_MAILBOX_CFG_MAILBOX_SIZE (0xfffL<<20) | ||
6118 | |||
6119 | #define BNX2_MCP_MAILBOX_CFG_OTHER_FUNC 0x001400a8 | ||
6120 | #define BNX2_MCP_MAILBOX_CFG_OTHER_FUNC_MAILBOX_OFFSET (0x3fffL<<0) | ||
6121 | #define BNX2_MCP_MAILBOX_CFG_OTHER_FUNC_MAILBOX_SIZE (0xfffL<<20) | ||
6122 | |||
6123 | #define BNX2_MCP_MCP_DOORBELL 0x001400ac | ||
6124 | #define BNX2_MCP_MCP_DOORBELL_MCP_DOORBELL (1L<<31) | ||
6125 | |||
6126 | #define BNX2_MCP_DRIVER_DOORBELL 0x001400b0 | ||
6127 | #define BNX2_MCP_DRIVER_DOORBELL_DRIVER_DOORBELL (1L<<31) | ||
6128 | |||
6129 | #define BNX2_MCP_DRIVER_DOORBELL_OTHER_FUNC 0x001400b4 | ||
6130 | #define BNX2_MCP_DRIVER_DOORBELL_OTHER_FUNC_DRIVER_DOORBELL (1L<<31) | ||
6131 | |||
3587 | #define BNX2_MCP_CPU_MODE 0x00145000 | 6132 | #define BNX2_MCP_CPU_MODE 0x00145000 |
3588 | #define BNX2_MCP_CPU_MODE_LOCAL_RST (1L<<0) | 6133 | #define BNX2_MCP_CPU_MODE_LOCAL_RST (1L<<0) |
3589 | #define BNX2_MCP_CPU_MODE_STEP_ENA (1L<<1) | 6134 | #define BNX2_MCP_CPU_MODE_STEP_ENA (1L<<1) |
@@ -3603,7 +6148,7 @@ struct l2_fhdr { | |||
3603 | #define BNX2_MCP_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) | 6148 | #define BNX2_MCP_CPU_STATE_PAGE_0_DATA_HALTED (1L<<3) |
3604 | #define BNX2_MCP_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) | 6149 | #define BNX2_MCP_CPU_STATE_PAGE_0_INST_HALTED (1L<<4) |
3605 | #define BNX2_MCP_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) | 6150 | #define BNX2_MCP_CPU_STATE_BAD_DATA_ADDR_HALTED (1L<<5) |
3606 | #define BNX2_MCP_CPU_STATE_BAD_pc_HALTED (1L<<6) | 6151 | #define BNX2_MCP_CPU_STATE_BAD_PC_HALTED (1L<<6) |
3607 | #define BNX2_MCP_CPU_STATE_ALIGN_HALTED (1L<<7) | 6152 | #define BNX2_MCP_CPU_STATE_ALIGN_HALTED (1L<<7) |
3608 | #define BNX2_MCP_CPU_STATE_FIO_ABORT_HALTED (1L<<8) | 6153 | #define BNX2_MCP_CPU_STATE_FIO_ABORT_HALTED (1L<<8) |
3609 | #define BNX2_MCP_CPU_STATE_SOFT_HALTED (1L<<10) | 6154 | #define BNX2_MCP_CPU_STATE_SOFT_HALTED (1L<<10) |
@@ -3651,7 +6196,7 @@ struct l2_fhdr { | |||
3651 | #define BNX2_MCP_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) | 6196 | #define BNX2_MCP_CPU_LAST_BRANCH_ADDR_LBA (0x3fffffffL<<2) |
3652 | 6197 | ||
3653 | #define BNX2_MCP_CPU_REG_FILE 0x00145200 | 6198 | #define BNX2_MCP_CPU_REG_FILE 0x00145200 |
3654 | #define BNX2_MCP_MCPQ_FTQ_DATA 0x001453c0 | 6199 | #define BNX2_MCP_MCPQ 0x001453c0 |
3655 | #define BNX2_MCP_MCPQ_FTQ_CMD 0x001453f8 | 6200 | #define BNX2_MCP_MCPQ_FTQ_CMD 0x001453f8 |
3656 | #define BNX2_MCP_MCPQ_FTQ_CMD_OFFSET (0x3ffL<<0) | 6201 | #define BNX2_MCP_MCPQ_FTQ_CMD_OFFSET (0x3ffL<<0) |
3657 | #define BNX2_MCP_MCPQ_FTQ_CMD_WR_TOP (1L<<10) | 6202 | #define BNX2_MCP_MCPQ_FTQ_CMD_WR_TOP (1L<<10) |
@@ -3696,6 +6241,8 @@ struct l2_fhdr { | |||
3696 | 6241 | ||
3697 | /* 5708 Serdes PHY registers */ | 6242 | /* 5708 Serdes PHY registers */ |
3698 | 6243 | ||
6244 | #define BCM5708S_BMCR_FORCE_2500 0x20 | ||
6245 | |||
3699 | #define BCM5708S_UP1 0xb | 6246 | #define BCM5708S_UP1 0xb |
3700 | 6247 | ||
3701 | #define BCM5708S_UP1_2G5 0x1 | 6248 | #define BCM5708S_UP1_2G5 0x1 |
@@ -3804,6 +6351,7 @@ struct l2_fhdr { | |||
3804 | #define INVALID_CID_ADDR 0xffffffff | 6351 | #define INVALID_CID_ADDR 0xffffffff |
3805 | 6352 | ||
3806 | #define TX_CID 16 | 6353 | #define TX_CID 16 |
6354 | #define TX_TSS_CID 32 | ||
3807 | #define RX_CID 0 | 6355 | #define RX_CID 0 |
3808 | 6356 | ||
3809 | #define MB_TX_CID_ADDR MB_GET_CID_ADDR(TX_CID) | 6357 | #define MB_TX_CID_ADDR MB_GET_CID_ADDR(TX_CID) |
@@ -3889,6 +6437,8 @@ struct bnx2 { | |||
3889 | 6437 | ||
3890 | u32 tx_prod_bseq __attribute__((aligned(L1_CACHE_BYTES))); | 6438 | u32 tx_prod_bseq __attribute__((aligned(L1_CACHE_BYTES))); |
3891 | u16 tx_prod; | 6439 | u16 tx_prod; |
6440 | u32 tx_bidx_addr; | ||
6441 | u32 tx_bseq_addr; | ||
3892 | 6442 | ||
3893 | u16 tx_cons __attribute__((aligned(L1_CACHE_BYTES))); | 6443 | u16 tx_cons __attribute__((aligned(L1_CACHE_BYTES))); |
3894 | u16 hw_tx_cons; | 6444 | u16 hw_tx_cons; |
@@ -3945,6 +6495,7 @@ struct bnx2 { | |||
3945 | #define CHIP_NUM(bp) (((bp)->chip_id) & 0xffff0000) | 6495 | #define CHIP_NUM(bp) (((bp)->chip_id) & 0xffff0000) |
3946 | #define CHIP_NUM_5706 0x57060000 | 6496 | #define CHIP_NUM_5706 0x57060000 |
3947 | #define CHIP_NUM_5708 0x57080000 | 6497 | #define CHIP_NUM_5708 0x57080000 |
6498 | #define CHIP_NUM_5709 0x57090000 | ||
3948 | 6499 | ||
3949 | #define CHIP_REV(bp) (((bp)->chip_id) & 0x0000f000) | 6500 | #define CHIP_REV(bp) (((bp)->chip_id) & 0x0000f000) |
3950 | #define CHIP_REV_Ax 0x00000000 | 6501 | #define CHIP_REV_Ax 0x00000000 |
@@ -4007,6 +6558,10 @@ struct bnx2 { | |||
4007 | struct statistics_block *stats_blk; | 6558 | struct statistics_block *stats_blk; |
4008 | dma_addr_t stats_blk_mapping; | 6559 | dma_addr_t stats_blk_mapping; |
4009 | 6560 | ||
6561 | int ctx_pages; | ||
6562 | void *ctx_blk[4]; | ||
6563 | dma_addr_t ctx_blk_mapping[4]; | ||
6564 | |||
4010 | u32 hc_cmd; | 6565 | u32 hc_cmd; |
4011 | u32 rx_mode; | 6566 | u32 rx_mode; |
4012 | 6567 | ||
@@ -4038,6 +6593,7 @@ struct bnx2 { | |||
4038 | 6593 | ||
4039 | u8 serdes_an_pending; | 6594 | u8 serdes_an_pending; |
4040 | #define SERDES_AN_TIMEOUT (HZ / 3) | 6595 | #define SERDES_AN_TIMEOUT (HZ / 3) |
6596 | #define SERDES_FORCED_TIMEOUT (HZ / 10) | ||
4041 | 6597 | ||
4042 | u8 mac_addr[8]; | 6598 | u8 mac_addr[8]; |
4043 | 6599 | ||
@@ -4104,41 +6660,43 @@ struct cpu_reg { | |||
4104 | }; | 6660 | }; |
4105 | 6661 | ||
4106 | struct fw_info { | 6662 | struct fw_info { |
4107 | u32 ver_major; | 6663 | const u32 ver_major; |
4108 | u32 ver_minor; | 6664 | const u32 ver_minor; |
4109 | u32 ver_fix; | 6665 | const u32 ver_fix; |
4110 | 6666 | ||
4111 | u32 start_addr; | 6667 | const u32 start_addr; |
4112 | 6668 | ||
4113 | /* Text section. */ | 6669 | /* Text section. */ |
4114 | u32 text_addr; | 6670 | const u32 text_addr; |
4115 | u32 text_len; | 6671 | const u32 text_len; |
4116 | u32 text_index; | 6672 | const u32 text_index; |
4117 | u32 *text; | 6673 | u32 *text; |
6674 | u8 *gz_text; | ||
6675 | const u32 gz_text_len; | ||
4118 | 6676 | ||
4119 | /* Data section. */ | 6677 | /* Data section. */ |
4120 | u32 data_addr; | 6678 | const u32 data_addr; |
4121 | u32 data_len; | 6679 | const u32 data_len; |
4122 | u32 data_index; | 6680 | const u32 data_index; |
4123 | u32 *data; | 6681 | const u32 *data; |
4124 | 6682 | ||
4125 | /* SBSS section. */ | 6683 | /* SBSS section. */ |
4126 | u32 sbss_addr; | 6684 | const u32 sbss_addr; |
4127 | u32 sbss_len; | 6685 | const u32 sbss_len; |
4128 | u32 sbss_index; | 6686 | const u32 sbss_index; |
4129 | u32 *sbss; | 6687 | const u32 *sbss; |
4130 | 6688 | ||
4131 | /* BSS section. */ | 6689 | /* BSS section. */ |
4132 | u32 bss_addr; | 6690 | const u32 bss_addr; |
4133 | u32 bss_len; | 6691 | const u32 bss_len; |
4134 | u32 bss_index; | 6692 | const u32 bss_index; |
4135 | u32 *bss; | 6693 | const u32 *bss; |
4136 | 6694 | ||
4137 | /* Read-only section. */ | 6695 | /* Read-only section. */ |
4138 | u32 rodata_addr; | 6696 | const u32 rodata_addr; |
4139 | u32 rodata_len; | 6697 | const u32 rodata_len; |
4140 | u32 rodata_index; | 6698 | const u32 rodata_index; |
4141 | u32 *rodata; | 6699 | const u32 *rodata; |
4142 | }; | 6700 | }; |
4143 | 6701 | ||
4144 | #define RV2P_PROC1 0 | 6702 | #define RV2P_PROC1 0 |
diff --git a/drivers/net/bnx2_fw.h b/drivers/net/bnx2_fw.h index 2d753dca0d75..21d368ff424d 100644 --- a/drivers/net/bnx2_fw.h +++ b/drivers/net/bnx2_fw.h | |||
@@ -14,20 +14,6 @@ | |||
14 | * accompanying it. | 14 | * accompanying it. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | static const int bnx2_COM_b06FwReleaseMajor = 0x1; | ||
18 | static const int bnx2_COM_b06FwReleaseMinor = 0x0; | ||
19 | static const int bnx2_COM_b06FwReleaseFix = 0x0; | ||
20 | static const u32 bnx2_COM_b06FwStartAddr = 0x080008b4; | ||
21 | static const u32 bnx2_COM_b06FwTextAddr = 0x08000000; | ||
22 | static const int bnx2_COM_b06FwTextLen = 0x57bc; | ||
23 | static const u32 bnx2_COM_b06FwDataAddr = 0x08005840; | ||
24 | static const int bnx2_COM_b06FwDataLen = 0x0; | ||
25 | static const u32 bnx2_COM_b06FwRodataAddr = 0x080057c0; | ||
26 | static const int bnx2_COM_b06FwRodataLen = 0x58; | ||
27 | static const u32 bnx2_COM_b06FwBssAddr = 0x08005860; | ||
28 | static const int bnx2_COM_b06FwBssLen = 0x88; | ||
29 | static const u32 bnx2_COM_b06FwSbssAddr = 0x08005840; | ||
30 | static const int bnx2_COM_b06FwSbssLen = 0x1c; | ||
31 | static u8 bnx2_COM_b06FwText[] = { | 17 | static u8 bnx2_COM_b06FwText[] = { |
32 | 0x1f, 0x8b, 0x08, 0x08, 0x09, 0x83, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, | 18 | 0x1f, 0x8b, 0x08, 0x08, 0x09, 0x83, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, |
33 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xec, 0x5b, 0x7d, 0x6c, | 19 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xec, 0x5b, 0x7d, 0x6c, |
@@ -673,389 +659,752 @@ static u32 bnx2_COM_b06FwRodata[(0x58/4) + 1] = { | |||
673 | static u32 bnx2_COM_b06FwBss[(0x88/4) + 1] = { 0x0 }; | 659 | static u32 bnx2_COM_b06FwBss[(0x88/4) + 1] = { 0x0 }; |
674 | static u32 bnx2_COM_b06FwSbss[(0x1c/4) + 1] = { 0x0 }; | 660 | static u32 bnx2_COM_b06FwSbss[(0x1c/4) + 1] = { 0x0 }; |
675 | 661 | ||
676 | static int bnx2_RXP_b06FwReleaseMajor = 0x1; | 662 | static struct fw_info bnx2_com_fw_06 = { |
677 | static int bnx2_RXP_b06FwReleaseMinor = 0x0; | 663 | .ver_major = 0x1, |
678 | static int bnx2_RXP_b06FwReleaseFix = 0x0; | 664 | .ver_minor = 0x0, |
679 | static u32 bnx2_RXP_b06FwStartAddr = 0x08003184; | 665 | .ver_fix = 0x0, |
680 | static u32 bnx2_RXP_b06FwTextAddr = 0x08000000; | 666 | |
681 | static int bnx2_RXP_b06FwTextLen = 0x588c; | 667 | .start_addr = 0x080008b4, |
682 | static u32 bnx2_RXP_b06FwDataAddr = 0x080058e0; | 668 | |
683 | static int bnx2_RXP_b06FwDataLen = 0x0; | 669 | .text_addr = 0x08000000, |
684 | static u32 bnx2_RXP_b06FwRodataAddr = 0x08005890; | 670 | .text_len = 0x57bc, |
685 | static int bnx2_RXP_b06FwRodataLen = 0x28; | 671 | .text_index = 0x0, |
686 | static u32 bnx2_RXP_b06FwBssAddr = 0x08005900; | 672 | .gz_text = bnx2_COM_b06FwText, |
687 | static int bnx2_RXP_b06FwBssLen = 0x13a4; | 673 | .gz_text_len = sizeof(bnx2_COM_b06FwText), |
688 | static u32 bnx2_RXP_b06FwSbssAddr = 0x080058e0; | 674 | |
689 | static int bnx2_RXP_b06FwSbssLen = 0x1c; | 675 | .data_addr = 0x08005840, |
676 | .data_len = 0x0, | ||
677 | .data_index = 0x0, | ||
678 | .data = bnx2_COM_b06FwData, | ||
679 | |||
680 | .sbss_addr = 0x08005840, | ||
681 | .sbss_len = 0x1c, | ||
682 | .sbss_index = 0x0, | ||
683 | .sbss = bnx2_COM_b06FwSbss, | ||
684 | |||
685 | .bss_addr = 0x08005860, | ||
686 | .bss_len = 0x88, | ||
687 | .bss_index = 0x0, | ||
688 | .bss = bnx2_COM_b06FwBss, | ||
689 | |||
690 | .rodata_addr = 0x080057c0, | ||
691 | .rodata_len = 0x58, | ||
692 | .rodata_index = 0x0, | ||
693 | .rodata = bnx2_COM_b06FwRodata, | ||
694 | }; | ||
695 | |||
690 | static u8 bnx2_RXP_b06FwText[] = { | 696 | static u8 bnx2_RXP_b06FwText[] = { |
691 | 0x1f, 0x8b, 0x08, 0x08, 0x07, 0x87, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, | 697 | 0x1f, 0x8b, 0x08, 0x08, 0xcb, 0xa3, 0x46, 0x45, 0x00, 0x03, 0x74, 0x65, |
692 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xed, 0x5c, 0x5d, 0x6c, | 698 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xec, 0x5c, 0x6f, 0x6c, |
693 | 0x1c, 0xd7, 0x75, 0x3e, 0xf3, 0x43, 0x71, 0x49, 0x91, 0xd4, 0x70, 0xb9, | 699 | 0x1c, 0xc7, 0x75, 0x7f, 0x3b, 0xbb, 0xa4, 0x4e, 0xd4, 0x91, 0x5c, 0x1e, |
694 | 0x62, 0x57, 0x12, 0x65, 0xed, 0x8a, 0x43, 0x71, 0x6d, 0x31, 0xce, 0x50, | 700 | 0x4f, 0xf4, 0x49, 0x66, 0x94, 0x5d, 0x71, 0x25, 0x5e, 0x2d, 0xc6, 0x5d, |
695 | 0x58, 0xdb, 0x82, 0xb1, 0x48, 0xc7, 0xb3, 0xa4, 0xc8, 0x24, 0x02, 0x42, | 701 | 0x31, 0x57, 0x9b, 0x08, 0xce, 0xf1, 0x79, 0xef, 0x64, 0xb1, 0x86, 0x0a, |
696 | 0x1b, 0x42, 0xab, 0xa4, 0xa9, 0xc1, 0x90, 0x72, 0x91, 0x22, 0x2c, 0xa0, | 702 | 0x51, 0x0d, 0x1d, 0x1b, 0x85, 0x6b, 0xb0, 0x47, 0x39, 0xae, 0xdb, 0x7e, |
697 | 0x1a, 0x79, 0xf0, 0x43, 0x10, 0x2f, 0x56, 0x3f, 0xa6, 0xd1, 0x8d, 0x96, | 703 | 0x90, 0x65, 0x1b, 0x30, 0xda, 0x10, 0xbe, 0x1c, 0xe9, 0x46, 0x75, 0x2f, |
698 | 0xb6, 0x1c, 0x53, 0x08, 0x82, 0x82, 0xe5, 0x52, 0x52, 0x0b, 0x2c, 0xb4, | 704 | 0xdc, 0x8b, 0xc4, 0x98, 0x06, 0xfa, 0x07, 0x57, 0x92, 0xfa, 0x83, 0xe0, |
699 | 0x96, 0xed, 0x36, 0x7e, 0xa8, 0x23, 0x9a, 0x92, 0x8d, 0xa6, 0x68, 0x81, | 705 | 0xa0, 0x93, 0xe2, 0x26, 0xf5, 0x17, 0x57, 0x84, 0x2a, 0xc7, 0xf9, 0xe0, |
700 | 0x22, 0xad, 0xd1, 0xf4, 0x4d, 0x95, 0x9a, 0x4a, 0x75, 0x5f, 0xd4, 0xa2, | 706 | 0x02, 0x4e, 0x63, 0x20, 0x06, 0xea, 0x16, 0xaa, 0xec, 0xd8, 0x46, 0x81, |
701 | 0x48, 0xda, 0x46, 0xcd, 0xf4, 0xfb, 0xee, 0xcc, 0x88, 0xd4, 0x9a, 0xb2, | 707 | 0xa2, 0x42, 0x1c, 0xd8, 0x46, 0xfc, 0x67, 0xfb, 0x7b, 0x33, 0xbb, 0xd4, |
702 | 0x2c, 0x3b, 0x0d, 0x62, 0x74, 0x0e, 0x30, 0xd8, 0xb9, 0x7f, 0xe7, 0xef, | 708 | 0x91, 0x96, 0x6d, 0xa0, 0x1f, 0xfa, 0xa5, 0x3b, 0xc0, 0x61, 0x67, 0x66, |
703 | 0x9e, 0x73, 0xee, 0x39, 0x77, 0x28, 0x7d, 0xa5, 0x43, 0xda, 0x25, 0x84, | 709 | 0xe7, 0xbd, 0x79, 0xf3, 0xfe, 0xbf, 0x59, 0x4a, 0x7f, 0x90, 0xa4, 0x2e, |
704 | 0x4e, 0x3c, 0x99, 0xc3, 0xcf, 0x3c, 0xfd, 0xe0, 0xc3, 0x0f, 0xee, 0xc1, | 710 | 0x0a, 0x5b, 0x37, 0x7e, 0xd6, 0x91, 0xc7, 0x8f, 0xde, 0x3c, 0x76, 0xf3, |
705 | 0xeb, 0xb0, 0xa1, 0x6d, 0xd0, 0xa3, 0xfe, 0x18, 0x62, 0x88, 0x21, 0x86, | 711 | 0x28, 0xd1, 0x97, 0x47, 0xf5, 0x1b, 0x12, 0x22, 0x9a, 0x8f, 0x5b, 0xdc, |
706 | 0x18, 0x62, 0x88, 0x21, 0x86, 0x18, 0x62, 0x88, 0x21, 0x86, 0x18, 0x62, | 712 | 0xe2, 0x16, 0xb7, 0xb8, 0xc5, 0x2d, 0x6e, 0x71, 0x8b, 0x5b, 0xdc, 0xe2, |
707 | 0x88, 0x21, 0x86, 0x18, 0x62, 0x88, 0x21, 0x86, 0x18, 0x62, 0x88, 0x21, | 713 | 0x16, 0xb7, 0xb8, 0xc5, 0x2d, 0x6e, 0x71, 0x8b, 0x5b, 0xdc, 0xe2, 0x16, |
708 | 0x86, 0x18, 0x62, 0x88, 0x21, 0x86, 0x18, 0x62, 0x88, 0x21, 0x86, 0x18, | 714 | 0xb7, 0xb8, 0xc5, 0x2d, 0x6e, 0x71, 0x8b, 0x5b, 0xdc, 0xe2, 0x16, 0xb7, |
709 | 0x62, 0x88, 0x21, 0x86, 0x18, 0x62, 0x88, 0x21, 0x86, 0x18, 0x62, 0x88, | 715 | 0xb8, 0xc5, 0x2d, 0x6e, 0x71, 0x8b, 0x5b, 0xdc, 0xe2, 0x16, 0xb7, 0xb8, |
710 | 0x21, 0x86, 0x18, 0x62, 0x88, 0x21, 0x86, 0xff, 0xef, 0x60, 0x88, 0x58, | 716 | 0xc5, 0x2d, 0x6e, 0x71, 0x8b, 0x5b, 0xdc, 0xe2, 0x16, 0xb7, 0xb8, 0xc5, |
711 | 0xfc, 0xed, 0x0c, 0x1f, 0x49, 0xe8, 0x85, 0xcb, 0x07, 0x3d, 0x5b, 0x12, | 717 | 0x2d, 0x6e, 0x71, 0xfb, 0xff, 0xde, 0x74, 0x22, 0x93, 0x9f, 0xdd, 0xe1, |
712 | 0x46, 0x61, 0x69, 0x66, 0xda, 0x16, 0x71, 0xeb, 0xbb, 0x33, 0x45, 0xf9, | 718 | 0x8f, 0x12, 0x22, 0xbf, 0xfa, 0x90, 0xe7, 0x50, 0x42, 0xcf, 0xbf, 0x34, |
713 | 0x1f, 0xbf, 0x94, 0x32, 0x85, 0xfd, 0xdb, 0x0b, 0x37, 0x9f, 0x7d, 0xf3, | 719 | 0x33, 0xed, 0x10, 0x15, 0x9a, 0x7b, 0xac, 0x22, 0x7d, 0x14, 0x54, 0xd2, |
714 | 0x91, 0xec, 0x8d, 0x05, 0x43, 0x12, 0x56, 0xe1, 0xe8, 0xb0, 0xb5, 0x4b, | 720 | 0x06, 0xf1, 0xfc, 0x17, 0xf2, 0x1f, 0x3e, 0xf1, 0xfc, 0xad, 0xf6, 0xd5, |
715 | 0x12, 0x7d, 0x58, 0xf3, 0xdd, 0xc1, 0xcf, 0x59, 0xd2, 0x15, 0xe1, 0xba, | 721 | 0x86, 0x4e, 0x09, 0x33, 0x3f, 0xb7, 0xd7, 0xdc, 0x4d, 0x89, 0x41, 0xc0, |
716 | 0xee, 0xbf, 0x39, 0x68, 0xc9, 0x2b, 0x8d, 0x94, 0x5c, 0x68, 0x6c, 0xdf, | 722 | 0xfc, 0xf5, 0xf0, 0x7f, 0xf4, 0x50, 0x0f, 0x5d, 0xc3, 0xe3, 0x24, 0xe8, |
717 | 0x24, 0x5d, 0xd9, 0x52, 0x09, 0xfd, 0x6e, 0x8a, 0xe3, 0x96, 0x94, 0xab, | 723 | 0xb2, 0xfe, 0x9c, 0xe6, 0xb5, 0x82, 0xe0, 0xa4, 0x1b, 0x04, 0x3f, 0xc6, |
718 | 0x2d, 0xe2, 0x2a, 0xba, 0x7d, 0x5a, 0x71, 0xfe, 0x3e, 0xcd, 0x9b, 0x7f, | 724 | 0xef, 0x2d, 0x17, 0x63, 0xff, 0xe3, 0xa0, 0x60, 0xe8, 0x24, 0x9c, 0xbf, |
719 | 0x9e, 0xff, 0x1e, 0x24, 0xa5, 0xcb, 0x7d, 0x68, 0xf7, 0xa1, 0xcd, 0xf7, | 725 | 0xd4, 0xbc, 0xe5, 0x2e, 0xaa, 0x2e, 0x1a, 0x34, 0xeb, 0xa7, 0xe9, 0x98, |
720 | 0x81, 0xf4, 0x94, 0x98, 0x72, 0xa4, 0x91, 0x90, 0xa3, 0xd5, 0x8c, 0xe8, | 726 | 0x5f, 0xd1, 0x4a, 0xad, 0x9a, 0xb6, 0xef, 0xf4, 0xbc, 0x76, 0xe7, 0xe9, |
721 | 0x05, 0x71, 0xbd, 0xbc, 0x9d, 0x2e, 0xa3, 0x6f, 0xea, 0x00, 0xdb, 0x29, | 727 | 0x63, 0xda, 0xfe, 0xd3, 0x75, 0xcd, 0x3b, 0x4d, 0x15, 0xb1, 0x37, 0x49, |
722 | 0xe0, 0xf9, 0x0e, 0xd7, 0x59, 0x5e, 0x5e, 0x4a, 0xb7, 0xc6, 0x14, 0x0d, | 728 | 0x05, 0xf3, 0x8c, 0x56, 0x6c, 0x0d, 0x68, 0xde, 0x89, 0x0f, 0xc9, 0x73, |
723 | 0x8e, 0xb1, 0x0f, 0xbf, 0x58, 0x5f, 0xae, 0x76, 0x00, 0x6f, 0xd6, 0x71, | 729 | 0x6d, 0xf3, 0xf7, 0xc8, 0x28, 0x80, 0x16, 0xf2, 0x6a, 0x41, 0xe0, 0xb9, |
724 | 0x41, 0xdc, 0x73, 0x2c, 0xd0, 0xf6, 0xfd, 0xdf, 0x75, 0x32, 0xb2, 0xe2, | 730 | 0x06, 0x15, 0xd2, 0x41, 0x20, 0xf2, 0xc1, 0x13, 0x5e, 0xce, 0x31, 0x85, |
725 | 0x74, 0x81, 0xa7, 0x16, 0x69, 0xb5, 0xc5, 0xd2, 0x0b, 0xb6, 0xb5, 0x22, | 731 | 0x96, 0xa6, 0x6a, 0x6b, 0x00, 0x78, 0x93, 0x5a, 0x71, 0xd1, 0xd0, 0x4a, |
726 | 0x6d, 0x1c, 0xeb, 0x34, 0x0a, 0xbe, 0x3f, 0x9d, 0x97, 0xae, 0xa0, 0x6f, | 732 | 0x7e, 0x70, 0xc1, 0x73, 0x69, 0x50, 0xa7, 0x20, 0x98, 0x73, 0x77, 0x65, |
727 | 0xb7, 0xe2, 0x63, 0x72, 0x42, 0xc3, 0xbc, 0x57, 0x49, 0x0f, 0x3a, 0xe2, | 733 | 0x0e, 0xd3, 0x29, 0xe0, 0x6d, 0x02, 0x1f, 0x99, 0x22, 0xcf, 0xf4, 0x31, |
728 | 0x3b, 0x7f, 0xf3, 0x52, 0xac, 0x6c, 0x97, 0xc9, 0x54, 0xf6, 0xa0, 0x1b, | 734 | 0x9d, 0x4c, 0x72, 0x45, 0x2b, 0x0e, 0x47, 0xf4, 0x91, 0xc5, 0xf4, 0x97, |
729 | 0xd0, 0x74, 0x3d, 0x67, 0x2b, 0x70, 0x6a, 0xe0, 0x4f, 0xdb, 0x81, 0xf5, | 735 | 0x57, 0x04, 0xe8, 0xdc, 0x42, 0xe5, 0x86, 0x49, 0x53, 0x2b, 0x1b, 0xd7, |
730 | 0xee, 0x0a, 0x68, 0x1a, 0x85, 0xcd, 0x62, 0x6c, 0x66, 0x9f, 0xe8, 0x3b, | 736 | 0x5f, 0x0e, 0x9e, 0x1f, 0x36, 0xe9, 0x5c, 0xcb, 0xae, 0x54, 0x28, 0x41, |
731 | 0x87, 0x93, 0xe1, 0x78, 0x97, 0x36, 0x32, 0x6f, 0x88, 0x6e, 0xff, 0x81, | 737 | 0x73, 0xbe, 0x45, 0x22, 0x4f, 0x05, 0x2f, 0x37, 0x48, 0x17, 0x5a, 0x19, |
732 | 0xe6, 0xd5, 0x7a, 0xe5, 0xd8, 0xbc, 0x8e, 0x77, 0x5d, 0xae, 0xe6, 0x4b, | 738 | 0xfa, 0x41, 0xcb, 0xc9, 0x54, 0x69, 0x13, 0x95, 0xd3, 0x69, 0x3a, 0xdf, |
733 | 0x9a, 0xdb, 0xa8, 0x68, 0xde, 0xd9, 0x59, 0xad, 0x78, 0xd6, 0x94, 0xa3, | 739 | 0x4a, 0xe3, 0x8c, 0xc1, 0x05, 0xe1, 0x38, 0x66, 0x15, 0x6b, 0xab, 0xad, |
734 | 0xb6, 0x7f, 0xe1, 0xb4, 0x73, 0x42, 0x1b, 0x39, 0x7b, 0x46, 0x1b, 0x3d, | 740 | 0x97, 0xf8, 0xdf, 0xbf, 0x98, 0xd3, 0x39, 0x09, 0x53, 0x01, 0xdd, 0xe1, |
735 | 0xfb, 0x86, 0x36, 0xde, 0xd8, 0xb2, 0x49, 0xda, 0xb3, 0xd0, 0x1e, 0x71, | 741 | 0x5a, 0x3e, 0x87, 0x5c, 0x2b, 0xcf, 0xa2, 0xd6, 0x52, 0x65, 0x3a, 0x87, |
736 | 0x90, 0xbf, 0x4f, 0x87, 0xba, 0xec, 0xa2, 0xde, 0x4a, 0xe4, 0x7d, 0x9f, | 742 | 0xb9, 0xd6, 0x1d, 0x6b, 0xfc, 0x2d, 0xa4, 0xf9, 0x69, 0x52, 0xd5, 0xef, |
737 | 0xf3, 0x86, 0xe6, 0x55, 0x6d, 0x8b, 0xfb, 0xe6, 0xa6, 0x22, 0x1a, 0xed, | 743 | 0x00, 0x6f, 0xb8, 0x3f, 0x88, 0xb3, 0xee, 0xd0, 0xbc, 0xc5, 0x7f, 0x65, |
738 | 0x72, 0x74, 0xde, 0x94, 0x63, 0xd5, 0x94, 0x3c, 0x57, 0x2d, 0x29, 0x5a, | 744 | 0xbc, 0x69, 0x41, 0x3b, 0x30, 0x1e, 0xc4, 0x98, 0xfb, 0xbb, 0x32, 0x65, |
739 | 0x86, 0x5d, 0xd2, 0xbc, 0x06, 0xc7, 0x2b, 0xa0, 0x75, 0x42, 0xdb, 0x07, | 745 | 0x02, 0x8f, 0x5b, 0x49, 0x8c, 0x99, 0xce, 0x20, 0xd8, 0xef, 0x92, 0x59, |
740 | 0x9a, 0xde, 0x59, 0x29, 0x5d, 0x71, 0xe6, 0x40, 0xaf, 0x03, 0x78, 0xff, | 746 | 0x75, 0x7b, 0x01, 0x6b, 0x51, 0xd5, 0xed, 0x01, 0xbe, 0x0e, 0xea, 0x73, |
741 | 0x58, 0x1b, 0x6d, 0xf4, 0x6a, 0xde, 0xc9, 0x9b, 0xe2, 0x39, 0x59, 0xeb, | 747 | 0xf8, 0x7c, 0xbc, 0xe7, 0x66, 0xcc, 0x07, 0xdd, 0x7a, 0x3e, 0x08, 0xa6, |
742 | 0x4b, 0x62, 0xba, 0xb0, 0x01, 0xc8, 0x0c, 0xfd, 0x38, 0xd0, 0x49, 0xca, | 748 | 0x73, 0xd4, 0xa3, 0xe6, 0xf6, 0x48, 0x1c, 0x53, 0x13, 0x1a, 0xd6, 0xbd, |
743 | 0xf7, 0xf5, 0x82, 0xff, 0x2c, 0x74, 0x6f, 0x5d, 0xa1, 0xfc, 0x8d, 0x5e, | 749 | 0xc3, 0x7b, 0x24, 0x52, 0x79, 0xee, 0xf3, 0x33, 0x47, 0xde, 0xfc, 0x8e, |
744 | 0x29, 0xcf, 0x53, 0xd7, 0xa6, 0x36, 0x52, 0xf5, 0x2f, 0x78, 0x8e, 0xf4, | 750 | 0x90, 0xa6, 0x0c, 0x68, 0xba, 0x31, 0xec, 0x43, 0x0e, 0x3e, 0xf8, 0xe1, |
745 | 0x19, 0xe2, 0xfb, 0x47, 0x9d, 0x81, 0xf4, 0x21, 0x39, 0x03, 0xdc, 0x75, | 751 | 0xde, 0x80, 0xb1, 0xf6, 0x45, 0xe0, 0xc9, 0x56, 0x89, 0xf7, 0xe8, 0xa7, |
746 | 0xad, 0xd8, 0xa0, 0xae, 0xc1, 0xdf, 0x2d, 0x39, 0x02, 0xbd, 0x15, 0x9d, | 752 | 0xa5, 0x34, 0x89, 0x2b, 0x6e, 0x5f, 0xb8, 0xae, 0x07, 0xb4, 0x46, 0xfa, |
747 | 0x5e, 0x99, 0xb4, 0xb2, 0x2e, 0xf6, 0x68, 0x53, 0x20, 0x57, 0x32, 0xb4, | 753 | 0x30, 0x40, 0x73, 0x8b, 0xcc, 0xf3, 0x1a, 0x64, 0x24, 0x68, 0xe7, 0x2d, |
748 | 0x17, 0xd2, 0xe7, 0xde, 0x67, 0xd3, 0x9e, 0xa1, 0xcb, 0x53, 0x2f, 0x3d, | 754 | 0x15, 0xad, 0xd0, 0x3a, 0x86, 0xbe, 0x41, 0xd3, 0x4e, 0x70, 0x61, 0xce, |
749 | 0xdf, 0xb3, 0x38, 0xb4, 0x91, 0x32, 0x43, 0xff, 0xf2, 0x45, 0xcf, 0xf6, | 755 | 0x9d, 0xd7, 0x8a, 0xa7, 0x4f, 0x69, 0xa5, 0xd3, 0xcf, 0x69, 0xfb, 0x5a, |
750 | 0xb6, 0xb4, 0x48, 0x29, 0x6d, 0x48, 0x16, 0xfb, 0xb4, 0x43, 0x4e, 0x3b, | 756 | 0x2f, 0x76, 0x53, 0x97, 0x8d, 0xd3, 0x27, 0xe8, 0x49, 0x5f, 0x23, 0xa6, |
751 | 0x22, 0x87, 0x2a, 0xd0, 0x8d, 0x6d, 0x5a, 0x8b, 0x62, 0x67, 0xca, 0x32, | 757 | 0x73, 0x09, 0x3c, 0x2c, 0x98, 0x15, 0x32, 0x9c, 0x1e, 0xed, 0x4e, 0xe0, |
752 | 0x50, 0x32, 0x75, 0x74, 0x26, 0x49, 0x97, 0x3a, 0xd2, 0xe5, 0x7a, 0x9e, | 758 | 0xe9, 0x70, 0xfe, 0x2c, 0x49, 0x3d, 0x3a, 0x6d, 0x72, 0xa2, 0xb5, 0x69, |
753 | 0x7a, 0xa2, 0x3d, 0x7f, 0x28, 0x5d, 0x69, 0xab, 0xba, 0x5a, 0xd5, 0xd3, | 759 | 0xfa, 0x73, 0xd0, 0x74, 0xd1, 0xdd, 0xca, 0x7c, 0xeb, 0x55, 0x30, 0xa9, |
754 | 0xf8, 0x2f, 0x5d, 0x4f, 0xd4, 0xc9, 0x72, 0x28, 0xb7, 0x03, 0xdc, 0x8f, | 760 | 0x90, 0x0e, 0xd6, 0x2f, 0x96, 0x9f, 0x6d, 0x7a, 0xba, 0xa0, 0xd2, 0xc2, |
755 | 0x40, 0x5f, 0xe2, 0xea, 0xc3, 0x0f, 0xb1, 0x6f, 0x93, 0x51, 0xb0, 0xd3, | 761 | 0x5f, 0xf4, 0x57, 0x47, 0xb6, 0xf0, 0x3a, 0xd8, 0xc2, 0xd5, 0x87, 0xa6, |
756 | 0x17, 0x61, 0x14, 0x7a, 0x61, 0x37, 0x64, 0x19, 0xa6, 0xee, 0xe0, 0xc3, | 762 | 0x1d, 0xaf, 0xcf, 0xa0, 0x8a, 0x29, 0xc8, 0x36, 0x8b, 0xf4, 0x45, 0x9a, |
757 | 0x1f, 0x49, 0x5e, 0xf9, 0xd5, 0x90, 0x97, 0xfc, 0xdb, 0x32, 0x55, 0x49, | 763 | 0x73, 0x89, 0x8a, 0x35, 0xec, 0xeb, 0x18, 0xe0, 0x8f, 0x03, 0xfe, 0xec, |
758 | 0x80, 0x06, 0x65, 0xd4, 0xe5, 0xbd, 0x7c, 0x64, 0x1b, 0x7b, 0x20, 0x5f, | 764 | 0xaa, 0xe8, 0xe2, 0x1e, 0xa0, 0xa9, 0x68, 0x46, 0xc8, 0xcb, 0x25, 0xba, |
759 | 0x5e, 0xa6, 0xbe, 0x45, 0x7f, 0xa2, 0xfd, 0xf3, 0x9d, 0xb2, 0xfe, 0xcc, | 765 | 0x4b, 0xc2, 0x8b, 0xbc, 0x0b, 0x5d, 0xed, 0xe2, 0x3e, 0xf6, 0x4e, 0xc8, |
760 | 0xbf, 0xee, 0x7c, 0x92, 0xf6, 0x96, 0x7c, 0x27, 0xe4, 0x78, 0x35, 0xc9, | 766 | 0xbd, 0xf5, 0xbc, 0x93, 0x59, 0x26, 0xd2, 0x44, 0x7e, 0x0f, 0xf0, 0xb1, |
761 | 0x3d, 0xd4, 0x56, 0x54, 0x6c, 0x8a, 0x64, 0x14, 0xdd, 0x28, 0x74, 0x48, | 767 | 0x0e, 0xf3, 0xba, 0x79, 0xd0, 0xc9, 0xf4, 0x73, 0xdf, 0x01, 0x4c, 0x02, |
762 | 0x51, 0xed, 0xf7, 0x5e, 0xd0, 0x43, 0x2c, 0xa8, 0xf2, 0xbd, 0xa0, 0x64, | 768 | 0xfa, 0xde, 0xdd, 0x46, 0x2b, 0xe8, 0x49, 0x33, 0xbf, 0x99, 0x7f, 0xf2, |
763 | 0x9b, 0xb6, 0xed, 0xcc, 0x11, 0xc9, 0xc2, 0xbe, 0x45, 0x8e, 0xcc, 0x99, | 769 | 0xac, 0xda, 0xb5, 0xb3, 0x7e, 0x10, 0x0c, 0x8f, 0x1a, 0xf4, 0x63, 0x79, |
764 | 0x32, 0x6d, 0xff, 0x63, 0xa7, 0xb4, 0x2f, 0xdf, 0x6f, 0xa8, 0xb8, 0xae, | 770 | 0x66, 0xb6, 0x37, 0x5e, 0x97, 0x0e, 0xf5, 0x23, 0x01, 0x9d, 0x22, 0xad, |
765 | 0xf7, 0x6e, 0x90, 0x4d, 0xe0, 0x77, 0xf9, 0x7e, 0x5d, 0xe4, 0xa6, 0x59, | 771 | 0xec, 0x9a, 0x6b, 0xb8, 0xca, 0x44, 0x42, 0xcf, 0x27, 0xa9, 0x28, 0xe9, |
766 | 0xc8, 0x5a, 0x23, 0x08, 0xf6, 0x46, 0x81, 0xb1, 0x4c, 0x43, 0x2c, 0x93, | 772 | 0x1b, 0xc3, 0x5e, 0x6c, 0x87, 0xb0, 0x27, 0x87, 0xcf, 0xc2, 0x73, 0x79, |
767 | 0x44, 0x8b, 0x4d, 0x7d, 0xf9, 0xfe, 0xf8, 0xf0, 0xdd, 0xf5, 0x75, 0x64, | 773 | 0xd8, 0xbb, 0xcd, 0x7d, 0x2a, 0xd7, 0xd9, 0xf6, 0x99, 0xb6, 0x55, 0x5b, |
768 | 0x9e, 0xb4, 0xa9, 0x2f, 0xc6, 0xa8, 0x12, 0xf4, 0xc1, 0xf8, 0x74, 0xbb, | 774 | 0xfe, 0xd3, 0x2c, 0x89, 0x4f, 0x0c, 0xe8, 0xd4, 0x4b, 0x13, 0xee, 0x87, |
769 | 0xae, 0x8a, 0xa1, 0xae, 0x46, 0xfe, 0xef, 0xed, 0xc2, 0xf5, 0xaa, 0xa2, | 775 | 0x81, 0xd8, 0x8d, 0xf7, 0x23, 0x19, 0xd0, 0x66, 0x5b, 0xb0, 0xca, 0x94, |
770 | 0x79, 0xce, 0xbb, 0xa1, 0x2f, 0xd8, 0x32, 0x02, 0x7f, 0x37, 0xec, 0x4f, | 776 | 0x4e, 0x1a, 0xe8, 0xde, 0x93, 0x31, 0xc9, 0xc1, 0xd9, 0xc0, 0xdf, 0x89, |
771 | 0xcb, 0x91, 0x54, 0x76, 0xc2, 0x95, 0xc0, 0xe6, 0xaf, 0xad, 0xb1, 0xf9, | 777 | 0x55, 0x30, 0xff, 0xd3, 0xe8, 0x54, 0x78, 0x41, 0x66, 0xc1, 0x03, 0x8d, |
772 | 0xd1, 0xbb, 0xc8, 0x75, 0x3c, 0x94, 0xcb, 0x0d, 0xe5, 0x1a, 0x85, 0x5c, | 778 | 0x9e, 0xfb, 0x65, 0xc9, 0x33, 0x13, 0xe7, 0xd7, 0xe7, 0x99, 0xbf, 0x5d, |
773 | 0x63, 0x90, 0x6b, 0xe5, 0x23, 0xc8, 0xb5, 0xf2, 0x91, 0xe5, 0xd2, 0xa4, | 779 | 0xb0, 0x0b, 0x8d, 0xca, 0x2e, 0xe3, 0x8e, 0x70, 0x08, 0x1a, 0xbe, 0xa5, |
774 | 0xec, 0x3c, 0x08, 0x5a, 0xa6, 0xfc, 0xab, 0x13, 0xd8, 0xf2, 0xbf, 0x38, | 780 | 0x1d, 0x47, 0x24, 0x5f, 0xd6, 0x5d, 0x83, 0x46, 0x47, 0x79, 0x2d, 0xaf, |
775 | 0x9f, 0x14, 0x19, 0x7c, 0x7f, 0x70, 0xd8, 0x16, 0xef, 0x5b, 0xe0, 0xd5, | 781 | 0xe3, 0xf5, 0xf6, 0x98, 0x25, 0x3e, 0x08, 0xf6, 0xae, 0xdb, 0xd3, 0x21, |
776 | 0x71, 0x40, 0x8b, 0xef, 0xef, 0x97, 0xe1, 0x6e, 0xfe, 0x38, 0x8b, 0x7d, | 782 | 0x31, 0x0f, 0x9a, 0x95, 0x2c, 0xc0, 0xc3, 0xcf, 0x5b, 0xcb, 0x72, 0xd8, |
777 | 0x5d, 0xcf, 0x1f, 0x29, 0x87, 0x3e, 0x7c, 0xef, 0xfe, 0xa8, 0x6b, 0x1f, | 783 | 0xc8, 0x6f, 0x5e, 0xdb, 0xbe, 0x0e, 0xfa, 0x3c, 0xc0, 0x34, 0x9c, 0x4c, |
778 | 0x55, 0x0e, 0xc6, 0x9c, 0x4f, 0x35, 0x9d, 0xab, 0x1f, 0x56, 0x86, 0xf5, | 784 | 0x2a, 0x3b, 0x8d, 0x68, 0x8a, 0x64, 0xa9, 0x85, 0x38, 0x3e, 0xeb, 0x1c, |
779 | 0x63, 0xca, 0x2f, 0x4f, 0x86, 0xc7, 0x64, 0x72, 0x33, 0xed, 0xa9, 0xa4, | 785 | 0xbc, 0x1e, 0xfe, 0xc3, 0x87, 0xff, 0x80, 0x4f, 0x3c, 0xef, 0xc3, 0xbf, |
780 | 0x8d, 0x0c, 0x92, 0xef, 0xb5, 0xfc, 0x4a, 0x26, 0xe0, 0x0d, 0x39, 0xd1, | 786 | 0xf8, 0xec, 0x6f, 0x2c, 0x7a, 0x7e, 0x18, 0xfe, 0xf1, 0x9a, 0x7f, 0x42, |
781 | 0xd2, 0x46, 0x39, 0xb2, 0x60, 0x49, 0x69, 0xe9, 0x4e, 0x71, 0x57, 0x03, | 787 | 0x1b, 0x47, 0x5f, 0x90, 0x0e, 0xff, 0x34, 0xdb, 0x10, 0xb0, 0x73, 0xf8, |
782 | 0x6f, 0xb4, 0x47, 0xf6, 0x7d, 0xd2, 0x7c, 0x2a, 0xc8, 0x2b, 0x2e, 0x54, | 788 | 0x8a, 0x15, 0x9e, 0x83, 0x5f, 0x58, 0x29, 0xe1, 0xe9, 0x50, 0xb5, 0xc9, |
783 | 0x91, 0x83, 0x56, 0x13, 0x72, 0xd9, 0x48, 0xcb, 0x9b, 0x83, 0x87, 0xe5, | 789 | 0x7a, 0x18, 0xf9, 0x61, 0xf6, 0x57, 0x19, 0xf8, 0x26, 0xf6, 0x47, 0xec, |
784 | 0xf3, 0xd5, 0x24, 0xe8, 0x31, 0x9f, 0x2c, 0xe7, 0x10, 0x17, 0xb5, 0xb2, | 790 | 0xb7, 0x78, 0x6d, 0x10, 0x94, 0x5c, 0x86, 0x0d, 0x20, 0x47, 0xb6, 0xbb, |
785 | 0x63, 0x08, 0x79, 0xaf, 0xd9, 0x9c, 0x13, 0xc4, 0x96, 0x72, 0x10, 0x83, | 791 | 0x24, 0x89, 0x54, 0x45, 0x3b, 0x34, 0x0c, 0x7b, 0xbc, 0x89, 0x7d, 0x0b, |
786 | 0x5d, 0x6f, 0x50, 0xe5, 0x14, 0x90, 0x4f, 0x64, 0x0c, 0xb1, 0xb7, 0x66, | 792 | 0xdb, 0xe5, 0x8d, 0x44, 0x9d, 0xbc, 0xdf, 0xaf, 0xbb, 0xd5, 0xbf, 0xd9, |
787 | 0xb3, 0xcd, 0xfe, 0xa0, 0xef, 0xb3, 0x95, 0x5e, 0xad, 0xc8, 0xbc, 0x64, | 793 | 0xdb, 0x84, 0x35, 0xf2, 0xd9, 0xa3, 0xc6, 0x66, 0xe8, 0x97, 0xf8, 0xbd, |
788 | 0xf0, 0xa6, 0x4c, 0x3b, 0x41, 0xdf, 0xe7, 0x2a, 0xa3, 0x9b, 0x98, 0x1f, | 794 | 0x6d, 0x15, 0x68, 0x57, 0x38, 0xe6, 0xfe, 0x1a, 0xbd, 0xae, 0xb8, 0x25, |
789 | 0x1a, 0x05, 0xc9, 0x94, 0x9d, 0xf7, 0x7c, 0xd7, 0xba, 0x7d, 0xcd, 0xfa, | 795 | 0x41, 0x3b, 0x4f, 0x29, 0x7f, 0xba, 0x73, 0x09, 0x9a, 0x71, 0x4a, 0xd1, |
790 | 0x78, 0xb2, 0x13, 0x81, 0xce, 0x45, 0xfb, 0xaa, 0xad, 0xf7, 0xb6, 0x4a, | 796 | 0xb8, 0xf3, 0x6c, 0xe4, 0x57, 0x93, 0xc0, 0x07, 0xfa, 0xfc, 0xb5, 0x18, |
791 | 0x09, 0x27, 0x5d, 0xd6, 0x1a, 0x47, 0xe7, 0xbe, 0x4a, 0x79, 0x5b, 0xab, | 797 | 0x82, 0xf6, 0x9e, 0x06, 0xd3, 0xc2, 0xdc, 0x46, 0x5e, 0xb0, 0x2f, 0x67, |
792 | 0xdc, 0x34, 0x80, 0x3f, 0x6d, 0x68, 0x62, 0x1e, 0xaa, 0x94, 0xbb, 0xd9, | 798 | 0xfb, 0x34, 0xdb, 0xed, 0x73, 0x2f, 0xec, 0xd3, 0xed, 0x24, 0xdb, 0xfd, |
793 | 0xa6, 0xbe, 0x74, 0x4d, 0x12, 0xa3, 0x15, 0x5f, 0xae, 0x3a, 0x41, 0xee, | 799 | 0x27, 0xd8, 0xe7, 0xb7, 0x5d, 0x0d, 0xbc, 0x21, 0xba, 0x54, 0xcb, 0xc0, |
794 | 0x63, 0x68, 0x7a, 0x6f, 0x5b, 0xb8, 0x56, 0xd7, 0x76, 0x39, 0x97, 0x44, | 800 | 0x3f, 0x18, 0x99, 0xd7, 0x69, 0x97, 0x35, 0x0b, 0xbd, 0x3c, 0xc9, 0x73, |
795 | 0x3a, 0x0e, 0x55, 0xc4, 0x2a, 0x56, 0x76, 0x39, 0x6f, 0x4b, 0xb9, 0xa7, | 801 | 0x4d, 0xcc, 0x49, 0x3f, 0xae, 0xfc, 0xc7, 0x65, 0xfd, 0xbb, 0xa0, 0x2b, |
796 | 0x6d, 0x75, 0x5d, 0x8a, 0xeb, 0x76, 0x0e, 0xaf, 0x9d, 0xbb, 0xcb, 0xb9, | 802 | 0x08, 0x66, 0x81, 0xb3, 0x3c, 0xa2, 0x87, 0xb6, 0x18, 0xcd, 0x5f, 0x45, |
797 | 0x28, 0xe5, 0x2d, 0x6d, 0xab, 0xb4, 0xd2, 0x58, 0xdb, 0x17, 0xac, 0xe5, | 803 | 0x3c, 0xf4, 0x7e, 0x43, 0xa7, 0x4a, 0xb6, 0x83, 0xec, 0xec, 0x12, 0x70, |
798 | 0xf8, 0x66, 0x71, 0xbb, 0x39, 0x47, 0xef, 0x6d, 0xbf, 0x45, 0x43, 0x32, | 804 | 0x4f, 0xbb, 0xca, 0xee, 0xd9, 0x36, 0x96, 0x81, 0x7f, 0xce, 0x1f, 0x86, |
799 | 0xc5, 0x4a, 0xb9, 0xa7, 0x7d, 0x15, 0xaf, 0x4d, 0xbc, 0xde, 0x1a, 0xbc, | 805 | 0x5f, 0x60, 0xbb, 0x01, 0x5d, 0xc0, 0xbf, 0x0c, 0xfc, 0x73, 0xad, 0x0e, |
800 | 0xc4, 0xd9, 0xbe, 0x8a, 0x33, 0x07, 0x9c, 0x43, 0xab, 0x38, 0x39, 0x7e, | 806 | 0xfa, 0x96, 0x11, 0xc5, 0xd9, 0xe8, 0x3c, 0xdb, 0xb0, 0x2c, 0xda, 0xf7, |
801 | 0x58, 0x8a, 0x38, 0xd3, 0x5a, 0x0a, 0x32, 0xbc, 0x54, 0xc9, 0x48, 0x79, | 807 | 0x08, 0xdd, 0xe5, 0xa7, 0xe0, 0x73, 0xd8, 0x27, 0x57, 0xb3, 0xb0, 0x2b, |
802 | 0x28, 0x01, 0xdd, 0xf7, 0x1f, 0xfc, 0x9a, 0xaa, 0x43, 0xcc, 0x61, 0x0f, | 808 | 0xad, 0xea, 0xf2, 0xde, 0x3a, 0x2d, 0xaf, 0xad, 0xa1, 0x42, 0x55, 0xd9, |
803 | 0xba, 0x32, 0x55, 0x5e, 0x87, 0xd8, 0x08, 0xdb, 0xf8, 0x5a, 0x5d, 0x86, | 809 | 0x6c, 0xc1, 0x1b, 0xae, 0x64, 0x74, 0xe9, 0x7b, 0x88, 0xee, 0x84, 0xad, |
804 | 0x17, 0xeb, 0xa6, 0x1c, 0x6f, 0x70, 0xbf, 0x98, 0xe3, 0x05, 0x75, 0xc6, | 810 | 0x2e, 0x3b, 0x3c, 0xe6, 0x79, 0x35, 0x37, 0x5e, 0x1b, 0xd0, 0x8a, 0xec, |
805 | 0x85, 0x46, 0x4e, 0xdb, 0x87, 0xbd, 0x66, 0x9d, 0xb0, 0xaf, 0x61, 0x6a, | 811 | 0xbf, 0x86, 0x3f, 0x04, 0x7d, 0x6a, 0xee, 0xb7, 0x6b, 0x0f, 0xb1, 0x8c, |
806 | 0xa3, 0x3c, 0x1f, 0x80, 0x97, 0x76, 0x7e, 0xac, 0x41, 0xdb, 0x79, 0x03, | 812 | 0x70, 0x16, 0xb2, 0xaa, 0xee, 0x7f, 0x06, 0xd0, 0xdf, 0x75, 0x30, 0xd7, |
807 | 0xb6, 0x41, 0xce, 0xa3, 0x9c, 0xbd, 0x95, 0xb9, 0x53, 0x66, 0xd1, 0x51, | 813 | 0xc7, 0x63, 0x8f, 0x2b, 0x9d, 0x25, 0x6d, 0xbf, 0x23, 0x06, 0x3a, 0x43, |
808 | 0x75, 0x88, 0x56, 0xcb, 0x77, 0x20, 0x07, 0x4d, 0xa0, 0xd6, 0x80, 0xcd, | 814 | 0x9f, 0xb7, 0x1f, 0x93, 0xfb, 0x6a, 0xd5, 0xfe, 0x4e, 0xfa, 0x50, 0xe7, |
809 | 0xdb, 0x78, 0x6f, 0x70, 0xde, 0x32, 0xe6, 0x6d, 0xe0, 0x3c, 0xec, 0xcd, | 815 | 0x18, 0x7c, 0x85, 0xc8, 0xf0, 0x6a, 0xbb, 0xc1, 0x8f, 0x6a, 0x5f, 0xdb, |
810 | 0x25, 0xe5, 0x0f, 0xa6, 0xcd, 0xf1, 0x77, 0xb1, 0xc7, 0x68, 0xd7, 0x59, | 816 | 0x5c, 0xa2, 0x54, 0x0b, 0xe8, 0xa2, 0xab, 0x60, 0x30, 0x4e, 0x16, 0x6b, |
811 | 0x57, 0x58, 0x02, 0x5f, 0xc1, 0x3e, 0xa2, 0x6e, 0x48, 0xed, 0x60, 0x7e, | 817 | 0x62, 0x20, 0x41, 0x6b, 0x63, 0x93, 0x61, 0x56, 0x68, 0x77, 0x76, 0x99, |
812 | 0x8f, 0xb9, 0x19, 0xcc, 0xcd, 0x66, 0x18, 0xcf, 0x3d, 0xfb, 0x99, 0x0e, | 818 | 0x24, 0x6c, 0x7f, 0xe2, 0x1a, 0x6c, 0xba, 0x54, 0xab, 0xf6, 0xb5, 0x8d, |
813 | 0xe9, 0x42, 0xbb, 0xce, 0x35, 0xd9, 0x0c, 0x72, 0x5b, 0xdf, 0xcb, 0xb7, | 819 | 0x33, 0x45, 0xe0, 0x12, 0x7b, 0xd7, 0x60, 0x07, 0xaf, 0xc1, 0x6e, 0x25, |
814 | 0xc9, 0x4a, 0xca, 0xbf, 0x60, 0xd8, 0xd1, 0xdc, 0x08, 0x6f, 0xf3, 0x5c, | 820 | 0xab, 0x8f, 0xe1, 0xc5, 0xc0, 0xe6, 0x6b, 0xb8, 0xad, 0x90, 0x9e, 0xfe, |
815 | 0xe6, 0xc5, 0xc4, 0xbd, 0x21, 0xcc, 0x83, 0xc7, 0xc5, 0x6d, 0xfc, 0x49, | 821 | 0xcd, 0xd7, 0x70, 0x38, 0x8c, 0xb3, 0x6d, 0x9c, 0x65, 0x9c, 0x3b, 0xaf, |
816 | 0xb7, 0x74, 0xb9, 0xf8, 0x8d, 0xe6, 0x4c, 0x6f, 0x0e, 0x6a, 0x2e, 0xbe, | 822 | 0xe1, 0x1c, 0x59, 0x4f, 0xcf, 0x11, 0x82, 0x0f, 0x4a, 0x74, 0xe6, 0x69, |
817 | 0xb7, 0x50, 0x3e, 0x17, 0xe7, 0xa1, 0x56, 0xac, 0x66, 0x26, 0x59, 0x1f, | 823 | 0xef, 0xa5, 0xda, 0xd0, 0xc4, 0x5d, 0x84, 0xf8, 0x38, 0xb2, 0x29, 0xf4, |
818 | 0x15, 0xeb, 0x6c, 0xef, 0x85, 0x3f, 0x04, 0x75, 0xd7, 0x85, 0x5b, 0xbe, | 824 | 0xe1, 0xc6, 0x5e, 0x0f, 0xbc, 0x32, 0x88, 0x7d, 0xa2, 0x46, 0x55, 0xc8, |
819 | 0x70, 0x19, 0x7a, 0x4b, 0x43, 0x6f, 0x29, 0x39, 0xdf, 0x60, 0x9d, 0xe6, | 825 | 0xf9, 0x8f, 0x9a, 0xb4, 0xf7, 0x62, 0xd3, 0x08, 0x75, 0x89, 0x75, 0xe2, |
820 | 0x42, 0x5f, 0x19, 0xf1, 0x1a, 0xe3, 0x58, 0x2b, 0x87, 0x81, 0x03, 0x3a, | 826 | 0x6d, 0xd8, 0x58, 0x72, 0xca, 0x40, 0x0c, 0xbf, 0x20, 0x6d, 0x8c, 0x26, |
821 | 0x17, 0x47, 0x2f, 0x64, 0x65, 0xca, 0xda, 0x1d, 0xf1, 0x00, 0x5c, 0x88, | 827 | 0xaa, 0x35, 0xaa, 0x6c, 0xcf, 0x3f, 0x11, 0x40, 0x17, 0xa7, 0xe0, 0xd3, |
822 | 0x1f, 0x85, 0x36, 0xf4, 0xf1, 0x1d, 0x9a, 0x53, 0xff, 0x86, 0x7f, 0x94, | 828 | 0xc0, 0xe3, 0xe4, 0x98, 0x97, 0xc3, 0x7c, 0x93, 0x6d, 0x0b, 0x7e, 0x05, |
823 | 0xed, 0x09, 0xbd, 0x30, 0xd6, 0xd4, 0xbf, 0x6e, 0xfc, 0xa1, 0x1c, 0x68, | 829 | 0xb0, 0xd0, 0xb5, 0x84, 0x3e, 0xbf, 0xeb, 0x55, 0x4f, 0xe7, 0x7d, 0x2c, |
824 | 0x33, 0x06, 0x31, 0xfe, 0xe8, 0xa8, 0xf3, 0x18, 0x8b, 0x48, 0xd7, 0x92, | 830 | 0xe4, 0x5c, 0x89, 0x84, 0x98, 0xbf, 0x1a, 0xb0, 0x9e, 0x4d, 0x8f, 0x5c, |
825 | 0x23, 0x4b, 0x23, 0xdc, 0x37, 0x8b, 0xf1, 0xa7, 0x5c, 0xe7, 0x9e, 0x29, | 831 | 0x45, 0x8e, 0x63, 0x92, 0x37, 0x06, 0xff, 0x01, 0x7d, 0x9f, 0x6d, 0x11, |
826 | 0x5c, 0xc0, 0x19, 0xad, 0xf1, 0xfd, 0x11, 0x87, 0x6b, 0x7c, 0x99, 0x70, | 832 | 0x72, 0x82, 0x3f, 0xed, 0x55, 0x36, 0xf6, 0x9d, 0xad, 0xea, 0x49, 0x06, |
827 | 0x3a, 0xc4, 0x48, 0x96, 0xb4, 0xc7, 0x07, 0x11, 0x7b, 0x1e, 0xe0, 0x3e, | 833 | 0xfb, 0xf2, 0xe9, 0x1c, 0xe7, 0x0f, 0x9d, 0x09, 0x2f, 0x37, 0xbe, 0x4d, |
828 | 0x32, 0x06, 0x6d, 0x17, 0xb0, 0xea, 0xb4, 0x3c, 0x3c, 0xc8, 0x75, 0xa0, | 834 | 0x3f, 0x7b, 0x60, 0x9b, 0x38, 0x5b, 0xd9, 0x26, 0x10, 0x03, 0x60, 0x53, |
829 | 0xdd, 0x2a, 0x7a, 0x92, 0x34, 0xf3, 0x21, 0x4f, 0x43, 0xdd, 0x81, 0xbe, | 835 | 0xc2, 0xcb, 0xa1, 0x7f, 0x36, 0xb2, 0xa1, 0x0c, 0x6c, 0x88, 0x69, 0x65, |
830 | 0x06, 0xac, 0x40, 0x7f, 0x9f, 0xe9, 0x5e, 0xd5, 0x1f, 0xd7, 0x35, 0xf3, | 836 | 0x3a, 0x7f, 0x04, 0x7b, 0x95, 0xb4, 0xd2, 0x84, 0x0f, 0x9a, 0x46, 0x3f, |
831 | 0xcb, 0x18, 0x96, 0x90, 0x81, 0x33, 0x1b, 0x65, 0xe7, 0xa2, 0x25, 0xf6, | 837 | 0x82, 0x9e, 0xe0, 0x2c, 0xf0, 0x81, 0x05, 0x70, 0x49, 0x8c, 0xfe, 0x2a, |
832 | 0x99, 0x55, 0xfe, 0x76, 0x9e, 0x5b, 0xcb, 0x5f, 0xf4, 0x7f, 0x15, 0x5c, | 838 | 0xb4, 0x67, 0xee, 0xbf, 0x1b, 0xa8, 0x78, 0x72, 0x30, 0xdc, 0xff, 0x17, |
833 | 0xd0, 0xc5, 0x8e, 0xfa, 0x1e, 0x4b, 0x05, 0xb8, 0xa3, 0xf6, 0x7b, 0xe1, | 839 | 0xa1, 0x0f, 0x88, 0x70, 0x31, 0x9e, 0xac, 0x36, 0x81, 0x5c, 0x68, 0xa2, |
834 | 0x5e, 0xf1, 0xfd, 0x99, 0x70, 0x4f, 0xb0, 0x07, 0x88, 0x95, 0xe7, 0x6f, | 840 | 0x65, 0x68, 0xec, 0xcf, 0x8b, 0x3e, 0xe7, 0x30, 0x9c, 0xbf, 0x3c, 0x1e, |
835 | 0xc5, 0xa9, 0x0c, 0xf6, 0x06, 0xb6, 0xa7, 0xe2, 0x11, 0xe3, 0x18, 0xed, | 841 | 0xfa, 0x45, 0xce, 0x5b, 0x92, 0x21, 0x4f, 0x73, 0x51, 0x5c, 0x94, 0xf6, |
836 | 0xbb, 0x63, 0xd2, 0x2c, 0xb0, 0x8e, 0xe6, 0x3e, 0xc9, 0x44, 0xb9, 0x22, | 842 | 0x86, 0x18, 0x65, 0x95, 0x5d, 0x99, 0xd3, 0x68, 0xd3, 0xb9, 0x24, 0xd6, |
837 | 0xa5, 0xad, 0x85, 0x67, 0x7d, 0xd8, 0xcf, 0xa4, 0xa5, 0x6c, 0xaf, 0x63, | 843 | 0x61, 0xae, 0x85, 0x73, 0xc3, 0x2f, 0x21, 0x0f, 0xe2, 0xdc, 0x14, 0xeb, |
838 | 0xaf, 0x97, 0x37, 0xa0, 0x1b, 0x8c, 0xc1, 0x26, 0xf5, 0x42, 0x42, 0x8a, | 844 | 0x3b, 0x43, 0x9b, 0xbf, 0x44, 0x65, 0xf8, 0x54, 0xc3, 0xe1, 0xf7, 0x5e, |
839 | 0x8d, 0x44, 0xc2, 0x3c, 0x31, 0xf0, 0x23, 0xcf, 0x48, 0x24, 0xf4, 0x13, | 845 | 0x2f, 0x75, 0x61, 0xdc, 0xc4, 0x5e, 0xf0, 0x13, 0xba, 0xe4, 0x33, 0x62, |
840 | 0x81, 0x9d, 0x4d, 0xd6, 0x6f, 0x20, 0x56, 0x6a, 0x72, 0x74, 0xe8, 0x86, | 846 | 0x41, 0xfa, 0x06, 0xce, 0xaf, 0xb0, 0xd6, 0xc2, 0x5a, 0xf6, 0xbb, 0xbc, |
841 | 0xcf, 0x1a, 0xd8, 0xdb, 0x0b, 0x9b, 0x1b, 0x82, 0xcf, 0x80, 0x8f, 0x72, | 847 | 0xf6, 0x3c, 0xe8, 0xc0, 0xb8, 0xc9, 0x30, 0xec, 0xa3, 0x82, 0xf7, 0xbc, |
842 | 0xa3, 0xa3, 0x37, 0xe0, 0xed, 0x2b, 0x11, 0x8f, 0xa6, 0x8e, 0xdc, 0xd3, | 848 | 0xdc, 0x1e, 0x73, 0x82, 0x12, 0x21, 0x5e, 0xab, 0x0d, 0xef, 0xc6, 0xb5, |
843 | 0xcb, 0xfb, 0xbe, 0x51, 0xd8, 0x90, 0x98, 0xce, 0x8f, 0x6f, 0xd1, 0xcf, | 849 | 0x9c, 0xd3, 0x04, 0x17, 0x74, 0x87, 0xf1, 0x47, 0x79, 0x18, 0xd1, 0xf4, |
844 | 0xed, 0xdf, 0x62, 0x9c, 0x2b, 0x6d, 0x01, 0x3e, 0xdd, 0xcb, 0xe3, 0xf7, | 850 | 0x09, 0xe4, 0x71, 0x4e, 0x07, 0xe2, 0x14, 0x8f, 0x86, 0x4c, 0x75, 0xce, |
845 | 0x9c, 0xc8, 0x44, 0x15, 0x3a, 0xdf, 0x03, 0x3d, 0x59, 0xf0, 0xc5, 0x3d, | 851 | 0x08, 0xe6, 0x81, 0xfe, 0xf5, 0xe3, 0xbb, 0x53, 0xd7, 0xfc, 0x23, 0x5b, |
846 | 0xa6, 0xca, 0xd1, 0xf5, 0x3d, 0x2f, 0x6e, 0x0a, 0x70, 0xf0, 0xfd, 0x27, | 852 | 0x17, 0x15, 0x10, 0x1f, 0xc0, 0x27, 0x6b, 0x8a, 0x73, 0xbf, 0x62, 0x53, |
847 | 0x7e, 0x70, 0x86, 0x5e, 0x0e, 0xfb, 0x7e, 0x3f, 0xdc, 0x87, 0x5f, 0x45, | 853 | 0xa2, 0xc4, 0xdc, 0x18, 0x7c, 0xa2, 0xca, 0xa3, 0x2e, 0xf8, 0x1b, 0xe5, |
848 | 0xb9, 0x78, 0x5e, 0x44, 0xb2, 0xad, 0x3d, 0x37, 0xb2, 0xe3, 0x25, 0x9c, | 854 | 0x66, 0x82, 0xd7, 0x05, 0xf0, 0xd7, 0x82, 0xfe, 0x8c, 0x03, 0x96, 0x8e, |
849 | 0x33, 0xa7, 0x1d, 0xdf, 0x7f, 0x07, 0xcf, 0x35, 0xa7, 0xd9, 0x46, 0xde, | 855 | 0x00, 0x07, 0xc7, 0x6a, 0x57, 0xe4, 0x53, 0x54, 0x36, 0x39, 0xa7, 0xe8, |
850 | 0x7f, 0xf6, 0x31, 0x07, 0xf8, 0x2c, 0xce, 0xbd, 0xd1, 0xa6, 0xb3, 0xff, | 856 | 0x64, 0xfa, 0x0a, 0x6c, 0xfb, 0x22, 0xbf, 0x19, 0x73, 0xdc, 0x7f, 0xac, |
851 | 0x5e, 0xcf, 0xbd, 0x7b, 0x3f, 0xfb, 0xc9, 0xf3, 0x1d, 0x7d, 0xef, 0x03, | 857 | 0x57, 0xc9, 0xab, 0x9b, 0xc7, 0x13, 0x22, 0xdf, 0xbb, 0x61, 0xfe, 0x9f, |
852 | 0xce, 0xfe, 0x0f, 0x5c, 0x77, 0x0f, 0x3e, 0x1b, 0xd8, 0x6d, 0xb1, 0xd1, | 858 | 0xbb, 0x15, 0x6d, 0x72, 0x8c, 0xf9, 0x7f, 0xdb, 0x30, 0xfe, 0xe3, 0xd4, |
853 | 0x1c, 0x5f, 0xee, 0xd5, 0x7f, 0x7f, 0xad, 0xfb, 0x76, 0xff, 0xb5, 0xbb, | 859 | 0xfa, 0xf1, 0xdd, 0xdb, 0x42, 0xfd, 0x43, 0xff, 0xf1, 0x90, 0x5e, 0xd0, |
854 | 0x6f, 0xf7, 0xdf, 0xcd, 0xdd, 0xbf, 0x18, 0xff, 0xcd, 0x01, 0x0f, 0x7d, | 860 | 0xb6, 0x46, 0x6b, 0x94, 0x2b, 0x53, 0x5d, 0x20, 0x5f, 0xf4, 0x72, 0xbb, |
855 | 0x70, 0xad, 0xff, 0xae, 0xe7, 0x93, 0xd4, 0xf7, 0xf3, 0x3d, 0xe5, 0xa1, | 861 | 0xac, 0x2a, 0x6c, 0xaa, 0xd4, 0x02, 0xdd, 0x6b, 0x71, 0x6c, 0x6d, 0x4d, |
856 | 0xce, 0x30, 0x1f, 0x52, 0xe7, 0xf5, 0x17, 0xa7, 0x6d, 0xef, 0x7e, 0x53, | 862 | 0xe5, 0xda, 0x1a, 0xe5, 0xe7, 0x4b, 0xad, 0x00, 0x79, 0x56, 0x7b, 0xcc, |
857 | 0x4a, 0xb9, 0x16, 0xc9, 0xe6, 0x6a, 0xb2, 0x43, 0x8e, 0x3b, 0x22, 0x4b, | 863 | 0xcb, 0xa2, 0x5f, 0xc1, 0x3e, 0x05, 0x9a, 0xf6, 0x2f, 0x16, 0x84, 0x73, |
858 | 0xaa, 0x16, 0x31, 0x51, 0x8b, 0x0f, 0xa0, 0x3e, 0x0b, 0xf4, 0xba, 0xa4, | 864 | 0x4c, 0xe6, 0x89, 0xc2, 0x79, 0x4a, 0x2b, 0x2d, 0x73, 0xfe, 0x08, 0x5b, |
859 | 0xf4, 0xf2, 0x02, 0x78, 0x89, 0xf0, 0x74, 0xdd, 0x05, 0x0f, 0x71, 0x10, | 865 | 0x72, 0x64, 0xdd, 0x80, 0x98, 0x72, 0x5c, 0x2b, 0x9c, 0x5e, 0x40, 0xfe, |
860 | 0x17, 0xf1, 0x0c, 0xe2, 0x7c, 0xb7, 0xd7, 0xc1, 0x85, 0x73, 0xea, 0x25, | 866 | 0xb8, 0x82, 0xdf, 0x19, 0xfc, 0x9a, 0xf8, 0x45, 0xf9, 0xfb, 0x33, 0xc8, |
861 | 0xd4, 0x64, 0xb6, 0xde, 0xa3, 0x07, 0x67, 0xb2, 0x5b, 0x96, 0xdd, 0xe9, | 867 | 0xff, 0xa5, 0x7f, 0x45, 0x2c, 0x50, 0xfb, 0xff, 0x62, 0x05, 0x3a, 0xb6, |
862 | 0xeb, 0xf2, 0x05, 0x9e, 0x59, 0x0a, 0xae, 0xce, 0x21, 0x56, 0x0f, 0x8d, | 868 | 0x90, 0xa6, 0x6f, 0x3b, 0xa2, 0x5f, 0x28, 0x9f, 0x52, 0x40, 0xde, 0x6b, |
863 | 0x85, 0x75, 0xd2, 0xdc, 0x41, 0xcf, 0x8e, 0xee, 0x49, 0x78, 0x47, 0x92, | 869 | 0xbe, 0x4d, 0xbf, 0x13, 0xe6, 0x50, 0x44, 0xaf, 0xd7, 0xc1, 0xc7, 0x91, |
864 | 0x90, 0x92, 0x9a, 0xb5, 0x04, 0x1d, 0x68, 0x72, 0x0d, 0x67, 0xd0, 0xd5, | 870 | 0xfd, 0xa1, 0xbe, 0x66, 0x1f, 0xf4, 0xa4, 0xef, 0x0c, 0x73, 0x24, 0xe4, |
865 | 0xb9, 0x76, 0xe0, 0x45, 0xee, 0x77, 0x20, 0xbb, 0x57, 0xb4, 0x7e, 0xab, | 871 | 0x6a, 0x05, 0xb9, 0xea, 0xfb, 0xe0, 0x8d, 0x46, 0x6f, 0x41, 0x7f, 0x5e, |
866 | 0x55, 0x6b, 0x87, 0x2f, 0x65, 0xc4, 0x55, 0x6d, 0x9e, 0xd3, 0xa7, 0x66, | 872 | 0xaf, 0x77, 0x81, 0x1e, 0x87, 0xca, 0x93, 0xf6, 0x18, 0x69, 0x43, 0xe6, |
867 | 0x16, 0x2b, 0xc8, 0x03, 0x6d, 0x9c, 0xaf, 0x79, 0xbc, 0xd7, 0x49, 0x43, | 873 | 0x26, 0xad, 0x0b, 0x36, 0x0c, 0xfb, 0x96, 0x63, 0x4a, 0x74, 0xe4, 0xcf, |
868 | 0x93, 0x2b, 0x73, 0xba, 0xfc, 0xd3, 0x9c, 0x21, 0xff, 0x8c, 0x3a, 0xf4, | 874 | 0xcd, 0x2c, 0xd5, 0x04, 0xd6, 0x22, 0xef, 0xc9, 0xa1, 0x0f, 0xd9, 0x5f, |
869 | 0x9a, 0x7d, 0x6a, 0xe6, 0xb4, 0x2d, 0xf7, 0x81, 0xd5, 0xf0, 0x0e, 0x4f, | 875 | 0xa9, 0x33, 0x9c, 0xa0, 0x37, 0xea, 0x3a, 0xbd, 0x89, 0xbc, 0xeb, 0x2d, |
870 | 0x76, 0x9a, 0x42, 0x5b, 0x1d, 0x48, 0xff, 0x8e, 0x20, 0xff, 0xc1, 0x9a, | 876 | 0xe7, 0xdc, 0x0c, 0x62, 0xd6, 0x00, 0xe2, 0x03, 0x6a, 0x98, 0x5d, 0xec, |
871 | 0x2b, 0x73, 0xa4, 0xb5, 0x76, 0x8d, 0xf4, 0x22, 0x1f, 0x83, 0x5d, 0x0f, | 877 | 0xa3, 0x77, 0x1a, 0x78, 0x96, 0xf0, 0xbb, 0x13, 0x79, 0xe3, 0xf5, 0x61, |
872 | 0x30, 0x27, 0xe2, 0x7c, 0xd4, 0xab, 0x03, 0xd6, 0x3e, 0xc5, 0x5b, 0x42, | 878 | 0x3e, 0x6d, 0x3d, 0xd3, 0x96, 0x00, 0x0c, 0xaf, 0x37, 0x40, 0x5b, 0x0f, |
873 | 0x16, 0xeb, 0x9c, 0x6f, 0x82, 0xb7, 0x2e, 0x9c, 0x31, 0x59, 0x6b, 0x52, | 879 | 0xe4, 0x6f, 0x9b, 0x53, 0xf4, 0xcb, 0x5e, 0x99, 0xab, 0x68, 0x3c, 0xaf, |
874 | 0xfe, 0xb0, 0x5b, 0xe5, 0xaa, 0x1a, 0xfb, 0x0d, 0xb5, 0xc7, 0xef, 0xef, | 880 | 0xfc, 0xd2, 0x27, 0xe7, 0x99, 0xcf, 0x3a, 0x74, 0x9c, 0xc7, 0xfc, 0x8e, |
875 | 0xe7, 0xde, 0x1b, 0x32, 0x95, 0x62, 0x9b, 0x63, 0x59, 0xd4, 0x9c, 0xc4, | 881 | 0xfd, 0x27, 0xe3, 0xb3, 0xc7, 0x0a, 0x38, 0xcc, 0x95, 0xba, 0xea, 0x47, |
876 | 0x97, 0xdd, 0xeb, 0x0a, 0x79, 0x0e, 0xde, 0xaf, 0x08, 0x65, 0xdb, 0x6d, | 882 | 0x73, 0xa4, 0x45, 0x31, 0x8c, 0xfd, 0x62, 0x89, 0x0a, 0x92, 0xef, 0x13, |
877 | 0x5d, 0x97, 0xd7, 0x7d, 0xf7, 0x00, 0xe5, 0x89, 0x72, 0x8b, 0x39, 0x9f, | 883 | 0x24, 0x65, 0xb0, 0x4e, 0x9e, 0x94, 0x30, 0xf2, 0xf5, 0x99, 0x39, 0x87, |
878 | 0xb1, 0xd8, 0x28, 0xcc, 0xc0, 0x8e, 0xbf, 0x2a, 0xdf, 0x6f, 0x1c, 0x92, | 884 | 0xe5, 0x0a, 0xff, 0x56, 0x8b, 0xe4, 0xca, 0x32, 0xea, 0xa4, 0x6a, 0xfd, |
879 | 0xef, 0x35, 0x26, 0xe5, 0xcf, 0x1a, 0x5f, 0x96, 0x3f, 0x6d, 0x1c, 0x94, | 885 | 0x29, 0xc8, 0x55, 0x84, 0xf5, 0x01, 0xec, 0x7b, 0x81, 0xe5, 0x8b, 0xba, |
880 | 0xd7, 0x1b, 0x07, 0xe4, 0xb5, 0xc6, 0x84, 0xbc, 0xda, 0xd8, 0x0f, 0x1b, | 886 | 0xb1, 0x8e, 0xbc, 0xa7, 0x4e, 0x29, 0x55, 0xdf, 0x1c, 0x47, 0x5d, 0x00, |
881 | 0x1f, 0x87, 0x8d, 0x9f, 0x9a, 0x99, 0xac, 0xf7, 0xcb, 0xd4, 0x49, 0xc4, | 887 | 0xf9, 0xd5, 0x16, 0x80, 0x03, 0x36, 0x5a, 0x5b, 0xc1, 0x13, 0xb5, 0x48, |
882 | 0x20, 0xe7, 0x1b, 0xba, 0xba, 0xe3, 0xb3, 0xe9, 0xe7, 0x2d, 0x32, 0xad, | 888 | 0xed, 0x0c, 0x9e, 0x83, 0x78, 0x36, 0x59, 0x37, 0xc3, 0x3c, 0xe3, 0x13, |
883 | 0xee, 0xaf, 0x34, 0xe4, 0x89, 0x2d, 0xbc, 0x2b, 0x7c, 0xc5, 0x33, 0x2e, | 889 | 0xf4, 0xc0, 0x9e, 0x4a, 0x6c, 0x4f, 0xf4, 0x8f, 0xad, 0x3c, 0xfd, 0x43, |
884 | 0x87, 0xf1, 0xe8, 0xe1, 0x94, 0xb4, 0x03, 0xbf, 0xca, 0x4b, 0x4d, 0x9e, | 890 | 0x6b, 0x8c, 0x7e, 0xd4, 0xca, 0xd1, 0x0f, 0x5b, 0x2e, 0xfd, 0x7d, 0x6b, |
885 | 0xdb, 0x62, 0x86, 0xf7, 0x9c, 0x87, 0x24, 0xc9, 0xfb, 0xb0, 0x9c, 0x67, | 891 | 0x84, 0x9e, 0x6d, 0x65, 0xb9, 0x96, 0x43, 0xce, 0x64, 0x71, 0xce, 0x44, |
886 | 0xa0, 0xde, 0x5e, 0xd7, 0x27, 0x73, 0xb4, 0x65, 0xe8, 0xc6, 0x95, 0x43, | 892 | 0x0f, 0xfa, 0xb7, 0xc3, 0xde, 0x59, 0xfe, 0xe7, 0x66, 0x0a, 0xcd, 0x21, |
887 | 0xb0, 0x53, 0xc3, 0x7e, 0xcb, 0xa5, 0x1e, 0x16, 0x97, 0x28, 0xf7, 0x46, | 893 | 0x2a, 0x9f, 0x80, 0x6f, 0x76, 0x6f, 0xe3, 0x1a, 0x94, 0x1e, 0x73, 0xb9, |
888 | 0x59, 0x5c, 0xa0, 0x6f, 0xff, 0x1b, 0x64, 0x6c, 0x97, 0xda, 0x82, 0x89, | 894 | 0x86, 0xe8, 0xe0, 0xf7, 0xa8, 0x23, 0xe0, 0xbb, 0xe1, 0xcb, 0xa6, 0xd2, |
889 | 0xb9, 0x6e, 0x98, 0xab, 0x6c, 0xa7, 0x3d, 0x00, 0x1f, 0xf1, 0x7e, 0x10, | 895 | 0xf6, 0x39, 0x4f, 0x1f, 0x08, 0x7d, 0xc0, 0x5d, 0x29, 0xea, 0xc2, 0x5e, |
890 | 0x4e, 0xab, 0x09, 0x27, 0xf1, 0x24, 0x54, 0x0c, 0x08, 0x70, 0x5b, 0x52, | 896 | 0xf0, 0x7f, 0x17, 0x9f, 0x86, 0x0d, 0xc8, 0x1a, 0x28, 0x01, 0x5f, 0xc3, |
891 | 0x5b, 0x4a, 0xca, 0xc2, 0x42, 0x0f, 0x9e, 0x94, 0x2c, 0xd4, 0x6d, 0x3c, | 897 | 0x79, 0x80, 0xc1, 0x76, 0xcc, 0xf5, 0x87, 0xe5, 0xe9, 0x5c, 0x17, 0xb2, |
892 | 0x39, 0x3c, 0x43, 0x78, 0xd2, 0xb0, 0x53, 0xca, 0xc8, 0xd8, 0x12, 0xc9, | 898 | 0x3d, 0xeb, 0x08, 0x1a, 0x0c, 0x37, 0x69, 0xb2, 0xdc, 0x0c, 0x87, 0x7d, |
893 | 0x88, 0x78, 0x5c, 0xed, 0x0d, 0x6b, 0x2a, 0xf2, 0xa3, 0x85, 0xfc, 0x74, | 899 | 0x6a, 0x21, 0xf4, 0x6f, 0x89, 0x50, 0x2f, 0x4d, 0xcc, 0x3f, 0x15, 0xfa, |
894 | 0x87, 0x7d, 0x1d, 0x52, 0xab, 0x38, 0x32, 0x55, 0xfd, 0x94, 0x3e, 0xa5, | 900 | 0xe3, 0x8d, 0xfb, 0x20, 0x56, 0x20, 0x97, 0x54, 0xeb, 0x18, 0x56, 0x0b, |
895 | 0x74, 0x07, 0xfc, 0x95, 0x21, 0xb4, 0xef, 0x0f, 0xdb, 0x8f, 0xca, 0xf4, | 901 | 0x61, 0xfb, 0xc3, 0xb9, 0x24, 0xf8, 0xed, 0x52, 0xd9, 0x7f, 0x43, 0xe3, |
896 | 0xbc, 0xc8, 0xca, 0xcb, 0x03, 0x7a, 0x51, 0xb5, 0xf7, 0xa2, 0xad, 0xa3, | 902 | 0x1c, 0x5b, 0x38, 0xcc, 0xff, 0x11, 0x8c, 0x2f, 0x87, 0xe3, 0xaf, 0xd0, |
897 | 0x9d, 0x0d, 0xdb, 0xcc, 0x8f, 0x0e, 0xe0, 0x71, 0xd5, 0xf3, 0xf5, 0xea, | 903 | 0xf4, 0x22, 0x81, 0xd6, 0xd7, 0xb4, 0xa2, 0x1c, 0x8f, 0x61, 0x2c, 0x30, |
898 | 0xb8, 0x3c, 0x55, 0xed, 0x77, 0x5e, 0x87, 0xcd, 0xbd, 0x65, 0x46, 0xf7, | 904 | 0xd6, 0xb9, 0x6e, 0xe0, 0x0c, 0x23, 0xc5, 0xba, 0x2e, 0x9c, 0x71, 0xf0, |
899 | 0xd2, 0x04, 0x24, 0x79, 0xf6, 0x56, 0x75, 0xf7, 0xf1, 0x04, 0xe2, 0xad, | 905 | 0x71, 0x12, 0xbf, 0x82, 0xfc, 0x3d, 0xe2, 0x0f, 0x15, 0xde, 0x41, 0xbc, |
900 | 0x9b, 0x34, 0xe5, 0x6f, 0x4f, 0x64, 0xad, 0xa7, 0xf5, 0x5c, 0x52, 0xda, | 906 | 0xd0, 0x3a, 0xa2, 0xdc, 0x67, 0x3b, 0x6a, 0xcf, 0x20, 0x38, 0x84, 0x5a, |
901 | 0x7d, 0xff, 0x71, 0x3b, 0x3b, 0x3b, 0xa9, 0x77, 0xca, 0xdf, 0xbf, 0x98, | 907 | 0xdd, 0x4a, 0x19, 0xf4, 0x2f, 0xf3, 0xb6, 0x79, 0x48, 0xcc, 0xe1, 0x4c, |
902 | 0x91, 0x85, 0xb3, 0x5b, 0x65, 0xa1, 0x06, 0x99, 0x1a, 0xbf, 0x8e, 0x7d, | 908 | 0x41, 0x30, 0xe1, 0xd8, 0x95, 0x82, 0xe8, 0xa6, 0x9f, 0x1f, 0xe7, 0xb8, |
903 | 0x35, 0xe5, 0xea, 0x9e, 0x47, 0xb1, 0x27, 0x8c, 0x5d, 0x49, 0xe4, 0x6c, | 909 | 0x5b, 0x9f, 0x79, 0x01, 0xba, 0xd7, 0x58, 0xe9, 0xa4, 0x46, 0xc3, 0xa0, |
904 | 0x1b, 0xc4, 0xec, 0x25, 0x5d, 0x49, 0x98, 0x85, 0x9c, 0x1c, 0x81, 0xdf, | 910 | 0x2b, 0xa3, 0x43, 0xa0, 0xd3, 0xa4, 0x46, 0x33, 0x85, 0x5c, 0x6e, 0x33, |
905 | 0x4f, 0xdb, 0xb9, 0x1e, 0x69, 0xc7, 0x7b, 0x7d, 0x04, 0x7c, 0x5b, 0x32, | 911 | 0xa1, 0x3c, 0x94, 0x0e, 0x43, 0xcf, 0x67, 0xa5, 0x8f, 0xf6, 0x1c, 0x3c, |
906 | 0xd5, 0x6b, 0xc9, 0x99, 0xc1, 0x68, 0xff, 0xb6, 0x62, 0x6e, 0x46, 0x16, | 912 | 0x9b, 0x1f, 0xf4, 0xae, 0x3f, 0x73, 0x09, 0xf4, 0xf7, 0xa0, 0x0a, 0xd9, |
907 | 0xcf, 0x66, 0xf0, 0x9b, 0x83, 0xfd, 0xec, 0x94, 0x57, 0x6a, 0xfd, 0xb2, | 913 | 0x2e, 0xe5, 0x5c, 0xf6, 0x87, 0x4c, 0x4f, 0x20, 0x6e, 0x19, 0x43, 0xe6, |
908 | 0x54, 0xdb, 0x2a, 0x8b, 0xb5, 0xe6, 0x7d, 0xe8, 0xec, 0x09, 0xe2, 0x1d, | 914 | 0x7e, 0xf1, 0xab, 0xe0, 0x0e, 0x83, 0x65, 0xf7, 0xaa, 0xac, 0x77, 0x64, |
909 | 0xf1, 0xf4, 0x5b, 0x53, 0xfa, 0x56, 0x71, 0xcd, 0x7e, 0xeb, 0x29, 0xfd, | 915 | 0x9c, 0xc3, 0x7e, 0x4b, 0x2b, 0xaf, 0x81, 0x16, 0x93, 0x9e, 0x6d, 0x6e, |
910 | 0x1f, 0xe4, 0x31, 0x33, 0xa0, 0xa9, 0x17, 0x7e, 0xa4, 0xee, 0x84, 0x26, | 916 | 0x0f, 0xc7, 0x96, 0xe4, 0xc5, 0xb3, 0xcd, 0x2e, 0xfa, 0x61, 0x63, 0x0b, |
911 | 0x79, 0xf6, 0x2a, 0xbc, 0x4f, 0x26, 0x49, 0xfb, 0xf5, 0xc6, 0x07, 0xd1, | 917 | 0x2d, 0x37, 0xf8, 0x7d, 0x27, 0x2d, 0x35, 0x86, 0xae, 0x1e, 0x15, 0x03, |
912 | 0x59, 0xcb, 0xcf, 0x9d, 0x68, 0x52, 0x06, 0xe2, 0xec, 0xbf, 0x71, 0x52, | 918 | 0xb4, 0x7a, 0xe3, 0x4d, 0xe6, 0x57, 0x05, 0xf2, 0x82, 0xc9, 0x8f, 0xe9, |
913 | 0xef, 0x95, 0xe5, 0x6d, 0x0f, 0x58, 0x4f, 0xea, 0xad, 0x88, 0x01, 0x3f, | 919 | 0xbd, 0xd1, 0x5e, 0xfa, 0xe9, 0x3d, 0x76, 0xfd, 0x7e, 0x01, 0x1b, 0x18, |
914 | 0x97, 0x9f, 0xee, 0xd9, 0x24, 0x3f, 0xfc, 0xcd, 0xec, 0xa9, 0x6f, 0x22, | 920 | 0x4d, 0xb2, 0x6d, 0xa3, 0xcf, 0xf3, 0xf6, 0x55, 0x4b, 0xb0, 0x6e, 0xff, |
915 | 0xd9, 0xbf, 0xb2, 0xa7, 0x83, 0x71, 0x01, 0xef, 0xec, 0xcf, 0xde, 0x70, | 921 | 0x04, 0x3c, 0xb5, 0x8f, 0x29, 0x3b, 0x60, 0xdc, 0x8c, 0x17, 0xba, 0xe1, |
916 | 0x75, 0xea, 0xe1, 0x2f, 0xa0, 0x87, 0xec, 0x9c, 0xba, 0x9b, 0x56, 0x3c, | 922 | 0xbc, 0x08, 0x9c, 0x78, 0xd7, 0x1c, 0x02, 0xae, 0x17, 0x25, 0x2f, 0x0e, |
917 | 0x90, 0x3e, 0xf5, 0x52, 0x06, 0x6f, 0x18, 0xab, 0xf7, 0x03, 0x57, 0x59, | 923 | 0xb9, 0xf6, 0x55, 0x42, 0x0e, 0x79, 0xc5, 0x19, 0xca, 0x0a, 0xb1, 0x9d, |
918 | 0xe9, 0xf9, 0x09, 0x27, 0x7b, 0x03, 0xe9, 0xb0, 0xbf, 0x68, 0xf7, 0xa7, | 924 | 0x1a, 0x99, 0x9b, 0xcc, 0xf3, 0xf0, 0xff, 0xa8, 0xab, 0x2a, 0x97, 0xa9, |
919 | 0x77, 0xea, 0x3b, 0x64, 0x32, 0xfd, 0x80, 0xf5, 0xb4, 0x6c, 0x21, 0xce, | 925 | 0x3e, 0x73, 0xc9, 0x61, 0xfd, 0x67, 0xbf, 0xf1, 0x12, 0xf2, 0x4e, 0x93, |
920 | 0xd9, 0x05, 0xc1, 0xda, 0x79, 0xe2, 0xfb, 0x2b, 0xe0, 0x0b, 0x70, 0x28, | 926 | 0x4e, 0x34, 0xd9, 0x5f, 0x32, 0x2e, 0xce, 0xfd, 0x77, 0x9b, 0x5f, 0x13, |
921 | 0xff, 0x51, 0x38, 0x77, 0x59, 0x5f, 0xd7, 0x79, 0xc6, 0x63, 0x0c, 0x71, | 927 | 0x9c, 0x23, 0xe0, 0x1d, 0xe6, 0xf5, 0x2f, 0xb1, 0x9c, 0x3b, 0x18, 0x36, |
922 | 0xe1, 0xe2, 0x10, 0x65, 0x40, 0x82, 0x95, 0xca, 0xa6, 0x5d, 0xfd, 0xc3, | 928 | 0x6b, 0x89, 0x60, 0x03, 0x8f, 0x86, 0xcc, 0x5d, 0x82, 0xf7, 0xfb, 0x6f, |
923 | 0xc8, 0x47, 0xfc, 0xfd, 0x56, 0x51, 0x27, 0x0f, 0xe7, 0xc0, 0xcb, 0x4f, | 929 | 0xec, 0xfb, 0x2e, 0x68, 0x1d, 0x02, 0x2c, 0xe2, 0x65, 0xa6, 0x7d, 0x8f, |
924 | 0xc0, 0x7f, 0x3f, 0x70, 0xa2, 0xf6, 0x48, 0x47, 0x74, 0xff, 0x4e, 0xd1, | 930 | 0x57, 0xe4, 0x1e, 0xc7, 0x9b, 0xc8, 0xf3, 0xd6, 0xf6, 0xc0, 0x5c, 0x53, |
925 | 0x7d, 0xad, 0x21, 0xe6, 0x2a, 0x5d, 0xf4, 0xd5, 0x75, 0xc8, 0xdd, 0x07, | 931 | 0xe0, 0x9c, 0x86, 0x94, 0xcb, 0x95, 0x51, 0xe6, 0xef, 0x6d, 0x7d, 0x9c, |
926 | 0x7b, 0xb5, 0xf0, 0xcb, 0xbd, 0xe9, 0x0c, 0xf7, 0x98, 0xeb, 0x22, 0xba, | 932 | 0x63, 0xea, 0xf9, 0xbf, 0x09, 0xa2, 0x5a, 0xf3, 0x95, 0xf9, 0x49, 0xf8, |
927 | 0x11, 0xbf, 0x5c, 0x73, 0x27, 0x1e, 0xee, 0x75, 0x3e, 0xea, 0xd4, 0x03, | 933 | 0xe7, 0x20, 0xa8, 0xee, 0x1e, 0x52, 0x71, 0x68, 0x90, 0xdf, 0x1f, 0x90, |
928 | 0x09, 0x79, 0xf7, 0x44, 0xb4, 0x37, 0x07, 0x64, 0xba, 0x0a, 0xdd, 0xed, | 934 | 0xb2, 0xa8, 0x8a, 0x4e, 0xba, 0xc3, 0xb0, 0x00, 0xcb, 0x73, 0x2f, 0x87, |
929 | 0xea, 0x0f, 0xfc, 0x27, 0x1d, 0xf1, 0x40, 0xde, 0xff, 0x06, 0xbc, 0x07, | 935 | 0x72, 0x84, 0x11, 0x75, 0xa1, 0xdf, 0x8c, 0xf4, 0x32, 0x05, 0x1d, 0xdb, |
930 | 0xb8, 0x5b, 0x0b, 0xcd, 0xba, 0xc3, 0x58, 0x3d, 0xa0, 0x31, 0xb6, 0x0e, | 936 | 0x63, 0x1e, 0x0a, 0x63, 0x32, 0xc7, 0xb4, 0x9f, 0x42, 0xe7, 0xac, 0x14, |
931 | 0x4f, 0x57, 0xf6, 0x44, 0xbe, 0x98, 0x84, 0x5f, 0xed, 0xb6, 0x9e, 0x10, | 937 | 0xeb, 0x4d, 0xaa, 0xef, 0x9a, 0xde, 0xf0, 0xbb, 0xfa, 0x8c, 0x07, 0xda, |
932 | 0xd6, 0x63, 0xc4, 0x9b, 0x94, 0x1f, 0xbe, 0x0c, 0x1e, 0x92, 0xf4, 0x93, | 938 | 0x8a, 0x0b, 0x9d, 0x54, 0xaa, 0x27, 0x90, 0x03, 0x19, 0x34, 0x97, 0xc3, |
933 | 0x7f, 0x5f, 0xe3, 0x27, 0x1c, 0xdb, 0x2a, 0x35, 0xd4, 0xd4, 0x5e, 0xde, | 939 | 0x18, 0x3a, 0x54, 0x6a, 0xb0, 0xce, 0x57, 0x42, 0x9d, 0x4f, 0x86, 0xb8, |
934 | 0x94, 0x69, 0x25, 0x03, 0xda, 0x35, 0xfa, 0x77, 0x29, 0xf4, 0xef, 0x47, | 940 | 0x4f, 0x82, 0x17, 0xb6, 0xb5, 0x2a, 0xb8, 0x76, 0xda, 0x26, 0xeb, 0x5f, |
935 | 0x80, 0xa3, 0x5d, 0x8c, 0x47, 0x1f, 0xc7, 0x59, 0x9d, 0xcd, 0x2c, 0xeb, | 941 | 0x1d, 0xb6, 0x5c, 0xae, 0x71, 0xed, 0x89, 0xfc, 0xdb, 0x3c, 0x37, 0x33, |
936 | 0xcc, 0x03, 0x76, 0x4b, 0x51, 0xdd, 0x4f, 0xdf, 0x8b, 0xee, 0xa2, 0xd8, | 942 | 0xed, 0x18, 0xa0, 0x6b, 0x44, 0x2b, 0xb7, 0x1c, 0xad, 0xec, 0x33, 0x7d, |
937 | 0x94, 0x96, 0x8b, 0x95, 0x28, 0x2e, 0xa5, 0x71, 0x9e, 0xb4, 0xcb, 0xa5, | 943 | 0xbb, 0x41, 0xb7, 0x26, 0x6b, 0xdc, 0xa5, 0xd6, 0x7b, 0xc1, 0xd2, 0xee, |
938 | 0xb9, 0x28, 0xe6, 0xb5, 0xcb, 0x12, 0xf2, 0x9a, 0x95, 0x97, 0x2c, 0x8c, | 944 | 0x4d, 0xe8, 0x43, 0xe7, 0x27, 0x58, 0xae, 0x5f, 0x60, 0xba, 0xac, 0x82, |
939 | 0x25, 0xe5, 0xe2, 0x5c, 0x12, 0x31, 0xab, 0x47, 0x56, 0xe6, 0x7a, 0x30, | 945 | 0x60, 0x3e, 0xa7, 0xe9, 0xd4, 0xf0, 0xdf, 0xf5, 0x72, 0x3e, 0x75, 0x7a, |
940 | 0x96, 0xc2, 0xba, 0x14, 0xe6, 0xdb, 0xb2, 0x52, 0xb1, 0x81, 0x27, 0x87, | 946 | 0x98, 0xf1, 0x83, 0x8e, 0x74, 0x9a, 0x96, 0x7d, 0xde, 0xa3, 0x3e, 0xc3, |
941 | 0x76, 0x0e, 0xed, 0x21, 0xb9, 0xa4, 0xbe, 0x17, 0x30, 0x2f, 0x18, 0x42, | 947 | 0x3c, 0x2c, 0x2f, 0x98, 0xf4, 0x88, 0x94, 0xdb, 0x6b, 0xd2, 0xa6, 0xcb, |
942 | 0xdc, 0x62, 0x5e, 0x30, 0x82, 0x18, 0x32, 0x81, 0x27, 0x8a, 0x5d, 0xa7, | 948 | 0x2b, 0xb0, 0xa5, 0xd4, 0x90, 0x79, 0x94, 0xec, 0xab, 0x17, 0x75, 0xbb, |
943 | 0x66, 0xa6, 0x2a, 0xbc, 0x73, 0x84, 0x0e, 0xac, 0x53, 0x33, 0xd3, 0xb6, | 949 | 0x3e, 0x05, 0x7b, 0x5e, 0x5a, 0xd4, 0x69, 0xa7, 0xac, 0xb1, 0x58, 0x36, |
944 | 0x89, 0xba, 0xed, 0x1b, 0xda, 0x54, 0x83, 0x72, 0x41, 0xb7, 0x43, 0x1d, | 950 | 0xf6, 0x31, 0x58, 0x7c, 0x78, 0xf6, 0x43, 0x6d, 0x67, 0xef, 0xa1, 0x4b, |
945 | 0xa2, 0x3f, 0x4a, 0x9b, 0xe4, 0x79, 0x67, 0x20, 0xc6, 0x77, 0x01, 0x9f, | 951 | 0x4f, 0xff, 0x16, 0x7c, 0x0d, 0xf3, 0xd5, 0xb0, 0x0e, 0x23, 0x9f, 0x58, |
946 | 0x23, 0xfa, 0x6f, 0xd0, 0x17, 0xa0, 0xc3, 0x27, 0xba, 0xe4, 0xd2, 0xcb, | 952 | 0x40, 0xee, 0x51, 0x45, 0x6e, 0x5c, 0xc8, 0x30, 0x6c, 0xc4, 0xef, 0xad, |
947 | 0x8c, 0x35, 0xae, 0xbc, 0x7a, 0x96, 0x3a, 0x2c, 0xf6, 0xac, 0xea, 0x90, | 953 | 0x92, 0xff, 0x42, 0xf2, 0x7f, 0x07, 0x55, 0xa5, 0x0d, 0x65, 0xe4, 0x3b, |
948 | 0x63, 0x0f, 0xe1, 0x8c, 0xd8, 0x0f, 0x7b, 0x32, 0x33, 0x87, 0x90, 0xcb, | 954 | 0x01, 0x1c, 0xea, 0x1d, 0x8f, 0x91, 0x2b, 0xc9, 0x77, 0xf7, 0x2a, 0x38, |
949 | 0x7c, 0x1b, 0xf6, 0x59, 0x66, 0xcd, 0x9d, 0x0e, 0x6a, 0x84, 0x20, 0x06, | 955 | 0xf6, 0x11, 0x19, 0x7e, 0x77, 0x14, 0x7b, 0x32, 0x8f, 0xa3, 0xf9, 0x6e, |
950 | 0xa0, 0xdd, 0x47, 0x5d, 0xb1, 0xdd, 0x07, 0xbb, 0xe3, 0x58, 0x9f, 0x1a, | 956 | 0x52, 0x36, 0x14, 0xf1, 0x1d, 0x89, 0x44, 0x33, 0x4d, 0xbf, 0x8b, 0x9a, |
951 | 0x5b, 0x04, 0x8e, 0x60, 0x8c, 0xed, 0xcd, 0xb2, 0xa8, 0xc6, 0x0e, 0xaa, | 957 | 0x67, 0xb2, 0x39, 0x48, 0xa5, 0xa6, 0x05, 0x19, 0xcc, 0xf4, 0xf1, 0xd9, |
952 | 0xb1, 0xb2, 0xb2, 0x0f, 0x8e, 0x1d, 0x52, 0xb1, 0xe9, 0x7c, 0x23, 0xea, | 958 | 0x8a, 0x2b, 0x38, 0x8f, 0x60, 0x5a, 0xef, 0xa5, 0xc3, 0x7e, 0x44, 0x4f, |
953 | 0xdf, 0x88, 0x58, 0xc2, 0x7e, 0xf6, 0xe5, 0x61, 0xeb, 0x7b, 0x71, 0xae, | 959 | 0x32, 0xa4, 0x6f, 0x32, 0x1c, 0x27, 0x42, 0x1a, 0xda, 0xf1, 0x25, 0x81, |
954 | 0x15, 0x64, 0xa9, 0x81, 0x3a, 0x30, 0xff, 0x7b, 0x98, 0xcb, 0x3d, 0xc8, | 960 | 0x0b, 0x31, 0x3e, 0xf7, 0x57, 0x21, 0x1e, 0xf6, 0x1f, 0xa0, 0x75, 0x32, |
955 | 0x9e, 0x2a, 0xe9, 0xe4, 0xf1, 0x20, 0xce, 0x83, 0xfd, 0x21, 0xad, 0xb6, | 961 | 0x43, 0x2b, 0x3e, 0xd3, 0xb1, 0x85, 0xaa, 0x69, 0xee, 0x1f, 0x80, 0x9e, |
956 | 0x90, 0xaf, 0x03, 0x61, 0xbb, 0x25, 0xa4, 0x4d, 0x3c, 0x36, 0x70, 0x1c, | 962 | 0x31, 0x9e, 0x4d, 0x9c, 0xc7, 0xac, 0xe3, 0xf1, 0x91, 0x66, 0x05, 0x3c, |
957 | 0xc3, 0x5a, 0x17, 0x38, 0x18, 0x63, 0x11, 0x23, 0x52, 0x29, 0xe8, 0x82, | 963 | 0x66, 0xfe, 0xf2, 0xba, 0x24, 0x2d, 0x7d, 0x85, 0xe5, 0xb7, 0x07, 0xf9, |
958 | 0x34, 0xdb, 0xa4, 0xac, 0xde, 0xf7, 0xc3, 0x76, 0xb9, 0x16, 0x3a, 0xb4, | 964 | 0x3b, 0xeb, 0xc2, 0x96, 0x50, 0xaf, 0xd4, 0x9e, 0xa5, 0x85, 0x1e, 0xc8, |
959 | 0xa2, 0x75, 0xa5, 0x70, 0xcf, 0x53, 0xea, 0x9c, 0xd1, 0x93, 0x9b, 0xc3, | 965 | 0x8a, 0xf7, 0xed, 0xa2, 0xbb, 0x61, 0xef, 0xc5, 0x06, 0xef, 0x3f, 0x09, |
960 | 0x9c, 0x10, 0x7a, 0x45, 0x9c, 0xd5, 0x93, 0x8c, 0x37, 0xef, 0x84, 0x76, | 966 | 0x3d, 0x7a, 0x59, 0xee, 0x5f, 0x5a, 0x19, 0x08, 0xe1, 0x19, 0xb6, 0x67, |
961 | 0xda, 0x8b, 0xbe, 0x87, 0x44, 0xef, 0x65, 0xdf, 0x51, 0xe0, 0x61, 0xed, | 967 | 0x03, 0x6c, 0x27, 0xed, 0xab, 0x9b, 0xd7, 0x81, 0xff, 0x7d, 0xc0, 0x0b, |
962 | 0x3c, 0x0c, 0x99, 0xd9, 0xe6, 0xfa, 0x6c, 0xd3, 0xfa, 0xc4, 0x3a, 0xeb, | 968 | 0x3a, 0x99, 0x63, 0x78, 0xc6, 0x83, 0x75, 0x8d, 0xf4, 0x67, 0xe0, 0x49, |
963 | 0x3b, 0x9a, 0xfa, 0x32, 0x52, 0x9b, 0xef, 0x52, 0xf1, 0xf2, 0x7c, 0x18, | 969 | 0xc9, 0x5a, 0xbe, 0xd8, 0xe8, 0xa4, 0x62, 0x3d, 0xc2, 0xc5, 0x78, 0x3e, |
964 | 0x2f, 0x17, 0x6b, 0x94, 0x05, 0x7e, 0x96, 0x7f, 0x5b, 0xe9, 0xa2, 0x76, | 970 | 0x46, 0xad, 0x7b, 0x9f, 0xc4, 0x35, 0x2d, 0x71, 0xe1, 0x7d, 0x83, 0x7d, |
965 | 0x36, 0xb0, 0xf5, 0xa5, 0x93, 0x3c, 0x17, 0x57, 0xe7, 0xd5, 0xd4, 0xbc, | 971 | 0xcd, 0xad, 0x80, 0x47, 0xbd, 0xee, 0x80, 0xb6, 0x54, 0x37, 0x2d, 0xc9, |
966 | 0xdf, 0x06, 0xff, 0xba, 0x1c, 0x55, 0x32, 0x70, 0x3e, 0xe6, 0xd5, 0x02, | 972 | 0x7a, 0xbd, 0x4b, 0xf9, 0x98, 0xd4, 0x66, 0xbc, 0xdf, 0x02, 0x5b, 0xdf, |
967 | 0xbf, 0x31, 0x6c, 0xce, 0xa1, 0x8f, 0x44, 0x6b, 0x38, 0xff, 0xe7, 0xa8, | 973 | 0x83, 0x3c, 0xa6, 0x07, 0x73, 0xd6, 0x86, 0xb9, 0x8d, 0xf4, 0x27, 0x36, |
968 | 0x55, 0xbe, 0xac, 0xd6, 0xac, 0xfa, 0x0c, 0xf9, 0x71, 0x42, 0x9e, 0x7b, | 974 | 0xd0, 0xdf, 0x89, 0x75, 0xfd, 0xd8, 0x53, 0xad, 0x2b, 0x61, 0xdd, 0xec, |
969 | 0xc0, 0x5f, 0x67, 0x28, 0x43, 0x7b, 0x28, 0x03, 0xf1, 0xfd, 0x27, 0x70, | 975 | 0x02, 0x6c, 0x82, 0x73, 0xf3, 0x34, 0xc7, 0xe4, 0x1b, 0x25, 0x2d, 0xb3, |
970 | 0xb7, 0x61, 0x1e, 0x79, 0xdd, 0x86, 0x3e, 0xbe, 0xff, 0x17, 0xfa, 0x76, | 976 | 0x2b, 0xef, 0xe1, 0x5c, 0x03, 0x80, 0x8d, 0xc6, 0x8a, 0x0f, 0x75, 0xe0, |
971 | 0x23, 0xff, 0x23, 0x6f, 0x89, 0x26, 0xde, 0xfe, 0x03, 0x63, 0x3d, 0x4a, | 977 | 0xf9, 0x5e, 0x43, 0xde, 0x4b, 0x40, 0x06, 0x9b, 0x53, 0x7c, 0xf6, 0x6a, |
972 | 0xb7, 0x35, 0xd4, 0x26, 0x53, 0xbc, 0xef, 0x48, 0xe1, 0x1c, 0x38, 0xb9, | 978 | 0xe3, 0xf3, 0x78, 0x76, 0x63, 0x1b, 0xbf, 0x98, 0x57, 0x4c, 0x2f, 0xd3, |
973 | 0x4d, 0xd1, 0xad, 0x9d, 0xbd, 0x86, 0xf1, 0x5e, 0xac, 0x89, 0xda, 0xcd, | 979 | 0x0a, 0x3d, 0x25, 0xd8, 0x9b, 0x8b, 0x9a, 0x2f, 0xa5, 0x53, 0x29, 0x87, |
974 | 0xb2, 0xe9, 0x58, 0xfb, 0x53, 0x25, 0xcf, 0x62, 0xed, 0x4e, 0xf2, 0x6f, | 980 | 0x78, 0xee, 0xf3, 0x5d, 0x2d, 0xdb, 0xe5, 0xa0, 0xaa, 0x0b, 0x1c, 0x8e, |
975 | 0x5b, 0x23, 0x3b, 0xe5, 0x26, 0x4f, 0xe4, 0xa7, 0x1f, 0x4f, 0x2b, 0x72, | 981 | 0xeb, 0x86, 0x3c, 0xfb, 0xe1, 0x15, 0xbe, 0xaf, 0xb5, 0x10, 0x4f, 0xed, |
976 | 0x21, 0xd8, 0x6d, 0xd2, 0x90, 0xd1, 0x7c, 0x9a, 0xdf, 0xf9, 0x12, 0xbc, | 982 | 0x2c, 0xe1, 0xec, 0x0f, 0xaf, 0x38, 0xf4, 0x68, 0x33, 0x4b, 0x47, 0x9b, |
977 | 0x17, 0x1d, 0x19, 0xe4, 0x9e, 0xa1, 0xdd, 0x60, 0x4e, 0x47, 0x7f, 0x4b, | 983 | 0xb6, 0x79, 0x3f, 0x7c, 0x40, 0x79, 0xed, 0x1e, 0x77, 0x57, 0x8a, 0xfd, |
978 | 0xc8, 0x31, 0xd4, 0x24, 0xe5, 0x85, 0x8c, 0x56, 0x3c, 0x99, 0x45, 0x16, | 984 | 0x96, 0x81, 0x9c, 0xb3, 0xc3, 0x51, 0x39, 0x48, 0x95, 0xeb, 0xb1, 0x05, |
979 | 0xad, 0xbe, 0xd5, 0xc9, 0x8b, 0x4b, 0xb6, 0x7c, 0x1b, 0x7e, 0x7a, 0xb2, | 985 | 0x9b, 0xef, 0x68, 0xcc, 0x06, 0x6d, 0xcc, 0x53, 0xfe, 0x2f, 0x73, 0x14, |
980 | 0x9e, 0x4d, 0x7f, 0x13, 0xf9, 0xc1, 0x91, 0x25, 0xe6, 0x13, 0x3d, 0x29, | 986 | 0xde, 0x9f, 0xfd, 0x34, 0x72, 0x12, 0x1f, 0x39, 0x89, 0x8f, 0x9c, 0xc4, |
981 | 0x65, 0x9b, 0xf3, 0x9a, 0x6c, 0x60, 0x4c, 0x9b, 0x47, 0x7e, 0x6a, 0xdd, | 987 | 0x47, 0x4e, 0xe2, 0x23, 0x27, 0xf1, 0x91, 0x93, 0xf8, 0xc8, 0x49, 0x7c, |
982 | 0x2d, 0x47, 0x82, 0x9f, 0x57, 0xd7, 0xc6, 0x0c, 0xca, 0xb1, 0x36, 0x66, | 988 | 0xe4, 0x24, 0xc8, 0xff, 0x55, 0x5d, 0x30, 0x8e, 0x5c, 0x1b, 0xfe, 0xcb, |
983 | 0x10, 0x0f, 0x63, 0xc6, 0x4e, 0xec, 0x13, 0x63, 0x06, 0xf6, 0xff, 0x24, | 989 | 0xff, 0x6a, 0x98, 0x53, 0x44, 0x31, 0x99, 0xe7, 0x56, 0x37, 0x79, 0x6e, |
984 | 0x63, 0x86, 0x8d, 0x75, 0x8c, 0x19, 0x79, 0x59, 0xac, 0x32, 0x66, 0xec, | 990 | 0x74, 0x4f, 0x7c, 0x00, 0x73, 0x13, 0x61, 0xee, 0xc3, 0x6b, 0xa2, 0x98, |
985 | 0x45, 0x9b, 0x31, 0xa3, 0x80, 0x76, 0x10, 0x2f, 0x16, 0x55, 0xbc, 0xc8, | 991 | 0xcd, 0xeb, 0x68, 0xcc, 0x43, 0xbd, 0x59, 0x98, 0xe4, 0xdc, 0x48, 0xc5, |
986 | 0x5a, 0xcb, 0xc2, 0x38, 0x81, 0x3c, 0xb1, 0x8a, 0x3c, 0xb1, 0x8a, 0x3c, | 992 | 0x2a, 0x95, 0x97, 0xbf, 0x8a, 0xfc, 0xc8, 0x42, 0x7e, 0x34, 0x88, 0x5c, |
987 | 0xb1, 0x8a, 0x3c, 0xb1, 0x8a, 0x3c, 0x11, 0xb6, 0xfe, 0x5a, 0x15, 0x79, | 993 | 0x88, 0xef, 0xb5, 0xa3, 0xfb, 0xa3, 0x82, 0x76, 0xc8, 0x1f, 0xd7, 0xbe, |
988 | 0x22, 0xfc, 0xe7, 0x3c, 0x72, 0x92, 0xa0, 0xa6, 0x38, 0x8c, 0x9a, 0xc2, | 994 | 0xe6, 0x73, 0xde, 0xee, 0x58, 0x65, 0x21, 0x16, 0xfa, 0x29, 0xa0, 0xe2, |
989 | 0xd5, 0xc6, 0xaa, 0xe3, 0xda, 0xbe, 0x2a, 0x6a, 0x43, 0xf5, 0x9d, 0x58, | 995 | 0xe8, 0xb7, 0x90, 0x23, 0x7f, 0x4f, 0xde, 0x95, 0x4d, 0x0c, 0xb3, 0xcc, |
990 | 0x1f, 0xda, 0x80, 0xba, 0xa8, 0xe6, 0x6c, 0x01, 0x5f, 0xd7, 0xe0, 0x1b, | 996 | 0x27, 0x3e, 0x25, 0x4f, 0x8e, 0xf8, 0xab, 0xee, 0xf8, 0xc4, 0x12, 0xf3, |
991 | 0xd4, 0xd3, 0x56, 0x99, 0xca, 0xed, 0x80, 0x7c, 0xd8, 0x7f, 0xfb, 0xfb, | 997 | 0x8f, 0xa8, 0xef, 0x2c, 0x18, 0x7e, 0x36, 0x41, 0xa9, 0x53, 0x5b, 0x30, |
992 | 0xe8, 0x43, 0x3e, 0x9f, 0x63, 0x0d, 0xc2, 0x78, 0xb5, 0x0f, 0x6d, 0x1d, | 998 | 0x67, 0x52, 0xbf, 0xbc, 0x27, 0x82, 0x28, 0xcf, 0xfe, 0x1a, 0xf2, 0x72, |
993 | 0x6d, 0xec, 0xe9, 0x04, 0x7c, 0xc4, 0x7e, 0x90, 0xf9, 0x62, 0x7a, 0x41, | 999 | 0x48, 0x9c, 0xe5, 0xdb, 0x04, 0xc6, 0xcb, 0xfe, 0xb5, 0x32, 0x53, 0x6c, |
994 | 0x9e, 0xdc, 0x1c, 0xd8, 0xf4, 0x6f, 0x31, 0x27, 0x5e, 0xd3, 0xde, 0x88, | 1000 | 0x54, 0xa4, 0x4e, 0x1d, 0x6a, 0x96, 0x90, 0x3f, 0xf5, 0xf6, 0x53, 0x97, |
995 | 0x39, 0xf0, 0x17, 0xd8, 0x97, 0x5a, 0x03, 0x5c, 0xba, 0xfd, 0xe7, 0xc4, | 1001 | 0x81, 0x1a, 0x2a, 0xc2, 0xcd, 0x38, 0x7f, 0x99, 0x92, 0xb5, 0xcd, 0xd9, |
996 | 0xd1, 0xb7, 0xe1, 0xd6, 0x1c, 0xda, 0xd5, 0xf7, 0x9a, 0xfa, 0xb2, 0x98, | 1002 | 0x35, 0x79, 0x42, 0xd6, 0xbc, 0x4f, 0x65, 0xa6, 0x5a, 0xb7, 0x33, 0x5c, |
997 | 0xcf, 0xef, 0xe2, 0x3b, 0xf0, 0xfb, 0x16, 0x7e, 0x61, 0x77, 0xf6, 0x05, | 1003 | 0xd7, 0x82, 0xd6, 0x99, 0x27, 0x81, 0x63, 0x19, 0x39, 0x81, 0x2e, 0xf7, |
998 | 0xcc, 0xe9, 0xc3, 0xef, 0x77, 0x9a, 0xe6, 0x42, 0x0a, 0xfb, 0x2f, 0xd1, | 1004 | 0xae, 0xcc, 0xcc, 0xd6, 0xd5, 0x5d, 0x95, 0xa2, 0x01, 0xf1, 0x2f, 0xd7, |
999 | 0x77, 0x31, 0xa4, 0xc1, 0x6f, 0x89, 0x5f, 0x6a, 0xe2, 0xe3, 0x07, 0xe8, | 1005 | 0x45, 0xfa, 0x92, 0xba, 0xb3, 0x12, 0x12, 0x96, 0xe1, 0x18, 0xde, 0x00, |
1000 | 0xfb, 0x6b, 0xf4, 0xf9, 0xfe, 0xdb, 0x4e, 0xd4, 0x27, 0xa5, 0x96, 0x70, | 1006 | 0x1c, 0xcb, 0x2d, 0x0b, 0x58, 0x96, 0x1d, 0xd3, 0x50, 0x99, 0xa9, 0x34, |
1001 | 0xef, 0x46, 0xd5, 0xde, 0x69, 0xca, 0xe6, 0x8f, 0x2c, 0xe9, 0xaa, 0x0e, | 1007 | 0xda, 0x69, 0x60, 0x3c, 0x8c, 0x37, 0x3a, 0x0f, 0x9f, 0x25, 0x45, 0xe2, |
1002 | 0x7a, 0xae, 0x8e, 0xea, 0x08, 0x71, 0xbe, 0xbc, 0x10, 0xd4, 0xad, 0xc7, | 1008 | 0x54, 0x10, 0x94, 0x47, 0x07, 0xc3, 0x3a, 0x12, 0xf5, 0xe3, 0x09, 0x43, |
1003 | 0x51, 0x73, 0x16, 0xab, 0xb4, 0x91, 0x1c, 0xfa, 0x6d, 0x9c, 0x69, 0x32, | 1009 | 0xea, 0xb9, 0x1a, 0x7f, 0x53, 0xc6, 0x29, 0x4b, 0xf0, 0x3c, 0x3f, 0xf1, |
1004 | 0x69, 0xdc, 0xaa, 0x63, 0x13, 0x89, 0xc9, 0x7a, 0x9b, 0x48, 0x37, 0x69, | 1010 | 0x2e, 0xf7, 0x24, 0xe6, 0x30, 0x5e, 0x8e, 0xd6, 0x8a, 0x70, 0x6d, 0x77, |
1005 | 0x32, 0x4f, 0x22, 0x8e, 0xd9, 0x99, 0xe2, 0xc2, 0xec, 0x8c, 0x07, 0x9c, | 1011 | 0x1b, 0x3f, 0x3b, 0xc2, 0xfd, 0x98, 0x26, 0x3e, 0xe7, 0x65, 0xec, 0xc5, |
1006 | 0x63, 0x75, 0xae, 0xe5, 0x3c, 0x93, 0xf7, 0x63, 0x4d, 0x74, 0x69, 0x13, | 1012 | 0x74, 0xf1, 0x1a, 0x13, 0xb4, 0x41, 0x96, 0xfe, 0xff, 0x96, 0xf7, 0xed, |
1007 | 0x60, 0x06, 0xf4, 0x9e, 0xab, 0x93, 0x7e, 0x40, 0xb3, 0xac, 0x68, 0xda, | 1013 | 0x67, 0x62, 0x9e, 0x1a, 0x80, 0xe1, 0xf5, 0x8c, 0x23, 0x82, 0xc1, 0x8b, |
1008 | 0xe8, 0x8f, 0xea, 0xc7, 0x1c, 0x6a, 0x5d, 0x99, 0x64, 0xed, 0x5c, 0x0c, | 1014 | 0xb3, 0x0a, 0x4e, 0xac, 0xdd, 0xed, 0x7d, 0xd6, 0xbe, 0xed, 0xb4, 0x46, |
1009 | 0x69, 0xba, 0x75, 0x49, 0x24, 0x0a, 0xcd, 0xf8, 0x82, 0x8c, 0xf3, 0xb9, | 1015 | 0xfb, 0x47, 0x78, 0xb2, 0x4a, 0x6e, 0x6b, 0xf0, 0xf2, 0xff, 0x0a, 0xc3, |
1010 | 0xfa, 0xec, 0x8c, 0xfe, 0x42, 0x36, 0xc7, 0x3b, 0x11, 0xd7, 0x9a, 0x9d, | 1016 | 0x13, 0xba, 0xf8, 0x89, 0x3b, 0xd2, 0x6c, 0x5b, 0x6d, 0x1c, 0xdd, 0x35, |
1011 | 0x69, 0x1d, 0x48, 0xc8, 0x8f, 0x91, 0xbb, 0x1d, 0x53, 0x34, 0x66, 0x67, | 1017 | 0x70, 0xcd, 0xcf, 0x35, 0x3c, 0x7f, 0x47, 0x68, 0xaf, 0x4b, 0x4b, 0x61, |
1012 | 0x8c, 0x17, 0x02, 0x5b, 0x0c, 0xe8, 0xe0, 0x3c, 0xc9, 0xb7, 0x43, 0x4e, | 1018 | 0x2c, 0x83, 0x2e, 0xaa, 0xbb, 0xd4, 0x70, 0x6c, 0x70, 0x6c, 0x43, 0xe3, |
1013 | 0xd2, 0x62, 0x4d, 0x1d, 0x8c, 0x4f, 0xaa, 0x7a, 0xd1, 0x94, 0x2b, 0x15, | 1019 | 0x1c, 0x3f, 0xb2, 0x91, 0xf6, 0x7b, 0x42, 0x95, 0x9b, 0x9c, 0x59, 0x8c, |
1014 | 0x45, 0x3b, 0xac, 0xdb, 0xc9, 0xc3, 0xec, 0x8c, 0xfc, 0xd1, 0x2d, 0x1e, | 1020 | 0x7c, 0x0e, 0xfc, 0xc1, 0xb0, 0x11, 0xfa, 0xed, 0x24, 0xfc, 0x56, 0x0f, |
1015 | 0xd6, 0x91, 0x87, 0x78, 0x49, 0x27, 0xd0, 0x5b, 0xc0, 0x7f, 0x12, 0xf5, | 1021 | 0xed, 0x83, 0xbf, 0xb9, 0x13, 0xfe, 0x66, 0x3f, 0xea, 0xca, 0xf1, 0x95, |
1016 | 0x7b, 0x54, 0xab, 0xfb, 0xfe, 0x8a, 0x93, 0x43, 0x5c, 0xe0, 0x3e, 0xb6, | 1022 | 0xf6, 0xfb, 0x57, 0xae, 0x65, 0xab, 0x74, 0x58, 0xca, 0xae, 0x12, 0xe8, |
1017 | 0xa8, 0x3c, 0xd7, 0x73, 0x32, 0xbc, 0xef, 0x9b, 0xe3, 0xdf, 0x39, 0x78, | 1023 | 0xce, 0xc7, 0x90, 0xdf, 0x2e, 0x99, 0xa3, 0x29, 0x79, 0xc2, 0x57, 0xba, |
1018 | 0xf9, 0x01, 0xd4, 0x4d, 0xbc, 0x1b, 0xa4, 0x7f, 0xe1, 0xf7, 0x36, 0xff, | 1024 | 0xfc, 0x2d, 0x62, 0xe3, 0x3d, 0x6f, 0x16, 0x7a, 0xdd, 0x55, 0x10, 0x32, |
1019 | 0xe2, 0x7c, 0xf6, 0x93, 0xe7, 0x81, 0xf4, 0x55, 0xf0, 0xe7, 0xe5, 0xd1, | 1025 | 0xff, 0x52, 0x7c, 0xab, 0x36, 0x14, 0xdf, 0xe0, 0x53, 0x81, 0xdf, 0xa0, |
1020 | 0x87, 0x58, 0x51, 0x6c, 0x44, 0xb8, 0x78, 0xc7, 0xce, 0x39, 0x2a, 0xff, | 1026 | 0x4a, 0xd3, 0xa4, 0x0a, 0xf6, 0xad, 0x60, 0xdf, 0x0a, 0xea, 0xc1, 0xd9, |
1021 | 0x6e, 0xf2, 0xd1, 0x96, 0xf0, 0xdc, 0xa5, 0x8e, 0xc8, 0x27, 0xf9, 0xe9, | 1027 | 0x66, 0xfb, 0x77, 0xaa, 0xee, 0xb0, 0xc6, 0x66, 0xd8, 0xa8, 0x6f, 0x86, |
1022 | 0x84, 0x4d, 0x90, 0x17, 0xce, 0x8f, 0xee, 0x25, 0xd8, 0xfe, 0xb8, 0x36, | 1028 | 0xe7, 0xd2, 0xda, 0x9e, 0xc7, 0xc0, 0xbb, 0x47, 0xc1, 0xbb, 0x23, 0xa8, |
1023 | 0x12, 0xdd, 0xa9, 0x7d, 0x9c, 0x3d, 0x8f, 0x74, 0x76, 0x37, 0x7e, 0x88, | 1029 | 0x83, 0xfe, 0x04, 0x75, 0xd0, 0x1f, 0xa2, 0x0e, 0x3a, 0x8c, 0x3a, 0x68, |
1024 | 0x83, 0xb4, 0x23, 0xbe, 0x22, 0x9e, 0x88, 0x8f, 0xfc, 0x44, 0xbc, 0x28, | 1030 | 0x0a, 0x75, 0xd0, 0x7d, 0xb0, 0xfd, 0x7b, 0x61, 0xfb, 0x93, 0xb0, 0xfd, |
1025 | 0x1b, 0x5d, 0x97, 0x9f, 0x60, 0x5d, 0xc0, 0x4f, 0x69, 0x21, 0x0d, 0x9d, | 1031 | 0x09, 0x79, 0xc7, 0x73, 0xc8, 0xdf, 0x78, 0xef, 0x11, 0xed, 0xc5, 0xed, |
1026 | 0x90, 0xa7, 0x11, 0x6d, 0xa4, 0xba, 0xde, 0x1d, 0xc7, 0x0f, 0x5c, 0xc6, | 1032 | 0x4d, 0x22, 0x88, 0xaf, 0x7c, 0x62, 0x9c, 0x1a, 0x2d, 0xae, 0x87, 0x5c, |
1027 | 0xd5, 0xb1, 0x06, 0xef, 0xa1, 0x48, 0x97, 0x7f, 0x3b, 0xb2, 0xa4, 0x8d, | 1033 | 0x79, 0x7f, 0x35, 0xed, 0x4e, 0x6a, 0x53, 0xc8, 0xb9, 0xef, 0x1f, 0xe1, |
1028 | 0x34, 0xf8, 0x9d, 0xa9, 0xae, 0xb9, 0x8d, 0x88, 0xde, 0x5a, 0x9d, 0x46, | 1034 | 0x3a, 0x29, 0xa5, 0xee, 0x2b, 0x73, 0xf6, 0x73, 0x1e, 0xd2, 0x2e, 0xe4, |
1029 | 0xbf, 0xbc, 0x2b, 0xff, 0x0c, 0xf6, 0xa9, 0x3b, 0xf8, 0xbb, 0x14, 0x55, | 1035 | 0x6d, 0x38, 0xb3, 0x7d, 0xa6, 0xa8, 0x47, 0x35, 0x4a, 0xdf, 0x5a, 0x8d, |
1030 | 0x47, 0xb1, 0x6f, 0xb9, 0xd5, 0x73, 0xa2, 0xbf, 0xd3, 0xd9, 0x1f, 0xe6, | 1036 | 0xb2, 0x3c, 0xcf, 0x35, 0xca, 0xab, 0x6b, 0x35, 0xca, 0xf2, 0x3c, 0xd7, |
1031 | 0x43, 0x51, 0x6d, 0x1c, 0xd5, 0x59, 0xea, 0x9e, 0x7d, 0xaf, 0xe7, 0x68, | 1037 | 0x28, 0xaf, 0xac, 0xab, 0x51, 0xae, 0x3c, 0xfd, 0xf2, 0xba, 0x1a, 0xe5, |
1032 | 0xc8, 0x4f, 0x99, 0x33, 0x05, 0x3a, 0x08, 0xf1, 0xde, 0x91, 0xcf, 0x91, | 1038 | 0xca, 0xd3, 0x2f, 0x85, 0x63, 0xa6, 0x03, 0x7e, 0xc9, 0x0d, 0x69, 0x35, |
1033 | 0x26, 0x3e, 0x47, 0xc1, 0xe7, 0x3e, 0xf0, 0x39, 0x76, 0x8b, 0xcf, 0x5b, | 1039 | 0x5d, 0x3c, 0x7b, 0xc3, 0x7c, 0xe1, 0xfb, 0xfd, 0xeb, 0xff, 0x1f, 0x3a, |
1034 | 0xb6, 0x97, 0x29, 0xc3, 0xf6, 0x46, 0xd6, 0xb5, 0xbd, 0x55, 0x3a, 0xab, | 1040 | 0x6e, 0x9d, 0x1a, 0x39, 0xdf, 0xd8, 0xaa, 0xea, 0x9a, 0xf6, 0xf9, 0xde, |
1035 | 0x73, 0x83, 0xfb, 0x9a, 0x91, 0x86, 0x2f, 0xc7, 0x9d, 0x8f, 0x53, 0x37, | 1041 | 0xb6, 0xf9, 0x55, 0xf9, 0x6d, 0xb4, 0x5c, 0xdb, 0xfc, 0x3e, 0xbc, 0x27, |
1036 | 0xb7, 0xcb, 0x99, 0x85, 0xbb, 0xd5, 0xb7, 0x11, 0xaf, 0x2a, 0x77, 0x94, | 1042 | 0xad, 0x0c, 0xdb, 0xf5, 0x02, 0x7d, 0x1c, 0xf0, 0xf7, 0x3d, 0x4f, 0x74, |
1037 | 0x4b, 0xf5, 0x80, 0x9f, 0x1f, 0x2f, 0xb1, 0x3d, 0x12, 0xea, 0x8a, 0x3a, | 1043 | 0xc9, 0xef, 0x6a, 0x9e, 0xcc, 0x91, 0x61, 0xa3, 0xa3, 0x47, 0xb7, 0x2a, |
1038 | 0xcb, 0x3a, 0x25, 0xb9, 0x1b, 0x2f, 0xbf, 0xf8, 0x9c, 0x76, 0xa5, 0x12, | 1044 | 0x3b, 0xe6, 0x7e, 0x5a, 0x53, 0xbe, 0xf9, 0x41, 0xe0, 0x01, 0xaf, 0x7d, |
1039 | 0x9d, 0x4f, 0x5a, 0x78, 0xc6, 0xae, 0xe5, 0x29, 0xfa, 0x6e, 0x32, 0x66, | 1045 | 0x43, 0xde, 0xe1, 0xa8, 0xf3, 0xaa, 0xbb, 0x6c, 0x23, 0xbf, 0x8a, 0x38, |
1040 | 0x45, 0xf7, 0x67, 0x22, 0xfc, 0xfe, 0xc0, 0xef, 0x75, 0x6b, 0xbf, 0x13, | 1046 | 0x03, 0x59, 0x4b, 0xdc, 0x5c, 0xf3, 0x71, 0x9d, 0x18, 0xf9, 0xef, 0x08, |
1041 | 0xf0, 0x7c, 0x8a, 0x78, 0xd7, 0x53, 0x3c, 0x9f, 0xc6, 0x9c, 0x66, 0x19, | 1047 | 0xd7, 0xcf, 0xd2, 0x8a, 0xee, 0xdb, 0x50, 0xef, 0xf1, 0x9a, 0x68, 0xdc, |
1042 | 0x5c, 0xd8, 0xa4, 0x9e, 0xe4, 0x98, 0xe7, 0xd0, 0x2f, 0x4c, 0xd0, 0x0c, | 1048 | 0x5e, 0x1f, 0x26, 0xc3, 0xfb, 0xac, 0x55, 0x95, 0x13, 0x49, 0x7c, 0x46, |
1043 | 0xee, 0xdd, 0x6a, 0x4b, 0xbe, 0x5c, 0x74, 0x36, 0x06, 0xe7, 0x28, 0x64, | 1049 | 0x88, 0xef, 0xbf, 0x02, 0xe5, 0x37, 0x18, 0xde, 0x6c, 0x83, 0x1f, 0x47, |
1044 | 0xba, 0x6c, 0xf1, 0xfe, 0x0a, 0x31, 0x8c, 0x67, 0x83, 0xb2, 0xb5, 0x16, | 1050 | 0x9e, 0xc6, 0x77, 0x2b, 0x9c, 0x6f, 0x19, 0xf4, 0xee, 0x7c, 0x37, 0xbd, |
1045 | 0xf5, 0x5c, 0x39, 0xd0, 0x0e, 0x1d, 0xb3, 0xdd, 0xd6, 0xcb, 0xfb, 0x0a, | 1051 | 0x73, 0x1c, 0xf9, 0xa6, 0x6b, 0x67, 0x5f, 0x46, 0xbd, 0x70, 0x8a, 0xf3, |
1046 | 0xca, 0xbc, 0xa0, 0xf6, 0x21, 0xd2, 0x71, 0xf4, 0x7d, 0xae, 0x55, 0x96, | 1052 | 0xe2, 0x51, 0xa6, 0x73, 0xc8, 0x9a, 0x25, 0xab, 0x5f, 0xe5, 0xd1, 0x47, |
1047 | 0xc3, 0xbb, 0xad, 0xc5, 0x8a, 0xef, 0xbf, 0x83, 0x3c, 0xfc, 0x34, 0x74, | 1053 | 0xb4, 0x4f, 0xd2, 0x2d, 0xc2, 0x7d, 0x7e, 0xd6, 0xb6, 0x8f, 0xd5, 0xb6, |
1048 | 0x5f, 0xae, 0xff, 0xcc, 0x5f, 0x4e, 0xf1, 0x6f, 0xa5, 0x22, 0x9b, 0xd8, | 1054 | 0x4f, 0x81, 0xed, 0xad, 0xf1, 0x75, 0x9c, 0xb9, 0xb2, 0xfd, 0x26, 0x33, |
1049 | 0xd1, 0xcb, 0x7b, 0x20, 0xf8, 0x96, 0x1c, 0xaf, 0x87, 0x65, 0xbf, 0x70, | 1055 | 0x1d, 0xd6, 0x52, 0x8f, 0x8c, 0x6e, 0xa6, 0xfa, 0x80, 0x7d, 0xee, 0x15, |
1050 | 0x9c, 0x7d, 0xff, 0x0d, 0xbe, 0x7d, 0xff, 0xf4, 0xaa, 0x9d, 0x02, 0xfe, | 1056 | 0xe4, 0xda, 0xe5, 0x51, 0xcc, 0xa5, 0x87, 0xf0, 0x8e, 0xe7, 0xed, 0x06, |
1051 | 0x17, 0x33, 0xe1, 0x9b, 0xdd, 0x90, 0x58, 0x00, 0x00, 0x00 }; | 1057 | 0x09, 0xfb, 0x5c, 0x83, 0x90, 0x4c, 0x77, 0xd9, 0x15, 0xbe, 0x63, 0x4b, |
1058 | 0x0b, 0xee, 0x4b, 0xda, 0x1a, 0xa1, 0xfd, 0x66, 0x2e, 0xe2, 0xcc, 0x53, | ||
1059 | 0xa8, 0x99, 0x8e, 0xa8, 0xbb, 0xaf, 0x70, 0x9f, 0x5b, 0xb4, 0x8b, 0x32, | ||
1060 | 0xaf, 0xcd, 0x69, 0x95, 0xb4, 0x3a, 0xe3, 0x37, 0x60, 0xeb, 0xba, 0x60, | ||
1061 | 0xd8, 0x77, 0x81, 0x5b, 0xa3, 0xa5, 0xe3, 0xba, 0xbc, 0xeb, 0x2c, 0x8f, | ||
1062 | 0xb2, 0xac, 0xf9, 0x79, 0x3d, 0xde, 0x45, 0x67, 0xfa, 0xdb, 0xf0, 0x4c, | ||
1063 | 0x5f, 0x0a, 0x6b, 0xed, 0xe8, 0x4c, 0x09, 0x7a, 0x63, 0xde, 0x04, 0xec, | ||
1064 | 0x08, 0xf8, 0x51, 0xa2, 0x95, 0x96, 0xf5, 0x39, 0x78, 0x6a, 0x6d, 0xbc, | ||
1065 | 0x31, 0x36, 0xc8, 0x30, 0xaa, 0x59, 0xc0, 0x83, 0x89, 0x0c, 0xec, 0x70, | ||
1066 | 0xba, 0x3f, 0xba, 0x83, 0xd5, 0x1d, 0xa1, 0xa9, 0xda, 0x9b, 0xe7, 0x07, | ||
1067 | 0x61, 0x8b, 0x16, 0xec, 0x93, 0xf3, 0x9d, 0x12, 0xd7, 0x19, 0xe1, 0xf7, | ||
1068 | 0x4b, 0xdb, 0x9c, 0xa4, 0x2c, 0x6a, 0x15, 0x3e, 0x7f, 0x9e, 0x96, 0x5b, | ||
1069 | 0x11, 0x0d, 0x39, 0xd8, 0xe3, 0x18, 0x7e, 0x23, 0x78, 0xe7, 0xe2, 0xc7, | ||
1070 | 0x75, 0x4e, 0x81, 0x1e, 0x93, 0x79, 0x34, 0xf2, 0xe4, 0x61, 0xa6, 0xef, | ||
1071 | 0x00, 0xd6, 0xb3, 0x3e, 0xb3, 0x9e, 0x1e, 0x20, 0x6f, 0x80, 0x7d, 0x45, | ||
1072 | 0x06, 0xb8, 0x01, 0xe3, 0xbf, 0x0e, 0x5b, 0x1f, 0xc4, 0xd3, 0x36, 0xcb, | ||
1073 | 0xcc, 0x5b, 0x89, 0x3f, 0x08, 0xf4, 0x1c, 0x7f, 0x3b, 0x18, 0x0f, 0xc7, | ||
1074 | 0x43, 0xe6, 0xdd, 0xac, 0x7b, 0x99, 0x1d, 0x74, 0x6e, 0x31, 0x8a, 0x61, | ||
1075 | 0x33, 0xb0, 0x41, 0xbe, 0x53, 0x1d, 0x07, 0x5f, 0x78, 0xac, 0x85, 0xb1, | ||
1076 | 0x0c, 0xf3, 0xcb, 0x0b, 0x38, 0x77, 0x9e, 0x4e, 0xa1, 0x66, 0xa7, 0x01, | ||
1077 | 0x7e, 0x22, 0x57, 0xf5, 0xb7, 0x84, 0xfa, 0xbe, 0x1e, 0x5e, 0x77, 0xb8, | ||
1078 | 0x3f, 0x0e, 0xfa, 0x8c, 0x36, 0x78, 0x86, 0x51, 0xb5, 0xc5, 0x45, 0x42, | ||
1079 | 0x2c, 0xcd, 0x04, 0xb7, 0x8b, 0xfc, 0x7d, 0xf4, 0x80, 0x3c, 0x53, 0x9e, | ||
1080 | 0x0e, 0x2f, 0x06, 0x81, 0x97, 0x1b, 0xca, 0x2e, 0x93, 0x9d, 0x7d, 0x92, | ||
1081 | 0xf6, 0x98, 0xfb, 0x48, 0x97, 0xdf, 0xe0, 0x50, 0x13, 0xdf, 0xde, 0x91, | ||
1082 | 0x0f, 0x82, 0x93, 0xa0, 0xfd, 0x05, 0xb9, 0xcf, 0x7d, 0xa0, 0x1f, 0xbc, | ||
1083 | 0x92, 0xf5, 0x04, 0xd3, 0x0a, 0xde, 0xa4, 0x99, 0xde, 0x24, 0x1d, 0x6e, | ||
1084 | 0x9d, 0x0f, 0x65, 0xf3, 0x28, 0x79, 0xfe, 0xdb, 0x3a, 0xdf, 0x47, 0x97, | ||
1085 | 0x5b, 0x4f, 0x86, 0xb4, 0xe5, 0x41, 0x2f, 0xf6, 0x6f, 0xbd, 0x90, 0x66, | ||
1086 | 0xdf, 0xc0, 0x32, 0xf7, 0x90, 0xf1, 0x79, 0xa3, 0xcf, 0x40, 0x07, 0x3f, | ||
1087 | 0xcd, 0x0f, 0xa4, 0x68, 0xbd, 0x1f, 0x60, 0xb8, 0xd4, 0x75, 0x74, 0x85, | ||
1088 | 0xe9, 0x20, 0xe9, 0x3f, 0x85, 0xb3, 0x19, 0xf4, 0x30, 0x3e, 0x7d, 0x83, | ||
1089 | 0x2f, 0xa8, 0xc8, 0xe7, 0xaa, 0xce, 0xbe, 0x89, 0xe3, 0x14, 0xeb, 0x70, | ||
1090 | 0x0f, 0xfc, 0x1f, 0x74, 0x10, 0x76, 0x5c, 0x5c, 0xe4, 0x3b, 0x85, 0x61, | ||
1091 | 0xbe, 0x87, 0x3a, 0x53, 0x82, 0x6c, 0x97, 0xf8, 0xbb, 0x60, 0x5a, 0xe5, | ||
1092 | 0x82, 0xaa, 0x76, 0xb2, 0xd8, 0x17, 0x32, 0xaf, 0xa5, 0x9f, 0x2c, 0xc9, | ||
1093 | 0xef, 0x80, 0x29, 0xac, 0x09, 0xf0, 0x6c, 0xff, 0x9b, 0x88, 0x9f, 0x14, | ||
1094 | 0xd4, 0xdf, 0x44, 0x84, 0xdf, 0x64, 0x1b, 0x2a, 0x07, 0x78, 0xb8, 0x69, | ||
1095 | 0xd0, 0x54, 0x33, 0xfa, 0x1b, 0x09, 0x96, 0x83, 0x83, 0x3a, 0x3e, 0x8a, | ||
1096 | 0xfb, 0x81, 0x8c, 0x2f, 0xd5, 0x75, 0xb2, 0xfc, 0x66, 0x98, 0xcf, 0x70, | ||
1097 | 0xfe, 0xce, 0x3c, 0xc4, 0x78, 0x59, 0xc9, 0x6f, 0x49, 0xec, 0x84, 0xfc, | ||
1098 | 0xc0, 0x73, 0xdf, 0x80, 0x2d, 0x65, 0xc2, 0x98, 0x6c, 0x72, 0x7d, 0x18, | ||
1099 | 0xd6, 0xac, 0xdb, 0xa9, 0x3a, 0xc9, 0xef, 0x13, 0xf4, 0xfa, 0xfc, 0xa0, | ||
1100 | 0x7c, 0x5f, 0xa6, 0x44, 0xf8, 0x9e, 0xc7, 0x29, 0x2a, 0xcb, 0xf7, 0xf7, | ||
1101 | 0x86, 0xf8, 0x50, 0x63, 0xdd, 0x1b, 0x8d, 0x33, 0x90, 0xa3, 0x82, 0x9b, | ||
1102 | 0x46, 0x2c, 0x7b, 0x0c, 0x71, 0x6c, 0x1a, 0x7c, 0x2f, 0x4e, 0x54, 0x68, | ||
1103 | 0x87, 0xc3, 0x3a, 0x0e, 0x99, 0xa5, 0x58, 0xc7, 0x58, 0xbf, 0x18, 0xa6, | ||
1104 | 0x17, 0x79, 0x26, 0xce, 0x3b, 0x4a, 0x53, 0x7a, 0xfe, 0xfd, 0x83, 0xe5, | ||
1105 | 0x9a, 0x6d, 0x16, 0xe8, 0xa3, 0xc0, 0x33, 0x78, 0xbc, 0x7a, 0xf0, 0x61, | ||
1106 | 0x75, 0x4f, 0x2f, 0x44, 0xfe, 0xd2, 0xc1, 0xb2, 0xea, 0xe3, 0xcc, 0xef, | ||
1107 | 0x87, 0x7d, 0x86, 0xd3, 0xe5, 0xf7, 0xd3, 0x7f, 0xbf, 0xd5, 0xa0, 0x8b, | ||
1108 | 0xb7, 0x06, 0xc1, 0xfd, 0xfc, 0x0d, 0x27, 0xac, 0x41, 0xd5, 0x77, 0x71, | ||
1109 | 0x8e, 0x13, 0xa8, 0x37, 0x46, 0x2d, 0xad, 0x04, 0xdb, 0x3d, 0xe5, 0xa3, | ||
1110 | 0x5e, 0x11, 0xf6, 0xd8, 0xaa, 0x30, 0x11, 0x7f, 0xb9, 0x96, 0xff, 0xcd, | ||
1111 | 0x7e, 0xfe, 0x26, 0x3c, 0xe7, 0xf2, 0x9a, 0x6d, 0xea, 0xae, 0xea, 0xe6, | ||
1112 | 0xdb, 0xa4, 0xcf, 0x25, 0x0a, 0xe3, 0xd0, 0xcd, 0xed, 0xf6, 0xd1, 0x9e, | ||
1113 | 0x23, 0xb2, 0x5d, 0xd0, 0x94, 0x01, 0x7a, 0xaa, 0xb5, 0x28, 0xdf, 0xe2, | ||
1114 | 0xef, 0xfd, 0xab, 0x07, 0xbf, 0xdb, 0xbc, 0x74, 0x70, 0x16, 0xf2, 0xe1, | ||
1115 | 0x33, 0xcd, 0x36, 0x23, 0xfd, 0x8b, 0x72, 0x7e, 0xee, 0x23, 0xfe, 0xfb, | ||
1116 | 0x88, 0xff, 0x3e, 0xe2, 0xbf, 0x8f, 0xf8, 0xef, 0x23, 0xfe, 0xfb, 0x88, | ||
1117 | 0xff, 0xe0, 0xe1, 0x0f, 0xa0, 0x2f, 0xe7, 0xfd, 0x89, 0x30, 0xdf, 0x7a, | ||
1118 | 0x7c, 0x2d, 0xdf, 0x3a, 0xd7, 0xe2, 0x6f, 0x3f, 0x92, 0x96, 0x4a, 0x85, | ||
1119 | 0x54, 0xbe, 0x4a, 0x82, 0xf3, 0x9b, 0x28, 0x5f, 0xbd, 0xfe, 0x37, 0x0c, | ||
1120 | 0x05, 0xc7, 0xb9, 0x1a, 0xc3, 0x55, 0x34, 0xe1, 0x30, 0x9c, 0xca, 0xd7, | ||
1121 | 0xb8, 0x46, 0x5a, 0x0f, 0xc3, 0xdf, 0xc9, 0xd8, 0xb7, 0xa9, 0x6f, 0x34, | ||
1122 | 0xea, 0x7b, 0xd0, 0xe3, 0x5f, 0xf7, 0x10, 0x8b, 0xcb, 0x4d, 0x19, 0x8f, | ||
1123 | 0x31, 0x7e, 0x06, 0x63, 0x83, 0xf5, 0x8f, 0xdf, 0xdd, 0xc3, 0x75, 0x41, | ||
1124 | 0xb9, 0x89, 0xbc, 0x68, 0x39, 0xca, 0x85, 0x00, 0xe7, 0xbf, 0xa9, 0x95, | ||
1125 | 0xea, 0x2c, 0x67, 0x41, 0xb3, 0x69, 0x30, 0xc5, 0x69, 0xaf, 0x75, 0x5e, | ||
1126 | 0x96, 0xb5, 0x8e, 0xfa, 0x9b, 0x9e, 0x11, 0xd0, 0x16, 0xdd, 0xfd, 0x12, | ||
1127 | 0xe9, 0xf3, 0x69, 0xf9, 0x77, 0x00, 0x29, 0x67, 0x58, 0xfe, 0x3d, 0x42, | ||
1128 | 0x1f, 0xf6, 0x11, 0xf3, 0x3b, 0xdb, 0xee, 0x56, 0xa9, 0xa0, 0x7c, 0x76, | ||
1129 | 0xa7, 0xfa, 0x3b, 0x08, 0x91, 0x86, 0xed, 0xde, 0xb6, 0x0d, 0x67, 0x83, | ||
1130 | 0x5c, 0x5f, 0xdd, 0x2a, 0xf3, 0x67, 0xf8, 0xd1, 0x93, 0xc3, 0x7d, 0x03, | ||
1131 | 0xd4, 0xb3, 0x9d, 0x4e, 0x0d, 0x73, 0xad, 0xb5, 0x19, 0xf8, 0x78, 0xad, | ||
1132 | 0x9d, 0x2d, 0x88, 0xed, 0x74, 0x7a, 0x11, 0x7e, 0x76, 0xd1, 0x76, 0x59, | ||
1133 | 0x97, 0x97, 0x86, 0xd3, 0xf0, 0xcf, 0x63, 0x03, 0x1c, 0x9f, 0x97, 0x5b, | ||
1134 | 0xac, 0x2b, 0x7d, 0x80, 0x1f, 0x84, 0x5e, 0x6e, 0x82, 0x3d, 0x09, 0xec, | ||
1135 | 0x1f, 0xe1, 0xfe, 0xb9, 0xc4, 0xdd, 0xe7, 0xec, 0xd9, 0x26, 0x75, 0x43, | ||
1136 | 0xd8, 0xa6, 0x25, 0x40, 0xfb, 0x27, 0x6a, 0x44, 0x97, 0xf8, 0x6c, 0xb3, | ||
1137 | 0x7e, 0xfb, 0xb7, 0xba, 0x37, 0xb5, 0x72, 0x9d, 0xff, 0x0e, 0x61, 0x98, | ||
1138 | 0xf6, 0x41, 0xbf, 0x4c, 0xe7, 0x4d, 0xed, 0x81, 0xc6, 0xff, 0x14, 0x6e, | ||
1139 | 0x75, 0xb1, 0x71, 0x5c, 0x55, 0xf8, 0xdc, 0x59, 0xaf, 0xed, 0x38, 0x6b, | ||
1140 | 0x67, 0xe2, 0x6c, 0xec, 0xb5, 0x15, 0xc4, 0xce, 0x7a, 0x12, 0x4f, 0xb5, | ||
1141 | 0x8e, 0x3a, 0xb6, 0x12, 0xb4, 0x42, 0x96, 0x58, 0xed, 0x7a, 0x5d, 0x87, | ||
1142 | 0x92, 0xb2, 0x85, 0x50, 0x05, 0x09, 0x55, 0x96, 0x9d, 0xd2, 0x54, 0x80, | ||
1143 | 0x90, 0xfa, 0x80, 0x78, 0xcb, 0x6a, 0x6d, 0x87, 0xa4, 0xec, 0x76, 0x6d, | ||
1144 | 0x62, 0xd7, 0x2f, 0x3c, 0x2c, 0xeb, 0x75, 0x6a, 0xbb, 0x9b, 0xac, 0x42, | ||
1145 | 0xfb, 0x50, 0x9e, 0x62, 0x99, 0x92, 0xc2, 0x4b, 0x85, 0xc4, 0x03, 0x02, | ||
1146 | 0x54, 0xa9, 0x4a, 0xda, 0x34, 0x0f, 0x25, 0x11, 0xbc, 0x50, 0x0a, 0xd2, | ||
1147 | 0xf0, 0x7d, 0x77, 0x66, 0x1d, 0x27, 0x50, 0x61, 0x69, 0x35, 0x77, 0xee, | ||
1148 | 0xdc, 0x3b, 0x73, 0x7f, 0xce, 0xf9, 0xce, 0x77, 0xce, 0x3d, 0x66, 0x1b, | ||
1149 | 0x1b, 0x65, 0xfa, 0xd3, 0xab, 0x6a, 0xa6, 0xda, 0x2b, 0x0b, 0x90, 0xe3, | ||
1150 | 0xe2, 0x48, 0x38, 0x88, 0x97, 0x76, 0x05, 0xfa, 0x0c, 0xc7, 0xdf, 0xb7, | ||
1151 | 0x57, 0x9a, 0x57, 0x16, 0xcd, 0x4e, 0xcd, 0xab, 0x1e, 0x7d, 0x76, 0x0a, | ||
1152 | 0x63, 0x8a, 0x61, 0x1d, 0xba, 0xfb, 0x34, 0x36, 0x19, 0xbc, 0xef, 0x7f, | ||
1153 | 0xec, 0xbe, 0xef, 0xb1, 0xfb, 0xc3, 0xff, 0xa3, 0x3d, 0xcb, 0x8f, 0xcb, | ||
1154 | 0x03, 0xc7, 0x69, 0xa5, 0xf8, 0x95, 0x62, 0xc9, 0x36, 0x66, 0x4b, 0x56, | ||
1155 | 0x9a, 0xbc, 0x20, 0x2b, 0x9e, 0xca, 0xba, 0xed, 0xc0, 0xbb, 0x76, 0x99, | ||
1156 | 0x5f, 0x86, 0xcc, 0x63, 0x1e, 0x1d, 0x36, 0xcf, 0xb4, 0x13, 0x7d, 0xd4, | ||
1157 | 0x99, 0x4e, 0x6c, 0x83, 0x61, 0x0f, 0xc5, 0xd0, 0xce, 0x7b, 0xc9, 0x4d, | ||
1158 | 0x9a, 0xe7, 0x74, 0x1c, 0x86, 0x7c, 0xc6, 0x53, 0x45, 0x9d, 0x9f, 0xc1, | ||
1159 | 0x36, 0x6d, 0x72, 0xc7, 0xce, 0xf4, 0x06, 0xf9, 0x3e, 0xf0, 0x5b, 0xc7, | ||
1160 | 0xfa, 0xc8, 0x35, 0x5e, 0x74, 0x77, 0xeb, 0xcc, 0xdb, 0xc2, 0x3c, 0x2a, | ||
1161 | 0x08, 0xcd, 0xb3, 0x22, 0xd5, 0xba, 0xc8, 0xeb, 0xf8, 0xfd, 0xae, 0x1e, | ||
1162 | 0xf8, 0x0a, 0x8a, 0x3e, 0xf3, 0xb8, 0x6c, 0x55, 0xbe, 0x2c, 0x0d, 0xd8, | ||
1163 | 0x9f, 0x4d, 0xd7, 0xf3, 0xee, 0xb9, 0x71, 0xbd, 0xe6, 0x3f, 0x29, 0x29, | ||
1164 | 0x49, 0x8c, 0xd2, 0xbe, 0xb5, 0xcb, 0x4f, 0x97, 0xdb, 0x64, 0xdb, 0xb4, | ||
1165 | 0xcc, 0x7b, 0xc2, 0x5c, 0xb6, 0x98, 0x4c, 0x45, 0x43, 0x9a, 0xa3, 0xca, | ||
1166 | 0xb7, 0xc0, 0xa0, 0xf1, 0xec, 0xee, 0xf2, 0x33, 0x7d, 0x8c, 0x9d, 0x7c, | ||
1167 | 0xb4, 0xcc, 0x7b, 0x03, 0x57, 0x43, 0x76, 0xec, 0x10, 0xb8, 0x2c, 0x40, | ||
1168 | 0xc8, 0xe4, 0xba, 0x73, 0xbe, 0xcf, 0x71, 0x6c, 0xa8, 0xa3, 0x2f, 0xda, | ||
1169 | 0x2e, 0xc5, 0xa3, 0xc0, 0x44, 0x35, 0xa4, 0x73, 0x8a, 0x76, 0xa2, 0x1a, | ||
1170 | 0xa3, 0x43, 0x35, 0xe6, 0xc8, 0x99, 0xfb, 0x35, 0x5e, 0x67, 0xae, 0x7d, | ||
1171 | 0x5f, 0xcf, 0x05, 0xe5, 0x42, 0xcd, 0xa5, 0xac, 0x9a, 0xb2, 0x09, 0x5d, | ||
1172 | 0xdb, 0x68, 0x2e, 0xf5, 0x73, 0xaf, 0xb6, 0x9a, 0x3f, 0xe8, 0xf3, 0x7d, | ||
1173 | 0x2d, 0xd6, 0xfd, 0xb0, 0xcf, 0xaf, 0x8b, 0x07, 0xbe, 0x13, 0x7d, 0xac, | ||
1174 | 0x2a, 0xe6, 0xf6, 0xb2, 0x34, 0x57, 0x7f, 0x2c, 0x6f, 0x57, 0x7e, 0x24, | ||
1175 | 0xbf, 0x5a, 0x3d, 0x0b, 0xfe, 0x61, 0x55, 0x0b, 0xb0, 0x27, 0x37, 0x9a, | ||
1176 | 0x9e, 0x77, 0xc3, 0x3d, 0x03, 0x5f, 0xc1, 0xf3, 0xfe, 0xe0, 0x6e, 0x4b, | ||
1177 | 0x62, 0xec, 0x3b, 0x98, 0x73, 0x1e, 0x3a, 0x44, 0x2c, 0x9c, 0x82, 0xbc, | ||
1178 | 0x25, 0xfb, 0xa5, 0x2b, 0xa2, 0xe5, 0x64, 0x68, 0x2c, 0x8c, 0x39, 0x18, | ||
1179 | 0x01, 0x27, 0xe7, 0x5c, 0x46, 0xfa, 0x29, 0x33, 0x46, 0xf3, 0x15, 0x7c, | ||
1180 | 0x3f, 0x0c, 0xbd, 0xd8, 0x8f, 0x9f, 0x92, 0x7b, 0xa3, 0x18, 0xeb, 0x28, | ||
1181 | 0x65, 0x2f, 0x2c, 0x89, 0x27, 0x31, 0x8f, 0x7c, 0x9b, 0xdc, 0x2f, 0x5d, | ||
1182 | 0xe9, 0x63, 0x5c, 0xee, 0x7e, 0x89, 0x65, 0xe3, 0x4b, 0x3d, 0xe2, 0x49, | ||
1183 | 0x1b, 0x6c, 0xf9, 0xfc, 0x09, 0x9f, 0x37, 0xfd, 0x5a, 0x0d, 0xa3, 0xbd, | ||
1184 | 0x5d, 0x78, 0x47, 0x91, 0xe7, 0x15, 0xbc, 0x30, 0x78, 0x79, 0x0e, 0x7c, | ||
1185 | 0x28, 0xd3, 0xbc, 0x20, 0x3b, 0xa3, 0x11, 0xb4, 0x21, 0x5f, 0xd1, 0x58, | ||
1186 | 0x22, 0xd9, 0x12, 0x73, 0xb0, 0x98, 0x0f, 0x85, 0x31, 0x9e, 0x21, 0x6e, | ||
1187 | 0x70, 0x8c, 0xed, 0x3c, 0xb7, 0x0b, 0xea, 0x6c, 0xc8, 0x08, 0xeb, 0x28, | ||
1188 | 0xdf, 0x69, 0xcd, 0xa9, 0x60, 0x43, 0xf1, 0xbe, 0x11, 0xc9, 0xe8, 0x72, | ||
1189 | 0x0f, 0xde, 0x77, 0x41, 0xe7, 0x25, 0xfa, 0xef, 0x4c, 0xa1, 0x0d, 0x71, | ||
1190 | 0x26, 0x05, 0x2e, 0xf1, 0xa1, 0x9a, 0x00, 0xbd, 0x99, 0x29, 0xf5, 0xc9, | ||
1191 | 0x84, 0xb9, 0x6f, 0xcf, 0x1c, 0x0b, 0xda, 0x57, 0x30, 0x8c, 0x91, 0x60, | ||
1192 | 0x4c, 0x3d, 0x7b, 0xc6, 0xc4, 0xfe, 0xf8, 0xc1, 0xc7, 0xcd, 0x2c, 0x2f, | ||
1193 | 0x02, 0xa7, 0x16, 0x7f, 0x9b, 0x71, 0x9f, 0x97, 0x6c, 0xb4, 0x5d, 0xfb, | ||
1194 | 0x36, 0x35, 0xec, 0x4b, 0xb6, 0xc4, 0x78, 0xd4, 0xb7, 0x81, 0x43, 0xfb, | ||
1195 | 0x82, 0x3a, 0xb6, 0x15, 0x23, 0x83, 0xb5, 0x4f, 0x6b, 0x3d, 0x64, 0xdd, | ||
1196 | 0x17, 0x25, 0xb3, 0x98, 0x97, 0x49, 0xdd, 0x8f, 0x6b, 0x38, 0xa8, 0x79, | ||
1197 | 0x08, 0x75, 0x35, 0x71, 0x08, 0x6b, 0x99, 0x0c, 0x07, 0x6d, 0xf7, 0x91, | ||
1198 | 0xc9, 0xe3, 0xef, 0xd3, 0x40, 0x67, 0xf1, 0xec, 0x10, 0xf7, 0xa8, 0x5d, | ||
1199 | 0x12, 0xdf, 0x84, 0xbd, 0x2c, 0xb5, 0xea, 0x23, 0xf2, 0x49, 0xe9, 0xb3, | ||
1200 | 0x3e, 0x9e, 0x93, 0xfc, 0xb5, 0x64, 0xca, 0x47, 0x25, 0x7d, 0x7e, 0x3a, | ||
1201 | 0x1d, 0x12, 0xeb, 0xbc, 0xef, 0x67, 0x1f, 0x9d, 0x9e, 0x57, 0x7c, 0x7e, | ||
1202 | 0xf4, 0xfc, 0xba, 0xea, 0x44, 0xdb, 0x08, 0xda, 0x71, 0x1c, 0xa6, 0xe4, | ||
1203 | 0x4a, 0x7f, 0xf7, 0x66, 0x8e, 0x79, 0xde, 0xa4, 0xce, 0xe1, 0x4a, 0x9a, | ||
1204 | 0xf3, 0xaa, 0xc5, 0xcf, 0x1d, 0x29, 0x45, 0x3b, 0xf0, 0xad, 0xa4, 0xb9, | ||
1205 | 0xae, 0x8e, 0x62, 0x3c, 0x2c, 0x1f, 0xa2, 0x4e, 0xc4, 0xb6, 0x85, 0xef, | ||
1206 | 0xb7, 0xa6, 0xd6, 0x54, 0x32, 0x3e, 0xa4, 0xac, 0x74, 0x11, 0xbf, 0x36, | ||
1207 | 0xa5, 0xcf, 0x1e, 0x63, 0x71, 0x05, 0xdd, 0xc5, 0x9c, 0xec, 0xe3, 0x9e, | ||
1208 | 0x37, 0x65, 0xb3, 0x3e, 0x69, 0x46, 0x14, 0xe3, 0x26, 0x5d, 0xfa, 0x8c, | ||
1209 | 0xf2, 0xd2, 0xe1, 0xa4, 0x79, 0x5c, 0x1d, 0x0c, 0xee, 0x53, 0xc0, 0xcc, | ||
1210 | 0xdd, 0xf7, 0x9d, 0x5d, 0x53, 0xa6, 0x5c, 0x2e, 0x25, 0xe3, 0xb3, 0xca, | ||
1211 | 0xca, 0xe3, 0x9d, 0xf9, 0x09, 0x45, 0xdc, 0x48, 0x9a, 0x5d, 0x8a, 0xb1, | ||
1212 | 0xcd, 0x0e, 0x3d, 0xef, 0x29, 0xf4, 0x4f, 0xaa, 0xb6, 0x60, 0x3c, 0xdc, | ||
1213 | 0xaf, 0xcb, 0xfd, 0xbe, 0xce, 0x10, 0x73, 0x06, 0x8c, 0x99, 0x45, 0xe6, | ||
1214 | 0x83, 0xe9, 0x3c, 0x84, 0x74, 0x62, 0x8c, 0xf7, 0x86, 0x3c, 0x38, 0xf9, | ||
1215 | 0x0f, 0xd4, 0xa1, 0x5c, 0x65, 0x9d, 0x13, 0xe8, 0xdb, 0x31, 0xcd, 0x9f, | ||
1216 | 0x1f, 0x9c, 0x2c, 0xe8, 0xfc, 0xc4, 0x1d, 0x95, 0x08, 0xe6, 0xbd, 0xbb, | ||
1217 | 0x67, 0xf1, 0x8c, 0xfb, 0x05, 0xbe, 0x67, 0x31, 0x34, 0xde, 0x21, 0xcc, | ||
1218 | 0x07, 0xcd, 0x55, 0x5a, 0xb2, 0xc1, 0xd8, 0x00, 0xcf, 0xf7, 0x5b, 0x67, | ||
1219 | 0xe5, 0x17, 0xc4, 0x18, 0xeb, 0xdc, 0x23, 0x27, 0xe0, 0x9d, 0xe0, 0xab, | ||
1220 | 0x75, 0xbc, 0xa7, 0xb8, 0x2c, 0x05, 0xbf, 0xbf, 0x74, 0x32, 0xff, 0xb4, | ||
1221 | 0x58, 0xff, 0xbc, 0x77, 0xf8, 0x36, 0x30, 0x87, 0xfb, 0x07, 0x27, 0x29, | ||
1222 | 0x9f, 0x5c, 0x9b, 0xb8, 0x9a, 0xbc, 0xc2, 0xf1, 0x0c, 0x4a, 0x6e, 0x19, | ||
1223 | 0xdc, 0x08, 0xbf, 0xf9, 0x65, 0x7f, 0xdf, 0xd6, 0xc1, 0xb3, 0x73, 0x25, | ||
1224 | 0x53, 0xeb, 0xeb, 0xac, 0xcb, 0xb3, 0x0f, 0xe8, 0x8a, 0xce, 0x7b, 0x62, | ||
1225 | 0x5f, 0xe6, 0x0a, 0x1e, 0xa1, 0x7d, 0x74, 0x6a, 0x12, 0x45, 0x5b, 0x72, | ||
1226 | 0x56, 0xd6, 0x83, 0xbf, 0xc3, 0x66, 0x16, 0x5f, 0x8d, 0x08, 0x30, 0x39, | ||
1227 | 0x15, 0x0f, 0x1d, 0x90, 0x79, 0xd7, 0x95, 0x46, 0xf3, 0x84, 0x5c, 0x6b, | ||
1228 | 0x3a, 0xfa, 0x19, 0xed, 0xd9, 0xc2, 0x6b, 0xfa, 0x5c, 0x3a, 0xfe, 0xa1, | ||
1229 | 0xb2, 0x9c, 0xab, 0xf0, 0x6b, 0xbe, 0x7b, 0x8c, 0x79, 0xc2, 0xe1, 0x81, | ||
1230 | 0x87, 0x79, 0x70, 0xc0, 0x0e, 0x70, 0x8e, 0xb7, 0xc0, 0x39, 0xde, 0x04, | ||
1231 | 0xe7, 0xf8, 0x25, 0x38, 0xf6, 0x8d, 0xca, 0x54, 0x80, 0xff, 0xd3, 0xc0, | ||
1232 | 0x21, 0xda, 0x6a, 0xeb, 0x2c, 0xf6, 0x74, 0xba, 0x00, 0x19, 0xfc, 0x00, | ||
1233 | 0xfe, 0xc7, 0x56, 0x25, 0x23, 0x1b, 0xab, 0x93, 0xb2, 0xb9, 0xea, 0xe7, | ||
1234 | 0x1c, 0xbf, 0xcb, 0x3c, 0xad, 0x51, 0xee, 0x93, 0x03, 0x1c, 0xda, 0x27, | ||
1235 | 0x89, 0xe3, 0xc4, 0x8f, 0x4e, 0x59, 0x2b, 0xaf, 0x69, 0x1c, 0x5a, 0x2b, | ||
1236 | 0xb3, 0x1c, 0x12, 0x9d, 0xf3, 0x75, 0x66, 0x5b, 0x6a, 0xee, 0x16, 0xea, | ||
1237 | 0xbb, 0x99, 0xdb, 0x15, 0xc4, 0xd6, 0x89, 0x97, 0x7f, 0x0e, 0xf6, 0x5e, | ||
1238 | 0xe9, 0x5c, 0xb8, 0x19, 0xf3, 0x00, 0xda, 0xb5, 0xb0, 0x6b, 0xc8, 0x3f, | ||
1239 | 0x27, 0x57, 0x7f, 0x41, 0x1b, 0x7c, 0x03, 0x9c, 0xf1, 0x2a, 0x6c, 0xc8, | ||
1240 | 0x8e, 0x73, 0x40, 0x73, 0xbf, 0x1d, 0xe7, 0x88, 0xce, 0xad, 0xe5, 0x7b, | ||
1241 | 0x8a, 0x65, 0x5b, 0xe6, 0xca, 0x56, 0xbc, 0x00, 0xf9, 0xbb, 0x06, 0xbf, | ||
1242 | 0x6d, 0x03, 0x7b, 0xb0, 0x89, 0xb5, 0xd8, 0x6a, 0xd2, 0xce, 0xbf, 0xaf, | ||
1243 | 0xb1, 0x77, 0xad, 0xf9, 0x27, 0xbc, 0xc7, 0x3a, 0x9b, 0x96, 0x3f, 0xf6, | ||
1244 | 0x13, 0x03, 0x99, 0x8f, 0x97, 0xd5, 0xfd, 0xfd, 0x7e, 0x1b, 0x68, 0xbb, | ||
1245 | 0xd9, 0x24, 0x1e, 0x8b, 0x5c, 0x2c, 0xd9, 0xb0, 0x25, 0x17, 0x63, 0xe4, | ||
1246 | 0x00, 0x55, 0xd5, 0xea, 0xe7, 0x05, 0x63, 0xf6, 0xbc, 0xfd, 0x36, 0xc7, | ||
1247 | 0xe5, 0x04, 0xb8, 0x4d, 0xdb, 0xbf, 0xad, 0xb9, 0x4d, 0xa9, 0xf2, 0xbc, | ||
1248 | 0x5c, 0x5f, 0x4d, 0x05, 0x1c, 0x27, 0x2f, 0x6f, 0x80, 0xe3, 0x35, 0x2b, | ||
1249 | 0xad, 0x1c, 0xed, 0x71, 0xac, 0x53, 0x45, 0xcd, 0x2d, 0x75, 0xc9, 0xa5, | ||
1250 | 0x95, 0xa2, 0xba, 0xbc, 0x52, 0x52, 0xaf, 0x2c, 0x95, 0x55, 0x71, 0xc9, | ||
1251 | 0xf3, 0xfe, 0xe9, 0xce, 0xc8, 0xdb, 0xab, 0x9e, 0x9c, 0x76, 0x8d, 0x81, | ||
1252 | 0x90, 0xb4, 0xf2, 0xdf, 0x3c, 0xaf, 0x13, 0xd8, 0xbc, 0x75, 0xd8, 0xf3, | ||
1253 | 0x9e, 0x18, 0x1d, 0x15, 0xe7, 0x30, 0x39, 0xca, 0x70, 0x8c, 0x39, 0xac, | ||
1254 | 0xc4, 0x9c, 0x8c, 0x6d, 0x9f, 0xaf, 0x29, 0x05, 0x7c, 0x3b, 0xe0, 0xf3, | ||
1255 | 0x97, 0x27, 0xbb, 0x83, 0x33, 0x8f, 0xb3, 0x2f, 0x31, 0x26, 0x1c, 0xfb, | ||
1256 | 0xaf, 0x98, 0xb0, 0x29, 0xe7, 0xca, 0x58, 0x88, 0xae, 0xa8, 0x7c, 0xaf, | ||
1257 | 0x1c, 0x79, 0xac, 0x6c, 0xe2, 0xea, 0x18, 0xc5, 0xf2, 0x7d, 0x6f, 0x48, | ||
1258 | 0xc7, 0xfe, 0xc1, 0x49, 0x4c, 0xcf, 0x9b, 0x75, 0xf9, 0xbd, 0x03, 0x8c, | ||
1259 | 0xc9, 0x98, 0xdd, 0xb0, 0xff, 0xa7, 0xb5, 0x7d, 0xae, 0xaa, 0x8c, 0x4d, | ||
1260 | 0xfd, 0x8e, 0xca, 0x44, 0x19, 0x36, 0x5e, 0x31, 0x2f, 0x94, 0x5c, 0xc1, | ||
1261 | 0x8a, 0xcd, 0x02, 0x3b, 0x66, 0x80, 0x37, 0x4f, 0xeb, 0xb3, 0xd1, 0x43, | ||
1262 | 0x1a, 0x7b, 0xe6, 0x58, 0xce, 0x4b, 0xba, 0xe6, 0xf6, 0xea, 0xf5, 0xbb, | ||
1263 | 0x7d, 0xad, 0x18, 0xf3, 0xf7, 0x1c, 0x7a, 0x9c, 0xe7, 0xf9, 0x40, 0xaf, | ||
1264 | 0x64, 0xd7, 0xcf, 0x40, 0x27, 0x62, 0x58, 0xdb, 0xb0, 0xd6, 0x87, 0x1d, | ||
1265 | 0xd8, 0xef, 0x1d, 0x27, 0x1c, 0x60, 0x6a, 0x27, 0xee, 0xd9, 0x6e, 0x12, | ||
1266 | 0xfd, 0x3a, 0x24, 0xb3, 0xd4, 0xae, 0x71, 0xf5, 0xd1, 0xba, 0x34, 0x78, | ||
1267 | 0x48, 0x0e, 0xe5, 0x10, 0xea, 0xe2, 0x41, 0x99, 0xdc, 0x6b, 0x1a, 0xe5, | ||
1268 | 0x36, 0x5c, 0xd9, 0xe6, 0x28, 0x78, 0x05, 0xae, 0xbf, 0xc0, 0xfb, 0x46, | ||
1269 | 0x31, 0xe6, 0xbc, 0x29, 0xef, 0x9d, 0xa4, 0x2d, 0x71, 0x0c, 0xe6, 0x1a, | ||
1270 | 0xcf, 0xda, 0xb8, 0x36, 0xca, 0x2a, 0xbb, 0xc8, 0x32, 0xae, 0x55, 0xff, | ||
1271 | 0xf9, 0x23, 0x98, 0x84, 0x3e, 0x99, 0x15, 0x1f, 0x93, 0xde, 0xdb, 0xc5, | ||
1272 | 0x24, 0xd6, 0x75, 0xc8, 0xc4, 0x52, 0x5c, 0x9d, 0xba, 0x62, 0x42, 0xde, | ||
1273 | 0xba, 0x24, 0xbb, 0x12, 0xd5, 0x7c, 0xb4, 0x06, 0x59, 0x5c, 0x87, 0x5c, | ||
1274 | 0xad, 0x41, 0xa6, 0x32, 0x65, 0x2b, 0x35, 0xad, 0xe2, 0x3a, 0x2e, 0x30, | ||
1275 | 0x05, 0x79, 0x0d, 0xbf, 0x4a, 0x2e, 0x4a, 0xfd, 0x75, 0xd0, 0x46, 0x68, | ||
1276 | 0x47, 0xd3, 0x61, 0x65, 0x43, 0x0e, 0x21, 0x97, 0x65, 0x5f, 0x7f, 0xdf, | ||
1277 | 0x51, 0x1a, 0x57, 0x53, 0x77, 0x24, 0xe9, 0xdc, 0x11, 0xcb, 0xdd, 0xc1, | ||
1278 | 0xef, 0x37, 0xe2, 0xca, 0x55, 0xe8, 0xfb, 0xeb, 0xf8, 0x4e, 0xf8, 0x35, | ||
1279 | 0x43, 0x8e, 0x0d, 0x6b, 0x9d, 0x4e, 0x49, 0xc8, 0x72, 0x36, 0xc5, 0xd7, | ||
1280 | 0xf1, 0x75, 0xad, 0xe3, 0x90, 0x37, 0x60, 0x90, 0xaf, 0xd3, 0xe9, 0x40, | ||
1281 | 0x46, 0xbf, 0x01, 0xfd, 0xb5, 0xe0, 0x95, 0xc5, 0x65, 0x1e, 0xfa, 0x7f, | ||
1282 | 0x15, 0xcf, 0x6f, 0x36, 0x3f, 0x56, 0x73, 0x8b, 0x2a, 0xc8, 0x3f, 0x79, | ||
1283 | 0x0e, 0x3c, 0xf9, 0xf7, 0x58, 0xbb, 0x1e, 0xcd, 0xdd, 0x13, 0xa3, 0x3c, | ||
1284 | 0x07, 0xfb, 0xb7, 0xba, 0x64, 0x1f, 0x97, 0xdb, 0x23, 0x27, 0x50, 0xee, | ||
1285 | 0xc6, 0xd5, 0xc0, 0x3a, 0x44, 0xf4, 0xf9, 0xf5, 0x5a, 0x69, 0xc4, 0x28, | ||
1286 | 0xea, 0x33, 0xe6, 0x31, 0xf4, 0x25, 0x96, 0x1d, 0xc6, 0x73, 0xc6, 0x65, | ||
1287 | 0x38, 0x37, 0x70, 0x26, 0x15, 0xd3, 0x39, 0xa1, 0x35, 0x70, 0x89, 0x75, | ||
1288 | 0xbc, 0xef, 0x16, 0xe3, 0x7a, 0x0d, 0xe8, 0xf0, 0xc8, 0x67, 0x5e, 0x3a, | ||
1289 | 0xca, 0xbc, 0xf3, 0xf7, 0x63, 0xbe, 0xfd, 0xfb, 0xc4, 0xbb, 0x6d, 0xcf, | ||
1290 | 0xa5, 0x0c, 0xdc, 0x7c, 0x60, 0x02, 0xef, 0xc8, 0xdb, 0x61, 0x8b, 0xaa, | ||
1291 | 0x5a, 0x7e, 0xd9, 0xce, 0xef, 0x5b, 0x6c, 0x24, 0xcd, 0x77, 0xc5, 0xef, | ||
1292 | 0x3b, 0x6f, 0xd3, 0xee, 0x74, 0x00, 0x5f, 0xe2, 0x9a, 0x57, 0xde, 0xb2, | ||
1293 | 0x0b, 0x40, 0x05, 0x2b, 0x3e, 0x05, 0x19, 0x6d, 0x17, 0xcb, 0xc9, 0xc9, | ||
1294 | 0xc3, 0xef, 0xce, 0xea, 0xbe, 0x6c, 0xdb, 0xea, 0xdb, 0xfa, 0x2e, 0xc7, | ||
1295 | 0xcf, 0xb9, 0x70, 0x0e, 0xf0, 0x6d, 0x4c, 0x53, 0xcb, 0xe8, 0x4e, 0xc3, | ||
1296 | 0x18, 0xf0, 0x65, 0xb4, 0x35, 0x8f, 0xe8, 0xff, 0x99, 0x07, 0xe5, 0x64, | ||
1297 | 0xc4, 0xf0, 0xcf, 0xdb, 0x71, 0x6d, 0x70, 0x3d, 0x3f, 0x06, 0xbf, 0xdf, | ||
1298 | 0x2b, 0x3f, 0xad, 0x38, 0xa3, 0x2f, 0x3f, 0x4f, 0xec, 0xca, 0x0f, 0x7d, | ||
1299 | 0xd4, 0x2e, 0xc9, 0xad, 0xd8, 0x32, 0x59, 0xd6, 0xfb, 0x0d, 0xae, 0xc9, | ||
1300 | 0xf8, 0xd1, 0x09, 0xc8, 0x0d, 0x65, 0x9d, 0xba, 0x65, 0x4a, 0x15, 0x72, | ||
1301 | 0x54, 0x05, 0x3e, 0x55, 0x21, 0x53, 0xe4, 0x40, 0x55, 0xe0, 0x5b, 0xb5, | ||
1302 | 0x69, 0x39, 0x75, 0xcc, 0x99, 0x36, 0x7b, 0x1d, 0x72, 0x74, 0xb5, 0xc9, | ||
1303 | 0xfd, 0xd7, 0x63, 0x36, 0x69, 0x07, 0x6f, 0xee, 0xee, 0xfd, 0xa7, 0xd8, | ||
1304 | 0xfb, 0x23, 0x72, 0x0d, 0x7e, 0xcb, 0xf5, 0xca, 0x08, 0x30, 0x49, 0x80, | ||
1305 | 0x51, 0x2e, 0x64, 0x23, 0x25, 0x1b, 0x95, 0x71, 0xd9, 0x84, 0x7d, 0xda, | ||
1306 | 0x5a, 0x4d, 0x80, 0x4f, 0x03, 0x47, 0xaf, 0x1c, 0x93, 0x37, 0x56, 0x95, | ||
1307 | 0xcc, 0xd8, 0xb0, 0x33, 0x6b, 0x8c, 0xc1, 0x43, 0x9e, 0xab, 0x5d, 0xfa, | ||
1308 | 0xbc, 0x7d, 0xa2, 0xee, 0xc7, 0xe2, 0x73, 0xf5, 0x1e, 0x99, 0xac, 0x9b, | ||
1309 | 0xf2, 0x54, 0xbd, 0x57, 0xbe, 0x5a, 0x8f, 0xca, 0xe9, 0x46, 0x4c, 0xbe, | ||
1310 | 0x56, 0x1f, 0x94, 0xa7, 0xeb, 0x47, 0xe4, 0x99, 0x46, 0x5c, 0xbe, 0x0e, | ||
1311 | 0xbf, 0x30, 0xdf, 0x70, 0x64, 0xaa, 0x31, 0x22, 0xa7, 0x1a, 0x8c, 0xb1, | ||
1312 | 0xe3, 0x7b, 0xf8, 0x65, 0x77, 0x63, 0x17, 0x1c, 0x57, 0x27, 0xc6, 0xe5, | ||
1313 | 0xa8, 0x9c, 0x3e, 0x6f, 0x94, 0xbc, 0x1f, 0xff, 0x10, 0x79, 0x01, 0x7d, | ||
1314 | 0x17, 0xae, 0x28, 0xa9, 0xe9, 0xef, 0xb7, 0xfe, 0x47, 0x24, 0xa2, 0x7d, | ||
1315 | 0xa3, 0x17, 0xaa, 0x83, 0x68, 0x63, 0xd3, 0x27, 0x09, 0xe2, 0x20, 0xad, | ||
1316 | 0xf8, 0x7f, 0xcb, 0xf7, 0x32, 0x74, 0x0c, 0xfb, 0x26, 0x7d, 0x2f, 0xbd, | ||
1317 | 0xf6, 0xc4, 0x0f, 0xfa, 0x39, 0xf4, 0xb5, 0xf6, 0x9e, 0x51, 0xb4, 0xbe, | ||
1318 | 0xbb, 0x90, 0x7f, 0xf4, 0x7f, 0x51, 0xfc, 0xb3, 0xa6, 0x73, 0x8d, 0x41, | ||
1319 | 0xfe, 0x4f, 0x0a, 0xc6, 0xf2, 0xf9, 0xf9, 0xdd, 0x93, 0x95, 0x09, 0xf5, | ||
1320 | 0x54, 0x85, 0x8c, 0xc6, 0x93, 0x85, 0xdd, 0x3c, 0xba, 0xaf, 0xc8, 0x9a, | ||
1321 | 0x1b, 0xd1, 0x63, 0xf0, 0xe3, 0xf6, 0x69, 0x9d, 0x53, 0x37, 0x31, 0x4c, | ||
1322 | 0xf9, 0xe3, 0x19, 0x5a, 0x4f, 0x70, 0xb6, 0x00, 0x6e, 0xeb, 0x9a, 0x72, | ||
1323 | 0xb1, 0xee, 0xc7, 0xaf, 0xe6, 0xb4, 0xbc, 0x5c, 0x87, 0xcc, 0xf1, 0xfc, | ||
1324 | 0xc1, 0xbf, 0x16, 0xaa, 0x7e, 0xdf, 0xec, 0xb0, 0x43, 0x7f, 0x1c, 0xf3, | ||
1325 | 0x35, 0x7a, 0xf9, 0x2d, 0xfe, 0x4f, 0x0e, 0xca, 0xc1, 0x78, 0x99, 0x0f, | ||
1326 | 0x6c, 0x6b, 0x59, 0xf4, 0xcf, 0x67, 0x1d, 0x79, 0x11, 0x7b, 0x51, 0x33, | ||
1327 | 0x39, 0xfe, 0x4e, 0xa9, 0x39, 0xf4, 0x6d, 0x89, 0xdf, 0xc3, 0x52, 0xc5, | ||
1328 | 0x77, 0x6a, 0x4e, 0x2b, 0x36, 0xe6, 0xe3, 0x6c, 0xcd, 0x7c, 0xf8, 0xdd, | ||
1329 | 0xe9, 0xea, 0x41, 0xdc, 0xa3, 0xce, 0x01, 0x67, 0x3a, 0xc3, 0xfb, 0x05, | ||
1330 | 0x94, 0x19, 0x1b, 0x99, 0xc3, 0x35, 0x16, 0xd4, 0xfd, 0x7c, 0x40, 0x73, | ||
1331 | 0xf5, 0xf1, 0x87, 0xfd, 0x66, 0xaa, 0x56, 0x21, 0x13, 0xba, 0xab, 0x8c, | ||
1332 | 0x9f, 0xad, 0x0f, 0x10, 0x73, 0x0f, 0xda, 0xfc, 0x45, 0xe4, 0x6f, 0xa6, | ||
1333 | 0x8e, 0x29, 0x04, 0xcf, 0xf6, 0xc9, 0xb3, 0x26, 0x73, 0xcd, 0xd3, 0x6a, | ||
1334 | 0xa2, 0xf2, 0x72, 0x90, 0x57, 0x7b, 0x57, 0x1d, 0xac, 0x35, 0x07, 0xfc, | ||
1335 | 0xbc, 0x74, 0xbe, 0x7b, 0x6f, 0x2e, 0xfa, 0x5e, 0x39, 0x61, 0x4e, 0x7a, | ||
1336 | 0x07, 0x78, 0xab, 0x36, 0x62, 0xd0, 0x41, 0xe0, 0x9d, 0xdd, 0xa6, 0xf5, | ||
1337 | 0xb1, 0xd8, 0xf8, 0x97, 0xb7, 0xad, 0xf5, 0xb9, 0x15, 0x63, 0xb8, 0x35, | ||
1338 | 0x40, 0xdf, 0x96, 0xb8, 0x71, 0xd1, 0x8f, 0x1b, 0x69, 0x1f, 0x1a, 0x58, | ||
1339 | 0x81, 0x3a, 0xea, 0x2a, 0xf4, 0x64, 0xb7, 0x2d, 0xff, 0xfe, 0x03, 0x7d, | ||
1340 | 0xe7, 0x95, 0xf0, 0x2c, 0x67, 0x00, 0x00, 0x00 }; | ||
1052 | 1341 | ||
1053 | static u32 bnx2_RXP_b06FwData[(0x0/4) + 1] = { 0x0 }; | 1342 | static u32 bnx2_RXP_b06FwData[(0x0/4) + 1] = { 0x0 }; |
1054 | static u32 bnx2_RXP_b06FwRodata[(0x28/4) + 1] = { | 1343 | static u32 bnx2_RXP_b06FwRodata[(0x278/4) + 1] = { |
1055 | 0x0800468c, 0x0800458c, 0x08004630, 0x08004648, 0x08004660, 0x08004680, | 1344 | 0x08003fdc, 0x08003edc, 0x08003f80, 0x08003f98, 0x08003fb0, 0x08003fd0, |
1056 | 0x0800468c, 0x0800468c, 0x08004594, 0x00000000, 0x00000000 }; | 1345 | 0x08003fdc, 0x08003fdc, 0x08003ee4, 0x00000000, 0x08004a04, 0x08004a3c, |
1057 | static u32 bnx2_RXP_b06FwBss[(0x13a4/4) + 1] = { 0x0 }; | 1346 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004a74, 0x08004c38, |
1058 | static u32 bnx2_RXP_b06FwSbss[(0x1c/4) + 1] = { 0x0 }; | 1347 | 0x08004b80, 0x08004bb8, 0x08004c38, 0x08004b08, 0x08004c38, 0x08004c38, |
1348 | 0x08004bb8, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1349 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004bf8, | ||
1350 | 0x08004c38, 0x08004bf8, 0x08004b80, 0x08004c38, 0x08004c38, 0x08004bf8, | ||
1351 | 0x08004bf8, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1352 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1353 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1354 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1355 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1356 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1357 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1358 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1359 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1360 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1361 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1362 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1363 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1364 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1365 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1366 | 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, 0x08004c38, | ||
1367 | 0x08004ae4, 0x00000000, 0x08006018, 0x08006030, 0x08006030, 0x08006030, | ||
1368 | 0x08006018, 0x08006030, 0x08006030, 0x08006030, 0x08006018, 0x08006030, | ||
1369 | 0x08006030, 0x08006030, 0x08006018, 0x08006030, 0x08006030, 0x08006030, | ||
1370 | 0x08006024, 0x00000000, 0x00000000 }; | ||
1371 | |||
1372 | static u32 bnx2_RXP_b06FwBss[(0x13dc/4) + 1] = { 0x0 }; | ||
1373 | static u32 bnx2_RXP_b06FwSbss[(0x2c/4) + 1] = { 0x0 }; | ||
1374 | |||
1375 | static struct fw_info bnx2_rxp_fw_06 = { | ||
1376 | .ver_major = 0x2, | ||
1377 | .ver_minor = 0x8, | ||
1378 | .ver_fix = 0x17, | ||
1379 | |||
1380 | .start_addr = 0x08003184, | ||
1381 | |||
1382 | .text_addr = 0x08000000, | ||
1383 | .text_len = 0x6728, | ||
1384 | .text_index = 0x0, | ||
1385 | .gz_text = bnx2_RXP_b06FwText, | ||
1386 | .gz_text_len = sizeof(bnx2_RXP_b06FwText), | ||
1387 | |||
1388 | .data_addr = 0x080069c0, | ||
1389 | .data_len = 0x0, | ||
1390 | .data_index = 0x0, | ||
1391 | .data = bnx2_RXP_b06FwData, | ||
1392 | |||
1393 | .sbss_addr = 0x080069c0, | ||
1394 | .sbss_len = 0x2c, | ||
1395 | .sbss_index = 0x0, | ||
1396 | .sbss = bnx2_RXP_b06FwSbss, | ||
1397 | |||
1398 | .bss_addr = 0x080069f0, | ||
1399 | .bss_len = 0x13dc, | ||
1400 | .bss_index = 0x0, | ||
1401 | .bss = bnx2_RXP_b06FwBss, | ||
1402 | |||
1403 | .rodata_addr = 0x08006728, | ||
1404 | .rodata_len = 0x278, | ||
1405 | .rodata_index = 0x0, | ||
1406 | .rodata = bnx2_RXP_b06FwRodata, | ||
1407 | }; | ||
1059 | 1408 | ||
1060 | static u8 bnx2_rv2p_proc1[] = { | 1409 | static u8 bnx2_rv2p_proc1[] = { |
1061 | 0x1f, 0x8b, 0x08, 0x08, 0x5e, 0xd0, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, | 1410 | 0x1f, 0x8b, 0x08, 0x08, 0x5e, 0xd0, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, |
@@ -1316,20 +1665,6 @@ static u8 bnx2_rv2p_proc2[] = { | |||
1316 | 0x63, 0xd6, 0x11, 0x8f, 0x47, 0xd5, 0x5f, 0x3f, 0x97, 0x8f, 0x31, 0xd8, | 1665 | 0x63, 0xd6, 0x11, 0x8f, 0x47, 0xd5, 0x5f, 0x3f, 0x97, 0x8f, 0x31, 0xd8, |
1317 | 0x17, 0x00, 0x00, 0x00 }; | 1666 | 0x17, 0x00, 0x00, 0x00 }; |
1318 | 1667 | ||
1319 | static const int bnx2_TPAT_b06FwReleaseMajor = 0x1; | ||
1320 | static const int bnx2_TPAT_b06FwReleaseMinor = 0x0; | ||
1321 | static const int bnx2_TPAT_b06FwReleaseFix = 0x0; | ||
1322 | static const u32 bnx2_TPAT_b06FwStartAddr = 0x08000860; | ||
1323 | static const u32 bnx2_TPAT_b06FwTextAddr = 0x08000800; | ||
1324 | static const int bnx2_TPAT_b06FwTextLen = 0x122c; | ||
1325 | static const u32 bnx2_TPAT_b06FwDataAddr = 0x08001a60; | ||
1326 | static const int bnx2_TPAT_b06FwDataLen = 0x0; | ||
1327 | static const u32 bnx2_TPAT_b06FwRodataAddr = 0x00000000; | ||
1328 | static const int bnx2_TPAT_b06FwRodataLen = 0x0; | ||
1329 | static const u32 bnx2_TPAT_b06FwBssAddr = 0x08001aa0; | ||
1330 | static const int bnx2_TPAT_b06FwBssLen = 0x250; | ||
1331 | static const u32 bnx2_TPAT_b06FwSbssAddr = 0x08001a60; | ||
1332 | static const int bnx2_TPAT_b06FwSbssLen = 0x34; | ||
1333 | static u8 bnx2_TPAT_b06FwText[] = { | 1668 | static u8 bnx2_TPAT_b06FwText[] = { |
1334 | 0x1f, 0x8b, 0x08, 0x08, 0x47, 0xd2, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, | 1669 | 0x1f, 0x8b, 0x08, 0x08, 0x47, 0xd2, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, |
1335 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xc5, 0x57, 0x4d, 0x68, | 1670 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xc5, 0x57, 0x4d, 0x68, |
@@ -1529,20 +1864,40 @@ static u32 bnx2_TPAT_b06FwRodata[(0x0/4) + 1] = { 0x0 }; | |||
1529 | static u32 bnx2_TPAT_b06FwBss[(0x250/4) + 1] = { 0x0 }; | 1864 | static u32 bnx2_TPAT_b06FwBss[(0x250/4) + 1] = { 0x0 }; |
1530 | static u32 bnx2_TPAT_b06FwSbss[(0x34/4) + 1] = { 0x0 }; | 1865 | static u32 bnx2_TPAT_b06FwSbss[(0x34/4) + 1] = { 0x0 }; |
1531 | 1866 | ||
1532 | static const int bnx2_TXP_b06FwReleaseMajor = 0x1; | 1867 | static struct fw_info bnx2_tpat_fw_06 = { |
1533 | static const int bnx2_TXP_b06FwReleaseMinor = 0x0; | 1868 | .ver_major = 0x1, |
1534 | static const int bnx2_TXP_b06FwReleaseFix = 0x0; | 1869 | .ver_minor = 0x0, |
1535 | static const u32 bnx2_TXP_b06FwStartAddr = 0x080034b0; | 1870 | .ver_fix = 0x0, |
1536 | static const u32 bnx2_TXP_b06FwTextAddr = 0x08000000; | 1871 | |
1537 | static const int bnx2_TXP_b06FwTextLen = 0x5748; | 1872 | .start_addr = 0x08000860, |
1538 | static const u32 bnx2_TXP_b06FwDataAddr = 0x08005760; | 1873 | |
1539 | static const int bnx2_TXP_b06FwDataLen = 0x0; | 1874 | .text_addr = 0x08000800, |
1540 | static const u32 bnx2_TXP_b06FwRodataAddr = 0x00000000; | 1875 | .text_len = 0x122c, |
1541 | static const int bnx2_TXP_b06FwRodataLen = 0x0; | 1876 | .text_index = 0x0, |
1542 | static const u32 bnx2_TXP_b06FwBssAddr = 0x080057a0; | 1877 | .gz_text = bnx2_TPAT_b06FwText, |
1543 | static const int bnx2_TXP_b06FwBssLen = 0x1c4; | 1878 | .gz_text_len = sizeof(bnx2_TPAT_b06FwText), |
1544 | static const u32 bnx2_TXP_b06FwSbssAddr = 0x08005760; | 1879 | |
1545 | static const int bnx2_TXP_b06FwSbssLen = 0x38; | 1880 | .data_addr = 0x08001a60, |
1881 | .data_len = 0x0, | ||
1882 | .data_index = 0x0, | ||
1883 | .data = bnx2_TPAT_b06FwData, | ||
1884 | |||
1885 | .sbss_addr = 0x08001a60, | ||
1886 | .sbss_len = 0x34, | ||
1887 | .sbss_index = 0x0, | ||
1888 | .sbss = bnx2_TPAT_b06FwSbss, | ||
1889 | |||
1890 | .bss_addr = 0x08001aa0, | ||
1891 | .bss_len = 0x250, | ||
1892 | .bss_index = 0x0, | ||
1893 | .bss = bnx2_TPAT_b06FwBss, | ||
1894 | |||
1895 | .rodata_addr = 0x00000000, | ||
1896 | .rodata_len = 0x0, | ||
1897 | .rodata_index = 0x0, | ||
1898 | .rodata = bnx2_TPAT_b06FwRodata, | ||
1899 | }; | ||
1900 | |||
1546 | static u8 bnx2_TXP_b06FwText[] = { | 1901 | static u8 bnx2_TXP_b06FwText[] = { |
1547 | 0x1f, 0x8b, 0x08, 0x08, 0x21, 0xd3, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, | 1902 | 0x1f, 0x8b, 0x08, 0x08, 0x21, 0xd3, 0x41, 0x44, 0x00, 0x03, 0x74, 0x65, |
1548 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xed, 0x5c, 0x6d, 0x6c, | 1903 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xed, 0x5c, 0x6d, 0x6c, |
@@ -1964,3 +2319,38 @@ static u32 bnx2_TXP_b06FwData[(0x0/4) + 1] = { 0x0 }; | |||
1964 | static u32 bnx2_TXP_b06FwRodata[(0x0/4) + 1] = { 0x0 }; | 2319 | static u32 bnx2_TXP_b06FwRodata[(0x0/4) + 1] = { 0x0 }; |
1965 | static u32 bnx2_TXP_b06FwBss[(0x1c4/4) + 1] = { 0x0 }; | 2320 | static u32 bnx2_TXP_b06FwBss[(0x1c4/4) + 1] = { 0x0 }; |
1966 | static u32 bnx2_TXP_b06FwSbss[(0x38/4) + 1] = { 0x0 }; | 2321 | static u32 bnx2_TXP_b06FwSbss[(0x38/4) + 1] = { 0x0 }; |
2322 | |||
2323 | static struct fw_info bnx2_txp_fw_06 = { | ||
2324 | .ver_major = 0x1, | ||
2325 | .ver_minor = 0x0, | ||
2326 | .ver_fix = 0x0, | ||
2327 | |||
2328 | .start_addr = 0x080034b0, | ||
2329 | |||
2330 | .text_addr = 0x08000000, | ||
2331 | .text_len = 0x5748, | ||
2332 | .text_index = 0x0, | ||
2333 | .gz_text = bnx2_TXP_b06FwText, | ||
2334 | .gz_text_len = sizeof(bnx2_TXP_b06FwText), | ||
2335 | |||
2336 | .data_addr = 0x08005760, | ||
2337 | .data_len = 0x0, | ||
2338 | .data_index = 0x0, | ||
2339 | .data = bnx2_TXP_b06FwData, | ||
2340 | |||
2341 | .sbss_addr = 0x08005760, | ||
2342 | .sbss_len = 0x38, | ||
2343 | .sbss_index = 0x0, | ||
2344 | .sbss = bnx2_TXP_b06FwSbss, | ||
2345 | |||
2346 | .bss_addr = 0x080057a0, | ||
2347 | .bss_len = 0x1c4, | ||
2348 | .bss_index = 0x0, | ||
2349 | .bss = bnx2_TXP_b06FwBss, | ||
2350 | |||
2351 | .rodata_addr = 0x00000000, | ||
2352 | .rodata_len = 0x0, | ||
2353 | .rodata_index = 0x0, | ||
2354 | .rodata = bnx2_TXP_b06FwRodata, | ||
2355 | }; | ||
2356 | |||
diff --git a/drivers/net/bnx2_fw2.h b/drivers/net/bnx2_fw2.h new file mode 100644 index 000000000000..680c769a3fc0 --- /dev/null +++ b/drivers/net/bnx2_fw2.h | |||
@@ -0,0 +1,4086 @@ | |||
1 | /* bnx2_fw2.h: Broadcom NX2 network driver. | ||
2 | * | ||
3 | * Copyright (c) 2006 Broadcom Corporation | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation, except as noted below. | ||
8 | * | ||
9 | * This file contains firmware data derived from proprietary unpublished | ||
10 | * source code, Copyright (c) 2006 Broadcom Corporation. | ||
11 | * | ||
12 | * Permission is hereby granted for the distribution of this firmware data | ||
13 | * in hexadecimal or equivalent format, provided this copyright notice is | ||
14 | * accompanying it. | ||
15 | */ | ||
16 | |||
17 | static u8 bnx2_COM_b09FwText[] = { | ||
18 | 0x1f, 0x8b, 0x08, 0x08, 0xac, 0xfb, 0x2f, 0x45, 0x00, 0x03, 0x74, 0x65, | ||
19 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xdc, 0x5b, 0x6b, 0x70, | ||
20 | 0x1b, 0xd7, 0x75, 0x3e, 0xfb, 0x00, 0x09, 0x91, 0x10, 0xb5, 0xa4, 0x60, | ||
21 | 0x1a, 0x96, 0x68, 0x07, 0x20, 0x57, 0x22, 0x6a, 0xb1, 0x29, 0x4c, 0x33, | ||
22 | 0x16, 0x9b, 0xc2, 0x12, 0x02, 0x50, 0xae, 0x26, 0xc3, 0x3a, 0x94, 0xcd, | ||
23 | 0xd8, 0x4a, 0xaa, 0xc9, 0x30, 0x00, 0xa5, 0xf4, 0x61, 0xb7, 0x92, 0xab, | ||
24 | 0xa9, 0x5d, 0xd7, 0xaa, 0x21, 0x92, 0x6a, 0xf5, 0x83, 0xe5, 0x2a, 0x16, | ||
25 | 0x43, 0xa9, 0xd3, 0x74, 0xc2, 0x12, 0x56, 0xac, 0x4e, 0x31, 0x85, 0xfc, | ||
26 | 0xd6, 0x38, 0xb1, 0xc9, 0x4a, 0x76, 0xeb, 0xf4, 0xe1, 0xa6, 0x33, 0xcd, | ||
27 | 0xa3, 0x9d, 0x36, 0xf6, 0xa8, 0x3f, 0xea, 0xe9, 0xd3, 0x33, 0x6e, 0xa7, | ||
28 | 0xea, 0xd8, 0x0e, 0xfa, 0x7d, 0x77, 0x77, 0x81, 0x25, 0x48, 0xbd, 0xfc, | ||
29 | 0xc8, 0x8f, 0x70, 0x06, 0xb3, 0x7b, 0xef, 0xde, 0xbd, 0xf7, 0xdc, 0xf3, | ||
30 | 0xf8, 0xce, 0x63, 0x2f, 0xfb, 0x44, 0x5a, 0xc4, 0xfb, 0x5b, 0x8b, 0x5f, | ||
31 | 0xfc, 0xfe, 0x5f, 0x2d, 0x7c, 0x7c, 0xf0, 0xe3, 0xfd, 0x22, 0xb7, 0xdc, | ||
32 | 0xa2, 0xb7, 0x86, 0x75, 0xf6, 0x1b, 0xf8, 0x45, 0xf1, 0xeb, 0xf7, 0xee, | ||
33 | 0x57, 0xfb, 0xb3, 0xf0, 0x7b, 0x13, 0x0f, 0xc7, 0xfe, 0x55, 0x44, 0xbb, | ||
34 | 0xc4, 0x98, 0xe0, 0x5f, 0xb5, 0x7a, 0xf9, 0xe7, 0x5c, 0x38, 0x7e, 0x89, | ||
35 | 0x67, 0x86, 0xbb, 0x9c, 0xa2, 0x97, 0x3f, 0x09, 0xeb, 0x69, 0x39, 0x94, | ||
36 | 0xb5, 0x25, 0x6c, 0xa4, 0xdf, 0x3c, 0x54, 0xb0, 0x45, 0x32, 0xe5, 0x2d, | ||
37 | 0xf1, 0x9c, 0xbc, 0x57, 0x2d, 0x46, 0x4d, 0x61, 0xff, 0x8d, 0xe9, 0x77, | ||
38 | 0xbf, 0xf6, 0xe2, 0xd6, 0xc4, 0x5b, 0xf3, 0x86, 0x84, 0xad, 0xf4, 0x19, | ||
39 | 0xb1, 0x36, 0x4b, 0xb8, 0x0b, 0xef, 0x7c, 0xb5, 0xf7, 0x3d, 0x91, 0x36, | ||
40 | 0x7f, 0xae, 0x37, 0xab, 0x2f, 0xf6, 0x4a, 0x71, 0x43, 0x3a, 0x2c, 0x7a, | ||
41 | 0x7a, 0xd3, 0xf7, 0xb3, 0x86, 0x35, 0x66, 0xa4, 0x2d, 0x59, 0xac, 0xc8, | ||
42 | 0xc8, 0xde, 0x69, 0x09, 0x87, 0xd3, 0x47, 0x9b, 0x9b, 0x37, 0x49, 0xd8, | ||
43 | 0x4c, 0x8f, 0x1d, 0xfa, 0x6d, 0xfb, 0xd1, 0xaa, 0x6e, 0xdb, 0xc9, 0x05, | ||
44 | 0x89, 0x0c, 0x9e, 0x1a, 0xc0, 0xf3, 0x72, 0x22, 0x29, 0xb2, 0x55, 0x74, | ||
45 | 0xbb, 0x18, 0x31, 0xec, 0xb0, 0x64, 0x2b, 0xb6, 0xe4, 0x2a, 0x22, 0x7f, | ||
46 | 0x5e, 0xd6, 0xe4, 0x94, 0xdd, 0x29, 0x0b, 0x7d, 0xef, 0x56, 0x33, 0xa0, | ||
47 | 0xe5, 0xcf, 0xec, 0xb1, 0x43, 0x53, 0x36, 0xe9, 0x9d, 0x6d, 0x76, 0xe9, | ||
48 | 0x9d, 0x6a, 0x2a, 0xd8, 0xa6, 0x4c, 0x94, 0xd9, 0x37, 0xa2, 0xb3, 0x2f, | ||
49 | 0x94, 0x7e, 0x68, 0xcd, 0x29, 0x3b, 0xe2, 0xf5, 0xed, 0xdc, 0x9e, 0xc5, | ||
50 | 0x7c, 0x93, 0x65, 0x8e, 0x3d, 0x93, 0x2a, 0xd8, 0x51, 0xaf, 0x3f, 0x79, | ||
51 | 0x5b, 0xd6, 0x8e, 0xa1, 0xbf, 0xcb, 0x7b, 0x76, 0xf2, 0xbe, 0x82, 0x6d, | ||
52 | 0x7b, 0xcf, 0xbe, 0x8a, 0xb9, 0x93, 0x5e, 0xff, 0x7d, 0xdb, 0x0a, 0x76, | ||
53 | 0x9f, 0xd7, 0x3f, 0xbd, 0x2d, 0x6b, 0xa7, 0xbc, 0xfe, 0xe4, 0xee, 0x82, | ||
54 | 0x3d, 0xe0, 0xf5, 0x9f, 0xbd, 0x3d, 0x6b, 0x0f, 0x7a, 0xfd, 0x0f, 0x6d, | ||
55 | 0x2d, 0xd8, 0x69, 0xf4, 0x1f, 0x6d, 0xd6, 0x37, 0x59, 0x72, 0xa4, 0x1c, | ||
56 | 0xc7, 0x2f, 0x83, 0x67, 0x43, 0xe8, 0xdb, 0x89, 0xdf, 0x30, 0x7e, 0xbf, | ||
57 | 0xb8, 0x4e, 0xda, 0x46, 0x70, 0xfd, 0xc6, 0x46, 0x97, 0x77, 0xe0, 0x91, | ||
58 | 0x13, 0x96, 0x37, 0x8c, 0x98, 0xbc, 0xd8, 0xfb, 0x06, 0x78, 0x68, 0xc9, | ||
59 | 0x99, 0x8a, 0x68, 0x23, 0xbd, 0x31, 0xf0, 0x2e, 0x2a, 0x4f, 0x56, 0x5a, | ||
60 | 0xc5, 0x78, 0xcc, 0x00, 0x6f, 0x3e, 0x2f, 0xf9, 0x68, 0x58, 0xda, 0xe7, | ||
61 | 0x34, 0xe9, 0xee, 0x0f, 0x4b, 0xc6, 0x52, 0x72, 0x13, 0x7d, 0x26, 0x2a, | ||
62 | 0xc6, 0x5c, 0x66, 0xbd, 0x2e, 0x9b, 0xac, 0x9c, 0x14, 0xc1, 0xbb, 0xef, | ||
63 | 0x51, 0x27, 0xf1, 0x2c, 0x2e, 0xb9, 0xe9, 0x9b, 0x65, 0xcc, 0x22, 0x5d, | ||
64 | 0x3b, 0x6f, 0x74, 0xd7, 0x0a, 0x6b, 0xd9, 0x13, 0x23, 0x72, 0xc4, 0x89, | ||
65 | 0x68, 0xb9, 0x13, 0xdb, 0x24, 0x9b, 0x92, 0x28, 0xde, 0x8b, 0xe5, 0xf1, | ||
66 | 0xa4, 0x54, 0x1e, 0x91, 0x29, 0x47, 0xb4, 0xac, 0x43, 0x7e, 0x76, 0xe2, | ||
67 | 0x79, 0x9b, 0x1a, 0x8b, 0xbe, 0x2e, 0x43, 0xcd, 0x1d, 0x46, 0xbf, 0x85, | ||
68 | 0xfe, 0x0e, 0x6d, 0x48, 0xcd, 0xa1, 0xfa, 0xe3, 0x93, 0x12, 0x91, 0xc7, | ||
69 | 0xcb, 0x51, 0x6f, 0x6c, 0xb5, 0x9a, 0x4d, 0x59, 0x18, 0x37, 0x22, 0x93, | ||
70 | 0x4e, 0x54, 0xc6, 0x70, 0x9d, 0x70, 0xb8, 0x7e, 0x0c, 0x3a, 0xf5, 0xda, | ||
71 | 0xa1, 0xfc, 0xac, 0x9a, 0x2f, 0x6e, 0xa4, 0x39, 0x5f, 0x17, 0xc6, 0x4d, | ||
72 | 0x80, 0x2e, 0x4d, 0x4c, 0x25, 0xcb, 0x8c, 0xe4, 0xa7, 0x35, 0xe8, 0x1b, | ||
73 | 0xae, 0x8a, 0xaf, 0x43, 0xa0, 0xdf, 0x14, 0xbb, 0x5f, 0x93, 0x02, 0x64, | ||
74 | 0x55, 0xb4, 0xd0, 0x2e, 0x9f, 0xd5, 0xb3, 0x4e, 0xb3, 0xe4, 0xcc, 0xb8, | ||
75 | 0x18, 0x33, 0x4a, 0x97, 0x64, 0x12, 0xef, 0xe8, 0x36, 0xc7, 0x5c, 0xc4, | ||
76 | 0xbe, 0xc7, 0x94, 0x1c, 0x9a, 0xd2, 0x45, 0x3d, 0x57, 0xe9, 0x14, 0x7d, | ||
77 | 0x6e, 0x8f, 0xbc, 0x3c, 0x2d, 0x96, 0x91, 0x7e, 0xb7, 0x9a, 0xb5, 0xa7, | ||
78 | 0xf4, 0xec, 0x13, 0xa6, 0x84, 0x66, 0x34, 0x99, 0xb2, 0x13, 0xb0, 0x80, | ||
79 | 0xa3, 0xfa, 0x8e, 0xca, 0x59, 0x8c, 0xe3, 0x7b, 0x18, 0x57, 0xd6, 0xc1, | ||
80 | 0x57, 0xde, 0x6f, 0xb1, 0x74, 0xa5, 0xcf, 0x1c, 0x03, 0x19, 0x60, 0x1f, | ||
81 | 0x4f, 0x3a, 0x90, 0x89, 0x92, 0x51, 0x1c, 0x32, 0x7a, 0x15, 0x32, 0x1a, | ||
82 | 0x80, 0x6c, 0x52, 0xf2, 0x52, 0xa5, 0x4f, 0x9e, 0xaf, 0x24, 0xe5, 0x39, | ||
83 | 0xe8, 0xeb, 0xb3, 0x95, 0xb8, 0x3c, 0x53, 0xe9, 0x92, 0xa7, 0x2b, 0x31, | ||
84 | 0x79, 0x4a, 0xc9, 0x2d, 0x07, 0xdb, 0x50, 0xb2, 0x0c, 0x5f, 0x9f, 0x96, | ||
85 | 0x70, 0x27, 0xe4, 0xd1, 0x01, 0xfd, 0x69, 0x87, 0x6e, 0x7e, 0xa5, 0x37, | ||
86 | 0x2c, 0xb3, 0xbd, 0x92, 0x59, 0x8f, 0xfe, 0x9b, 0xd2, 0xa6, 0xe2, 0x91, | ||
87 | 0x89, 0xe7, 0x93, 0xd3, 0x21, 0xc9, 0x59, 0x8f, 0xcb, 0x85, 0x19, 0x53, | ||
88 | 0x26, 0x2b, 0xdb, 0x6f, 0x72, 0x65, 0xc6, 0xf6, 0xbc, 0x9c, 0x9f, 0x69, | ||
89 | 0xc2, 0xb3, 0x79, 0x79, 0x79, 0xb3, 0x2e, 0x13, 0xb3, 0x6f, 0x89, 0x09, | ||
90 | 0x1e, 0x0e, 0x29, 0x79, 0x3f, 0x2e, 0xff, 0xfc, 0x27, 0x22, 0x23, 0xe0, | ||
91 | 0x8b, 0xde, 0xff, 0xef, 0xd5, 0x8c, 0x05, 0x7e, 0xf4, 0xf7, 0x41, 0x3f, | ||
92 | 0x74, 0x5c, 0x29, 0xcf, 0x38, 0xc6, 0x98, 0x5a, 0xce, 0x39, 0x0d, 0x9b, | ||
93 | 0x6a, 0xd5, 0xb2, 0xc7, 0x45, 0x0a, 0xc7, 0xab, 0x52, 0x48, 0x85, 0xe4, | ||
94 | 0x01, 0xab, 0x2a, 0x43, 0xa9, 0x26, 0x39, 0x60, 0x75, 0xca, 0x44, 0xdf, | ||
95 | 0xcf, 0x68, 0x3e, 0x96, 0x7d, 0xa5, 0x92, 0xc6, 0x3d, 0xfb, 0x44, 0x66, | ||
96 | 0xd5, 0xbd, 0xdb, 0x5f, 0xac, 0x84, 0x24, 0x13, 0x2d, 0xc6, 0x4c, 0xb9, | ||
97 | 0xa0, 0xb9, 0xb4, 0xed, 0xf4, 0x9f, 0x41, 0x5e, 0x63, 0xc0, 0x90, 0x84, | ||
98 | 0xd2, 0xa5, 0xfc, 0xf4, 0x9a, 0x8b, 0x19, 0xd5, 0x1d, 0x52, 0x7a, 0x6a, | ||
99 | 0xa4, 0x4d, 0xd2, 0x31, 0xa6, 0xa5, 0xa3, 0xd2, 0xad, 0xec, 0x64, 0x00, | ||
100 | 0x63, 0x06, 0xb5, 0xbb, 0x2b, 0x94, 0x37, 0xee, 0xcb, 0xa4, 0x75, 0x03, | ||
101 | 0xc6, 0x9a, 0xb8, 0x66, 0x3c, 0x9a, 0x83, 0x74, 0x72, 0x2e, 0xd2, 0xc9, | ||
102 | 0xeb, 0xde, 0x00, 0x9d, 0xfb, 0x6a, 0xf7, 0xb3, 0x81, 0xfb, 0x62, 0xe5, | ||
103 | 0xd7, 0x5b, 0x5c, 0xfa, 0xc8, 0xd7, 0x41, 0x99, 0x98, 0x7e, 0xc8, 0x5b, | ||
104 | 0x0b, 0xf7, 0x65, 0xae, 0xb1, 0x00, 0x3e, 0xa9, 0x91, 0x57, 0x58, 0xab, | ||
105 | 0x18, 0x58, 0xeb, 0x70, 0x60, 0xad, 0xc3, 0x81, 0xb5, 0x8a, 0xe0, 0xad, | ||
106 | 0xac, 0xd3, 0x81, 0x33, 0x79, 0xc2, 0xbc, 0x1c, 0xc5, 0x9c, 0x6f, 0x88, | ||
107 | 0x91, 0xa6, 0x2d, 0xf8, 0x36, 0xf9, 0x07, 0x18, 0x9f, 0x96, 0x73, 0x0e, | ||
108 | 0x78, 0x73, 0x3c, 0x24, 0x77, 0xa9, 0x71, 0xff, 0xb1, 0xc6, 0xa5, 0x31, | ||
109 | 0xf8, 0x2c, 0x2c, 0xbb, 0xa2, 0xbc, 0xf7, 0x9f, 0x99, 0xe0, 0x37, 0xdb, | ||
110 | 0x93, 0x37, 0xb8, 0x6d, 0xde, 0x9f, 0xf5, 0xf6, 0xd2, 0xee, 0xbe, 0x57, | ||
111 | 0x79, 0x53, 0x61, 0xc6, 0x62, 0x85, 0xb6, 0x2d, 0x29, 0xc3, 0x96, 0xfd, | ||
112 | 0x43, 0xa9, 0x4e, 0x99, 0xb4, 0xb4, 0xd4, 0x44, 0xb2, 0x99, 0xfc, 0xcf, | ||
113 | 0xe8, 0x76, 0x2b, 0xec, 0x47, 0xe2, 0x3a, 0x71, 0x51, 0xed, 0xeb, 0x5b, | ||
114 | 0x1e, 0xfd, 0x16, 0xdb, 0x23, 0xba, 0xdd, 0xd1, 0xd0, 0x4f, 0xfd, 0xff, | ||
115 | 0x4b, 0xdc, 0xd3, 0x06, 0xfa, 0x75, 0x77, 0xed, 0xbf, 0x42, 0x9b, 0x58, | ||
116 | 0x15, 0xf1, 0xda, 0xfe, 0xf3, 0xff, 0x32, 0x96, 0xb7, 0x8f, 0x6d, 0x5c, | ||
117 | 0xde, 0xf6, 0x6d, 0x29, 0x88, 0x73, 0xdc, 0x2b, 0x6c, 0xd8, 0xa6, 0xfe, | ||
118 | 0x85, 0x40, 0x6b, 0x0a, 0x36, 0xdc, 0xec, 0xd1, 0xf0, 0xba, 0x47, 0x03, | ||
119 | 0x68, 0xc5, 0xb8, 0x89, 0x0a, 0xdf, 0x51, 0xa2, 0x6c, 0x68, 0x93, 0xf7, | ||
120 | 0xfe, 0xfd, 0x5a, 0xf5, 0xfc, 0x0d, 0x83, 0xeb, 0xf8, 0x57, 0xd1, 0x86, | ||
121 | 0x60, 0x67, 0x93, 0xb3, 0xa6, 0xe4, 0x53, 0x31, 0x65, 0x0f, 0xf9, 0x54, | ||
122 | 0x1d, 0x3f, 0x26, 0xa7, 0x1b, 0xf1, 0x83, 0xef, 0x11, 0x3f, 0x5c, 0xec, | ||
123 | 0x98, 0x98, 0x25, 0x8e, 0xd4, 0x71, 0xe3, 0xc8, 0xb4, 0x8f, 0x25, 0x9c, | ||
124 | 0x9b, 0x18, 0xe2, 0xe3, 0x07, 0xdf, 0x23, 0x7e, 0x18, 0x90, 0x15, 0xe7, | ||
125 | 0xf4, 0xd7, 0x9f, 0x6a, 0x98, 0x7b, 0x4a, 0x61, 0x93, 0x8b, 0xcb, 0x6f, | ||
126 | 0x06, 0x70, 0xbe, 0x0b, 0x18, 0x1d, 0x85, 0xfc, 0x7c, 0x8c, 0x26, 0x76, | ||
127 | 0xc6, 0x80, 0xeb, 0xe0, 0x91, 0xc2, 0xe4, 0x08, 0x70, 0xcc, 0xf4, 0x30, | ||
128 | 0x35, 0xec, 0x61, 0x6a, 0x04, 0x78, 0xca, 0xb6, 0xe5, 0xb5, 0xa3, 0x5e, | ||
129 | 0x3b, 0x86, 0x36, 0xfc, 0xef, 0x1c, 0x6d, 0xec, 0xb5, 0x43, 0xe3, 0xb3, | ||
130 | 0x0a, 0xa7, 0x89, 0xf1, 0xc0, 0x0a, 0xe2, 0x2c, 0xf1, 0xb6, 0x4b, 0x16, | ||
131 | 0xca, 0x58, 0xaf, 0x86, 0x69, 0x94, 0x47, 0x90, 0x1e, 0xd2, 0xb2, 0x46, | ||
132 | 0xf4, 0xc7, 0xdc, 0xfd, 0xe8, 0xe9, 0xcf, 0xeb, 0xd2, 0xc2, 0x7d, 0x90, | ||
133 | 0xee, 0x1b, 0x41, 0x2b, 0xf7, 0xf6, 0xa3, 0xa4, 0x95, 0xeb, 0x35, 0xd2, | ||
134 | 0x7b, 0x1a, 0xf4, 0x66, 0x80, 0xb7, 0xa2, 0x8d, 0xf6, 0x8e, 0x82, 0xde, | ||
135 | 0x11, 0x60, 0xf1, 0x30, 0xb0, 0x78, 0x27, 0xb0, 0x78, 0x08, 0x58, 0x9c, | ||
136 | 0x06, 0x0e, 0x0f, 0x02, 0x87, 0x07, 0x80, 0xc3, 0x29, 0xec, 0x2b, 0x2a, | ||
137 | 0xf3, 0xc0, 0xe5, 0x79, 0xe0, 0xf3, 0x3c, 0xe4, 0x35, 0x31, 0x27, 0xda, | ||
138 | 0x17, 0xb0, 0xfe, 0x63, 0x33, 0x89, 0xd3, 0xd0, 0xcd, 0x58, 0x51, 0x87, | ||
139 | 0x3d, 0xa5, 0x06, 0xa1, 0x23, 0x49, 0x29, 0x55, 0x46, 0xa5, 0x40, 0x3f, | ||
140 | 0xb6, 0xb9, 0x07, 0xb6, 0x0b, 0xfb, 0x89, 0xf9, 0x71, 0xd3, 0x5a, 0xef, | ||
141 | 0xfa, 0xf7, 0x22, 0xf6, 0x1f, 0x83, 0x27, 0x89, 0xb8, 0xc8, 0xb0, 0xe4, | ||
142 | 0x9d, 0x1e, 0x2b, 0xab, 0x27, 0x31, 0x8e, 0xed, 0xb8, 0xb6, 0xf7, 0x78, | ||
143 | 0x42, 0x1b, 0x3f, 0xce, 0x3d, 0x4d, 0x03, 0xe3, 0xaa, 0x32, 0x95, 0xa2, | ||
144 | 0xad, 0x56, 0xe5, 0x54, 0x2a, 0x31, 0x58, 0x94, 0x56, 0x39, 0x12, 0x9d, | ||
145 | 0x56, 0xfe, 0xcd, 0x4c, 0x1f, 0x53, 0xfa, 0x51, 0xb0, 0x71, 0x2d, 0x77, | ||
146 | 0x6b, 0xf9, 0xe3, 0xf4, 0x3b, 0x3d, 0xf8, 0x85, 0x40, 0x0b, 0xe7, 0x37, | ||
147 | 0x65, 0x68, 0x40, 0xb4, 0x7d, 0xbd, 0x45, 0xa0, 0x62, 0xc2, 0x3a, 0x87, | ||
148 | 0x95, 0x73, 0xd3, 0x3d, 0xb1, 0x9c, 0x6e, 0xca, 0x98, 0xa9, 0xc9, 0x04, | ||
149 | 0xec, 0x65, 0x28, 0xf5, 0x7f, 0xd5, 0x23, 0x51, 0x3e, 0x6f, 0x96, 0xdf, | ||
150 | 0x51, 0x38, 0x8b, 0xb5, 0x4b, 0xb3, 0x58, 0x37, 0x04, 0xfe, 0x71, 0x5d, | ||
151 | 0xce, 0x83, 0x36, 0x30, 0xcf, 0xb4, 0x13, 0xa7, 0x8b, 0xb2, 0x1d, 0x76, | ||
152 | 0xb7, 0x4e, 0xb2, 0x7d, 0x4d, 0x92, 0x19, 0x89, 0xcb, 0xc4, 0xcc, 0x76, | ||
153 | 0xe0, 0x1e, 0x64, 0x60, 0xb7, 0x48, 0x7e, 0x34, 0x2e, 0x5f, 0x9e, 0x61, | ||
154 | 0x5f, 0x06, 0xfb, 0x4f, 0x1c, 0xcd, 0x08, 0xf7, 0x1f, 0x52, 0xfb, 0x8a, | ||
155 | 0xeb, 0x19, 0x39, 0xe0, 0xbc, 0xa4, 0xbb, 0x76, 0xe9, 0xb6, 0xf7, 0x42, | ||
156 | 0x1e, 0xa7, 0xc0, 0xef, 0xbc, 0x63, 0xcb, 0x02, 0xfc, 0x4a, 0xee, 0x38, | ||
157 | 0x70, 0xd5, 0x6e, 0x03, 0x06, 0x26, 0xce, 0xd2, 0x3e, 0x0c, 0xc4, 0x5a, | ||
158 | 0x25, 0xc5, 0xeb, 0x2e, 0x39, 0x3e, 0xa3, 0xcb, 0xb3, 0xb7, 0xc5, 0xd1, | ||
159 | 0x06, 0xd6, 0xa6, 0x12, 0x67, 0xc6, 0xf4, 0x2e, 0xb9, 0xb5, 0x23, 0x86, | ||
160 | 0xf7, 0x52, 0x5a, 0xde, 0xf9, 0x37, 0xf2, 0xf2, 0x64, 0x5c, 0xe7, 0x58, | ||
161 | 0x5d, 0x72, 0x29, 0x03, 0x3a, 0x56, 0xc4, 0xf8, 0x7f, 0x40, 0x7f, 0x97, | ||
162 | 0xcc, 0x21, 0xbe, 0x99, 0x03, 0x4d, 0xd9, 0x14, 0xb1, 0x30, 0x71, 0x72, | ||
163 | 0x49, 0x07, 0x66, 0xcd, 0x41, 0x37, 0x47, 0x11, 0x3f, 0xcc, 0xfc, 0x37, | ||
164 | 0xc6, 0xc4, 0x21, 0xd3, 0x1e, 0x6b, 0x02, 0xf8, 0x92, 0xe9, 0xe2, 0x3d, | ||
165 | 0xe7, 0xb4, 0xe5, 0x94, 0x43, 0x1d, 0x8a, 0xcb, 0xe3, 0x15, 0xbe, 0xd7, | ||
166 | 0x73, 0xf6, 0x69, 0xb1, 0xe5, 0x41, 0xe7, 0x7f, 0x30, 0xfe, 0x1d, 0xc4, | ||
167 | 0x9e, 0x96, 0x94, 0x20, 0xb7, 0x02, 0x78, 0x99, 0x89, 0xb9, 0xed, 0x89, | ||
168 | 0xb9, 0xc4, 0xd9, 0x0b, 0x3a, 0xef, 0xed, 0xe2, 0x82, 0x7e, 0xb3, 0x48, | ||
169 | 0x07, 0xf9, 0x99, 0x02, 0x2f, 0x6d, 0x4b, 0xd7, 0x37, 0x7b, 0xf1, 0x16, | ||
170 | 0x6d, 0xc0, 0x06, 0x7d, 0xa6, 0x2c, 0xf4, 0x07, 0x6d, 0x80, 0x7e, 0xd6, | ||
171 | 0xb7, 0x81, 0x44, 0x6c, 0x49, 0xd7, 0xf1, 0xdc, 0x94, 0x63, 0xaa, 0xad, | ||
172 | 0x81, 0xd6, 0x44, 0x8c, 0xfb, 0x9b, 0x2c, 0x27, 0xe5, 0x71, 0x87, 0xe3, | ||
173 | 0xc1, 0xe7, 0xe9, 0x88, 0x37, 0x1e, 0xf1, 0x8e, 0xc3, 0x98, 0x29, 0x09, | ||
174 | 0x9a, 0x5d, 0xbb, 0x58, 0x98, 0x8e, 0xaa, 0x67, 0x47, 0x1c, 0x37, 0x36, | ||
175 | 0xd2, 0x11, 0x3f, 0xcd, 0x23, 0x7e, 0xca, 0x29, 0x1b, 0xb1, 0x32, 0x88, | ||
176 | 0xaf, 0xe1, 0x67, 0x5d, 0xfb, 0x28, 0x95, 0x49, 0xcb, 0x3d, 0xa0, 0x2f, | ||
177 | 0x51, 0x04, 0x31, 0xc7, 0x74, 0xb8, 0xeb, 0xec, 0x80, 0x14, 0x19, 0x63, | ||
178 | 0x9d, 0x33, 0x1e, 0x91, 0xb1, 0x12, 0xfd, 0x1b, 0x7e, 0x8e, 0x6d, 0x31, | ||
179 | 0xa6, 0xcf, 0x28, 0xdf, 0xd3, 0x03, 0x3d, 0x80, 0x5f, 0x4a, 0xb5, 0x8b, | ||
180 | 0xeb, 0x07, 0xf7, 0x40, 0x9e, 0xc3, 0x90, 0x7b, 0x5a, 0xc6, 0x4f, 0x8c, | ||
181 | 0x53, 0xa7, 0x93, 0x25, 0x49, 0x24, 0x8f, 0xc8, 0x16, 0x6b, 0x01, 0xbe, | ||
182 | 0x30, 0x33, 0x5a, 0xdd, 0xae, 0xa7, 0xf9, 0xce, 0xa3, 0x78, 0x07, 0xd7, | ||
183 | 0xd2, 0xb8, 0x3c, 0x50, 0x61, 0xdf, 0x9d, 0x86, 0xb4, 0xc0, 0x56, 0x06, | ||
184 | 0xf6, 0x78, 0x76, 0x80, 0xf9, 0x4c, 0x7f, 0xbe, 0x71, 0x6f, 0x3e, 0x8e, | ||
185 | 0xe3, 0x18, 0xbe, 0x53, 0x9f, 0x77, 0x07, 0x7d, 0x1b, 0xb0, 0x64, 0x87, | ||
186 | 0x5e, 0xdd, 0x1e, 0xc2, 0xf3, 0x53, 0x03, 0xbc, 0xc7, 0x3c, 0xf0, 0x6d, | ||
187 | 0x96, 0x3d, 0x8c, 0xb1, 0xa3, 0x98, 0x73, 0x8d, 0x64, 0x3b, 0x7d, 0x7a, | ||
188 | 0xa9, 0x03, 0x8c, 0x3f, 0xd8, 0x8e, 0xae, 0x77, 0x79, 0xff, 0x25, 0xc3, | ||
189 | 0xd5, 0xc9, 0x11, 0xb4, 0x69, 0x7f, 0x07, 0x25, 0xe7, 0x24, 0xb0, 0x4f, | ||
190 | 0xf0, 0xb6, 0x32, 0xe1, 0xed, 0x11, 0xfc, 0x1f, 0x39, 0x0c, 0x3e, 0x48, | ||
191 | 0xd1, 0xe5, 0x0d, 0xf9, 0x42, 0x9e, 0xfc, 0x16, 0x74, 0xff, 0x61, 0x8c, | ||
192 | 0x81, 0x7f, 0x50, 0x3c, 0x58, 0xea, 0x70, 0x63, 0xd1, 0x44, 0x31, 0xc3, | ||
193 | 0xfc, 0xa9, 0x83, 0x98, 0x07, 0xfc, 0xa9, 0x40, 0xb1, 0x30, 0xf7, 0x92, | ||
194 | 0xbe, 0x86, 0xf4, 0xc6, 0x97, 0x0c, 0x83, 0xed, 0xe4, 0x12, 0x74, 0xb8, | ||
195 | 0x04, 0xf9, 0x64, 0xfb, 0x68, 0xb3, 0x36, 0xe4, 0x31, 0x63, 0x50, 0x5f, | ||
196 | 0x4b, 0x88, 0x05, 0xf3, 0xce, 0x16, 0xeb, 0x5e, 0xf2, 0xcd, 0xb2, 0xe4, | ||
197 | 0x69, 0x27, 0x88, 0x1d, 0x3b, 0x30, 0x94, 0x7a, 0x18, 0x85, 0x1e, 0x98, | ||
198 | 0xf0, 0xc9, 0x31, 0xc8, 0xfc, 0xc5, 0x0e, 0x77, 0x2f, 0xbc, 0x37, 0x65, | ||
199 | 0xde, 0xc2, 0x9a, 0xce, 0xef, 0xaf, 0x73, 0xfb, 0x78, 0xcf, 0xb8, 0xc8, | ||
200 | 0x97, 0xab, 0x4f, 0x3b, 0xe5, 0xdb, 0x28, 0xd3, 0x43, 0xd8, 0x0b, 0xfb, | ||
201 | 0x71, 0x2d, 0x1d, 0x94, 0x71, 0xd0, 0x56, 0x18, 0xd8, 0x14, 0x3b, 0x8f, | ||
202 | 0xf1, 0x39, 0xe0, 0x79, 0xd1, 0xe4, 0xb3, 0x8b, 0x5a, 0xfd, 0x1d, 0xc4, | ||
203 | 0x5c, 0x36, 0xfd, 0xd9, 0x92, 0xf6, 0x85, 0xca, 0xcb, 0x5a, 0xb6, 0x74, | ||
204 | 0x51, 0xcb, 0x41, 0x4f, 0x4a, 0x0e, 0x73, 0x06, 0xda, 0x8f, 0x85, 0xb5, | ||
205 | 0x13, 0xb1, 0xb7, 0xf5, 0x9e, 0xf8, 0x02, 0xb0, 0x60, 0x2f, 0x6c, 0x3a, | ||
206 | 0x67, 0xee, 0x94, 0x02, 0xb0, 0x35, 0x7f, 0x62, 0x0b, 0xec, 0x2d, 0x1e, | ||
207 | 0xa0, 0x8b, 0x78, 0x56, 0xa4, 0x4f, 0xd5, 0x76, 0x38, 0x52, 0x6c, 0x4a, | ||
208 | 0x13, 0xd7, 0x36, 0x41, 0x77, 0xd0, 0x57, 0xae, 0xeb, 0xdf, 0x1d, 0x2b, | ||
209 | 0x68, 0x45, 0x7e, 0x39, 0xb0, 0x9c, 0xde, 0x92, 0x5c, 0x99, 0xde, 0x1d, | ||
210 | 0x35, 0x7a, 0x89, 0x19, 0xc0, 0x7f, 0xd8, 0xcd, 0x4b, 0xd0, 0xdf, 0xe7, | ||
211 | 0x1d, 0xe0, 0xbf, 0x03, 0xfc, 0x87, 0x4d, 0x3d, 0x03, 0xdd, 0x7b, 0xda, | ||
212 | 0x81, 0x0f, 0x70, 0xe0, 0x03, 0x1c, 0xf8, 0x00, 0x27, 0x0b, 0x39, 0x11, | ||
213 | 0xe7, 0xe9, 0x43, 0x76, 0xd7, 0x7c, 0x9e, 0x1b, 0x37, 0xdd, 0xe0, 0xc5, | ||
214 | 0x22, 0xa3, 0x88, 0x45, 0x36, 0xc8, 0x44, 0xf2, 0x7a, 0xec, 0xad, 0x05, | ||
215 | 0xd7, 0x56, 0x5c, 0xb1, 0x46, 0xf2, 0x76, 0xcf, 0x4e, 0x1e, 0x06, 0x5d, | ||
216 | 0x88, 0xbf, 0x93, 0x3f, 0x0d, 0x3d, 0x6c, 0x02, 0x3d, 0x3f, 0xe5, 0xc5, | ||
217 | 0x2c, 0x0f, 0x9a, 0xae, 0x1e, 0xb6, 0xa2, 0xef, 0x93, 0xe8, 0x6b, 0xc5, | ||
218 | 0x98, 0x03, 0x18, 0xc3, 0x98, 0xa7, 0xcd, 0xeb, 0x0b, 0x8e, 0x63, 0xec, | ||
219 | 0xf3, 0x19, 0xac, 0x95, 0xc0, 0xb8, 0x36, 0xcc, 0xdd, 0x85, 0x31, 0xdb, | ||
220 | 0x30, 0xe6, 0x46, 0xb4, 0x19, 0x33, 0x6f, 0x44, 0xfb, 0x13, 0x0d, 0xef, | ||
221 | 0x7c, 0x0c, 0x7d, 0xb7, 0x37, 0xf4, 0x9d, 0x43, 0x1f, 0xf2, 0x50, 0xeb, | ||
222 | 0xbc, 0xf7, 0x5e, 0x11, 0xed, 0xce, 0x86, 0x31, 0xaf, 0xa2, 0x0f, 0x71, | ||
223 | 0xaf, 0xf5, 0x2d, 0x5c, 0x91, 0x7f, 0x5a, 0xa4, 0xc9, 0x7f, 0xc6, 0xb8, | ||
224 | 0x37, 0x8e, 0xfe, 0x90, 0x17, 0xbb, 0xfe, 0xa6, 0x09, 0xbd, 0xd3, 0x86, | ||
225 | 0x9c, 0xdf, 0x30, 0xdd, 0x58, 0xef, 0x4e, 0xcb, 0xd5, 0x43, 0xbf, 0xfd, | ||
226 | 0x70, 0x43, 0x9b, 0x63, 0x17, 0x1a, 0xfa, 0xfe, 0xa5, 0xa1, 0xfd, 0xdd, | ||
227 | 0xd0, 0xca, 0x77, 0x06, 0xdb, 0x97, 0xf7, 0x15, 0x3a, 0x96, 0xb7, 0xed, | ||
228 | 0xa6, 0x95, 0xef, 0xe8, 0xeb, 0x96, 0xf7, 0xdd, 0xb8, 0xbe, 0x61, 0x0c, | ||
229 | 0x74, 0x2a, 0x8a, 0x1c, 0xc9, 0x1f, 0x1f, 0xbe, 0xce, 0x7d, 0x4e, 0xfe, | ||
230 | 0x36, 0xea, 0x92, 0xda, 0x3a, 0xda, 0x3a, 0xe4, 0xb0, 0xa4, 0xc1, 0x9e, | ||
231 | 0x2c, 0x3d, 0xfd, 0xb2, 0x96, 0x83, 0x4e, 0x65, 0x2b, 0xfe, 0x7c, 0xb4, | ||
232 | 0xd9, 0xc6, 0xdc, 0xdc, 0xcf, 0xc9, 0x19, 0x2b, 0x45, 0xa0, 0x37, 0xf7, | ||
233 | 0xd0, 0x27, 0x1d, 0x2d, 0x4a, 0xdd, 0x3e, 0xbb, 0xf5, 0x4b, 0xd9, 0xe7, | ||
234 | 0xed, 0x1e, 0x46, 0x1d, 0x06, 0x9d, 0x55, 0x19, 0x49, 0x35, 0xd3, 0xc7, | ||
235 | 0x78, 0xd8, 0x45, 0xdc, 0xa9, 0x56, 0x8d, 0xcd, 0x55, 0xd9, 0x9f, 0x7a, | ||
236 | 0xa7, 0x2a, 0x0a, 0xf3, 0x06, 0x15, 0xee, 0xc4, 0xf5, 0x1e, 0xc8, 0xc8, | ||
237 | 0x42, 0x6e, 0x82, 0x7c, 0x3a, 0x4a, 0x9f, 0x74, 0x90, 0xf1, 0xc9, 0xa3, | ||
238 | 0x2e, 0xa6, 0x12, 0x77, 0xd0, 0x46, 0x5e, 0x96, 0x3f, 0xce, 0xf5, 0x71, | ||
239 | 0x2d, 0x11, 0xc7, 0x47, 0x95, 0x4f, 0xc9, 0x5b, 0x9c, 0x77, 0x35, 0x6c, | ||
240 | 0x3c, 0x6b, 0x32, 0xa6, 0x33, 0xed, 0xd3, 0xf0, 0x6f, 0x7c, 0xc6, 0x58, | ||
241 | 0xe1, 0x34, 0xe3, 0x92, 0x00, 0x56, 0x6d, 0x35, 0xe0, 0x32, 0x8b, 0xcb, | ||
242 | 0xf7, 0xb5, 0x81, 0x79, 0xc4, 0x55, 0xec, 0x75, 0x75, 0x2c, 0xea, 0xd1, | ||
243 | 0xaf, 0x6c, 0xdb, 0xbb, 0x6a, 0xb6, 0xed, 0xeb, 0xde, 0x6a, 0x39, 0xf8, | ||
244 | 0xf7, 0x95, 0x2c, 0x9e, 0xaa, 0x24, 0x8e, 0x15, 0x61, 0x4b, 0x8b, 0x2a, | ||
245 | 0xef, 0xf6, 0xe5, 0xc2, 0x18, 0x27, 0x71, 0x72, 0x1e, 0x6f, 0x8e, 0xab, | ||
246 | 0x1c, 0x83, 0xf9, 0x45, 0x55, 0x76, 0xa4, 0x5a, 0xa3, 0xe4, 0x43, 0x46, | ||
247 | 0xff, 0x76, 0x88, 0x31, 0xc3, 0xa2, 0x43, 0x9e, 0xa5, 0xf0, 0x3c, 0x05, | ||
248 | 0x4c, 0xf8, 0x27, 0xc9, 0x45, 0xd9, 0xf7, 0x76, 0x75, 0x01, 0x71, 0x95, | ||
249 | 0x8a, 0x8f, 0x94, 0xbf, 0x67, 0x7c, 0xb7, 0x1f, 0xfc, 0x22, 0x4f, 0x47, | ||
250 | 0xc0, 0x67, 0x3f, 0x06, 0x78, 0x8d, 0x75, 0x15, 0x59, 0x1e, 0x07, 0x8b, | ||
251 | 0x3c, 0x50, 0x7e, 0x19, 0x73, 0xea, 0x6e, 0xac, 0xc2, 0x3c, 0xdc, 0x66, | ||
252 | 0x7f, 0x47, 0x88, 0xb1, 0x9c, 0xeb, 0xeb, 0x0d, 0xac, 0x87, 0xdc, 0xbe, | ||
253 | 0xfc, 0x8f, 0x2a, 0x6e, 0x2a, 0x28, 0x79, 0x20, 0x86, 0xaa, 0xf0, 0x19, | ||
254 | 0xfb, 0xc2, 0x5e, 0xec, 0x1c, 0xf1, 0x62, 0x65, 0xcb, 0x8b, 0x95, 0x49, | ||
255 | 0x07, 0x6b, 0x6f, 0x7e, 0x5c, 0x40, 0x99, 0x2d, 0x1d, 0xd2, 0x37, 0x33, | ||
256 | 0x2e, 0x68, 0x93, 0xd5, 0xe3, 0x02, 0x9f, 0xa6, 0x6d, 0xa0, 0x89, 0x71, | ||
257 | 0x9e, 0xaa, 0xbd, 0x74, 0xb8, 0xf5, 0x1e, 0xd2, 0xe0, 0xfb, 0x47, 0xe5, | ||
258 | 0x87, 0x8f, 0xc2, 0xe5, 0x61, 0x6f, 0x69, 0xd0, 0xba, 0x53, 0xb2, 0xd3, | ||
259 | 0xdb, 0x3c, 0x7f, 0xcb, 0x1c, 0x80, 0xf1, 0xb7, 0xab, 0xb3, 0xd9, 0xd4, | ||
260 | 0x84, 0x3f, 0x4f, 0x27, 0x3c, 0x64, 0xa0, 0x2e, 0xc4, 0xb5, 0x18, 0xc7, | ||
261 | 0xf8, 0x31, 0xcd, 0x4e, 0x2f, 0xa6, 0x19, 0x96, 0xfd, 0x8e, 0x1b, 0xf3, | ||
262 | 0x8f, 0xa0, 0x3f, 0xef, 0x28, 0xda, 0x63, 0x8c, 0x2d, 0x75, 0xc4, 0xdc, | ||
263 | 0x99, 0x3d, 0x09, 0x24, 0x0f, 0xee, 0x5e, 0xba, 0xb1, 0x97, 0x52, 0x6d, | ||
264 | 0x2f, 0xad, 0x4b, 0xcb, 0xf7, 0x32, 0xaa, 0xde, 0x9d, 0x5a, 0xf1, 0xae, | ||
265 | 0x60, 0x1f, 0xbb, 0x2f, 0xf1, 0x8c, 0x7b, 0x64, 0xdc, 0x60, 0x79, 0x7b, | ||
266 | 0xf4, 0xe5, 0x74, 0x00, 0x7b, 0x4c, 0x6a, 0x79, 0x15, 0x6b, 0xed, 0x51, | ||
267 | 0x3c, 0xcf, 0x97, 0xc7, 0x70, 0xa5, 0x7d, 0xa8, 0x79, 0x94, 0x8d, 0x4c, | ||
268 | 0x28, 0x3e, 0x8f, 0xab, 0x7d, 0x2c, 0x94, 0x7f, 0x41, 0x0a, 0x27, 0x7e, | ||
269 | 0x09, 0x7e, 0x2f, 0x58, 0x0f, 0x63, 0x2d, 0x91, 0xfc, 0x28, 0x06, 0xf0, | ||
270 | 0x93, 0x7b, 0x65, 0xad, 0xeb, 0x0f, 0x43, 0x6e, 0x7e, 0x10, 0x81, 0x8c, | ||
271 | 0x35, 0xf7, 0xb9, 0x5a, 0xdf, 0xe7, 0x6b, 0x53, 0x80, 0x9e, 0x2a, 0x62, | ||
272 | 0xce, 0x18, 0x68, 0x08, 0xbe, 0x73, 0x50, 0x86, 0x1c, 0xca, 0xa3, 0x27, | ||
273 | 0x36, 0x2e, 0xb6, 0x95, 0x17, 0x3f, 0xce, 0xe0, 0xfa, 0xb4, 0xf9, 0x5c, | ||
274 | 0xcc, 0x10, 0xd6, 0x2f, 0x7d, 0xde, 0xf9, 0x7c, 0x8b, 0x2c, 0x35, 0xea, | ||
275 | 0xc0, 0x14, 0xe8, 0x29, 0x38, 0xe4, 0x93, 0xaf, 0x9b, 0xfe, 0xda, 0xaf, | ||
276 | 0xaa, 0xfd, 0x4c, 0xaa, 0x9a, 0xdd, 0x73, 0x35, 0x1d, 0x9d, 0x40, 0x0c, | ||
277 | 0xe2, 0xea, 0xdc, 0x7d, 0x1e, 0x6f, 0x7c, 0xdd, 0x8c, 0x78, 0x72, 0x66, | ||
278 | 0x1e, 0x47, 0xdb, 0xf1, 0xf5, 0x60, 0x93, 0x75, 0xb7, 0xe2, 0x05, 0x9f, | ||
279 | 0x11, 0x53, 0x5c, 0x59, 0x8e, 0xd5, 0x64, 0xb9, 0xb6, 0x41, 0x2f, 0xbf, | ||
280 | 0xb7, 0xce, 0xb5, 0x43, 0xda, 0x1b, 0xec, 0x16, 0xf4, 0x3d, 0xb5, 0xcc, | ||
281 | 0xbe, 0x93, 0x97, 0xa8, 0x83, 0x46, 0xc4, 0x98, 0xfb, 0x53, 0xf0, 0xf2, | ||
282 | 0x63, 0xc8, 0x55, 0x44, 0xcc, 0x19, 0xe2, 0x10, 0xe3, 0x8d, 0x7a, 0xbc, | ||
283 | 0xbb, 0x20, 0xab, 0xc5, 0xba, 0x57, 0x8a, 0x35, 0x7e, 0xf2, 0x2a, 0x63, | ||
284 | 0x8d, 0x78, 0x93, 0xb4, 0x10, 0x8b, 0x86, 0x11, 0xdb, 0x6a, 0xd2, 0x64, | ||
285 | 0x3f, 0x08, 0x1f, 0x76, 0xc6, 0x6c, 0xb6, 0x7d, 0x4c, 0x88, 0x48, 0xfb, | ||
286 | 0xdc, 0x06, 0x85, 0x0b, 0xd6, 0x4c, 0x1d, 0x17, 0x26, 0xc0, 0xfb, 0x11, | ||
287 | 0xb7, 0xb6, 0x1a, 0x6d, 0x97, 0xab, 0xcd, 0x8d, 0xeb, 0x71, 0xff, 0x58, | ||
288 | 0x2d, 0xee, 0xbf, 0xa1, 0x81, 0x8f, 0xab, 0xe1, 0xe2, 0x19, 0xf0, 0x2d, | ||
289 | 0x8d, 0xfc, 0x97, 0x79, 0xed, 0x10, 0xf2, 0x61, 0xe6, 0x62, 0x19, 0xe4, | ||
290 | 0xc4, 0x89, 0x33, 0xc0, 0x2a, 0xe4, 0xc8, 0x89, 0xb7, 0xe0, 0x57, 0x90, | ||
291 | 0x37, 0x27, 0xe6, 0x99, 0xbb, 0x2e, 0x22, 0x3f, 0x7e, 0x1a, 0xf9, 0xf1, | ||
292 | 0x53, 0x95, 0x3e, 0xf0, 0x37, 0xa9, 0xb0, 0x73, 0xef, 0x71, 0xd1, 0xee, | ||
293 | 0x52, 0xf5, 0x61, 0xda, 0x73, 0x14, 0x7e, 0xb4, 0x5a, 0x3d, 0x90, 0xea, | ||
294 | 0x41, 0x4e, 0x1e, 0x97, 0x4f, 0x99, 0xcc, 0x63, 0x35, 0xb3, 0xbb, 0x7f, | ||
295 | 0xc1, 0x08, 0xc6, 0xa4, 0xd9, 0x2b, 0xfa, 0x81, 0x95, 0xbc, 0xcf, 0x29, | ||
296 | 0x5f, 0x70, 0xcc, 0xb8, 0x1c, 0xef, 0xef, 0xaa, 0xf1, 0xfe, 0xc2, 0x1a, | ||
297 | 0x69, 0x19, 0x56, 0x35, 0x80, 0xee, 0xfe, 0x03, 0xc4, 0xab, 0x14, 0xfc, | ||
298 | 0x3a, 0xfc, 0x6f, 0x55, 0xee, 0x48, 0x5d, 0xac, 0x9e, 0xb7, 0xd7, 0x49, | ||
299 | 0xbe, 0xef, 0x8b, 0x1e, 0x66, 0x8f, 0x3d, 0x92, 0xb5, 0x8b, 0xb0, 0x0f, | ||
300 | 0xb7, 0x16, 0x39, 0x3e, 0x1d, 0x46, 0x14, 0xca, 0xbf, 0x0e, 0x59, 0x18, | ||
301 | 0xfc, 0x1b, 0xc8, 0x70, 0xcb, 0x69, 0x16, 0xb0, 0x74, 0xe0, 0xf0, 0x42, | ||
302 | 0x34, 0xa2, 0xea, 0x33, 0xd7, 0xd9, 0xec, 0xb7, 0x20, 0xd3, 0x51, 0x59, | ||
303 | 0x40, 0xfc, 0x50, 0x1a, 0x04, 0x8d, 0x7d, 0x9d, 0x18, 0x4f, 0xbb, 0x23, | ||
304 | 0xcf, 0x47, 0xe1, 0x7b, 0xc9, 0xd3, 0x28, 0xc6, 0xef, 0xc2, 0x98, 0x0e, | ||
305 | 0x5c, 0xbf, 0x68, 0x2c, 0x58, 0xcc, 0x9d, 0x7f, 0x0e, 0x6d, 0xce, 0x11, | ||
306 | 0xf4, 0x9d, 0x9f, 0x0e, 0x89, 0x9a, 0x93, 0xef, 0x74, 0x2a, 0xfb, 0xaf, | ||
307 | 0xaf, 0xc5, 0x75, 0xf8, 0xec, 0xbd, 0xea, 0x2d, 0xfd, 0x83, 0x81, 0xf5, | ||
308 | 0xda, 0x02, 0xeb, 0x0d, 0x06, 0xd6, 0x23, 0x9d, 0x1d, 0x01, 0x3a, 0x3b, | ||
309 | 0xf0, 0x7e, 0x0e, 0x6b, 0x0f, 0xab, 0x98, 0xa7, 0xbe, 0xe6, 0xfd, 0x81, | ||
310 | 0x35, 0xfd, 0xfd, 0x75, 0x06, 0xde, 0x7b, 0x07, 0xeb, 0xb1, 0x2f, 0x1a, | ||
311 | 0xe8, 0x23, 0x0d, 0xeb, 0xd1, 0xc7, 0x76, 0x47, 0x80, 0x2e, 0xd2, 0xba, | ||
312 | 0x16, 0xfd, 0x2a, 0x7e, 0x02, 0x9f, 0x5b, 0xe0, 0xb7, 0x74, 0xf8, 0x0e, | ||
313 | 0xd6, 0xa0, 0x1b, 0xf7, 0xfa, 0x65, 0xac, 0xeb, 0xcf, 0x17, 0xc5, 0x1c, | ||
314 | 0x1c, 0xcf, 0xb1, 0x86, 0xf7, 0x3e, 0xfb, 0xf9, 0xfc, 0x1b, 0xd5, 0xaf, | ||
315 | 0x2b, 0xbe, 0xad, 0x07, 0xed, 0xaa, 0xee, 0x22, 0xf3, 0x1d, 0x26, 0xe4, | ||
316 | 0xc9, 0xfc, 0x58, 0x93, 0x9b, 0x6c, 0x5d, 0xeb, 0xe9, 0xa7, 0xec, 0xd7, | ||
317 | 0x79, 0x58, 0xda, 0xa2, 0x65, 0x8f, 0xb3, 0x5e, 0xd0, 0xea, 0xe5, 0x7c, | ||
318 | 0xc8, 0x3d, 0x94, 0x8f, 0x31, 0xbd, 0xe7, 0xf4, 0x31, 0x8c, 0x5b, 0xe8, | ||
319 | 0x3f, 0x33, 0xde, 0x3d, 0xae, 0xd0, 0xe1, 0x7d, 0xa5, 0x0e, 0x39, 0xaf, | ||
320 | 0x78, 0x6a, 0xc9, 0xb9, 0x1a, 0x4f, 0x43, 0xde, 0xb7, 0x90, 0x83, 0xde, | ||
321 | 0x77, 0x06, 0x03, 0x71, 0x11, 0xee, 0xcb, 0x19, 0xd0, 0x10, 0x97, 0x9e, | ||
322 | 0x7e, 0xe6, 0x6e, 0x45, 0x5c, 0x59, 0xa7, 0xd0, 0x70, 0x75, 0xeb, 0x17, | ||
323 | 0x3d, 0xfd, 0xf0, 0x4b, 0xc0, 0xa1, 0x9e, 0xfe, 0xef, 0xa8, 0x7c, 0xae, | ||
324 | 0x54, 0xb1, 0xb4, 0x3b, 0x1c, 0xb7, 0x46, 0x74, 0xce, 0xbe, 0x5c, 0x8d, | ||
325 | 0x68, 0xa0, 0x99, 0x75, 0x0d, 0xbf, 0x46, 0x74, 0x4e, 0x54, 0x8d, 0xe8, | ||
326 | 0xe4, 0x15, 0x6a, 0x44, 0x99, 0xab, 0xaf, 0x11, 0x71, 0x7e, 0x53, 0xee, | ||
327 | 0x1e, 0x10, 0xed, 0x4b, 0x5e, 0x8d, 0xe8, 0x82, 0xb8, 0x35, 0xa2, 0xf3, | ||
328 | 0xb2, 0x7a, 0x8d, 0xe8, 0x68, 0x43, 0x8d, 0x68, 0xbd, 0xaa, 0x11, 0x71, | ||
329 | 0x1e, 0xb7, 0x46, 0xc4, 0x76, 0xbe, 0x7f, 0x30, 0x50, 0xeb, 0x00, 0xfe, | ||
330 | 0x3a, 0xb7, 0x82, 0x6f, 0x96, 0x36, 0xea, 0xf8, 0x98, 0x46, 0xec, 0xbf, | ||
331 | 0xbe, 0xe6, 0xbf, 0xea, 0xf8, 0xa6, 0x29, 0x9d, 0xbb, 0x12, 0xbe, 0x8d, | ||
332 | 0xba, 0x71, 0xc9, 0x32, 0x6c, 0x9b, 0xaa, 0xc5, 0x2e, 0xbf, 0xdc, 0xcc, | ||
333 | 0x1c, 0x7a, 0xb2, 0x5c, 0x9f, 0x77, 0x12, 0xf2, 0x1e, 0xab, 0xd5, 0x49, | ||
334 | 0x2e, 0x15, 0x1f, 0x45, 0xe5, 0xe0, 0xaa, 0xdf, 0x9a, 0x62, 0x99, 0x95, | ||
335 | 0xdf, 0x9a, 0x34, 0x89, 0x82, 0xce, 0x7c, 0x7f, 0x5e, 0xe5, 0x5d, 0x0b, | ||
336 | 0xce, 0xcf, 0xcb, 0xd2, 0xbd, 0x16, 0xf0, 0xc7, 0xaf, 0x9f, 0x50, 0xbe, | ||
337 | 0x75, 0x9f, 0x92, 0xd5, 0x3f, 0xba, 0x1a, 0xca, 0x3e, 0x55, 0x43, 0xf9, | ||
338 | 0x5a, 0x73, 0xb0, 0x86, 0x72, 0x4e, 0x2e, 0x5f, 0x43, 0xd9, 0xb7, 0x4a, | ||
339 | 0x0d, 0xe5, 0x15, 0xa9, 0xd7, 0x50, 0x5e, 0x11, 0xbf, 0x86, 0x62, 0xc8, | ||
340 | 0xd2, 0x7a, 0xce, 0xb3, 0x1f, 0xef, 0x8c, 0xe0, 0x37, 0x8c, 0x9f, 0x5b, | ||
341 | 0x53, 0x39, 0x57, 0xa3, 0x7f, 0xb5, 0x9a, 0xca, 0x37, 0x9b, 0xdf, 0x4f, | ||
342 | 0x4d, 0xc5, 0xf5, 0x01, 0x7e, 0x4d, 0xa5, 0x05, 0xf1, 0x0e, 0x7c, 0x8e, | ||
343 | 0x1e, 0xac, 0xa9, 0xfc, 0x2d, 0xed, 0x01, 0x7d, 0x2a, 0x46, 0x40, 0x3f, | ||
344 | 0xec, 0x02, 0x7e, 0x29, 0xa3, 0x6a, 0x1c, 0x9f, 0xf6, 0x78, 0xb8, 0x1b, | ||
345 | 0x7b, 0x8e, 0x43, 0x16, 0xe4, 0x63, 0x8f, 0x8a, 0x2d, 0x33, 0x66, 0x4c, | ||
346 | 0xcb, 0xf6, 0xc2, 0x9b, 0x4d, 0xf3, 0x5b, 0x74, 0x4c, 0xc6, 0x2b, 0xd4, | ||
347 | 0xf1, 0x2e, 0xc4, 0xe2, 0x26, 0xfa, 0x76, 0xa3, 0xed, 0xc7, 0x54, 0xfd, | ||
348 | 0xb5, 0x39, 0x68, 0x9b, 0x0b, 0xc0, 0x59, 0xe0, 0xc4, 0x55, 0xf8, 0xa8, | ||
349 | 0x6d, 0xa0, 0x39, 0xb8, 0x8f, 0x22, 0xfc, 0x13, 0xfa, 0x94, 0xcc, 0x19, | ||
350 | 0x5b, 0xfa, 0xb4, 0xc4, 0x69, 0xe7, 0x57, 0x31, 0x1f, 0xfb, 0xb6, 0xa9, | ||
351 | 0x7c, 0xac, 0x30, 0xc0, 0xbd, 0xd2, 0xd7, 0x2d, 0x82, 0x3e, 0xf4, 0x95, | ||
352 | 0x98, 0x03, 0xd2, 0xef, 0xf9, 0x39, 0x5a, 0x44, 0xe5, 0x68, 0x9d, 0x8a, | ||
353 | 0x1f, 0xe4, 0xf5, 0x8d, 0x61, 0x62, 0x65, 0xa7, 0xcd, 0x3d, 0x0c, 0x7b, | ||
354 | 0x58, 0xc7, 0xb6, 0x9b, 0x0b, 0x66, 0x74, 0xde, 0x3f, 0x02, 0xb9, 0xb2, | ||
355 | 0x4e, 0xe3, 0xcb, 0xef, 0x21, 0x6f, 0xdf, 0x83, 0x52, 0xec, 0x94, 0xf0, | ||
356 | 0x7a, 0xd0, 0x93, 0x9f, 0x61, 0xdc, 0xfd, 0x09, 0x95, 0x83, 0x44, 0xed, | ||
357 | 0x4b, 0xdb, 0xed, 0x5d, 0xd7, 0x60, 0xb7, 0x23, 0x97, 0xb5, 0xdb, 0xcf, | ||
358 | 0x85, 0x83, 0x76, 0x7b, 0xd7, 0x35, 0xd8, 0xed, 0xfe, 0x6b, 0xb2, 0x5b, | ||
359 | 0xee, 0x8d, 0x98, 0xe4, 0xd7, 0xc4, 0x56, 0xc6, 0x59, 0xfe, 0xba, 0x13, | ||
360 | 0x58, 0x33, 0x73, 0x89, 0x35, 0xc7, 0x2e, 0x59, 0x5b, 0x6d, 0x8c, 0xb1, | ||
361 | 0xae, 0x46, 0xde, 0xcc, 0xad, 0xe8, 0x6f, 0x23, 0x9e, 0x5f, 0xba, 0xdd, | ||
362 | 0xcb, 0xe7, 0xfd, 0xbc, 0x3e, 0x68, 0x3f, 0xd4, 0x0b, 0xea, 0xc2, 0x63, | ||
363 | 0xe0, 0x17, 0xf5, 0xc1, 0xb7, 0xb9, 0x9e, 0x06, 0x1d, 0x5c, 0x44, 0xbe, | ||
364 | 0xdf, 0xe3, 0xe9, 0x20, 0x65, 0xdd, 0xab, 0xbe, 0x11, 0x95, 0x9c, 0x47, | ||
365 | 0xdc, 0x3c, 0x1f, 0x3a, 0x90, 0x2f, 0xf9, 0xb6, 0x06, 0x9e, 0x44, 0xfd, | ||
366 | 0x67, 0xe4, 0xa3, 0x8d, 0x98, 0x67, 0x0b, 0xe2, 0x35, 0xf0, 0x48, 0xf5, | ||
367 | 0x2f, 0xaf, 0x09, 0x5f, 0x1e, 0xcf, 0xa4, 0x18, 0xc2, 0xd8, 0x53, 0x03, | ||
368 | 0xb0, 0xf1, 0x01, 0x62, 0x54, 0x1a, 0x79, 0x0f, 0xf5, 0x90, 0xba, 0xb9, | ||
369 | 0x29, 0xb9, 0x43, 0x67, 0x4c, 0xb5, 0x07, 0xb6, 0x47, 0x7d, 0x8d, 0xcb, | ||
370 | 0x8e, 0xca, 0xa6, 0x33, 0xe7, 0x74, 0xae, 0x51, 0xad, 0xe6, 0x99, 0x2b, | ||
371 | 0x5a, 0xa2, 0x77, 0xf7, 0xff, 0x45, 0x98, 0x7e, 0xe9, 0x7a, 0xdb, 0xf0, | ||
372 | 0x74, 0x2d, 0x83, 0x7b, 0xea, 0xed, 0xeb, 0xf0, 0xf7, 0xfc, 0xc6, 0xfe, | ||
373 | 0x03, 0xf4, 0xc7, 0x60, 0xf3, 0xf4, 0xef, 0xcc, 0x47, 0xb6, 0x7a, 0xe3, | ||
374 | 0x7a, 0xd4, 0xf7, 0xcf, 0x6c, 0xea, 0x56, 0xef, 0xbb, 0x13, 0xfd, 0x4f, | ||
375 | 0x82, 0x3e, 0x7b, 0x99, 0x9c, 0x79, 0x46, 0x21, 0xa7, 0xf2, 0x19, 0xbe, | ||
376 | 0xaf, 0x74, 0x12, 0x39, 0x88, 0x19, 0xa8, 0xa5, 0x87, 0xbd, 0xdc, 0x8d, | ||
377 | 0x36, 0x16, 0x81, 0x0c, 0xb7, 0x7b, 0xb9, 0x0a, 0xf3, 0xd7, 0xe5, 0x67, | ||
378 | 0x13, 0x56, 0xd7, 0x81, 0x0d, 0xef, 0x43, 0x07, 0x1a, 0xe5, 0x17, 0x86, | ||
379 | 0xed, 0xfb, 0xf2, 0xf3, 0xe3, 0x98, 0x79, 0x6f, 0xdf, 0x3d, 0xae, 0x0c, | ||
380 | 0x7f, 0x2c, 0xf6, 0xa9, 0x05, 0xf6, 0xe9, 0xe3, 0xd1, 0x3e, 0x6f, 0x9f, | ||
381 | 0x5b, 0x1b, 0xf0, 0x68, 0xa4, 0xc1, 0x66, 0x3f, 0x4a, 0x3c, 0x3a, 0xb4, | ||
382 | 0xe6, 0xa3, 0xc7, 0x23, 0xee, 0x6b, 0xe3, 0xaa, 0x38, 0xe4, 0xee, 0xe3, | ||
383 | 0x77, 0x45, 0x4f, 0x7f, 0x98, 0xf9, 0xde, 0xfb, 0x91, 0x4f, 0x10, 0x47, | ||
384 | 0x28, 0x93, 0x36, 0x15, 0xc3, 0xba, 0xb6, 0x07, 0x5f, 0x5e, 0x0a, 0xc9, | ||
385 | 0x1b, 0xf7, 0x84, 0xe5, 0x7f, 0x6f, 0xe3, 0xf7, 0x30, 0xd3, 0xab, 0x69, | ||
386 | 0xb1, 0xfd, 0xc2, 0x1a, 0xd7, 0x0f, 0xbd, 0xd0, 0xee, 0xfa, 0x1d, 0xbe, | ||
387 | 0xe3, 0xdb, 0xb3, 0x85, 0xe7, 0x7c, 0xb6, 0x91, 0x5f, 0x4c, 0xae, 0x21, | ||
388 | 0x07, 0xdc, 0x64, 0x5d, 0xd0, 0x57, 0xcb, 0x01, 0x2f, 0x5f, 0x0f, 0xac, | ||
389 | 0xe7, 0x80, 0xc4, 0xd9, 0x0e, 0xa5, 0x1b, 0xf9, 0x28, 0x73, 0x1f, 0xc3, | ||
390 | 0xc3, 0x4e, 0xde, 0x23, 0xb7, 0x75, 0x90, 0xef, 0x42, 0xb6, 0xcf, 0x21, | ||
391 | 0x5e, 0x7a, 0xd6, 0x41, 0x8e, 0xeb, 0x20, 0xb7, 0x75, 0x90, 0xdb, 0x3a, | ||
392 | 0xc8, 0x6d, 0x9d, 0xa4, 0x97, 0x23, 0x8f, 0x78, 0x75, 0x7f, 0x7e, 0xe3, | ||
393 | 0x66, 0x7d, 0xa1, 0x08, 0x5f, 0x32, 0xc5, 0x73, 0x13, 0x7a, 0x36, 0xb5, | ||
394 | 0xc6, 0xdb, 0x9f, 0x5f, 0x13, 0xef, 0xf2, 0x6a, 0x36, 0xdf, 0x54, 0x75, | ||
395 | 0x43, 0xd1, 0x1f, 0x68, 0x71, 0xbf, 0x83, 0xf3, 0x7c, 0xc7, 0xaf, 0x21, | ||
396 | 0x2e, 0x51, 0x67, 0x88, 0x68, 0xa3, 0x55, 0x3d, 0xcd, 0x9a, 0x8c, 0xe8, | ||
397 | 0x7a, 0xfa, 0x16, 0xbc, 0xb3, 0xc5, 0xcd, 0x09, 0xa2, 0x62, 0xe8, 0xe9, | ||
398 | 0x56, 0xf2, 0x54, 0xd3, 0xd3, 0x6b, 0xbd, 0xb9, 0xf6, 0xb7, 0xb8, 0xb1, | ||
399 | 0x55, 0x2f, 0xdb, 0xa6, 0xce, 0x38, 0x41, 0xc5, 0xda, 0x7e, 0xff, 0xc5, | ||
400 | 0xf6, 0xe5, 0x6b, 0x85, 0x14, 0xbe, 0x67, 0x53, 0xf7, 0x62, 0x3e, 0xb6, | ||
401 | 0xeb, 0xfc, 0xd6, 0x2f, 0xc9, 0xef, 0x90, 0xc7, 0x6f, 0x97, 0xc7, 0x06, | ||
402 | 0xc7, 0xa9, 0xba, 0x30, 0x79, 0xed, 0xcf, 0xa7, 0xea, 0x7a, 0x58, 0x47, | ||
403 | 0x9d, 0xcd, 0xc0, 0xf5, 0x07, 0xa6, 0xb4, 0x8d, 0xee, 0x0e, 0xd9, 0xc1, | ||
404 | 0x75, 0xfd, 0x6f, 0xe2, 0x57, 0xb3, 0x66, 0x8f, 0xfa, 0x8e, 0xe6, 0xfa, | ||
405 | 0x8c, 0x90, 0xd2, 0x41, 0x33, 0xcd, 0x7d, 0xfd, 0x50, 0x9d, 0xa9, 0xa1, | ||
406 | 0xfe, 0xe5, 0x90, 0xc7, 0x4c, 0x0d, 0x6c, 0x8a, 0x9b, 0xfa, 0x48, 0x0b, | ||
407 | 0xeb, 0xaf, 0x43, 0x15, 0x1f, 0xf7, 0xb8, 0x5e, 0xa3, 0x1f, 0x67, 0x5d, | ||
408 | 0xcd, 0xc7, 0x33, 0xd9, 0xe0, 0xd6, 0xdb, 0x3e, 0x88, 0x2d, 0xb5, 0x34, | ||
409 | 0xd8, 0x92, 0xbf, 0x4f, 0xee, 0x9f, 0xd7, 0xd5, 0xcf, 0x43, 0x2c, 0x56, | ||
410 | 0x02, 0xdf, 0x47, 0x6a, 0xba, 0xc1, 0xb3, 0x2a, 0x9f, 0x85, 0x0e, 0xf2, | ||
411 | 0xdb, 0xc0, 0x4e, 0xd8, 0x51, 0xb5, 0x3a, 0xc4, 0x1a, 0x73, 0xdf, 0x67, | ||
412 | 0x54, 0x7e, 0xa9, 0xa7, 0xe7, 0x55, 0xfd, 0xc1, 0x5c, 0x51, 0x7f, 0x18, | ||
413 | 0x82, 0xae, 0x20, 0x06, 0x70, 0xda, 0x54, 0x4c, 0xa7, 0xe2, 0x85, 0x4a, | ||
414 | 0xe3, 0xf7, 0x97, 0xfb, 0x5b, 0x5d, 0x3e, 0xfc, 0x5d, 0x8b, 0xfb, 0x0d, | ||
415 | 0xe2, 0x8f, 0xa2, 0xcb, 0xdb, 0x7c, 0xff, 0xaf, 0x5b, 0xfc, 0xb3, 0x3b, | ||
416 | 0x85, 0x13, 0x43, 0xd0, 0x45, 0xe4, 0xe4, 0x6a, 0x3e, 0xc4, 0xbb, 0x4f, | ||
417 | 0xcc, 0x76, 0x2c, 0x1f, 0x8f, 0xbe, 0x13, 0xfe, 0xf8, 0x8e, 0x86, 0xf1, | ||
418 | 0x1d, 0x18, 0xff, 0x7b, 0x0d, 0xe3, 0x3b, 0x02, 0xe3, 0xa3, 0x0d, 0xe3, | ||
419 | 0xa3, 0x18, 0xff, 0x7c, 0xc3, 0xf8, 0x68, 0x60, 0x7c, 0x67, 0xc3, 0xf8, | ||
420 | 0x4e, 0x8c, 0x7f, 0xa1, 0x61, 0x3c, 0xfa, 0x4e, 0x34, 0x79, 0xdf, 0xc5, | ||
421 | 0x88, 0xb1, 0xfb, 0xbd, 0x5c, 0x1c, 0xd7, 0x72, 0xe3, 0xb7, 0x16, 0xea, | ||
422 | 0x5d, 0x17, 0x64, 0xe0, 0x9f, 0xa7, 0xa3, 0xbd, 0x66, 0x60, 0xaf, 0xf5, | ||
423 | 0x58, 0xc6, 0xd5, 0xc7, 0xa0, 0x2e, 0x12, 0x1f, 0x8a, 0x62, 0xd8, 0xd0, | ||
424 | 0x9d, 0x12, 0x74, 0xa8, 0xe4, 0xfb, 0x24, 0x9e, 0x83, 0xe2, 0x19, 0x53, | ||
425 | 0xd7, 0xf7, 0x86, 0xec, 0x45, 0x2f, 0x07, 0x7b, 0x9b, 0xb4, 0x03, 0x2f, | ||
426 | 0x7d, 0xcc, 0x94, 0x63, 0xae, 0xdd, 0x50, 0x7f, 0x39, 0xbf, 0x67, 0x3f, | ||
427 | 0xd4, 0x55, 0x6f, 0x9d, 0xa1, 0x15, 0xb8, 0x16, 0x5f, 0x51, 0xdb, 0x32, | ||
428 | 0xae, 0x02, 0xd7, 0x46, 0x6a, 0xb8, 0xf6, 0x59, 0x99, 0xaf, 0xe5, 0xdb, | ||
429 | 0xc3, 0x72, 0xc0, 0xd9, 0xc5, 0x33, 0x36, 0xc7, 0x32, 0xf2, 0xe1, 0xe4, | ||
430 | 0xdb, 0xbb, 0x6a, 0x7e, 0x92, 0x67, 0x3a, 0x96, 0x0e, 0x31, 0x87, 0xf2, | ||
431 | 0x6b, 0xb3, 0x53, 0xce, 0xcf, 0xb6, 0x42, 0x2e, 0xb0, 0x8d, 0x6b, 0xcd, | ||
432 | 0xb7, 0x39, 0x5f, 0x54, 0x0e, 0xb8, 0xe7, 0x1d, 0x6a, 0xf3, 0x16, 0x6b, | ||
433 | 0xf3, 0xc6, 0x3c, 0x7b, 0xa3, 0x0f, 0xae, 0xfb, 0xcb, 0x1c, 0xfc, 0xe5, | ||
434 | 0x18, 0x72, 0xee, 0x45, 0x67, 0xb5, 0xfa, 0xe8, 0xb5, 0xfa, 0xcb, 0xc6, | ||
435 | 0x3a, 0x73, 0xa3, 0xbf, 0xe4, 0x3a, 0x8d, 0xb5, 0xe5, 0x78, 0x03, 0xfe, | ||
436 | 0x53, 0x9f, 0x0e, 0x7b, 0x31, 0x35, 0xae, 0xa5, 0xc3, 0xb0, 0x47, 0x5d, | ||
437 | 0xc6, 0x94, 0xfe, 0xb2, 0xed, 0xe7, 0x96, 0xbb, 0x6b, 0xb9, 0x65, 0x3d, | ||
438 | 0x1f, 0x44, 0xec, 0x9a, 0xfc, 0xa4, 0x87, 0x8f, 0x8c, 0x91, 0xa7, 0xd0, | ||
439 | 0x7f, 0x0c, 0x3a, 0xc0, 0x67, 0xac, 0x97, 0xde, 0x2c, 0x9f, 0x32, 0x5d, | ||
440 | 0xff, 0xe4, 0xd6, 0xa6, 0x76, 0xab, 0xf8, 0x9f, 0xdf, 0x0b, 0x0a, 0xa9, | ||
441 | 0x76, 0x2f, 0xde, 0xbb, 0x12, 0xae, 0x2e, 0xcf, 0x4d, 0x75, 0xfd, 0x51, | ||
442 | 0xbc, 0xcb, 0xdc, 0xd4, 0x8c, 0x10, 0x43, 0xb3, 0x95, 0xcb, 0xbe, 0x5f, | ||
443 | 0xa4, 0x7f, 0x29, 0xa8, 0xef, 0x82, 0x2a, 0x0f, 0xc5, 0xb8, 0x45, 0xef, | ||
444 | 0x7d, 0x37, 0x0f, 0xcd, 0x56, 0xbe, 0xdd, 0xea, 0xe2, 0xe0, 0xe5, 0x72, | ||
445 | 0x96, 0x9f, 0x88, 0xb0, 0xae, 0xb7, 0xe8, 0x5c, 0x89, 0xd6, 0x95, 0x79, | ||
446 | 0xaf, 0xb1, 0x22, 0xef, 0x1d, 0xf5, 0xf2, 0xda, 0xcf, 0xa9, 0xbc, 0xd7, | ||
447 | 0xe5, 0x31, 0xf7, 0x12, 0xcc, 0xa3, 0x6c, 0x60, 0x21, 0xbf, 0xa9, 0x10, | ||
448 | 0x1f, 0x26, 0x94, 0xdf, 0xca, 0x4f, 0xdf, 0x09, 0x3e, 0x47, 0x57, 0xd1, | ||
449 | 0x9b, 0x8f, 0xda, 0x4f, 0xf8, 0x7b, 0x3f, 0x2c, 0x6e, 0xbd, 0x6e, 0x27, | ||
450 | 0x68, 0x61, 0x6e, 0x15, 0xf2, 0xf4, 0xe1, 0xbb, 0xde, 0x39, 0x53, 0x7f, | ||
451 | 0x9c, 0x9f, 0xc7, 0xd7, 0xbe, 0xbb, 0x16, 0x33, 0xcb, 0xea, 0x27, 0x1b, | ||
452 | 0x09, 0xc3, 0x90, 0x7b, 0xe6, 0x1a, 0xbe, 0x5b, 0x7c, 0x90, 0xf3, 0x11, | ||
453 | 0x8d, 0x7e, 0x8d, 0xdf, 0x4d, 0xf9, 0xad, 0x54, 0xb4, 0xbb, 0x7b, 0x6d, | ||
454 | 0xd8, 0x00, 0xcf, 0x2c, 0x07, 0xf1, 0x35, 0x2c, 0xf9, 0x39, 0x09, 0x47, | ||
455 | 0xd3, 0xfc, 0x06, 0x40, 0xff, 0xff, 0xba, 0xb7, 0xcf, 0x98, 0xec, 0x9f, | ||
456 | 0x71, 0x6b, 0x9e, 0xfa, 0x65, 0xcf, 0xc5, 0x1d, 0x00, 0x1f, 0x12, 0x47, | ||
457 | 0xfd, 0x9a, 0xa7, 0xee, 0x9e, 0x8b, 0x3b, 0xfa, 0xe1, 0x9d, 0x8b, 0xe3, | ||
458 | 0xfc, 0xa6, 0xec, 0x5a, 0xe5, 0x5c, 0x9c, 0x71, 0x95, 0xe7, 0xe2, 0xda, | ||
459 | 0x55, 0xcd, 0x93, 0xf3, 0xb8, 0x35, 0x4f, 0xb6, 0xbb, 0xfb, 0x59, 0x2b, | ||
460 | 0xe1, 0xd9, 0xb7, 0x01, 0x75, 0x06, 0xb9, 0xbb, 0xff, 0x47, 0x91, 0xa3, | ||
461 | 0x7c, 0x3d, 0xf2, 0xd1, 0xe7, 0x28, 0xdc, 0xcb, 0xaf, 0xb8, 0xdf, 0x77, | ||
462 | 0xe5, 0x5a, 0xea, 0x00, 0x1f, 0xac, 0xae, 0xb9, 0x5f, 0xd5, 0x35, 0xbf, | ||
463 | 0x13, 0x09, 0xd6, 0x35, 0xf5, 0x2b, 0x9c, 0x0d, 0xdb, 0xbf, 0x4a, 0x5d, | ||
464 | 0x33, 0x14, 0x38, 0x1b, 0x16, 0xf2, 0xce, 0x86, 0xb5, 0xdb, 0xc8, 0x25, | ||
465 | 0xbd, 0x3a, 0xa6, 0x7e, 0xd9, 0xb3, 0x61, 0xff, 0x19, 0xf9, 0xe0, 0x75, | ||
466 | 0xcc, 0x15, 0x67, 0xc3, 0xe0, 0xeb, 0x36, 0x48, 0xfc, 0x9a, 0xf2, 0x9e, | ||
467 | 0x0f, 0x92, 0xf3, 0xf0, 0xbc, 0x7e, 0x13, 0xf6, 0x1c, 0x92, 0x5d, 0x51, | ||
468 | 0xea, 0x27, 0xcf, 0x36, 0xf6, 0xc2, 0x16, 0x70, 0xad, 0xb0, 0x9d, 0xa4, | ||
469 | 0x8c, 0xb4, 0x91, 0xde, 0xe5, 0xe7, 0x10, 0xea, 0xe7, 0x71, 0xc3, 0xb5, | ||
470 | 0xf3, 0xb8, 0x47, 0xa0, 0x37, 0xfa, 0x4c, 0x58, 0x16, 0x02, 0x3a, 0x35, | ||
471 | 0x85, 0x78, 0x4f, 0x9f, 0xb3, 0xbc, 0xe7, 0xfc, 0x9f, 0x8a, 0x28, 0x30, | ||
472 | 0x8f, 0x67, 0x78, 0xdb, 0xc4, 0x98, 0x73, 0xbf, 0x59, 0xba, 0xff, 0x57, | ||
473 | 0x12, 0xc3, 0x18, 0x9e, 0xf1, 0x0c, 0xc9, 0x01, 0x55, 0xb3, 0xf0, 0x75, | ||
474 | 0x79, 0xc7, 0x5a, 0x69, 0x59, 0x9f, 0xa9, 0xb7, 0xa3, 0xab, 0xf8, 0x7d, | ||
475 | 0xc4, 0x91, 0x33, 0xd4, 0xe7, 0x5b, 0x25, 0xe7, 0xd5, 0x83, 0x0a, 0x95, | ||
476 | 0x6d, 0x5e, 0x7e, 0xa1, 0xbe, 0xed, 0x80, 0x97, 0xdd, 0x9e, 0x0f, 0xc6, | ||
477 | 0xb5, 0xd4, 0x4d, 0x9f, 0x87, 0x35, 0x4e, 0xca, 0xd0, 0xf4, 0x96, 0xd8, | ||
478 | 0x38, 0xf0, 0x6e, 0x4c, 0xad, 0x79, 0x2d, 0x3c, 0xd7, 0x2e, 0xf1, 0xbd, | ||
479 | 0xf1, 0x6a, 0xf9, 0xee, 0xc7, 0xc7, 0x8f, 0x62, 0x7f, 0xdd, 0xd0, 0x8f, | ||
480 | 0x87, 0x25, 0x77, 0xe2, 0x66, 0x19, 0x9a, 0x4d, 0x80, 0x9e, 0x1f, 0x56, | ||
481 | 0x0b, 0x29, 0xc4, 0xd2, 0x4f, 0xf0, 0xdc, 0x18, 0x30, 0x14, 0x7c, 0x7b, | ||
482 | 0x66, 0xc5, 0x77, 0xec, 0xe0, 0x59, 0xb3, 0x64, 0xed, 0xec, 0xd0, 0x53, | ||
483 | 0x15, 0x09, 0x77, 0x90, 0xe6, 0x99, 0xfa, 0xd9, 0xef, 0xc5, 0xca, 0x0e, | ||
484 | 0xe5, 0xdb, 0x9e, 0xac, 0x2c, 0xab, 0xfd, 0x28, 0x19, 0x4e, 0x94, 0x9f, | ||
485 | 0x04, 0x2f, 0x5e, 0x51, 0xfe, 0xed, 0x88, 0x23, 0x37, 0x19, 0x42, 0x79, | ||
486 | 0x88, 0x06, 0x1e, 0xa8, 0x33, 0x1c, 0xee, 0xf7, 0xfd, 0x2e, 0x25, 0x57, | ||
487 | 0x17, 0x2b, 0x76, 0x06, 0xce, 0x60, 0xd4, 0x65, 0xeb, 0x9e, 0xcd, 0x70, | ||
488 | 0x65, 0xe1, 0x9e, 0x1f, 0x21, 0x3f, 0x97, 0x0e, 0xed, 0xb2, 0xdd, 0xf3, | ||
489 | 0x23, 0x3d, 0x73, 0xec, 0xeb, 0x6c, 0xf0, 0x7d, 0x61, 0xe8, 0x00, 0xcf, | ||
490 | 0x1d, 0xf1, 0xcc, 0x37, 0x69, 0x56, 0xb5, 0x8e, 0x55, 0xbf, 0x6d, 0x5f, | ||
491 | 0x5b, 0xcd, 0xd5, 0x5d, 0xb3, 0x5b, 0xad, 0x79, 0x9d, 0x87, 0x59, 0xfe, | ||
492 | 0x59, 0xef, 0x94, 0xf6, 0xff, 0xd4, 0x5d, 0x7b, 0x6c, 0x1b, 0xf7, 0x7d, | ||
493 | 0xff, 0xf2, 0x48, 0x3d, 0xac, 0xe7, 0x49, 0xa6, 0x64, 0x5a, 0x52, 0x94, | ||
494 | 0x3b, 0xe9, 0x64, 0x29, 0xb1, 0x12, 0x70, 0x9e, 0xba, 0x0a, 0x88, 0x9a, | ||
495 | 0xb0, 0x24, 0xfd, 0x58, 0x10, 0x0c, 0xb4, 0xad, 0x64, 0xee, 0x92, 0xad, | ||
496 | 0x0e, 0x25, 0xa7, 0x1d, 0x30, 0x60, 0x6e, 0xd6, 0x02, 0x69, 0x07, 0xc7, | ||
497 | 0x0c, 0x65, 0x27, 0xc6, 0xaa, 0x88, 0x4c, 0xcc, 0x6a, 0x1d, 0xb0, 0x62, | ||
498 | 0x1c, 0xa5, 0x38, 0x69, 0xa7, 0x80, 0x69, 0xda, 0x04, 0xc5, 0xfe, 0xb1, | ||
499 | 0x26, 0x3b, 0x7b, 0x61, 0x7f, 0x04, 0xdb, 0x80, 0x1a, 0x5b, 0x81, 0xba, | ||
500 | 0x76, 0x8a, 0x65, 0x1b, 0xe0, 0x34, 0xdb, 0xb0, 0x75, 0x58, 0x0b, 0xee, | ||
501 | 0xfb, 0xf9, 0x3d, 0xc8, 0x23, 0x79, 0xd4, 0xc3, 0x71, 0x06, 0x4c, 0x80, | ||
502 | 0x40, 0xde, 0xf1, 0x77, 0x77, 0xbf, 0xdf, 0xf7, 0xf7, 0x7d, 0xbf, 0x6e, | ||
503 | 0x2e, 0x33, 0x1e, 0xf2, 0x33, 0x7e, 0xcf, 0x15, 0x61, 0x5f, 0x37, 0xd2, | ||
504 | 0xe1, 0x36, 0x83, 0x67, 0xa4, 0x0e, 0x9e, 0xd5, 0x34, 0xc1, 0xf6, 0x78, | ||
505 | 0x99, 0x77, 0x4b, 0xd8, 0xc9, 0xf3, 0xc8, 0x63, 0xd7, 0x39, 0x0e, 0x12, | ||
506 | 0x76, 0x65, 0x1a, 0x5a, 0x72, 0xe7, 0x37, 0x54, 0x60, 0x77, 0xb2, 0x0c, | ||
507 | 0xbb, 0x3d, 0xff, 0x8f, 0x60, 0x77, 0x4d, 0xe8, 0xbf, 0xdf, 0x2e, 0x22, | ||
508 | 0x6f, 0x4d, 0xeb, 0x00, 0xba, 0x6e, 0x09, 0x70, 0x04, 0x3f, 0xb5, 0xf3, | ||
509 | 0xeb, 0x04, 0x9e, 0x8a, 0xbc, 0xe2, 0x52, 0xe9, 0x3b, 0xe1, 0xb2, 0x9f, | ||
510 | 0x92, 0xed, 0x12, 0xd8, 0x27, 0xf0, 0xe7, 0x35, 0x96, 0x91, 0x47, 0x6f, | ||
511 | 0x4b, 0x46, 0x42, 0x57, 0xaa, 0xb5, 0x4f, 0x7e, 0xbb, 0xcb, 0x6d, 0x9f, | ||
512 | 0x1c, 0xdd, 0xa1, 0x7d, 0x72, 0x5a, 0xda, 0x27, 0xa9, 0xed, 0xdb, 0x27, | ||
513 | 0x03, 0x75, 0x79, 0x5d, 0x95, 0xf5, 0xec, 0xdc, 0x3e, 0x31, 0x36, 0xb5, | ||
514 | 0x4f, 0x46, 0x5d, 0xbe, 0x18, 0xcc, 0xf7, 0x57, 0x29, 0x75, 0x0c, 0x3c, | ||
515 | 0x4e, 0xc3, 0x19, 0x30, 0x3e, 0x56, 0xe3, 0x17, 0xfe, 0x38, 0x61, 0xfd, | ||
516 | 0xd7, 0xff, 0xc7, 0xb0, 0x1e, 0xac, 0xf3, 0x79, 0x57, 0xd6, 0x03, 0x21, | ||
517 | 0xfe, 0x51, 0x60, 0x3d, 0xd8, 0xd0, 0x77, 0xda, 0x38, 0x67, 0xb1, 0xda, | ||
518 | 0x77, 0x3a, 0x62, 0x34, 0xe2, 0xed, 0x7f, 0xe4, 0xf2, 0xa9, 0xba, 0xf9, | ||
519 | 0x3b, 0x68, 0x8a, 0x7c, 0x47, 0xc7, 0xf5, 0xb3, 0x40, 0x4b, 0x76, 0x2a, | ||
520 | 0x45, 0xb0, 0x99, 0xf0, 0xbc, 0x90, 0xa0, 0xb5, 0x1a, 0x7d, 0x8b, 0x9f, | ||
521 | 0xc7, 0xeb, 0x7b, 0xf5, 0x09, 0x21, 0xa7, 0xa4, 0xff, 0x01, 0xe3, 0x27, | ||
522 | 0x7c, 0xf3, 0x62, 0xac, 0xcc, 0x6f, 0x52, 0xfe, 0x08, 0xa5, 0xfb, 0x37, | ||
523 | 0xf2, 0x43, 0xd4, 0xcb, 0xbc, 0x9d, 0xd9, 0x0a, 0x9a, 0xc6, 0xef, 0xe6, | ||
524 | 0x7d, 0x09, 0x55, 0xd9, 0x5a, 0xe0, 0x9f, 0xa7, 0x59, 0x2f, 0x18, 0x29, | ||
525 | 0xeb, 0x04, 0xd5, 0x7b, 0x73, 0x4e, 0xd8, 0x74, 0x9a, 0x77, 0x26, 0x64, | ||
526 | 0xee, 0xa9, 0x38, 0x0f, 0x3d, 0x4d, 0xf3, 0xce, 0x5a, 0x3d, 0xf8, 0x6e, | ||
527 | 0x0f, 0xbc, 0xf0, 0xca, 0x69, 0x2a, 0xef, 0x9d, 0x85, 0x9c, 0xf3, 0xb8, | ||
528 | 0xe7, 0xde, 0x95, 0x6b, 0xc2, 0x52, 0x95, 0xb1, 0xf2, 0xfa, 0xb8, 0x58, | ||
529 | 0xd7, 0x0f, 0x8e, 0x44, 0x51, 0xfb, 0x56, 0xae, 0x17, 0xab, 0xad, 0x77, | ||
530 | 0x82, 0x1c, 0xd0, 0x74, 0xa8, 0x6b, 0xa2, 0x01, 0x8b, 0x61, 0x8f, 0x7a, | ||
531 | 0x27, 0xb7, 0x2c, 0xc1, 0x75, 0xb5, 0xb0, 0xa8, 0xc8, 0x91, 0xf3, 0x4a, | ||
532 | 0x8e, 0x14, 0x5c, 0x7c, 0xbc, 0x5e, 0x6f, 0xef, 0xf5, 0xd0, 0xdb, 0xbd, | ||
533 | 0x6a, 0x9e, 0x30, 0xa7, 0x67, 0x58, 0x0f, 0xb9, 0x1f, 0x7a, 0x88, 0x89, | ||
534 | 0xba, 0x25, 0xa9, 0x8b, 0xe0, 0x77, 0x96, 0x35, 0xaf, 0x86, 0x18, 0x57, | ||
535 | 0x8e, 0xd0, 0x53, 0xac, 0x6b, 0x5f, 0xa2, 0x7b, 0x94, 0x7d, 0x16, 0x71, | ||
536 | 0xe5, 0x99, 0x22, 0x8f, 0xdf, 0x47, 0xa9, 0x27, 0xec, 0x89, 0x08, 0x1d, | ||
537 | 0xa1, 0x53, 0x22, 0x67, 0x06, 0xf1, 0x3d, 0xe4, 0x1c, 0xdc, 0x2b, 0x9e, | ||
538 | 0x2f, 0x7d, 0x19, 0x77, 0x22, 0xa7, 0x6e, 0xfb, 0xf9, 0xfb, 0xba, 0x56, | ||
539 | 0x2f, 0x2a, 0x9e, 0xb9, 0xaa, 0x68, 0x4a, 0x9c, 0xe3, 0xeb, 0x9f, 0x31, | ||
540 | 0xea, 0xaf, 0x8f, 0x18, 0xf1, 0x62, 0xdc, 0x88, 0xae, 0x60, 0xdc, 0x33, | ||
541 | 0x46, 0xac, 0x08, 0x1b, 0x52, 0xe3, 0x88, 0x1d, 0x06, 0xbd, 0x6d, 0xd0, | ||
542 | 0xd6, 0xb1, 0x88, 0x02, 0xd5, 0xd4, 0x49, 0x6c, 0x63, 0xde, 0x87, 0xaa, | ||
543 | 0xe6, 0xad, 0xe1, 0x8b, 0xef, 0xf0, 0xf7, 0x44, 0x18, 0xa6, 0x5a, 0xaf, | ||
544 | 0x6d, 0x83, 0x7f, 0x7d, 0x22, 0x45, 0x9b, 0xe9, 0xb5, 0x76, 0x9d, 0x5e, | ||
545 | 0x5b, 0xd8, 0x72, 0xde, 0x1f, 0x95, 0xc6, 0x65, 0x3d, 0xa2, 0xdf, 0x11, | ||
546 | 0xfa, 0x2b, 0xcf, 0xbb, 0x4a, 0xb7, 0xad, 0xc1, 0x29, 0x8c, 0xd1, 0x7e, | ||
547 | 0x70, 0xed, 0x07, 0xeb, 0x52, 0xf9, 0xc0, 0x3a, 0x3f, 0xa1, 0x0d, 0xf5, | ||
548 | 0x5e, 0xa6, 0xcc, 0x6b, 0x85, 0x8d, 0xb5, 0xce, 0xf3, 0x83, 0xbd, 0xf5, | ||
549 | 0xa0, 0x98, 0x23, 0xdb, 0x5b, 0x56, 0x8c, 0xa4, 0xaf, 0x7b, 0xbe, 0x58, | ||
550 | 0x55, 0xff, 0xe9, 0x51, 0x07, 0x39, 0xe2, 0x51, 0x07, 0xe9, 0xa6, 0xb5, | ||
551 | 0x80, 0x8b, 0xd6, 0x42, 0x2e, 0xbd, 0x6d, 0x88, 0xed, 0x96, 0x0e, 0xe6, | ||
552 | 0x21, 0xb0, 0x5b, 0xda, 0xc8, 0xff, 0xb2, 0xdb, 0x6e, 0xa9, 0xad, 0x45, | ||
553 | 0x07, 0xdd, 0x41, 0x37, 0x93, 0x36, 0x4c, 0x3c, 0x57, 0xae, 0x63, 0xe7, | ||
554 | 0x75, 0x57, 0x6a, 0x0e, 0x57, 0xea, 0xea, 0x23, 0xbd, 0xe6, 0x3b, 0x5c, | ||
555 | 0x37, 0x5f, 0xc8, 0xaf, 0x48, 0x43, 0x9d, 0xce, 0xcb, 0xae, 0xba, 0x53, | ||
556 | 0xf3, 0xab, 0xe5, 0x67, 0x78, 0xd6, 0x88, 0xf0, 0x79, 0xa7, 0xca, 0xbc, | ||
557 | 0x6c, 0x5a, 0xce, 0x37, 0x53, 0x6d, 0x67, 0xf8, 0x97, 0x48, 0xc1, 0xce, | ||
558 | 0x9b, 0xb7, 0xef, 0xcc, 0x7f, 0xd6, 0x5e, 0x23, 0x77, 0xdf, 0x33, 0xa5, | ||
559 | 0x5f, 0xac, 0x49, 0xe5, 0x61, 0xf7, 0x29, 0x7b, 0x6f, 0x2b, 0x7c, 0xc7, | ||
560 | 0xb9, 0x26, 0xe5, 0x4b, 0xb4, 0xad, 0x3c, 0x01, 0xcf, 0x8f, 0x9d, 0x68, | ||
561 | 0x72, 0x4c, 0x15, 0xcb, 0x42, 0xbc, 0x0a, 0x78, 0xaf, 0xef, 0x0f, 0x9e, | ||
562 | 0xbd, 0x9d, 0x3d, 0xb3, 0xea, 0xf6, 0x4c, 0xe2, 0x15, 0x6c, 0x2d, 0xe4, | ||
563 | 0x17, 0x4f, 0xd6, 0xe4, 0x78, 0x7f, 0x14, 0x58, 0x74, 0x79, 0xe4, 0x3d, | ||
564 | 0x23, 0x6f, 0xb9, 0xd1, 0x3c, 0xaf, 0xbb, 0xf4, 0x72, 0xcc, 0xb7, 0x54, | ||
565 | 0x7a, 0x23, 0x3c, 0x20, 0x65, 0x71, 0xd1, 0x5b, 0x47, 0x32, 0xb7, 0x3d, | ||
566 | 0xbf, 0x5a, 0xd9, 0xbb, 0x77, 0x9b, 0xb2, 0x57, 0xf4, 0xf4, 0xf0, 0x1d, | ||
567 | 0x14, 0x3c, 0xa0, 0x83, 0x56, 0x72, 0xc8, 0xbf, 0xfe, 0x05, 0xd0, 0x3c, | ||
568 | 0xf3, 0x59, 0x57, 0x4d, 0x9a, 0xf7, 0x3e, 0x96, 0x63, 0x2a, 0x81, 0x19, | ||
569 | 0xc4, 0xfe, 0x90, 0x5b, 0xd2, 0xcb, 0xbc, 0x07, 0xe3, 0xc7, 0xac, 0xab, | ||
570 | 0xf0, 0xf7, 0x2a, 0xff, 0x53, 0x5c, 0xc9, 0x97, 0x83, 0xdb, 0x88, 0xad, | ||
571 | 0xec, 0x8c, 0x4f, 0xdb, 0xd6, 0x3a, 0x21, 0xee, 0x83, 0x7c, 0xe1, 0xfb, | ||
572 | 0xba, 0xa8, 0xeb, 0x33, 0x2d, 0x2d, 0xce, 0x97, 0x7a, 0x64, 0x2c, 0x0a, | ||
573 | 0xbf, 0x75, 0xd0, 0x2b, 0x39, 0xe4, 0x72, 0xe3, 0xb7, 0xdf, 0xe0, 0xdf, | ||
574 | 0xbc, 0x78, 0x94, 0xce, 0x45, 0x87, 0x2e, 0x27, 0xf7, 0x27, 0x4f, 0xb0, | ||
575 | 0x95, 0x4a, 0xf4, 0xb7, 0xe1, 0x5f, 0x94, 0xf1, 0x8c, 0xe2, 0x9d, 0x8e, | ||
576 | 0xd5, 0x78, 0xf9, 0x0b, 0xdf, 0xec, 0xb9, 0xdd, 0xdc, 0xc8, 0x2f, 0x6c, | ||
577 | 0xcb, 0x5f, 0x88, 0x38, 0xff, 0x76, 0x62, 0x26, 0x3a, 0x36, 0x3c, 0x25, | ||
578 | 0x6a, 0x4e, 0xdd, 0x78, 0x70, 0x67, 0xe2, 0xc3, 0xc0, 0x87, 0xe1, 0x3a, | ||
579 | 0x5e, 0xf5, 0xd1, 0xfd, 0xfd, 0xb5, 0x70, 0x6d, 0xf3, 0xf4, 0x55, 0x79, | ||
580 | 0xc7, 0x81, 0x11, 0xf3, 0x87, 0x9f, 0xfa, 0x21, 0x9a, 0xbf, 0x08, 0x1c, | ||
581 | 0x36, 0x18, 0xdb, 0x46, 0x69, 0x21, 0x88, 0xba, 0x22, 0x51, 0x9b, 0xa3, | ||
582 | 0xe2, 0x86, 0xb2, 0x56, 0x68, 0x5e, 0xd4, 0x40, 0x8e, 0x85, 0x6e, 0xf2, | ||
583 | 0xbc, 0xe7, 0x8b, 0x29, 0x3a, 0xc5, 0x32, 0xf6, 0xd4, 0x4a, 0x45, 0x77, | ||
584 | 0xaf, 0xaf, 0x83, 0xac, 0xc6, 0xf1, 0x9b, 0x02, 0xc7, 0x87, 0x36, 0xc5, | ||
585 | 0xf1, 0xc3, 0x65, 0x1c, 0xff, 0x44, 0xaf, 0xc4, 0xe7, 0x67, 0xf9, 0x5e, | ||
586 | 0x5d, 0x74, 0x50, 0xdc, 0x37, 0xc5, 0xdf, 0xdb, 0xe9, 0xa0, 0xec, 0x61, | ||
587 | 0xc1, 0xcf, 0x66, 0x1e, 0x9f, 0x49, 0xd1, 0x53, 0x17, 0x53, 0xbe, 0xb8, | ||
588 | 0xa8, 0x5f, 0x70, 0xf7, 0xe8, 0xd0, 0xd7, 0x63, 0x5c, 0x23, 0xfc, 0xd7, | ||
589 | 0x7c, 0x49, 0xd6, 0x5c, 0xe5, 0x25, 0x7f, 0xa2, 0x77, 0xc3, 0x83, 0x35, | ||
590 | 0xf8, 0x5f, 0x6d, 0x3b, 0x9e, 0x56, 0x32, 0xf0, 0xd8, 0x26, 0x7e, 0x8d, | ||
591 | 0x7a, 0xbc, 0xec, 0xf1, 0xd0, 0x87, 0x7f, 0xbd, 0x57, 0xc6, 0xa9, 0x36, | ||
592 | 0xf3, 0x6b, 0xb8, 0x71, 0xb4, 0x2a, 0x6e, 0xcf, 0x7c, 0xff, 0xbf, 0x55, | ||
593 | 0x1c, 0xfd, 0xa5, 0x5e, 0x29, 0x2f, 0x50, 0x1f, 0x98, 0x60, 0x38, 0x9c, | ||
594 | 0x64, 0x5d, 0x65, 0x90, 0x9a, 0x5f, 0xd6, 0x6b, 0x1d, 0x14, 0xfc, 0xd6, | ||
595 | 0xed, 0xa7, 0x39, 0xa7, 0x6a, 0xbb, 0xd3, 0xae, 0x35, 0x9d, 0x13, 0x36, | ||
596 | 0x4e, 0x63, 0x7a, 0x6b, 0x9c, 0x73, 0x35, 0x54, 0x23, 0x13, 0x6a, 0xf1, | ||
597 | 0x0d, 0xbd, 0x4f, 0xb0, 0xbf, 0x64, 0x48, 0x3d, 0x78, 0x9a, 0xf5, 0xdb, | ||
598 | 0x9d, 0xc6, 0x8b, 0x3e, 0xaa, 0x8e, 0x58, 0xdb, 0x53, 0xa3, 0xf6, 0x3b, | ||
599 | 0xf6, 0x41, 0xda, 0x1c, 0xc9, 0x57, 0x1f, 0x12, 0xbc, 0xe0, 0xdc, 0x64, | ||
600 | 0x89, 0x62, 0xe1, 0x4e, 0x4a, 0x4e, 0xf2, 0xb3, 0xa7, 0x1d, 0xb6, 0xbd, | ||
601 | 0xfc, 0x94, 0x62, 0xfa, 0x4d, 0x4e, 0xee, 0x52, 0xfa, 0xa2, 0xf6, 0xa7, | ||
602 | 0xb7, 0xa8, 0x3c, 0x87, 0x67, 0x45, 0x5c, 0x52, 0xf6, 0xc6, 0xe0, 0xef, | ||
603 | 0x2b, 0xfa, 0xde, 0xcf, 0x8a, 0xf8, 0x68, 0xf2, 0x62, 0xb3, 0x1a, 0xd7, | ||
604 | 0xee, 0x1a, 0x87, 0x31, 0xed, 0x6a, 0x2c, 0xee, 0xa9, 0x75, 0x8a, 0x56, | ||
605 | 0xc5, 0x6f, 0x1f, 0x11, 0x75, 0x60, 0xb2, 0x56, 0x0f, 0xbf, 0x9f, 0xa6, | ||
606 | 0xb9, 0xf2, 0x5a, 0xda, 0x79, 0xec, 0xcf, 0x4a, 0x11, 0x61, 0xcb, 0xb5, | ||
607 | 0xb3, 0xce, 0x8b, 0x79, 0xd7, 0xcf, 0x09, 0x6b, 0xf1, 0x8b, 0xf8, 0x10, | ||
608 | 0x7f, 0x57, 0xcf, 0x39, 0x59, 0x9e, 0x13, 0x72, 0x34, 0xec, 0x90, 0xbc, | ||
609 | 0x97, 0x1e, 0xd7, 0xee, 0x1a, 0xa7, 0x79, 0x85, 0x8e, 0x3f, 0xfc, 0x80, | ||
610 | 0xe7, 0xf1, 0x37, 0x2a, 0x87, 0xd7, 0x14, 0xf1, 0x53, 0x99, 0xa3, 0xa1, | ||
611 | 0xbf, 0xc3, 0xbf, 0x8c, 0x9c, 0x0a, 0xe4, 0x49, 0xb8, 0xf9, 0x8d, 0x5c, | ||
612 | 0x6f, 0x00, 0xb2, 0xa8, 0x88, 0xb8, 0x29, 0xe2, 0x15, 0x8d, 0x74, 0xe7, | ||
613 | 0xbd, 0xc8, 0xcd, 0xdf, 0x81, 0x0e, 0xba, 0x1d, 0xfa, 0xb3, 0x3c, 0xe8, | ||
614 | 0xcf, 0xfd, 0x7c, 0xd4, 0xc1, 0xa1, 0x1e, 0x2e, 0x35, 0x61, 0x50, 0x89, | ||
615 | 0x6d, 0x05, 0x83, 0xf2, 0xa6, 0x8f, 0x9e, 0x72, 0xec, 0xf0, 0x0a, 0xc9, | ||
616 | 0x9a, 0xc9, 0xd8, 0xa2, 0x3d, 0xb1, 0x4e, 0xfb, 0x45, 0xcd, 0x38, 0x7a, | ||
617 | 0x1f, 0xe4, 0x59, 0x06, 0x9f, 0xa4, 0x09, 0xb6, 0x8f, 0xd8, 0xfe, 0x9c, | ||
618 | 0x45, 0xbc, 0x45, 0xef, 0x0b, 0x6a, 0xe0, 0xf1, 0x39, 0xc1, 0x70, 0x7a, | ||
619 | 0x6c, 0x37, 0xb5, 0x45, 0xf8, 0x9e, 0x13, 0xe0, 0x4f, 0xe8, 0xe7, 0x45, | ||
620 | 0x51, 0xb6, 0x93, 0x60, 0xb3, 0x9e, 0x9c, 0xb5, 0xcd, 0x3c, 0x19, 0x3c, | ||
621 | 0x16, 0xb6, 0x2b, 0xee, 0x83, 0xeb, 0x23, 0x66, 0x13, 0xd5, 0xd6, 0xe4, | ||
622 | 0x3e, 0x2b, 0xea, 0x14, 0xdf, 0x0d, 0xdf, 0x47, 0x46, 0x3f, 0xf8, 0x15, | ||
623 | 0xf6, 0xed, 0x5e, 0x15, 0x27, 0x3a, 0xcb, 0xdf, 0xc7, 0xd5, 0xf7, 0xaf, | ||
624 | 0x88, 0xfd, 0x94, 0xdf, 0x35, 0x7e, 0xe3, 0xef, 0x5f, 0x5a, 0xc8, 0xf9, | ||
625 | 0xa1, 0xca, 0x59, 0xa9, 0xca, 0x05, 0x09, 0x8d, 0x1a, 0x5f, 0xa1, 0xd3, | ||
626 | 0x2b, 0x9b, 0xf9, 0x5f, 0xbc, 0x6a, 0x5d, 0xbb, 0xb7, 0x59, 0xeb, 0xfa, | ||
627 | 0x07, 0xbb, 0x65, 0x6d, 0x99, 0x7b, 0x2e, 0xff, 0xc9, 0x73, 0xf1, 0xd2, | ||
628 | 0xc9, 0xea, 0xf4, 0x44, 0x5e, 0x6f, 0x89, 0xfe, 0x29, 0xfc, 0x49, 0xba, | ||
629 | 0x1e, 0x0c, 0xa9, 0x9c, 0x25, 0xe4, 0x28, 0xdd, 0xa7, 0xf0, 0x5a, 0xf3, | ||
630 | 0x7e, 0xf2, 0xe0, 0xfd, 0x8f, 0x89, 0x5c, 0x4d, 0x29, 0x3b, 0x06, 0x15, | ||
631 | 0x3c, 0x00, 0xb3, 0x90, 0x0b, 0x66, 0x7d, 0x2e, 0x98, 0x19, 0xea, 0x7b, | ||
632 | 0xa7, 0x38, 0x3e, 0xbd, 0xf2, 0x99, 0x6e, 0x59, 0x2f, 0x8e, 0x58, 0xe2, | ||
633 | 0xbc, 0xfa, 0xbe, 0xd5, 0x7a, 0x7f, 0xce, 0x6b, 0x15, 0xfe, 0x26, 0xd7, | ||
634 | 0x5a, 0x5f, 0x27, 0x72, 0x5a, 0x82, 0xf5, 0x30, 0xf8, 0x8e, 0xeb, 0x3c, | ||
635 | 0xe6, 0x38, 0xe6, 0x9a, 0xe3, 0x88, 0x6b, 0x8e, 0x77, 0x37, 0x98, 0x23, | ||
636 | 0xf3, 0xf8, 0xe2, 0x69, 0xfe, 0xbf, 0xdd, 0xb9, 0xca, 0x79, 0xce, 0x0b, | ||
637 | 0x78, 0xb6, 0x53, 0x3a, 0x18, 0x52, 0xb2, 0xe3, 0xfb, 0xaa, 0x16, 0xdd, | ||
638 | 0x6b, 0xce, 0xff, 0x40, 0x8d, 0xf7, 0xcd, 0x8d, 0xab, 0xee, 0xfa, 0xe3, | ||
639 | 0x97, 0x28, 0x26, 0xeb, 0xc8, 0x15, 0x6d, 0x7f, 0xb5, 0x81, 0x1f, 0xfa, | ||
640 | 0x41, 0xa1, 0xff, 0xcc, 0xcb, 0x78, 0xd0, 0x80, 0xec, 0xbf, 0x16, 0xa0, | ||
641 | 0xd5, 0x72, 0x2d, 0xaf, 0x5f, 0xd5, 0xee, 0xdc, 0x1f, 0xbc, 0xb3, 0x75, | ||
642 | 0xbc, 0x38, 0xff, 0x88, 0xf0, 0xe5, 0xc9, 0xf8, 0x51, 0x42, 0xd5, 0x23, | ||
643 | 0xdb, 0x16, 0x72, 0x03, 0x0a, 0x6b, 0xf0, 0xbf, 0x36, 0xaa, 0xdd, 0xc5, | ||
644 | 0xb5, 0xf0, 0x03, 0x6a, 0x3b, 0xfe, 0x84, 0xe0, 0x89, 0xd2, 0x3f, 0x26, | ||
645 | 0xeb, 0x6f, 0x0b, 0x6b, 0x27, 0x45, 0xcd, 0x6b, 0x54, 0xd5, 0xf1, 0x26, | ||
646 | 0xa9, 0x43, 0xe8, 0xb9, 0xb7, 0x5f, 0x7f, 0xfb, 0x5c, 0x70, 0xe7, 0xf5, | ||
647 | 0xb7, 0xee, 0x6b, 0x76, 0x56, 0x7f, 0x6b, 0xf2, 0xda, 0x8d, 0x65, 0x59, | ||
648 | 0x7f, 0x5b, 0x1d, 0x93, 0x91, 0xfe, 0xc0, 0xa4, 0x4b, 0x7f, 0x90, 0xfa, | ||
649 | 0xfa, 0x6f, 0xb9, 0xf2, 0xb7, 0x65, 0x6d, 0x6d, 0xa1, 0xac, 0xb3, 0xca, | ||
650 | 0xda, 0x5a, 0x99, 0xef, 0xed, 0xee, 0x03, 0x23, 0x63, 0x3f, 0xf2, 0x39, | ||
651 | 0x9d, 0x35, 0xb1, 0x1f, 0x59, 0x53, 0x6b, 0x19, 0x8d, 0x6c, 0x38, 0xd1, | ||
652 | 0xe7, 0xa2, 0x8f, 0xba, 0x22, 0x8c, 0xbb, 0xed, 0x0d, 0xfa, 0x21, 0x44, | ||
653 | 0x1a, 0xf4, 0x43, 0x70, 0xf3, 0x7e, 0xb7, 0x8e, 0x05, 0x9d, 0x18, 0xb2, | ||
654 | 0x11, 0xba, 0x30, 0xfa, 0x19, 0x84, 0xe9, 0x74, 0x59, 0xf7, 0xbc, 0x8f, | ||
655 | 0x12, 0x4a, 0xf7, 0x3c, 0xbd, 0xa2, 0xf9, 0xd1, 0x48, 0x0d, 0x3f, 0xf2, | ||
656 | 0xd2, 0x45, 0x6d, 0x95, 0xe7, 0xa3, 0xe9, 0x35, 0xe5, 0xa2, 0xd7, 0x94, | ||
657 | 0x07, 0xbd, 0x8a, 0x67, 0x34, 0x98, 0xf7, 0xf7, 0xd5, 0x35, 0xf8, 0x4f, | ||
658 | 0x84, 0xd0, 0xb3, 0x85, 0x79, 0x6a, 0x50, 0xe9, 0x7f, 0x2e, 0x7a, 0x3d, | ||
659 | 0xc5, 0xf4, 0xaa, 0xcf, 0x63, 0xbe, 0x0d, 0x73, 0x41, 0x95, 0xce, 0x38, | ||
660 | 0xe8, 0x3b, 0x74, 0xf1, 0x1b, 0x22, 0x4f, 0xaa, 0xda, 0x5e, 0xd4, 0xfa, | ||
661 | 0xc4, 0x3e, 0x41, 0x4b, 0xd7, 0xfd, 0xc8, 0x5b, 0xd1, 0xe7, 0x4c, 0xe5, | ||
662 | 0x27, 0xd3, 0xb0, 0x68, 0xae, 0xd2, 0x39, 0x2a, 0xfa, 0x86, 0xc8, 0xf1, | ||
663 | 0x75, 0xcd, 0xed, 0x43, 0x9e, 0x9b, 0x3e, 0xaf, 0x65, 0xe6, 0xb5, 0x2a, | ||
664 | 0x7f, 0xc6, 0xe5, 0xaa, 0x9e, 0x83, 0xf0, 0x1d, 0x75, 0x26, 0x0c, 0x27, | ||
665 | 0x2e, 0x72, 0x4c, 0x7b, 0x1c, 0xf8, 0xc9, 0xa2, 0x4c, 0xfb, 0x3d, 0x09, | ||
666 | 0xe4, 0x33, 0xf7, 0x2c, 0x59, 0x74, 0x3c, 0x73, 0xff, 0x5d, 0x12, 0x57, | ||
667 | 0xce, 0x8a, 0x3e, 0x92, 0xe8, 0x67, 0x16, 0x63, 0xf9, 0x1c, 0xf5, 0x4f, | ||
668 | 0xd3, 0xf9, 0x62, 0x0b, 0x15, 0x58, 0xbb, 0xf7, 0x3b, 0x79, 0xe1, 0xeb, | ||
669 | 0x63, 0x9e, 0x94, 0x45, 0x2f, 0x51, 0x63, 0xb9, 0x99, 0xef, 0xdb, 0x4f, | ||
670 | 0xab, 0xb9, 0x31, 0xd1, 0x13, 0x4a, 0xf6, 0x17, 0xc1, 0x58, 0x1f, 0xf5, | ||
671 | 0x3a, 0x07, 0xfb, 0xa8, 0xed, 0xb3, 0x22, 0xc7, 0xb2, 0x90, 0x3d, 0x2b, | ||
672 | 0x3f, 0xf3, 0x0f, 0xa8, 0x67, 0xf0, 0xf3, 0x8a, 0x7f, 0x4a, 0x91, 0x5e, | ||
673 | 0xcb, 0x65, 0xcb, 0xb9, 0xff, 0xbc, 0xf5, 0x95, 0xa3, 0x3b, 0xd2, 0x57, | ||
674 | 0x52, 0x89, 0x8a, 0xbe, 0xe2, 0xbe, 0x77, 0x39, 0x07, 0xa6, 0x5f, 0xf6, | ||
675 | 0x7b, 0x00, 0x0c, 0xda, 0xa1, 0x8b, 0x25, 0x00, 0x4b, 0x63, 0xc6, 0x0e, | ||
676 | 0x45, 0xfd, 0x53, 0xb4, 0x50, 0x1c, 0x32, 0x92, 0x59, 0xe8, 0xcc, 0xfc, | ||
677 | 0x99, 0x8f, 0xee, 0x91, 0x3e, 0x1a, 0x7d, 0x0d, 0xf8, 0xca, 0x6e, 0x1e, | ||
678 | 0xff, 0x7a, 0xbf, 0xcc, 0xcb, 0x76, 0x9f, 0xef, 0xe2, 0xf3, 0x7b, 0x42, | ||
679 | 0xd5, 0xe7, 0x77, 0xf1, 0xf9, 0xde, 0x04, 0xf6, 0xd0, 0x58, 0x82, 0x5f, | ||
680 | 0xd2, 0xa1, 0x34, 0xef, 0xcd, 0x42, 0x91, 0x65, 0xeb, 0xcb, 0xcc, 0x47, | ||
681 | 0x57, 0xf4, 0xb8, 0x3e, 0xd4, 0xec, 0x88, 0x3d, 0x31, 0x78, 0xcc, 0xb9, | ||
682 | 0xcc, 0x04, 0x8f, 0x1b, 0x24, 0xff, 0xcb, 0x6c, 0x8b, 0xae, 0x68, 0x5c, | ||
683 | 0xd5, 0xf9, 0xf6, 0xdf, 0xe8, 0x93, 0x39, 0x55, 0xdf, 0xdd, 0x23, 0xe1, | ||
684 | 0xe7, 0x08, 0x9e, 0x72, 0x9e, 0xe1, 0xf2, 0xbc, 0xc0, 0x43, 0x7b, 0xda, | ||
685 | 0x2a, 0x3f, 0xbf, 0x13, 0x78, 0xd5, 0x8a, 0xbc, 0xd9, 0xc0, 0x12, 0xf3, | ||
686 | 0xc5, 0x19, 0xc7, 0x4c, 0x97, 0x73, 0xd5, 0x1e, 0x1f, 0x90, 0xd7, 0xbf, | ||
687 | 0xd9, 0x27, 0xfb, 0x83, 0x7e, 0x6b, 0x40, 0xf7, 0x48, 0x94, 0x32, 0x07, | ||
688 | 0xf9, 0xcb, 0x3e, 0x01, 0x1b, 0xff, 0x32, 0xf8, 0xa5, 0xc1, 0xdf, 0x79, | ||
689 | 0x3d, 0x09, 0xcc, 0xf1, 0x4a, 0x9f, 0xee, 0x17, 0x23, 0xd7, 0x15, 0xe7, | ||
690 | 0xf9, 0x46, 0x78, 0x5d, 0xfa, 0xfc, 0x0c, 0x1f, 0x7b, 0xed, 0x2f, 0xee, | ||
691 | 0xd5, 0x96, 0x90, 0xfd, 0xc5, 0xda, 0x12, 0xc9, 0x09, 0xb9, 0xcf, 0x15, | ||
692 | 0x9f, 0x6e, 0xa8, 0xec, 0xd3, 0x3d, 0x9f, 0xb9, 0xd5, 0x07, 0xff, 0x86, | ||
693 | 0xb1, 0xc4, 0xfb, 0x1d, 0x7c, 0x9e, 0xc7, 0xa2, 0x56, 0x21, 0xcd, 0x9f, | ||
694 | 0x1d, 0x2a, 0xaf, 0xa7, 0x1e, 0x57, 0x64, 0x9e, 0x84, 0x96, 0x5b, 0xb8, | ||
695 | 0xf6, 0x43, 0xbe, 0x87, 0x94, 0x5d, 0x8d, 0x9f, 0x43, 0x75, 0x79, 0x30, | ||
696 | 0xf5, 0x38, 0xb6, 0x99, 0x1f, 0x56, 0xc4, 0x13, 0x3d, 0xf0, 0x6c, 0xb3, | ||
697 | 0x7e, 0x06, 0xd7, 0x84, 0x1f, 0x2d, 0x56, 0x47, 0xaf, 0xa0, 0xe3, 0x00, | ||
698 | 0xfd, 0xce, 0x62, 0x8a, 0x76, 0xf1, 0x5e, 0xfd, 0xa6, 0xf1, 0x00, 0xe2, | ||
699 | 0xed, 0x24, 0x73, 0x9e, 0x18, 0xc6, 0x19, 0x67, 0xe2, 0x94, 0x11, 0x01, | ||
700 | 0xbf, 0x2c, 0x05, 0x9c, 0x0e, 0x6a, 0x66, 0x5a, 0xfd, 0x65, 0x1a, 0x65, | ||
701 | 0xfb, 0x0f, 0x34, 0xeb, 0x84, 0xe2, 0x04, 0x7a, 0xb3, 0xcd, 0x43, 0xac, | ||
702 | 0x13, 0xc7, 0x8a, 0xc0, 0x67, 0x83, 0x3e, 0x9f, 0x23, 0xfa, 0x5c, 0x6e, | ||
703 | 0xd4, 0xfc, 0x26, 0x39, 0x56, 0xe5, 0x77, 0xdb, 0x8c, 0xf2, 0x3c, 0xe2, | ||
704 | 0xc5, 0x2f, 0xd3, 0xfb, 0xa2, 0xcf, 0x09, 0xe0, 0xa8, 0xf7, 0xfd, 0x4b, | ||
705 | 0x74, 0x32, 0x81, 0x79, 0x6f, 0x9f, 0x3e, 0x8f, 0xef, 0x88, 0x3e, 0xdb, | ||
706 | 0x3c, 0xe8, 0xf3, 0xc5, 0x7e, 0x89, 0x37, 0x25, 0xc6, 0xd1, 0x36, 0x9a, | ||
707 | 0xcb, 0x22, 0x07, 0xec, 0xd3, 0xe8, 0x3b, 0x95, 0x4d, 0x32, 0x5f, 0x4a, | ||
708 | 0x56, 0xf8, 0xd2, 0x85, 0x28, 0x1b, 0xc3, 0x4c, 0xe3, 0xe8, 0xcb, 0xa6, | ||
709 | 0xf2, 0x7e, 0xb0, 0x8e, 0x01, 0x1a, 0x5d, 0x6e, 0xe7, 0x6b, 0x69, 0x3d, | ||
710 | 0x3a, 0x15, 0x51, 0xb5, 0xfe, 0xb6, 0x15, 0x63, 0xfe, 0x78, 0x9e, 0x69, | ||
711 | 0x39, 0x9d, 0xbd, 0x97, 0x0a, 0xc1, 0x21, 0x1a, 0x59, 0xd6, 0xfd, 0x4d, | ||
712 | 0x44, 0xce, 0xc6, 0xa0, 0xe4, 0x49, 0x7a, 0xdd, 0x9f, 0x10, 0xbe, 0x0b, | ||
713 | 0xeb, 0xd2, 0xc7, 0xb5, 0xee, 0xf6, 0x2d, 0xf8, 0xd2, 0x25, 0x45, 0xb3, | ||
714 | 0xa5, 0xcb, 0xd1, 0x30, 0xa5, 0xa2, 0x53, 0xaf, 0xf4, 0x03, 0xff, 0x47, | ||
715 | 0x2e, 0xc1, 0x0f, 0x07, 0x1e, 0x6d, 0x51, 0x22, 0x53, 0x0b, 0x8b, 0x21, | ||
716 | 0x5e, 0x37, 0x7e, 0x2f, 0x7d, 0x30, 0x17, 0x7e, 0x40, 0xc8, 0xfe, 0xd1, | ||
717 | 0x4b, 0x3c, 0x4e, 0xca, 0x26, 0xc5, 0x37, 0xbc, 0xf0, 0x50, 0xf7, 0xc5, | ||
718 | 0xd4, 0xb8, 0x28, 0x73, 0x3d, 0x59, 0x7f, 0x33, 0x13, 0xfe, 0x5a, 0x9c, | ||
719 | 0xbc, 0xe6, 0x3b, 0xba, 0x68, 0xd1, 0xb1, 0x8c, 0xfd, 0xf5, 0x14, 0x4d, | ||
720 | 0x31, 0x5d, 0xbb, 0xe5, 0x05, 0x8f, 0x27, 0xe0, 0xd9, 0x34, 0xd3, 0x3e, | ||
721 | 0xdb, 0xcd, 0x59, 0x4b, 0xe6, 0xdd, 0x89, 0xde, 0x73, 0x38, 0x46, 0xdd, | ||
722 | 0xf1, 0x5f, 0xf5, 0x6b, 0x79, 0x90, 0xcc, 0xa2, 0x8e, 0x90, 0x3f, 0xf3, | ||
723 | 0x3c, 0x1e, 0xb9, 0xff, 0x39, 0xdc, 0x07, 0xf2, 0x0e, 0x73, 0xe7, 0xe3, | ||
724 | 0x55, 0xb9, 0xaf, 0x23, 0x7c, 0x6f, 0xd4, 0xdd, 0x1f, 0x2b, 0x4e, 0xf2, | ||
725 | 0xfe, 0x76, 0x09, 0xde, 0x2c, 0xf7, 0x73, 0x9a, 0xce, 0x79, 0xf2, 0x15, | ||
726 | 0xb9, 0x2f, 0x49, 0x17, 0x7d, 0x27, 0x05, 0x7d, 0x4f, 0x8b, 0xfd, 0x48, | ||
727 | 0xe6, 0x0c, 0xd6, 0xd7, 0xb4, 0xef, 0x81, 0xed, 0xec, 0x5c, 0x40, 0xe7, | ||
728 | 0x06, 0xf2, 0xf7, 0x0f, 0xfb, 0x45, 0x5e, 0x22, 0xec, 0xef, 0x1c, 0x3e, | ||
729 | 0xa7, 0xe9, 0x79, 0x96, 0xeb, 0x2f, 0x64, 0x5a, 0xe8, 0x6a, 0xb6, 0x85, | ||
730 | 0xde, 0xc9, 0x0e, 0xd1, 0x95, 0xc5, 0x6e, 0x3a, 0xc7, 0x3a, 0xf3, 0x39, | ||
731 | 0x27, 0x60, 0xa5, 0xa9, 0x1b, 0xf1, 0x45, 0xe4, 0x0c, 0x31, 0xdd, 0x61, | ||
732 | 0x3c, 0xf4, 0xbf, 0xe8, 0x5e, 0xc6, 0x39, 0xd6, 0xbd, 0x5b, 0xe9, 0x3d, | ||
733 | 0x7e, 0x66, 0x3a, 0xa3, 0x73, 0x1d, 0xe0, 0x93, 0x1f, 0x2b, 0xeb, 0xaf, | ||
734 | 0x5b, 0xe3, 0x88, 0xb9, 0x05, 0x8e, 0x4c, 0x8b, 0xf8, 0xd6, 0xc2, 0x22, | ||
735 | 0xff, 0xbe, 0x08, 0xff, 0x39, 0xc3, 0x9b, 0xf9, 0xf3, 0x93, 0x01, 0x8c, | ||
736 | 0xc7, 0x39, 0x47, 0xe6, 0x4a, 0x8a, 0xb5, 0x85, 0xf8, 0xd8, 0x27, 0x6a, | ||
737 | 0xa4, 0x25, 0x1c, 0x5a, 0x79, 0x7d, 0x3e, 0x31, 0x3e, 0xb9, 0xda, 0x4a, | ||
738 | 0xf3, 0x39, 0xd6, 0x41, 0x72, 0x7e, 0xb6, 0x61, 0x30, 0xf6, 0xef, 0x54, | ||
739 | 0x6f, 0x61, 0xdc, 0xbf, 0x8b, 0xd2, 0x62, 0x1c, 0x7f, 0xae, 0x76, 0xd1, | ||
740 | 0x42, 0xae, 0x43, 0x1d, 0xdf, 0x2b, 0x72, 0xdc, 0x65, 0x1f, 0x23, 0xfc, | ||
741 | 0xb6, 0x19, 0x7f, 0x7b, 0x97, 0x71, 0x0a, 0x32, 0x55, 0xda, 0xa5, 0xe0, | ||
742 | 0x35, 0x97, 0xeb, 0x7a, 0x22, 0x03, 0xe7, 0xa6, 0xe8, 0x25, 0x96, 0xb7, | ||
743 | 0x23, 0x2f, 0xc3, 0x7f, 0xfc, 0x38, 0xf0, 0x26, 0x9f, 0xa2, 0x41, 0x3e, | ||
744 | 0x46, 0x5f, 0x24, 0xbf, 0xa8, 0x73, 0x8a, 0x05, 0x27, 0x44, 0x6d, 0x88, | ||
745 | 0xa4, 0xd1, 0x59, 0xd1, 0x8b, 0xee, 0x2d, 0xc1, 0x9b, 0xec, 0x94, 0x65, | ||
746 | 0x40, 0x1f, 0x81, 0x0f, 0x46, 0xe6, 0x60, 0x1d, 0x77, 0x7a, 0xde, 0xed, | ||
747 | 0x9b, 0x19, 0xa7, 0x48, 0x3f, 0xf0, 0x5e, 0xd2, 0xac, 0xea, 0x2f, 0x20, | ||
748 | 0xf8, 0xbd, 0xb9, 0x4f, 0xd7, 0x4b, 0xea, 0x63, 0x2d, 0x2b, 0xf4, 0x71, | ||
749 | 0x47, 0xcd, 0xef, 0x66, 0xcd, 0xef, 0xe5, 0x7c, 0x39, 0x96, 0x79, 0x2c, | ||
750 | 0xe7, 0x49, 0xf6, 0x28, 0x4a, 0x2e, 0x4b, 0xfc, 0x33, 0xf7, 0x8d, 0x99, | ||
751 | 0x8f, 0x2a, 0x1d, 0x3c, 0xb9, 0x36, 0x1a, 0xea, 0x31, 0x26, 0x8c, 0xe4, | ||
752 | 0xe4, 0x3f, 0x96, 0x22, 0x09, 0xe8, 0x45, 0x4f, 0xee, 0x51, 0xf9, 0xa7, | ||
753 | 0x3c, 0xaf, 0x54, 0x18, 0xaa, 0xdb, 0xec, 0x5a, 0x07, 0xad, 0x8b, 0x9e, | ||
754 | 0x5c, 0x42, 0xc7, 0xe0, 0xeb, 0x71, 0x9f, 0x94, 0xd9, 0x44, 0xe8, 0x73, | ||
755 | 0x0e, 0x1a, 0xdf, 0x1f, 0xba, 0xc4, 0xfb, 0x19, 0x5f, 0xfb, 0x69, 0xe9, | ||
756 | 0xa4, 0xe8, 0x71, 0x83, 0xb1, 0x5d, 0x34, 0x27, 0x74, 0x7e, 0xd6, 0x5f, | ||
757 | 0xaa, 0xec, 0xaa, 0x29, 0xcc, 0x33, 0x85, 0xd8, 0x8a, 0xe1, 0xfc, 0xbe, | ||
758 | 0x2f, 0x99, 0x97, 0xb1, 0xf2, 0x78, 0x4d, 0xac, 0x7c, 0x56, 0xc4, 0xca, | ||
759 | 0x11, 0x27, 0x07, 0x5c, 0x01, 0x4b, 0xaf, 0x9c, 0x16, 0xec, 0x63, 0x98, | ||
760 | 0x90, 0x1b, 0x7e, 0xee, 0xa2, 0xe0, 0x37, 0xe1, 0x98, 0x5f, 0xe6, 0x57, | ||
761 | 0xc7, 0x79, 0xc6, 0x06, 0x5d, 0x60, 0x7c, 0xb0, 0x27, 0x36, 0x58, 0x97, | ||
762 | 0x58, 0xc9, 0x7e, 0x99, 0xae, 0xe4, 0x9b, 0x58, 0xd7, 0x5b, 0xa0, 0x8d, | ||
763 | 0x3c, 0xb1, 0x4e, 0xd8, 0x4d, 0x0b, 0x61, 0xc6, 0xb1, 0x89, 0x36, 0xde, | ||
764 | 0x4f, 0xd6, 0x6b, 0x27, 0x98, 0xee, 0x78, 0xee, 0x2b, 0xb9, 0xd2, 0x8f, | ||
765 | 0xd2, 0xe1, 0x88, 0x15, 0x9d, 0xea, 0x60, 0xbb, 0xc5, 0xe4, 0x7f, 0x87, | ||
766 | 0xff, 0x77, 0x85, 0x00, 0x93, 0xc2, 0x2a, 0x7e, 0x67, 0x9d, 0x27, 0x53, | ||
767 | 0xfa, 0xd1, 0x1c, 0x8f, 0x99, 0x9b, 0x82, 0xfd, 0x03, 0x3b, 0xcf, 0xe1, | ||
768 | 0x7f, 0x39, 0x66, 0x65, 0x95, 0xf1, 0xfb, 0x62, 0x2a, 0x64, 0x08, 0xde, | ||
769 | 0xbe, 0xce, 0x3c, 0xfe, 0x02, 0xcd, 0xf1, 0x1c, 0xae, 0x10, 0xae, 0xb5, | ||
770 | 0x28, 0x19, 0xde, 0xc7, 0x78, 0xdf, 0xcd, 0x9f, 0xa8, 0xbf, 0x6a, 0xa7, | ||
771 | 0x85, 0xc9, 0x31, 0x55, 0x7f, 0xf5, 0xbd, 0x06, 0xf5, 0x57, 0xb8, 0x8e, | ||
772 | 0xe5, 0xfe, 0x62, 0xe9, 0xe6, 0x5c, 0xd8, 0xfd, 0x3c, 0x32, 0x92, 0xe1, | ||
773 | 0x4e, 0xa1, 0x23, 0xad, 0xac, 0xfa, 0xf8, 0xd9, 0x11, 0x2b, 0x39, 0xc5, | ||
774 | 0x73, 0xcc, 0xb9, 0xe7, 0x5d, 0xba, 0x19, 0x0b, 0x63, 0x9c, 0xbf, 0x66, | ||
775 | 0x1c, 0xdb, 0xca, 0x53, 0x72, 0x3d, 0x85, 0x5c, 0xe9, 0xe7, 0xd1, 0xb0, | ||
776 | 0x5e, 0x9f, 0xfb, 0x5a, 0xac, 0x03, 0xf4, 0xc4, 0x9f, 0x2b, 0x5d, 0xbe, | ||
777 | 0x2b, 0x59, 0xd8, 0xdf, 0x06, 0xe3, 0x39, 0x66, 0x34, 0x44, 0xa9, 0x15, | ||
778 | 0xa6, 0xef, 0x8b, 0x1d, 0xbe, 0x8d, 0xec, 0x95, 0x52, 0xb2, 0x2a, 0x97, | ||
779 | 0xa5, 0xda, 0xef, 0x2e, 0x6d, 0xae, 0x21, 0x72, 0x96, 0x20, 0x33, 0x21, | ||
780 | 0x2f, 0x53, 0x25, 0xbf, 0x03, 0xfd, 0x0e, 0xb6, 0xd0, 0x59, 0xe6, 0x57, | ||
781 | 0x32, 0x1f, 0x89, 0x79, 0x27, 0xf3, 0x2c, 0x49, 0x2f, 0xf1, 0xaa, 0xd7, | ||
782 | 0x0d, 0x48, 0x9c, 0x1d, 0xa9, 0xe4, 0x41, 0xba, 0xe2, 0xe9, 0x01, 0x57, | ||
783 | 0x3c, 0xdd, 0x74, 0xe5, 0x41, 0x06, 0x85, 0x3e, 0x56, 0xd1, 0xa1, 0x82, | ||
784 | 0x4a, 0x87, 0x82, 0xae, 0x25, 0x79, 0x59, 0xa1, 0xcc, 0xcb, 0x76, 0x6f, | ||
785 | 0xc1, 0xcb, 0xbc, 0x6c, 0xd3, 0x75, 0xc5, 0x37, 0xec, 0x30, 0xe4, 0xfc, | ||
786 | 0xe5, 0xe2, 0x34, 0xbd, 0xcd, 0x3c, 0xe2, 0xad, 0x62, 0x98, 0xf9, 0xc6, | ||
787 | 0x24, 0xf3, 0x8d, 0x09, 0xe6, 0x1b, 0x0e, 0xc3, 0xc0, 0xe2, 0xb5, 0x5f, | ||
788 | 0xf3, 0x5d, 0x59, 0x84, 0xbc, 0x98, 0xa2, 0xe7, 0x8b, 0xe0, 0xc1, 0x93, | ||
789 | 0xac, 0xf3, 0x5c, 0xf3, 0x6d, 0x2c, 0x76, 0x31, 0xbe, 0x4a, 0x3d, 0xa7, | ||
790 | 0xda, 0x8e, 0x41, 0xaf, 0x15, 0xf8, 0x87, 0xaf, 0x82, 0xcf, 0xbc, 0x91, | ||
791 | 0xa2, 0x4e, 0x86, 0x3d, 0xe0, 0xbc, 0x8e, 0xde, 0x14, 0xaf, 0x81, 0x96, | ||
792 | 0xd1, 0x13, 0xf8, 0xbb, 0xe3, 0x53, 0x3c, 0xf7, 0x4e, 0xdf, 0x02, 0xef, | ||
793 | 0xcb, 0xd3, 0xe1, 0x94, 0xd9, 0xcb, 0x38, 0x7f, 0xac, 0x82, 0xf3, 0xa9, | ||
794 | 0x34, 0xaf, 0xa0, 0x67, 0xb9, 0x9b, 0xc6, 0x0e, 0x44, 0xf7, 0xf6, 0x30, | ||
795 | 0x9d, 0x22, 0x37, 0xa2, 0xd2, 0xa7, 0xc7, 0x4f, 0x27, 0x83, 0x6d, 0xaa, | ||
796 | 0xbf, 0x8f, 0xc5, 0xf2, 0xf1, 0x03, 0xbe, 0xcf, 0x2d, 0x5f, 0x3a, 0xfb, | ||
797 | 0x2a, 0x3f, 0x03, 0xc7, 0x5f, 0x85, 0xff, 0x93, 0xed, 0x83, 0x56, 0xe1, | ||
798 | 0x3f, 0x2a, 0x88, 0xb1, 0x38, 0xb6, 0x27, 0x98, 0x97, 0x85, 0xd7, 0x0d, | ||
799 | 0x7b, 0x3a, 0x62, 0x30, 0xd1, 0x75, 0x99, 0xbc, 0xde, 0xd2, 0xa0, 0x8c, | ||
800 | 0xc1, 0xed, 0xdd, 0x2b, 0xf9, 0x06, 0xe3, 0x66, 0x30, 0x22, 0x6c, 0xb4, | ||
801 | 0xa6, 0x25, 0x29, 0x27, 0x0b, 0xbc, 0xcf, 0x2b, 0xe1, 0x09, 0xde, 0xe7, | ||
802 | 0x0e, 0x25, 0x23, 0x53, 0xfc, 0xbb, 0x90, 0xbf, 0x2c, 0x2b, 0x87, 0xd0, | ||
803 | 0xb3, 0xda, 0x14, 0xfd, 0x20, 0x66, 0xd1, 0x6f, 0xa7, 0x83, 0xef, 0x6b, | ||
804 | 0x33, 0xd6, 0x82, 0x4f, 0x7c, 0xe0, 0x4b, 0x66, 0xf1, 0x5c, 0xe0, 0x21, | ||
805 | 0x7f, 0xcf, 0x4f, 0xd1, 0x85, 0x8c, 0x9e, 0xc3, 0x80, 0x61, 0xbc, 0x84, | ||
806 | 0x79, 0xf8, 0x68, 0xb7, 0xf3, 0x43, 0x86, 0x17, 0x1f, 0xff, 0x71, 0xed, | ||
807 | 0x9c, 0x86, 0xd5, 0x9c, 0xd0, 0xd3, 0xb2, 0x05, 0x3d, 0x7c, 0x08, 0xbd, | ||
808 | 0x8f, 0x0a, 0xa2, 0xe7, 0x64, 0xb3, 0xb0, 0x4d, 0x0b, 0xc2, 0xc6, 0x28, | ||
809 | 0x85, 0x2a, 0x7d, 0x30, 0xef, 0xa9, 0x39, 0xf7, 0x13, 0x5f, 0x7a, 0xf1, | ||
810 | 0xa0, 0xd0, 0xc5, 0x46, 0x0e, 0xec, 0x55, 0xf5, 0xa7, 0x5d, 0xe2, 0xbe, | ||
811 | 0xc6, 0x32, 0x7e, 0x7b, 0x50, 0xfd, 0xf6, 0x49, 0xa1, 0x03, 0x23, 0x2f, | ||
812 | 0x2e, 0xb0, 0x24, 0xf0, 0x9c, 0xf7, 0xd7, 0x99, 0x60, 0x3c, 0x0f, 0xad, | ||
813 | 0xc0, 0x77, 0x2f, 0xe0, 0xa9, 0xe1, 0x01, 0x58, 0x00, 0xf7, 0x3b, 0x14, | ||
814 | 0xde, 0xdb, 0x56, 0xdc, 0xaf, 0xd7, 0xdd, 0x08, 0xce, 0xac, 0xd3, 0x64, | ||
815 | 0xb0, 0x56, 0xac, 0x69, 0x8f, 0x2f, 0x92, 0xb7, 0x8c, 0xf4, 0x22, 0x6c, | ||
816 | 0x1a, 0xd4, 0xb5, 0xdc, 0x85, 0xbc, 0x29, 0x9e, 0xc3, 0x1e, 0x8a, 0x24, | ||
817 | 0x30, 0x2f, 0x8c, 0xd3, 0x30, 0xf8, 0xb7, 0x1a, 0x58, 0xb8, 0xaf, 0xeb, | ||
818 | 0x56, 0xd7, 0xb5, 0x8a, 0xbd, 0x20, 0x03, 0xcf, 0xd1, 0xcf, 0xc6, 0x73, | ||
819 | 0xf1, 0x7c, 0x5c, 0x87, 0xfb, 0xc9, 0xfb, 0xf6, 0x31, 0x7f, 0x8e, 0x4e, | ||
820 | 0xc9, 0x7b, 0x19, 0x97, 0xe4, 0x6f, 0x7d, 0x8e, 0xf7, 0x7c, 0xe5, 0xfe, | ||
821 | 0xf9, 0x54, 0xbf, 0x1e, 0xec, 0x5f, 0x37, 0xe5, 0x85, 0x8f, 0x13, 0xbf, | ||
822 | 0x75, 0x8a, 0xdf, 0xa2, 0x4e, 0xa7, 0xd8, 0xd7, 0xf3, 0x7c, 0x3c, 0x9f, | ||
823 | 0xed, 0xf2, 0xc1, 0x36, 0x4f, 0x27, 0x3a, 0x7d, 0xf9, 0x3c, 0xd6, 0xdb, | ||
824 | 0xe9, 0x8b, 0x33, 0xee, 0xc7, 0xb2, 0xf1, 0xd2, 0x82, 0xe0, 0x31, 0xac, | ||
825 | 0xd3, 0xf6, 0xda, 0xe6, 0x49, 0xe3, 0x4f, 0x86, 0x64, 0x6f, 0x5b, 0x7c, | ||
826 | 0x67, 0xfa, 0xcb, 0x30, 0xfd, 0x65, 0x98, 0xfe, 0x32, 0x4c, 0x7f, 0x19, | ||
827 | 0xa6, 0x3f, 0xb6, 0x4b, 0xdf, 0x64, 0x99, 0xf1, 0x6d, 0x96, 0x19, 0x92, | ||
828 | 0x66, 0x23, 0xca, 0x8f, 0xa9, 0x69, 0xb6, 0xb6, 0x3e, 0x53, 0xd3, 0x28, | ||
829 | 0xe4, 0x34, 0xf9, 0x0e, 0x8f, 0x57, 0xd3, 0xea, 0x55, 0xa6, 0xd5, 0xa6, | ||
830 | 0x99, 0x7e, 0xba, 0x91, 0xc3, 0x9e, 0xd9, 0xd6, 0x79, 0xe6, 0xd1, 0x71, | ||
831 | 0x3f, 0x74, 0xaa, 0x00, 0xd3, 0x13, 0x74, 0x4a, 0x9b, 0xe1, 0xde, 0x4f, | ||
832 | 0x37, 0x99, 0x4f, 0xdf, 0xc8, 0x81, 0x76, 0xef, 0x52, 0xc7, 0x19, 0xa6, | ||
833 | 0x5d, 0xc8, 0xb9, 0x25, 0xdf, 0xd5, 0xac, 0xc1, 0xba, 0x57, 0xc0, 0x4c, | ||
834 | 0x12, 0xf8, 0xa8, 0xd0, 0xc7, 0x78, 0xdf, 0xd7, 0x99, 0xdf, 0xc3, 0x57, | ||
835 | 0x87, 0xbe, 0x5f, 0x79, 0x1f, 0xcb, 0x89, 0xd0, 0x15, 0xe6, 0xa3, 0xa7, | ||
836 | 0x73, 0x4b, 0x4c, 0xef, 0xbd, 0xf4, 0x85, 0x1c, 0xe4, 0x31, 0x60, 0xc4, | ||
837 | 0xc7, 0x79, 0x12, 0x3e, 0x30, 0x63, 0x06, 0x6b, 0x1f, 0x4b, 0x19, 0x02, | ||
838 | 0x4f, 0x9e, 0x01, 0x1c, 0x18, 0xf6, 0x67, 0xf6, 0xa2, 0x67, 0x7d, 0xc4, | ||
839 | 0x68, 0x56, 0x3e, 0x45, 0x7c, 0xc7, 0x78, 0x8c, 0x05, 0xdc, 0x70, 0xdc, | ||
840 | 0x28, 0xfe, 0x88, 0xf7, 0x42, 0x84, 0x19, 0x1e, 0xb5, 0x7c, 0xeb, 0x02, | ||
841 | 0x7a, 0x91, 0x02, 0x5e, 0xd3, 0x51, 0x3f, 0x6a, 0xc5, 0xe9, 0x39, 0xbc, | ||
842 | 0xff, 0xe0, 0x85, 0x22, 0xe6, 0xbd, 0x48, 0x0b, 0x41, 0xf0, 0x21, 0x3b, | ||
843 | 0x7c, 0x9d, 0x24, 0xec, 0x5a, 0x59, 0xbf, 0xfc, 0xbc, 0x37, 0x6f, 0xb3, | ||
844 | 0xa2, 0x42, 0x1f, 0x6e, 0x61, 0xfb, 0x06, 0xb0, 0x79, 0x8b, 0x71, 0x2d, | ||
845 | 0x0c, 0x9b, 0x5f, 0xf1, 0xb5, 0x37, 0x99, 0xe7, 0x60, 0xcf, 0x3a, 0x85, | ||
846 | 0x8c, 0xf1, 0xe2, 0x65, 0x1b, 0x8a, 0x97, 0x39, 0x2e, 0x5e, 0x96, 0x2e, | ||
847 | 0xf3, 0x32, 0xc6, 0x09, 0xc1, 0xc3, 0xc0, 0xa3, 0x66, 0x59, 0x4f, 0x94, | ||
848 | 0xdf, 0xa1, 0xff, 0xed, 0x16, 0x3c, 0x8b, 0x79, 0x3d, 0xdb, 0x0d, 0x85, | ||
849 | 0x62, 0xca, 0x77, 0x48, 0xf0, 0x0e, 0x8d, 0xd7, 0xff, 0xa3, 0xe8, 0xa1, | ||
850 | 0x55, 0xf0, 0x81, 0xf4, 0x2c, 0xf8, 0x95, 0xd7, 0xf8, 0xff, 0x02, 0x6c, | ||
851 | 0x79, 0xbc, 0x13, 0x7a, 0x8d, 0xf9, 0x58, 0x21, 0x0c, 0x9b, 0xb5, 0x43, | ||
852 | 0xd9, 0x36, 0xe8, 0xbb, 0xb5, 0x07, 0xb9, 0x96, 0x56, 0xb4, 0xcc, 0xc7, | ||
853 | 0x76, 0x2b, 0xbf, 0x05, 0xfc, 0x8c, 0xd8, 0xeb, 0x3a, 0x5d, 0xc0, 0x82, | ||
854 | 0x2e, 0xc0, 0x63, 0x03, 0x0c, 0x1f, 0xd1, 0x1b, 0x9c, 0xe8, 0x16, 0xc3, | ||
855 | 0x01, 0xfb, 0x7c, 0x0b, 0xfb, 0xcc, 0xba, 0x2c, 0x05, 0xe6, 0xa6, 0x02, | ||
856 | 0x03, 0x98, 0xdf, 0xc2, 0x6a, 0x85, 0x1f, 0x9e, 0xcf, 0x0c, 0x18, 0x85, | ||
857 | 0xac, 0x9c, 0xe3, 0xca, 0xb8, 0xe4, 0x79, 0x85, 0x3c, 0x7a, 0x7b, 0x89, | ||
858 | 0xb9, 0xf2, 0x1c, 0xf5, 0xfa, 0x04, 0xff, 0x52, 0x74, 0xbf, 0x1d, 0x5a, | ||
859 | 0x4b, 0x30, 0x5d, 0x61, 0x4f, 0x52, 0x2e, 0x9c, 0x79, 0x94, 0x9f, 0x8f, | ||
860 | 0x73, 0x8d, 0xd7, 0x71, 0xb3, 0xbc, 0x8e, 0x08, 0xaf, 0x03, 0x63, 0x6f, | ||
861 | 0xf9, 0x6e, 0xa8, 0x75, 0xdc, 0x28, 0xaf, 0x63, 0x56, 0xad, 0x83, 0xd2, | ||
862 | 0xc6, 0xcc, 0x6e, 0xa5, 0xc7, 0x6f, 0x79, 0xcf, 0xd6, 0x28, 0xeb, 0x27, | ||
863 | 0xe9, 0x55, 0xc0, 0xf3, 0x1e, 0x85, 0x2f, 0x6e, 0x7f, 0xa8, 0x7b, 0x6e, | ||
864 | 0xf6, 0xc4, 0x75, 0xfa, 0x5d, 0xba, 0x29, 0xf4, 0x93, 0x61, 0xd6, 0x4f, | ||
865 | 0x70, 0x9e, 0x16, 0xc0, 0x87, 0xd3, 0x41, 0xf4, 0x9b, 0x1d, 0x64, 0x98, | ||
866 | 0xb1, 0x5d, 0x35, 0xc5, 0x9f, 0xc2, 0x4f, 0x86, 0xfb, 0xe8, 0xeb, 0xbf, | ||
867 | 0x48, 0x37, 0x17, 0xc1, 0xab, 0xa1, 0x8f, 0xca, 0x9e, 0xb4, 0x37, 0xd7, | ||
868 | 0xa4, 0x9f, 0x36, 0xee, 0xe9, 0xa7, 0x85, 0x8f, 0x36, 0x0c, 0x7d, 0xdd, | ||
869 | 0x84, 0x3f, 0x37, 0x26, 0xde, 0x67, 0xc1, 0xc7, 0x45, 0xdc, 0xcb, 0x8b, | ||
870 | 0xef, 0x4c, 0xbb, 0x72, 0xdc, 0x90, 0x73, 0x92, 0x62, 0x3e, 0xe2, 0x98, | ||
871 | 0x4d, 0x86, 0xac, 0x9d, 0xb9, 0x5c, 0xd4, 0x3a, 0x51, 0x9c, 0xf7, 0xc8, | ||
872 | 0x09, 0x1b, 0x46, 0x44, 0xf8, 0x0c, 0x5a, 0x9d, 0x0e, 0x6a, 0x61, 0x39, | ||
873 | 0x79, 0x8a, 0xd0, 0x13, 0xcd, 0xb6, 0xe0, 0xcb, 0xbf, 0xc0, 0xb8, 0xb7, | ||
874 | 0x10, 0xb6, 0x43, 0x9f, 0x13, 0xf6, 0x25, 0xe4, 0x07, 0xde, 0xa7, 0x02, | ||
875 | 0x18, 0x63, 0x0e, 0xfc, 0x7d, 0x15, 0xfd, 0x30, 0xc3, 0xbc, 0x7e, 0xf8, | ||
876 | 0x81, 0x47, 0xad, 0x77, 0x58, 0xee, 0x5c, 0x10, 0xfe, 0x95, 0xb3, 0x94, | ||
877 | 0x66, 0x3a, 0x3c, 0x2c, 0xe8, 0xd0, 0x18, 0x66, 0x6a, 0x61, 0xfa, 0x41, | ||
878 | 0x8e, 0xc1, 0x98, 0xe8, 0xbf, 0x23, 0x6d, 0x16, 0x5e, 0xe5, 0x9a, 0xea, | ||
879 | 0x6b, 0x90, 0x00, 0x6f, 0xd8, 0xbe, 0x6f, 0x21, 0xf1, 0x91, 0x7d, 0x2a, | ||
880 | 0x6e, 0x5d, 0xab, 0xd6, 0x87, 0x0d, 0xfb, 0xcc, 0x12, 0x7d, 0x1f, 0x01, | ||
881 | 0x3b, 0xe1, 0x17, 0x34, 0x26, 0x19, 0x6e, 0xfa, 0xdd, 0x35, 0x6e, 0xfb, | ||
882 | 0xff, 0x29, 0x51, 0x9f, 0xff, 0x46, 0x51, 0xca, 0xd8, 0x34, 0xdb, 0xe6, | ||
883 | 0x0b, 0x07, 0xdc, 0x3a, 0x87, 0x9d, 0x8d, 0x09, 0x9f, 0xcc, 0x00, 0x45, | ||
884 | 0x97, 0x27, 0xe9, 0xb1, 0x0c, 0x78, 0x14, 0x5d, 0x8f, 0x3a, 0x78, 0xc3, | ||
885 | 0x06, 0x68, 0x79, 0x92, 0xe2, 0x45, 0xc0, 0xc8, 0x47, 0x0b, 0x2c, 0x05, | ||
886 | 0xd2, 0x59, 0xc4, 0xee, 0xf9, 0x7b, 0x1e, 0xef, 0x57, 0xf9, 0x15, 0xe5, | ||
887 | 0xf7, 0x1e, 0xa2, 0xd8, 0x32, 0xa5, 0x92, 0xe1, 0x87, 0x45, 0xcf, 0xea, | ||
888 | 0x64, 0x78, 0x5c, 0xf9, 0x68, 0x42, 0x7c, 0x1e, 0x7e, 0x2f, 0x8b, 0x1e, | ||
889 | 0xcd, 0xd8, 0xa9, 0x24, 0x49, 0xdf, 0x03, 0xf1, 0x1c, 0x0c, 0x96, 0xad, | ||
890 | 0xbb, 0x99, 0x57, 0x1c, 0x17, 0xfe, 0x07, 0xd6, 0x44, 0x16, 0x31, 0x1e, | ||
891 | 0xbe, 0x83, 0x5e, 0x82, 0xbd, 0x95, 0xcc, 0x3e, 0xa0, 0xc6, 0x96, 0xc8, | ||
892 | 0x64, 0x5c, 0x30, 0x7f, 0xc9, 0x49, 0x85, 0x8d, 0xca, 0xf5, 0xf0, 0x5d, | ||
893 | 0x1c, 0x17, 0xfa, 0xe1, 0x30, 0xdb, 0x30, 0x62, 0x5c, 0x69, 0x4e, 0xf8, | ||
894 | 0x21, 0xf8, 0x38, 0xff, 0xd3, 0x01, 0xfd, 0x6e, 0x03, 0x9c, 0x97, 0xfe, | ||
895 | 0x09, 0xbe, 0x67, 0x9e, 0xe7, 0x51, 0x95, 0x17, 0x3f, 0x44, 0x91, 0x1d, | ||
896 | 0xf8, 0x8b, 0x66, 0xef, 0xa8, 0xbf, 0x88, 0x61, 0xcd, 0xb2, 0xe5, 0x32, | ||
897 | 0xd3, 0xc6, 0xdb, 0x5b, 0xda, 0x71, 0xef, 0x6b, 0x19, 0xcd, 0xb0, 0x32, | ||
898 | 0xc5, 0xfb, 0x2f, 0xd0, 0xeb, 0x73, 0xa1, 0xf8, 0x29, 0xbc, 0x47, 0xc6, | ||
899 | 0x97, 0x10, 0x3a, 0x6f, 0x88, 0x75, 0x17, 0xe8, 0x30, 0xa3, 0x22, 0xbe, | ||
900 | 0x15, 0x79, 0xc2, 0x32, 0x16, 0xd6, 0xfa, 0xc9, 0x0f, 0xbf, 0x9a, 0xa3, | ||
901 | 0x73, 0x22, 0x5a, 0x45, 0xfe, 0xba, 0x8c, 0x2b, 0x42, 0xfe, 0x82, 0x07, | ||
902 | 0xfe, 0xc4, 0x97, 0x5c, 0xf3, 0xf7, 0xe9, 0x7c, 0xb7, 0x48, 0xb0, 0x9c, | ||
903 | 0x4f, 0xa3, 0x78, 0x8a, 0xc6, 0x3d, 0x1d, 0xb3, 0x70, 0xbf, 0xd7, 0x0a, | ||
904 | 0xb4, 0xeb, 0xd6, 0x19, 0xe0, 0x67, 0x12, 0x7b, 0x74, 0x01, 0x71, 0x5c, | ||
905 | 0xa3, 0x2a, 0x1e, 0xd1, 0xc2, 0xfb, 0x04, 0x3b, 0x0f, 0xfe, 0xbb, 0xcf, | ||
906 | 0xf2, 0x27, 0xe2, 0x0a, 0x27, 0x07, 0xa1, 0x27, 0xf5, 0x38, 0x8c, 0x33, | ||
907 | 0x53, 0x38, 0xee, 0x67, 0xbb, 0x4b, 0xeb, 0xb5, 0xd2, 0xa7, 0xc4, 0xb6, | ||
908 | 0x98, 0xda, 0x2f, 0xf8, 0x93, 0x46, 0x54, 0xbf, 0x01, 0x9b, 0xac, 0x5e, | ||
909 | 0xc0, 0xe9, 0xe3, 0xa2, 0xc7, 0xad, 0x62, 0x10, 0xdb, 0xc9, 0x59, 0xc2, | ||
910 | 0x3b, 0xb7, 0xd0, 0x77, 0xf3, 0x6e, 0xc0, 0x9e, 0xf7, 0xc8, 0x1d, 0xa3, | ||
911 | 0xf8, 0x94, 0x7a, 0xff, 0xcf, 0x9d, 0xda, 0xb7, 0x5d, 0x1e, 0xfb, 0xf6, | ||
912 | 0xbd, 0x41, 0x19, 0x03, 0xbb, 0x4b, 0x8d, 0xf1, 0xca, 0x53, 0xfd, 0xfb, | ||
913 | 0xa7, 0xe1, 0x4f, 0xaa, 0xd4, 0x51, 0x5c, 0x13, 0x7c, 0xa5, 0xde, 0xa7, | ||
914 | 0x1d, 0x62, 0x7e, 0x2a, 0xe9, 0xf8, 0xb8, 0x07, 0x1d, 0xf7, 0xce, 0x40, | ||
915 | 0x2f, 0xb9, 0x7d, 0x3a, 0x3e, 0xd6, 0x90, 0x8e, 0xff, 0x75, 0x50, 0xfa, | ||
916 | 0x54, 0xeb, 0xe9, 0x18, 0xb5, 0x3c, 0xc7, 0x8b, 0x8d, 0xfc, 0x57, 0xd8, | ||
917 | 0x07, 0xd4, 0xa4, 0xc3, 0xe7, 0x01, 0x58, 0x69, 0xbf, 0x07, 0xe2, 0x7e, | ||
918 | 0xc0, 0x47, 0xc4, 0x4e, 0xfe, 0x90, 0xe2, 0x8b, 0xb5, 0xb1, 0xd0, 0xcd, | ||
919 | 0xae, 0xf9, 0x96, 0xc7, 0x35, 0xd0, 0xc5, 0x41, 0x0b, 0x76, 0x48, 0xda, | ||
920 | 0xf4, 0x1a, 0x5e, 0xef, 0xf9, 0x0e, 0xe5, 0xec, 0x54, 0x9e, 0xe0, 0xa3, | ||
921 | 0x0e, 0xd2, 0x53, 0x88, 0x2b, 0x2b, 0x1f, 0xf0, 0xd1, 0x8c, 0x5c, 0xb7, | ||
922 | 0x79, 0x40, 0xe0, 0x03, 0xf4, 0xd5, 0x50, 0xc2, 0x9f, 0xe0, 0x3d, 0x95, | ||
923 | 0xfe, 0xdf, 0xe4, 0x6a, 0x48, 0xed, 0x13, 0x8f, 0xc5, 0xfd, 0x3c, 0xeb, | ||
924 | 0xfc, 0xb0, 0x3f, 0xf6, 0xd7, 0xd7, 0xcb, 0x79, 0xc5, 0x90, 0x05, 0x25, | ||
925 | 0xfa, 0x0f, 0x96, 0x73, 0xfe, 0x03, 0xa6, 0xe8, 0xb9, 0x70, 0xb9, 0x78, | ||
926 | 0x80, 0xf5, 0x47, 0xec, 0x21, 0x7c, 0x87, 0xda, 0xb7, 0xfb, 0xf6, 0x30, | ||
927 | 0x75, 0xed, 0x67, 0xa9, 0x6f, 0x90, 0xc3, 0x7a, 0xa3, 0x71, 0x00, 0xf9, | ||
928 | 0xe1, 0x16, 0x5f, 0x83, 0x5e, 0x51, 0x63, 0x56, 0x9c, 0x3a, 0xe0, 0x4f, | ||
929 | 0x40, 0x0f, 0x68, 0x2b, 0x5d, 0x45, 0x53, 0xb3, 0x82, 0xa6, 0xe2, 0x6b, | ||
930 | 0xb3, 0x8a, 0xa6, 0x66, 0x95, 0xff, 0x7c, 0x56, 0xd1, 0xd4, 0xac, 0xa2, | ||
931 | 0xa9, 0x59, 0x45, 0x53, 0xb3, 0x8c, 0xd7, 0xa3, 0xac, 0xaf, 0x42, 0xf7, | ||
932 | 0xd0, 0xfe, 0xcb, 0x2e, 0x4a, 0xe6, 0x70, 0x1e, 0xf2, 0xb8, 0x96, 0xae, | ||
933 | 0x7e, 0x6d, 0x58, 0xfb, 0x47, 0x0b, 0x32, 0xcf, 0x8e, 0x9f, 0x85, 0x3d, | ||
934 | 0x78, 0x98, 0xe1, 0x77, 0xcd, 0x37, 0xbf, 0x88, 0xb9, 0xfa, 0x28, 0x26, | ||
935 | 0x7a, 0xc0, 0x36, 0x51, 0xd4, 0xad, 0xe3, 0x9a, 0xa8, 0xeb, 0x92, 0xb6, | ||
936 | 0x5c, 0xaa, 0x61, 0x8d, 0x97, 0xc6, 0x8b, 0x69, 0xb5, 0x5f, 0xb5, 0x76, | ||
937 | 0x4e, 0x0b, 0x25, 0xb2, 0x80, 0x2b, 0x72, 0x21, 0x2d, 0xde, 0x1b, 0x01, | ||
938 | 0xa7, 0x94, 0xe9, 0x01, 0x83, 0xa3, 0x0a, 0x06, 0x4f, 0x8b, 0x35, 0x22, | ||
939 | 0x97, 0x10, 0x3e, 0xc8, 0xc6, 0x70, 0x48, 0x67, 0x46, 0xf9, 0x3e, 0x8c, | ||
940 | 0xfb, 0x07, 0x42, 0xcc, 0x83, 0xb6, 0x0b, 0x07, 0xf7, 0xda, 0x1b, 0xf1, | ||
941 | 0x9a, 0xed, 0xd6, 0xd3, 0x5c, 0x77, 0xc9, 0x8e, 0x90, 0x92, 0x1b, 0x52, | ||
942 | 0xef, 0xdd, 0xe5, 0xd8, 0x89, 0x14, 0xcf, 0xed, 0x2f, 0xc2, 0x7f, 0x39, | ||
943 | 0x44, 0x6d, 0x25, 0x3a, 0x12, 0x06, 0x3e, 0x77, 0xb1, 0x5d, 0xc9, 0x73, | ||
944 | 0x18, 0x2b, 0xd1, 0x85, 0xf0, 0x3e, 0xb6, 0x5d, 0xf6, 0xb3, 0x0e, 0x3a, | ||
945 | 0xca, 0xff, 0x4e, 0xc4, 0xef, 0xc3, 0xbc, 0x3a, 0xf8, 0xda, 0x7e, 0x32, | ||
946 | 0x7a, 0x52, 0x66, 0x2b, 0xeb, 0x07, 0x47, 0x2a, 0xf6, 0x88, 0x05, 0xff, | ||
947 | 0x1c, 0xeb, 0xb6, 0xc6, 0x5c, 0xb8, 0x5b, 0xd5, 0x9c, 0xc1, 0x87, 0x8d, | ||
948 | 0xf8, 0xd6, 0x3f, 0x97, 0x64, 0xaf, 0x80, 0x21, 0x75, 0xfc, 0xe3, 0x52, | ||
949 | 0x64, 0x08, 0xc7, 0x78, 0xe7, 0x90, 0x3d, 0x11, 0xf1, 0xfd, 0x58, 0xea, | ||
950 | 0xf2, 0x3e, 0xfb, 0x88, 0x7c, 0x3f, 0x80, 0x6d, 0x5a, 0x3e, 0x2f, 0xbc, | ||
951 | 0x97, 0x3a, 0x4f, 0x25, 0x5f, 0x15, 0x74, 0x50, 0xa2, 0x7f, 0x67, 0x9a, | ||
952 | 0x35, 0x09, 0xb1, 0x8c, 0x29, 0x51, 0x0b, 0x8d, 0x7c, 0xe5, 0xf9, 0x45, | ||
953 | 0x3d, 0x2f, 0x47, 0xed, 0xf5, 0xfd, 0xc8, 0x37, 0xcb, 0x16, 0x68, 0x73, | ||
954 | 0x99, 0x01, 0x3f, 0xda, 0xe8, 0xf2, 0x46, 0x4f, 0x50, 0xd4, 0x66, 0x77, | ||
955 | 0xb3, 0x8e, 0xa3, 0xf3, 0x92, 0xc7, 0xf8, 0xfe, 0x01, 0xf1, 0xbe, 0xb9, | ||
956 | 0xd8, 0x12, 0xc6, 0x35, 0xd3, 0xc8, 0x72, 0xe9, 0x21, 0xfe, 0x5d, 0xc4, | ||
957 | 0x11, 0x93, 0xd4, 0xaa, 0x62, 0x04, 0x1d, 0x2a, 0xae, 0x14, 0x62, 0x5a, | ||
958 | 0xaa, 0xd4, 0x1c, 0x8f, 0x94, 0x7d, 0x6d, 0xc0, 0xf1, 0x5a, 0x5f, 0xdb, | ||
959 | 0x73, 0x5b, 0xc8, 0x9b, 0xad, 0xf0, 0x1a, 0x39, 0xa5, 0x2d, 0xa4, 0x7c, | ||
960 | 0x88, 0xd6, 0x02, 0x6d, 0xb7, 0xb6, 0x6e, 0xc7, 0xd7, 0xb4, 0x36, 0xcf, | ||
961 | 0xac, 0x9f, 0x79, 0xc7, 0x69, 0x53, 0xf8, 0xd4, 0x4c, 0xf3, 0xb9, 0x36, | ||
962 | 0x96, 0xd9, 0xa8, 0x97, 0x02, 0xbc, 0xfc, 0x43, 0xa8, 0x37, 0x79, 0x32, | ||
963 | 0xd0, 0x4c, 0xab, 0xab, 0xc8, 0x79, 0x78, 0xfc, 0x2e, 0x99, 0xe7, 0xfb, | ||
964 | 0x08, 0xc3, 0x65, 0x3f, 0xcb, 0x37, 0x43, 0xc5, 0x70, 0x70, 0x0e, 0xbc, | ||
965 | 0x41, 0xf4, 0xfd, 0x0c, 0x3c, 0x3c, 0xde, 0xc6, 0x7a, 0xbd, 0x8c, 0x01, | ||
966 | 0x1c, 0xe4, 0x7b, 0x7f, 0x33, 0xf7, 0x08, 0xfc, 0x59, 0xe6, 0x61, 0xbe, | ||
967 | 0x7f, 0x8c, 0xf5, 0x81, 0x08, 0x35, 0xd3, 0xca, 0x6a, 0x33, 0xeb, 0xf5, | ||
968 | 0xcd, 0xac, 0x0f, 0x8c, 0x9a, 0x23, 0x3e, 0xf1, 0x2c, 0x51, 0xdb, 0xf2, | ||
969 | 0xe9, 0xc0, 0x7e, 0xc6, 0x41, 0x3c, 0xeb, 0x8b, 0xea, 0x59, 0xb5, 0xcf, | ||
970 | 0xb8, 0x55, 0xc2, 0xf1, 0x61, 0xff, 0xfa, 0x99, 0xab, 0x78, 0x2f, 0xd4, | ||
971 | 0xe2, 0x34, 0xeb, 0xbe, 0x41, 0xf1, 0x6e, 0x46, 0x63, 0x66, 0x86, 0xed, | ||
972 | 0x80, 0x30, 0x1f, 0x1f, 0xa1, 0x54, 0x31, 0x41, 0xbf, 0x57, 0x74, 0xfb, | ||
973 | 0x6a, 0x8f, 0xf0, 0x9c, 0x65, 0x6d, 0x7d, 0x0b, 0xcf, 0xeb, 0x7d, 0xa7, | ||
974 | 0x96, 0x67, 0xb4, 0x91, 0xff, 0x6b, 0x41, 0x6a, 0x7e, 0x11, 0xbe, 0x91, | ||
975 | 0x12, 0x65, 0xc3, 0xf6, 0x85, 0xeb, 0xe2, 0xbd, 0x1b, 0x16, 0xbd, 0x22, | ||
976 | 0xf2, 0x5b, 0xf9, 0x7a, 0xbe, 0xe7, 0x79, 0x8c, 0x7b, 0xc5, 0xa2, 0x2b, | ||
977 | 0x8e, 0x84, 0xf7, 0x9f, 0x05, 0x82, 0xe4, 0x7f, 0x1d, 0x39, 0x48, 0xd0, | ||
978 | 0xb5, 0xd6, 0xcf, 0x38, 0xfb, 0x98, 0x5f, 0xbf, 0x88, 0xeb, 0xf8, 0xf3, | ||
979 | 0x75, 0x1c, 0xb7, 0xf1, 0x3a, 0x21, 0x6f, 0x91, 0x77, 0x02, 0x3e, 0xb7, | ||
980 | 0x3f, 0x64, 0x0a, 0xfc, 0x3b, 0xc2, 0x38, 0xd5, 0x24, 0x7c, 0x81, 0xbd, | ||
981 | 0x18, 0xeb, 0x0c, 0xb2, 0x6e, 0xb0, 0x7e, 0x66, 0x7c, 0x1f, 0x8e, 0x23, | ||
982 | 0x3d, 0x7e, 0x86, 0x91, 0xc4, 0xa1, 0xb0, 0x78, 0xff, 0xa1, 0xeb, 0x2f, | ||
983 | 0x70, 0x70, 0x9c, 0x78, 0x3f, 0xa1, 0x3f, 0xf0, 0x7e, 0x9a, 0xe8, 0xb3, | ||
984 | 0xd4, 0x46, 0x71, 0x7e, 0x46, 0x2c, 0x27, 0xd7, 0x7d, 0xbe, 0xe8, 0x27, | ||
985 | 0xe9, 0x47, 0x6a, 0x1e, 0xd6, 0xef, 0x29, 0xa4, 0x7e, 0xdc, 0x5b, 0xd3, | ||
986 | 0x0a, 0xbe, 0x77, 0xd1, 0x8d, 0x5c, 0x07, 0xdd, 0x54, 0xb1, 0xa5, 0x1b, | ||
987 | 0xc2, 0xae, 0x62, 0x9e, 0x9c, 0xe8, 0xa2, 0xeb, 0xab, 0x4d, 0x44, 0xbd, | ||
988 | 0x6d, 0x22, 0xf6, 0x7b, 0x23, 0x97, 0xc7, 0xf3, 0x87, 0xa5, 0xdf, 0xa5, | ||
989 | 0x82, 0x23, 0x37, 0x3c, 0x70, 0xe4, 0x3d, 0x81, 0x23, 0xef, 0x6d, 0x81, | ||
990 | 0x23, 0x7b, 0x95, 0x2d, 0xd1, 0x46, 0xcd, 0x0a, 0x3f, 0x5e, 0x63, 0xfc, | ||
991 | 0x78, 0x81, 0xf1, 0xe3, 0x50, 0x03, 0xfc, 0x30, 0x6a, 0xf0, 0xe3, 0xb0, | ||
992 | 0xc0, 0x8f, 0x9f, 0x6d, 0x8a, 0x1f, 0x87, 0xfc, 0x9b, 0xf9, 0x82, 0x34, | ||
993 | 0x6e, 0x0e, 0xd0, 0x4a, 0xce, 0xa1, 0xd5, 0x45, 0x9b, 0x2d, 0x7b, 0xd8, | ||
994 | 0xe6, 0x88, 0x19, 0xce, 0x88, 0x7a, 0x97, 0x82, 0xc0, 0x2b, 0x96, 0xe3, | ||
995 | 0x33, 0xa8, 0x69, 0xaa, 0xdb, 0x03, 0x12, 0xef, 0xa5, 0x14, 0xf0, 0x97, | ||
996 | 0x7b, 0x12, 0xcb, 0xac, 0x9f, 0xf9, 0x73, 0xde, 0xc7, 0x2b, 0x6b, 0x81, | ||
997 | 0x00, 0x7e, 0xf3, 0xcf, 0x04, 0x69, 0x63, 0x8d, 0xed, 0x54, 0xc6, 0xb1, | ||
998 | 0xab, 0xb9, 0x21, 0xba, 0x92, 0x1b, 0xa0, 0x8d, 0xdc, 0x30, 0xbd, 0x93, | ||
999 | 0xc3, 0x33, 0x00, 0x73, 0x3e, 0x16, 0x30, 0x37, 0xe8, 0x60, 0x90, 0xc7, | ||
1000 | 0xac, 0x0e, 0xd0, 0xfa, 0xaa, 0xc6, 0x57, 0xe0, 0x2a, 0xf6, 0x3f, 0xd2, | ||
1001 | 0x23, 0xeb, 0xd0, 0xea, 0x71, 0x20, 0x56, 0x85, 0x03, 0xf2, 0x1a, 0xec, | ||
1002 | 0xfd, 0x42, 0x7d, 0x0d, 0x6d, 0xab, 0x39, 0x83, 0x1c, 0xb8, 0x36, 0xb6, | ||
1003 | 0xc9, 0x6d, 0xe1, 0x73, 0x3d, 0xe8, 0x87, 0x4e, 0x6b, 0xdc, 0x4d, 0x5d, | ||
1004 | 0xbc, 0x07, 0x0e, 0xf2, 0x87, 0x86, 0x59, 0x3f, 0xed, 0x16, 0xfa, 0x68, | ||
1005 | 0xd4, 0x09, 0x84, 0x62, 0x54, 0x3a, 0x6b, 0x38, 0xe8, 0x93, 0xf8, 0x08, | ||
1006 | 0xdf, 0xcf, 0x50, 0x7e, 0x9e, 0x4e, 0x17, 0x3e, 0xd5, 0xea, 0x9e, 0x88, | ||
1007 | 0xd1, 0x9e, 0xe0, 0x39, 0x43, 0x4e, 0x56, 0xe2, 0x22, 0x54, 0x8e, 0x8b, | ||
1008 | 0xb4, 0xf2, 0xba, 0x25, 0x2d, 0xcd, 0x39, 0x3c, 0xae, 0xc8, 0xe3, 0x8a, | ||
1009 | 0x88, 0xa9, 0xf1, 0xf9, 0x55, 0xc4, 0x73, 0x87, 0x68, 0x63, 0x11, 0x34, | ||
1010 | 0x07, 0xff, 0x44, 0x25, 0x86, 0xba, 0xb1, 0x86, 0xf3, 0xf0, 0x51, 0x54, | ||
1011 | 0x62, 0xa8, 0x1b, 0x2a, 0x86, 0xba, 0xb1, 0x36, 0x2d, 0xf8, 0xf0, 0x42, | ||
1012 | 0x8e, 0x79, 0x40, 0xce, 0xaf, 0xf2, 0x07, 0xf7, 0xa9, 0x77, 0xf6, 0x9c, | ||
1013 | 0x10, 0x3e, 0xe4, 0x1e, 0x67, 0x73, 0x18, 0x1e, 0xac, 0x83, 0xe1, 0xb4, | ||
1014 | 0xd0, 0x83, 0xe2, 0x7c, 0xcf, 0x58, 0xee, 0x04, 0xc3, 0x73, 0x96, 0x69, | ||
1015 | 0x69, 0xb7, 0xa2, 0x25, 0x1d, 0x93, 0xed, 0x26, 0xf5, 0xfe, 0x1f, 0xa1, | ||
1016 | 0xeb, 0x4b, 0xfe, 0x33, 0x54, 0xc3, 0x7f, 0x28, 0x10, 0x1d, 0x97, 0xd7, | ||
1017 | 0xa7, 0x8b, 0xaf, 0x0c, 0x6b, 0xff, 0x5b, 0x9a, 0xef, 0xbb, 0x90, 0xdb, | ||
1018 | 0x49, 0x4c, 0x97, 0xe5, 0xa6, 0x67, 0xce, 0xe0, 0x76, 0x9f, 0xad, 0x71, | ||
1019 | 0xe1, 0xc4, 0x6d, 0xe0, 0x93, 0xbc, 0x47, 0x05, 0x9f, 0xfe, 0x77, 0x16, | ||
1020 | 0xc0, 0xb2, 0x93, 0x05, 0x98, 0x57, 0x84, 0x80, 0xf5, 0x03, 0x03, 0xb4, | ||
1021 | 0x8e, 0x39, 0x00, 0x1e, 0x53, 0x68, 0x02, 0xe6, 0x19, 0xa7, 0xf5, 0x40, | ||
1022 | 0xfb, 0xfb, 0x95, 0xc1, 0xeb, 0x5d, 0x1b, 0xa0, 0x67, 0x4f, 0x2d, 0xea, | ||
1023 | 0x79, 0x2c, 0x07, 0xca, 0xa3, 0x4e, 0x2a, 0x0c, 0x24, 0xe6, 0x27, 0x90, | ||
1024 | 0xff, 0x80, 0xfe, 0x00, 0xf9, 0x11, 0x98, 0x9f, 0x9c, 0x81, 0x72, 0xa0, | ||
1025 | 0x35, 0x53, 0xcd, 0x6b, 0x40, 0xfa, 0x40, 0x61, 0x08, 0x2a, 0x53, 0x41, | ||
1026 | 0x63, 0x1d, 0x40, 0xf6, 0x12, 0x21, 0x68, 0xd8, 0x01, 0x69, 0x20, 0xbb, | ||
1027 | 0x79, 0x8a, 0x08, 0x98, 0x9f, 0x14, 0x20, 0xc4, 0xd0, 0x00, 0xcf, 0x4f, | ||
1028 | 0xec, 0x40, 0x97, 0xc2, 0xdc, 0xf4, 0xff, 0xff, 0x31, 0x15, 0x16, 0x60, | ||
1029 | 0xda, 0x03, 0xad, 0xf9, 0xfc, 0xfd, 0xff, 0x80, 0x08, 0x0b, 0x43, 0x0b, | ||
1030 | 0x7c, 0xed, 0x9e, 0xb0, 0x3c, 0xa8, 0x9c, 0x5b, 0x00, 0x64, 0xb5, 0xc1, | ||
1031 | 0xeb, 0x6d, 0x16, 0xf0, 0x7d, 0xc4, 0x0b, 0x18, 0x7e, 0x01, 0xcb, 0x95, | ||
1032 | 0xff, 0xff, 0x97, 0xc2, 0xd5, 0x82, 0x00, 0x00, 0xd4, 0xc2, 0xcb, 0x42, | ||
1033 | 0x60, 0x7c, 0x00, 0x00, 0x00 }; | ||
1034 | static u32 bnx2_COM_b09FwData[(0x0/4) + 1] = { 0x0 }; | ||
1035 | static u32 bnx2_COM_b09FwRodata[(0x88/4) + 1] = { | ||
1036 | 0x08001ad8, 0x08001b14, 0x08001b14, 0x08001b14, 0x08001b14, 0x08001b14, | ||
1037 | 0x08001a24, 0x08001b14, 0x08001a98, 0x08001b14, 0x080019ac, 0x08001b14, | ||
1038 | 0x08001b14, 0x08001b14, 0x080019b8, 0x0, 0x08002a2c, 0x08002a7c, | ||
1039 | 0x08002aac, 0x08002adc, 0x08002b0c, 0x0, 0x08005fac, 0x08005fac, | ||
1040 | 0x08005fac, 0x08005fac, 0x08005fac, 0x08005fd8, 0x08005fd8, 0x08006018, | ||
1041 | 0x08006024, 0x08006024, 0x08005fac, 0x0, 0x0 }; | ||
1042 | static u32 bnx2_COM_b09FwBss[(0x88/4) + 1] = { 0x0 }; | ||
1043 | static u32 bnx2_COM_b09FwSbss[(0x5c/4) + 1] = { 0x0 }; | ||
1044 | |||
1045 | static struct fw_info bnx2_com_fw_09 = { | ||
1046 | .ver_major = 0x1, | ||
1047 | .ver_minor = 0x0, | ||
1048 | .ver_fix = 0x0, | ||
1049 | |||
1050 | .start_addr = 0x080000b0, | ||
1051 | |||
1052 | .text_addr = 0x08000000, | ||
1053 | .text_len = 0x7c5c, | ||
1054 | .text_index = 0x0, | ||
1055 | .gz_text = bnx2_COM_b09FwText, | ||
1056 | .gz_text_len = sizeof(bnx2_COM_b09FwText), | ||
1057 | |||
1058 | .data_addr = 0x08007d00, | ||
1059 | .data_len = 0x0, | ||
1060 | .data_index = 0x0, | ||
1061 | .data = bnx2_COM_b09FwData, | ||
1062 | |||
1063 | .sbss_addr = 0x08007d00, | ||
1064 | .sbss_len = 0x5c, | ||
1065 | .sbss_index = 0x0, | ||
1066 | .sbss = bnx2_COM_b09FwSbss, | ||
1067 | |||
1068 | .bss_addr = 0x08007d60, | ||
1069 | .bss_len = 0x88, | ||
1070 | .bss_index = 0x0, | ||
1071 | .bss = bnx2_COM_b09FwBss, | ||
1072 | |||
1073 | .rodata_addr = 0x08007c60, | ||
1074 | .rodata_len = 0x88, | ||
1075 | .rodata_index = 0x0, | ||
1076 | .rodata = bnx2_COM_b09FwRodata, | ||
1077 | }; | ||
1078 | |||
1079 | static u8 bnx2_CP_b09FwText[] = { | ||
1080 | 0x1f, 0x8b, 0x08, 0x08, 0x8e, 0xfc, 0x2f, 0x45, 0x00, 0x03, 0x74, 0x65, | ||
1081 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xbd, 0x7d, 0x0d, 0x74, | ||
1082 | 0x5c, 0x57, 0x7d, 0xe7, 0xff, 0xdd, 0x79, 0x92, 0xc6, 0xb2, 0x2c, 0x3f, | ||
1083 | 0xcb, 0x63, 0x65, 0x22, 0x0b, 0x7b, 0x46, 0x7a, 0xb2, 0x95, 0x58, 0x64, | ||
1084 | 0xc7, 0xae, 0x00, 0x6d, 0x3b, 0x85, 0xe9, 0x48, 0xb2, 0x9d, 0x0f, 0x8a, | ||
1085 | 0x4c, 0x44, 0x4f, 0x5a, 0xe8, 0x22, 0xc6, 0x76, 0x48, 0x80, 0xb2, 0x4e, | ||
1086 | 0x09, 0x69, 0x80, 0x04, 0x0f, 0x23, 0xf9, 0x83, 0x74, 0xec, 0x51, 0x12, | ||
1087 | 0xc5, 0x76, 0x4f, 0x73, 0x58, 0x55, 0x92, 0x1d, 0x43, 0xa7, 0x1e, 0x27, | ||
1088 | 0x71, 0x68, 0xf6, 0x6c, 0x68, 0xb4, 0x4a, 0xe2, 0xa6, 0x3d, 0xd9, 0xd6, | ||
1089 | 0xf4, 0x84, 0x6e, 0xda, 0x43, 0x77, 0x85, 0x71, 0x88, 0x4b, 0xb3, 0x4b, | ||
1090 | 0xf8, 0x68, 0x61, 0xa1, 0xe5, 0xed, 0xef, 0x77, 0xef, 0x7d, 0xd2, 0xe8, | ||
1091 | 0xc3, 0x09, 0xa1, 0xbb, 0xf5, 0x39, 0xcf, 0x6f, 0xde, 0xfd, 0xfc, 0xdf, | ||
1092 | 0xff, 0xfd, 0x7f, 0xdf, 0x0f, 0xad, 0x17, 0xa9, 0x17, 0xfb, 0x6f, 0x15, | ||
1093 | 0x9e, 0x6d, 0x89, 0x7d, 0xbb, 0xb7, 0x5e, 0xd7, 0x73, 0x1d, 0x7e, 0x6e, | ||
1094 | 0x75, 0x57, 0x46, 0x95, 0xbc, 0x89, 0x7f, 0x89, 0x9f, 0xa1, 0x4c, 0x44, | ||
1095 | 0xc4, 0x0b, 0xfb, 0xe2, 0x23, 0x51, 0x95, 0x1e, 0xfc, 0x64, 0xd6, 0x97, | ||
1096 | 0x68, 0x24, 0x7d, 0xf6, 0xb3, 0xbb, 0x7d, 0x91, 0x4c, 0x79, 0x4b, 0xa2, | ||
1097 | 0x57, 0xfe, 0x25, 0xc8, 0xc7, 0x5c, 0x61, 0xfa, 0x5b, 0xd2, 0xff, 0xfc, | ||
1098 | 0x9f, 0xbe, 0xf2, 0x8e, 0xe4, 0x6b, 0xe3, 0x11, 0x89, 0x7a, 0xe9, 0x8f, | ||
1099 | 0x89, 0xb7, 0x49, 0xa2, 0xad, 0xe9, 0x81, 0x4f, 0x3e, 0xbc, 0xf9, 0x6f, | ||
1100 | 0x44, 0x1a, 0xc3, 0xb6, 0x2e, 0x07, 0x5f, 0xd9, 0x2c, 0xf9, 0x96, 0x74, | ||
1101 | 0x7c, 0xc8, 0x4d, 0x7b, 0xf2, 0x74, 0x45, 0x06, 0x0a, 0xc5, 0xa8, 0x44, | ||
1102 | 0xd2, 0x1d, 0x2f, 0xf5, 0x46, 0xf6, 0x07, 0x11, 0xdf, 0xf7, 0x7a, 0xa5, | ||
1103 | 0xa1, 0x27, 0xdb, 0x8d, 0xf4, 0xf2, 0x56, 0x51, 0x7e, 0x54, 0xb2, 0x15, | ||
1104 | 0x69, 0x50, 0xbe, 0x8f, 0x77, 0xbd, 0xa8, 0x74, 0xd2, 0xcb, 0x46, 0x5c, | ||
1105 | 0x29, 0x54, 0x2e, 0xac, 0x30, 0x6d, 0x96, 0xec, 0xfb, 0x6f, 0xa2, 0xe6, | ||
1106 | 0x8d, 0x36, 0x4b, 0x51, 0x99, 0x8d, 0xc4, 0x05, 0xfd, 0x00, 0xe6, 0x06, | ||
1107 | 0x19, 0x2e, 0x25, 0x24, 0x5b, 0x64, 0xbf, 0xae, 0xe4, 0x3c, 0xf6, 0xd9, | ||
1108 | 0x80, 0xfa, 0x2b, 0x9d, 0xe5, 0xcb, 0xb3, 0xec, 0x4b, 0x28, 0x9b, 0x40, | ||
1109 | 0xb9, 0x56, 0x79, 0xbc, 0x12, 0x97, 0xc7, 0x2a, 0x31, 0x79, 0xb4, 0x72, | ||
1110 | 0x87, 0x64, 0x50, 0xf7, 0x6c, 0x05, 0x7d, 0x97, 0x6a, 0xa5, 0x77, 0xac, | ||
1111 | 0x5e, 0xb2, 0x63, 0xed, 0xf1, 0x9c, 0x04, 0xc1, 0x27, 0x52, 0x1f, 0x95, | ||
1112 | 0xa1, 0x26, 0x94, 0x2f, 0x31, 0x2f, 0xbe, 0x20, 0x2f, 0x97, 0xda, 0xe2, | ||
1113 | 0xe5, 0x94, 0x23, 0x99, 0xc1, 0x64, 0x7c, 0x48, 0xf1, 0xbb, 0x46, 0xb2, | ||
1114 | 0x5d, 0xf8, 0x1e, 0x70, 0x25, 0xe2, 0x07, 0xc1, 0x1d, 0xa9, 0x26, 0xc0, | ||
1115 | 0x91, 0x4c, 0x24, 0x14, 0xeb, 0xb2, 0x5e, 0x32, 0x9f, 0x50, 0x51, 0xc9, | ||
1116 | 0x57, 0xae, 0x93, 0x44, 0x53, 0x10, 0xbc, 0x37, 0xe5, 0x21, 0x5d, 0xa4, | ||
1117 | 0xb7, 0x28, 0xfb, 0x54, 0xda, 0x47, 0x9b, 0x92, 0x52, 0xe9, 0xb5, 0x18, | ||
1118 | 0xc7, 0x16, 0xe0, 0xa9, 0x56, 0x32, 0x31, 0xc9, 0xa8, 0xb4, 0x24, 0x54, | ||
1119 | 0x7a, 0x05, 0xd2, 0x1c, 0xa9, 0xf1, 0xa7, 0x2c, 0x9d, 0xac, 0xc6, 0xb7, | ||
1120 | 0x0c, 0xa8, 0x74, 0xd3, 0xa2, 0xf4, 0x64, 0x42, 0xd4, 0x8f, 0xea, 0xd0, | ||
1121 | 0x67, 0x67, 0x46, 0x31, 0x0d, 0x6f, 0x9d, 0x76, 0xfd, 0x32, 0x69, 0x1f, | ||
1122 | 0x74, 0x16, 0xa6, 0x3d, 0xb5, 0x8a, 0xb0, 0x8a, 0xe2, 0xef, 0x28, 0xe0, | ||
1123 | 0x6a, 0x41, 0xff, 0xed, 0x5e, 0x0d, 0xc6, 0x35, 0x90, 0x4a, 0x7a, 0xfd, | ||
1124 | 0xea, 0xc5, 0x40, 0x9a, 0x09, 0x33, 0xf3, 0x14, 0xf2, 0x50, 0x34, 0x9d, | ||
1125 | 0xc2, 0xbc, 0xb9, 0x72, 0x08, 0x63, 0xbb, 0x38, 0x96, 0xf4, 0xda, 0x14, | ||
1126 | 0xde, 0x53, 0xfc, 0xdd, 0x34, 0x14, 0x49, 0x07, 0x41, 0x36, 0x35, 0x2e, | ||
1127 | 0xb9, 0x72, 0xd2, 0x9b, 0x05, 0x70, 0xbd, 0x63, 0x71, 0x8c, 0x1f, 0xe3, | ||
1128 | 0x88, 0x65, 0x92, 0x6b, 0xa4, 0xcb, 0xce, 0xcf, 0x5f, 0xa2, 0xef, 0x76, | ||
1129 | 0xef, 0x0e, 0xd5, 0xee, 0xa5, 0x54, 0xd2, 0x9b, 0x90, 0x3f, 0xc4, 0x77, | ||
1130 | 0x10, 0xec, 0x4a, 0x25, 0xe3, 0x79, 0xcc, 0xdd, 0xa5, 0x62, 0x4c, 0x5e, | ||
1131 | 0x2e, 0x26, 0x41, 0xa9, 0xc9, 0xce, 0x49, 0xd9, 0x92, 0x9a, 0x04, 0xdc, | ||
1132 | 0x05, 0x3c, 0x07, 0x99, 0x57, 0x46, 0x5e, 0x99, 0x75, 0x83, 0xe0, 0xe6, | ||
1133 | 0xd4, 0x89, 0x60, 0xa8, 0xd9, 0xd0, 0xfe, 0xd3, 0x25, 0xcc, 0x2b, 0xe6, | ||
1134 | 0xe9, 0xb1, 0x12, 0xe6, 0xb5, 0x84, 0x39, 0xd5, 0xf3, 0xdf, 0x89, 0xf9, | ||
1135 | 0x27, 0x8d, 0x90, 0x3e, 0xb6, 0x59, 0x7a, 0x7d, 0xb7, 0x7d, 0x8b, 0x64, | ||
1136 | 0x4b, 0x8e, 0x64, 0x53, 0x3f, 0x09, 0x32, 0x9a, 0x27, 0xc4, 0xe9, 0x2d, | ||
1137 | 0x91, 0x26, 0x6b, 0x00, 0x2b, 0x3f, 0x7f, 0xdd, 0x96, 0x8b, 0x3a, 0x18, | ||
1138 | 0x06, 0xe7, 0x83, 0xf9, 0x51, 0xe5, 0xd7, 0xd9, 0xfc, 0x90, 0xf6, 0xf9, | ||
1139 | 0x0f, 0x74, 0xe7, 0xcf, 0x97, 0xcb, 0x92, 0x36, 0x2b, 0x22, 0xb9, 0x07, | ||
1140 | 0x03, 0xe9, 0x4d, 0x01, 0x5f, 0x6c, 0xd3, 0x4b, 0x89, 0xae, 0xeb, 0xb1, | ||
1141 | 0x8c, 0x2e, 0x8b, 0x7f, 0x3f, 0xae, 0x41, 0x1f, 0x4e, 0x5f, 0x69, 0xbe, | ||
1142 | 0x6e, 0x5f, 0xe9, 0x85, 0x98, 0x85, 0x0f, 0xdf, 0x3d, 0x4e, 0xb6, 0xf2, | ||
1143 | 0x77, 0x76, 0x8e, 0xc3, 0x71, 0x74, 0x2d, 0x43, 0xe3, 0x2e, 0xf8, 0xc1, | ||
1144 | 0x93, 0x5c, 0xb1, 0x07, 0xfd, 0xc6, 0xf0, 0x0e, 0x82, 0x91, 0x54, 0x26, | ||
1145 | 0xe9, 0x4a, 0x1a, 0xdf, 0x03, 0x98, 0xaf, 0x0e, 0xe0, 0x4f, 0xdc, 0xec, | ||
1146 | 0xe6, 0x94, 0xf4, 0x55, 0x40, 0x7b, 0x95, 0x37, 0x96, 0x14, 0x7a, 0x0c, | ||
1147 | 0xa9, 0x7f, 0xb1, 0xb8, 0x61, 0x3f, 0x7c, 0xbb, 0x32, 0x02, 0xfa, 0x28, | ||
1148 | 0x8c, 0xf9, 0x32, 0x5c, 0x9c, 0xf6, 0x94, 0x24, 0x41, 0xbb, 0x69, 0xe9, | ||
1149 | 0xad, 0xf8, 0x52, 0x28, 0xe2, 0x5d, 0x6a, 0x07, 0xfd, 0xba, 0x92, 0x89, | ||
1150 | 0x9b, 0x39, 0x29, 0x14, 0x7f, 0x09, 0xe3, 0x02, 0x8e, 0x7d, 0xfe, 0xee, | ||
1151 | 0xb1, 0xb0, 0x80, 0xf7, 0xbb, 0x53, 0x1a, 0x3f, 0x6f, 0x0e, 0x06, 0xf6, | ||
1152 | 0x8d, 0x31, 0x60, 0x9c, 0x85, 0xb2, 0x8b, 0x77, 0x0c, 0xef, 0x90, 0x16, | ||
1153 | 0xe3, 0x80, 0xa9, 0x55, 0x86, 0x41, 0x8b, 0xbd, 0x82, 0xdf, 0x53, 0x84, | ||
1154 | 0x91, 0xfd, 0xb6, 0xe8, 0xdf, 0xc3, 0x63, 0x1b, 0xf4, 0x77, 0x6e, 0xa0, | ||
1155 | 0x45, 0xf2, 0x53, 0xe1, 0x58, 0x28, 0x0f, 0x28, 0x03, 0x92, 0x87, 0x45, | ||
1156 | 0x28, 0x13, 0x82, 0xe0, 0xc1, 0x14, 0xe5, 0x42, 0x10, 0x3c, 0x96, 0xa2, | ||
1157 | 0x9c, 0x38, 0x07, 0xfe, 0xa7, 0x6c, 0x20, 0xaf, 0xae, 0x55, 0x9c, 0x83, | ||
1158 | 0x6c, 0x11, 0x7d, 0x40, 0x4e, 0xe4, 0xba, 0x4e, 0x40, 0x6e, 0x50, 0xae, | ||
1159 | 0x5c, 0xf8, 0x44, 0xd6, 0xcf, 0xc7, 0x23, 0x1a, 0x0f, 0x98, 0x6f, 0xc8, | ||
1160 | 0xbc, 0x8c, 0x86, 0xbc, 0x4d, 0x0a, 0x5d, 0xa3, 0xb6, 0xcc, 0x65, 0x5d, | ||
1161 | 0xc6, 0x5d, 0x52, 0xe6, 0x76, 0x65, 0xf8, 0xae, 0x15, 0xf3, 0xb1, 0x42, | ||
1162 | 0x11, 0x4f, 0x6d, 0x9b, 0xf8, 0x2d, 0xd1, 0x9a, 0xf4, 0x97, 0x90, 0x37, | ||
1163 | 0x7d, 0xd7, 0x49, 0x7f, 0xb9, 0xbc, 0x59, 0x77, 0x69, 0xde, 0x88, 0xb8, | ||
1164 | 0x7e, 0xb2, 0x73, 0x97, 0x9a, 0x01, 0x3d, 0x05, 0xc1, 0xc9, 0x54, 0x98, | ||
1165 | 0xfe, 0x8f, 0xee, 0xd2, 0x3e, 0x12, 0x35, 0x4b, 0xd3, 0xee, 0x5d, 0x26, | ||
1166 | 0xed, 0xc4, 0x32, 0x69, 0x1b, 0x6a, 0x97, 0xa6, 0xbd, 0x7f, 0x99, 0xb4, | ||
1167 | 0xfb, 0x97, 0x49, 0xfb, 0x5f, 0xcb, 0xa4, 0x7d, 0x67, 0x99, 0xb4, 0xef, | ||
1168 | 0x2d, 0x93, 0xd6, 0x52, 0xb7, 0x34, 0xcd, 0x05, 0x3f, 0x6d, 0x92, 0x42, | ||
1169 | 0xec, 0x73, 0x1c, 0xbb, 0xc5, 0xcd, 0xfe, 0xc8, 0x52, 0xdc, 0xd4, 0xa0, | ||
1170 | 0x5c, 0xeb, 0xa2, 0x72, 0x53, 0xcb, 0x94, 0xab, 0x45, 0xb9, 0xa6, 0x45, | ||
1171 | 0xe5, 0x92, 0xcb, 0xe0, 0xba, 0x4e, 0xeb, 0xaf, 0x85, 0xe5, 0x0a, 0xcb, | ||
1172 | 0x94, 0x63, 0xfa, 0x1e, 0xdb, 0xcf, 0x16, 0x68, 0x99, 0xd7, 0x9b, 0xaf, | ||
1173 | 0x5a, 0x91, 0x66, 0xa6, 0xb7, 0x42, 0x47, 0xac, 0x50, 0x86, 0xdf, 0x29, | ||
1174 | 0x5b, 0x98, 0xe6, 0x81, 0xee, 0xa3, 0xa0, 0x3b, 0xca, 0x47, 0xf0, 0x91, | ||
1175 | 0x4f, 0xfe, 0x5d, 0x25, 0x43, 0xb1, 0x2d, 0xde, 0x2f, 0xa8, 0x06, 0xd0, | ||
1176 | 0x58, 0xd2, 0x4b, 0x28, 0xf2, 0x97, 0xe4, 0x23, 0x69, 0x3f, 0xdf, 0x2b, | ||
1177 | 0x2a, 0xa6, 0x24, 0x90, 0xbe, 0x94, 0x6a, 0x52, 0xb2, 0x1f, 0xfc, 0x93, | ||
1178 | 0x81, 0x4e, 0xda, 0x15, 0xf4, 0x6a, 0x1e, 0x32, 0x65, 0xaf, 0x2c, 0x2b, | ||
1179 | 0x7d, 0x39, 0x48, 0x19, 0x97, 0xce, 0xdc, 0x95, 0xf5, 0xa7, 0x7b, 0x6a, | ||
1180 | 0x41, 0xb3, 0x17, 0x51, 0x67, 0x07, 0x6a, 0xee, 0x2d, 0xbb, 0xd2, 0x57, | ||
1181 | 0xee, 0x04, 0x2f, 0x38, 0x72, 0xde, 0x5f, 0x2d, 0xe7, 0x53, 0x28, 0x5b, | ||
1182 | 0x89, 0xc8, 0x4c, 0xcc, 0x91, 0x19, 0x7c, 0x67, 0x53, 0xc8, 0xab, 0x84, | ||
1183 | 0xbc, 0xd5, 0x29, 0x07, 0x4a, 0xbe, 0x1c, 0x2e, 0xfd, 0x92, 0x0a, 0xf5, | ||
1184 | 0x56, 0x7f, 0x6a, 0xa5, 0x9c, 0xf6, 0x4c, 0xdb, 0x3b, 0xfc, 0x69, 0x68, | ||
1185 | 0x4c, 0x57, 0x2e, 0xfa, 0xc9, 0xf8, 0x8c, 0xe6, 0x89, 0x1f, 0x06, 0x7d, | ||
1186 | 0x68, 0x67, 0xc2, 0x4f, 0x7a, 0x7f, 0x8a, 0xef, 0xa1, 0x32, 0xed, 0x90, | ||
1187 | 0xf9, 0xb6, 0x86, 0xd1, 0xd6, 0xa1, 0xd2, 0x2a, 0xf9, 0xb0, 0xad, 0xbf, | ||
1188 | 0xdd, 0x9f, 0xee, 0x04, 0xcf, 0x79, 0xa7, 0x28, 0x23, 0x8a, 0x80, 0x6b, | ||
1189 | 0x10, 0xbc, 0x8d, 0xba, 0xcf, 0x69, 0x39, 0x05, 0xbb, 0xa5, 0xb8, 0x1a, | ||
1190 | 0x72, 0xf7, 0x1f, 0x83, 0x0f, 0xc7, 0x58, 0x9e, 0x69, 0xd4, 0x25, 0x32, | ||
1191 | 0xaa, 0xd2, 0x90, 0x09, 0xdd, 0x94, 0x85, 0x09, 0xc8, 0x41, 0xc8, 0x96, | ||
1192 | 0xd2, 0x4f, 0x83, 0x8c, 0x5b, 0x2d, 0xdf, 0x24, 0x3f, 0x5f, 0x86, 0x69, | ||
1193 | 0x09, 0x23, 0x2f, 0x4b, 0xb3, 0x73, 0xb2, 0x22, 0x0f, 0xf9, 0xf2, 0x74, | ||
1194 | 0x85, 0x72, 0xe1, 0x7a, 0xf0, 0x68, 0xab, 0xf4, 0x15, 0x93, 0xf9, 0x8c, | ||
1195 | 0x6c, 0xc2, 0xfc, 0x7d, 0x1e, 0x73, 0xea, 0xe2, 0xb9, 0xaf, 0x5e, 0x1a, | ||
1196 | 0x53, 0xd0, 0xcd, 0x4c, 0x47, 0xa3, 0xcd, 0x51, 0xc8, 0xa8, 0xdf, 0x03, | ||
1197 | 0x1e, 0x86, 0x39, 0xe7, 0xf1, 0x6c, 0xc4, 0x19, 0xa0, 0x3d, 0x32, 0x40, | ||
1198 | 0xfd, 0x50, 0x66, 0xdb, 0x84, 0x37, 0x6e, 0x7f, 0x47, 0xb5, 0x8c, 0x31, | ||
1199 | 0xbf, 0x1b, 0xf0, 0x3b, 0x61, 0x7f, 0x7b, 0xf8, 0xed, 0xdb, 0xdf, 0x31, | ||
1200 | 0xfc, 0xee, 0xb4, 0xbf, 0xa1, 0x5b, 0x8b, 0x5d, 0xfa, 0xf7, 0x48, 0x69, | ||
1201 | 0xfb, 0x76, 0xe5, 0x5f, 0x27, 0xb9, 0xa9, 0x56, 0x39, 0x50, 0xf4, 0xad, | ||
1202 | 0x6c, 0xc1, 0x23, 0x4f, 0x3a, 0x66, 0x9c, 0x80, 0x9b, 0xb2, 0xb3, 0x94, | ||
1203 | 0x77, 0x06, 0x08, 0x3f, 0x68, 0xa0, 0xb7, 0xb8, 0xc5, 0x5b, 0x23, 0xa4, | ||
1204 | 0x81, 0x11, 0xa7, 0xb7, 0xe2, 0x64, 0x60, 0xaf, 0xc5, 0x87, 0xe5, 0x30, | ||
1205 | 0x7e, 0x8b, 0x17, 0x49, 0x3f, 0x89, 0xb7, 0xc1, 0x01, 0xf5, 0xce, 0x70, | ||
1206 | 0x89, 0xf2, 0xd2, 0xc7, 0xd8, 0x13, 0x72, 0x6e, 0x81, 0x0d, 0x45, 0x5c, | ||
1207 | 0x28, 0xc9, 0x8d, 0x25, 0x4f, 0xe4, 0x25, 0x99, 0x1f, 0x07, 0x43, 0xec, | ||
1208 | 0x4a, 0xb9, 0xf2, 0xde, 0x14, 0x68, 0xf7, 0x3a, 0x47, 0xb6, 0x5f, 0xe7, | ||
1209 | 0xc2, 0xe6, 0xf1, 0xc7, 0xb7, 0x83, 0xfe, 0x31, 0xcf, 0x9a, 0x1e, 0xd4, | ||
1210 | 0x19, 0x81, 0x9d, 0x08, 0x6c, 0x9f, 0xe9, 0xea, 0x1b, 0x2e, 0xe6, 0x3e, | ||
1211 | 0xa6, 0xd2, 0xfb, 0x3e, 0x95, 0xed, 0xbe, 0x46, 0x72, 0x83, 0x0a, 0x38, | ||
1212 | 0x6a, 0x1e, 0x82, 0x1e, 0xc4, 0xb8, 0x82, 0x00, 0xf4, 0x0c, 0x79, 0x7e, | ||
1213 | 0xf3, 0xcd, 0x91, 0x74, 0x8d, 0xf4, 0x0e, 0x36, 0xa3, 0x0e, 0xf3, 0x88, | ||
1214 | 0xaf, 0xaf, 0xa2, 0x9d, 0x64, 0xa2, 0x4f, 0xe4, 0x9e, 0x91, 0xee, 0x59, | ||
1215 | 0x67, 0x78, 0xf4, 0x37, 0xc0, 0x93, 0x5b, 0x51, 0xff, 0x01, 0xd4, 0x7f, | ||
1216 | 0xcd, 0x29, 0x8c, 0xfd, 0xc8, 0x19, 0x1e, 0xfb, 0x9e, 0x33, 0x32, 0xb6, | ||
1217 | 0x61, 0x43, 0x7f, 0xcf, 0x86, 0x0d, 0xbb, 0x7b, 0x5c, 0x99, 0x00, 0x8f, | ||
1218 | 0x65, 0xbc, 0x0d, 0x1b, 0x46, 0x7a, 0xba, 0x80, 0x83, 0x2d, 0x5e, 0x9f, | ||
1219 | 0xf8, 0xde, 0x76, 0x01, 0xff, 0xc4, 0xd8, 0x67, 0x14, 0xf9, 0x49, 0xe4, | ||
1220 | 0xb3, 0x7e, 0x5c, 0xe7, 0xf7, 0xca, 0x96, 0x78, 0x93, 0xb0, 0xff, 0x88, | ||
1221 | 0x2d, 0x53, 0x13, 0x91, 0xfa, 0x07, 0xec, 0xfc, 0x66, 0x9c, 0x1a, 0x9f, | ||
1222 | 0xe9, 0x1c, 0x0b, 0xd3, 0x39, 0xb7, 0x7f, 0x67, 0x6d, 0xd5, 0xd5, 0x48, | ||
1223 | 0xe7, 0x37, 0x71, 0x46, 0xbc, 0xd0, 0xc6, 0xa8, 0xd1, 0xb6, 0x61, 0xae, | ||
1224 | 0x48, 0x9a, 0x71, 0x65, 0x4f, 0xd1, 0x41, 0x1d, 0xd0, 0xc5, 0x19, 0xfb, | ||
1225 | 0x1c, 0x05, 0x6c, 0x83, 0x68, 0xeb, 0xe8, 0x21, 0xd4, 0xa3, 0xcc, 0x48, | ||
1226 | 0x76, 0x8a, 0xfa, 0x00, 0xca, 0x6c, 0xf1, 0xd6, 0x0a, 0x6d, 0x89, 0x3b, | ||
1227 | 0x25, 0x57, 0x22, 0x7f, 0x77, 0x00, 0x9e, 0xa8, 0x24, 0x9a, 0xf1, 0x5d, | ||
1228 | 0x81, 0x4d, 0xf1, 0x60, 0x8d, 0x58, 0xdb, 0x45, 0xe6, 0x6d, 0x91, 0x3b, | ||
1229 | 0x94, 0xc0, 0xde, 0x18, 0x9a, 0x5c, 0x8f, 0x72, 0x0e, 0xf0, 0x42, 0xfb, | ||
1230 | 0x03, 0xb4, 0x36, 0x99, 0x91, 0xec, 0x26, 0xf0, 0xc9, 0xa4, 0x87, 0x6f, | ||
1231 | 0xc0, 0x35, 0xf9, 0x16, 0xbc, 0x23, 0xfa, 0xdb, 0xc0, 0x09, 0xbc, 0xa6, | ||
1232 | 0x22, 0x56, 0x67, 0x75, 0xa1, 0xef, 0xf7, 0x48, 0x76, 0x34, 0x4e, 0x5b, | ||
1233 | 0x62, 0x75, 0xd6, 0xcf, 0x40, 0xd7, 0x2b, 0x28, 0x41, 0x8c, 0x61, 0xd2, | ||
1234 | 0x81, 0x3c, 0xa9, 0x95, 0xdd, 0x8f, 0xe0, 0xf7, 0x83, 0xc6, 0xe6, 0xdd, | ||
1235 | 0x3d, 0xc9, 0x7e, 0x1a, 0x00, 0x13, 0x6c, 0x90, 0x47, 0x60, 0x9b, 0x3e, | ||
1236 | 0x02, 0x1b, 0xe4, 0x91, 0x66, 0x3c, 0x1c, 0x1b, 0xdb, 0x9f, 0x59, 0x03, | ||
1237 | 0x31, 0xa9, 0xbf, 0x73, 0xa4, 0x57, 0xd8, 0xea, 0xb9, 0x62, 0xca, 0x94, | ||
1238 | 0x2f, 0x76, 0xeb, 0xb7, 0xa1, 0xeb, 0x1e, 0xfb, 0x3b, 0xae, 0xf9, 0x3a, | ||
1239 | 0xdf, 0x04, 0x9a, 0xaf, 0x74, 0x69, 0x99, 0x93, 0xf5, 0xf1, 0x86, 0xcd, | ||
1240 | 0x99, 0x69, 0xe2, 0x18, 0xe3, 0x36, 0x2d, 0xae, 0xd3, 0x12, 0x4d, 0xd6, | ||
1241 | 0xde, 0x28, 0x59, 0x5b, 0x03, 0xb8, 0x19, 0x6a, 0x06, 0xc4, 0x94, 0xcf, | ||
1242 | 0x12, 0xe2, 0x93, 0x32, 0x00, 0xf4, 0x0b, 0x9b, 0xe2, 0xdc, 0x15, 0xe5, | ||
1243 | 0xdf, 0xac, 0xb6, 0xb1, 0xce, 0x56, 0x48, 0xc7, 0xa4, 0xed, 0x20, 0xb8, | ||
1244 | 0x3f, 0x55, 0x87, 0xf6, 0xc9, 0xf3, 0xb0, 0x40, 0x8e, 0x02, 0x26, 0x60, | ||
1245 | 0xa2, 0xc6, 0x3f, 0xab, 0x69, 0xa0, 0xd6, 0x27, 0x0d, 0x57, 0xf3, 0x97, | ||
1246 | 0xe8, 0xf1, 0x9e, 0x05, 0x8f, 0xc1, 0xbe, 0x81, 0xfd, 0xd6, 0x01, 0xdb, | ||
1247 | 0x98, 0x7d, 0x1c, 0xe6, 0xb7, 0xa7, 0xc0, 0x53, 0xd9, 0x39, 0x9e, 0x12, | ||
1248 | 0x99, 0x28, 0x12, 0x37, 0xa1, 0x5d, 0xc7, 0x79, 0x26, 0x7e, 0x32, 0x18, | ||
1249 | 0x33, 0xdf, 0x7d, 0x16, 0x4f, 0x3b, 0x2d, 0x9e, 0x6e, 0xb2, 0xef, 0x11, | ||
1250 | 0xbc, 0x69, 0xe3, 0x0d, 0xe0, 0xcd, 0xf9, 0x19, 0xc4, 0x9b, 0xbc, 0x75, | ||
1251 | 0x0b, 0xde, 0x28, 0x5b, 0xca, 0xc8, 0x6e, 0x6d, 0x87, 0x45, 0xe4, 0x57, | ||
1252 | 0xb4, 0x6c, 0xfb, 0x02, 0xe6, 0xb2, 0x48, 0xfa, 0x95, 0x7c, 0x2c, 0x02, | ||
1253 | 0x9c, 0x14, 0xf0, 0xfb, 0x4e, 0xd7, 0xd0, 0x2a, 0x71, 0xb2, 0xc0, 0x57, | ||
1254 | 0xaa, 0x82, 0x29, 0x66, 0xe5, 0x5c, 0x42, 0xdb, 0xfa, 0xb9, 0xe2, 0x07, | ||
1255 | 0x34, 0x5c, 0xb7, 0x42, 0xde, 0xe5, 0x45, 0x35, 0x43, 0x37, 0x80, 0x16, | ||
1256 | 0x54, 0x0c, 0x9a, 0x2b, 0x78, 0x06, 0x7a, 0x29, 0x37, 0x49, 0xdb, 0xb8, | ||
1257 | 0x8d, 0x7e, 0x49, 0x34, 0xd7, 0xd5, 0x48, 0x3a, 0x52, 0x0a, 0xf6, 0x17, | ||
1258 | 0xbe, 0x55, 0xae, 0x4b, 0xd3, 0xa9, 0xa3, 0xfc, 0x98, 0xb6, 0x7f, 0x5d, | ||
1259 | 0x1f, 0xd2, 0xd6, 0xf8, 0xbd, 0xae, 0xf2, 0xd7, 0x2e, 0x4e, 0x4b, 0x50, | ||
1260 | 0x0f, 0xa3, 0x5e, 0x22, 0xd7, 0xd5, 0x4c, 0x1e, 0xf3, 0x40, 0xbf, 0x19, | ||
1261 | 0xe5, 0x6b, 0xdf, 0x27, 0xaf, 0xba, 0x57, 0x2f, 0x2a, 0xaf, 0xdf, 0x8e, | ||
1262 | 0xfd, 0x76, 0xed, 0xdb, 0xb3, 0xef, 0x84, 0x7d, 0xe7, 0xdd, 0x6e, 0xbe, | ||
1263 | 0x1d, 0x71, 0xd3, 0x7c, 0x83, 0x92, 0xd3, 0x6c, 0x43, 0xf3, 0x95, 0x95, | ||
1264 | 0x33, 0x1d, 0x5e, 0x41, 0xc8, 0x57, 0x9f, 0x93, 0x5b, 0x27, 0x8d, 0xfc, | ||
1265 | 0xdd, 0x0e, 0x19, 0x04, 0xff, 0xcc, 0x9b, 0x11, 0xc0, 0x3f, 0x98, 0x96, | ||
1266 | 0x5b, 0x2b, 0xc4, 0xdb, 0xef, 0x02, 0x7f, 0x60, 0xe2, 0x7a, 0xea, 0x74, | ||
1267 | 0xca, 0xdd, 0x3b, 0x61, 0xf7, 0xa2, 0x7c, 0x91, 0x38, 0x1f, 0xd2, 0x73, | ||
1268 | 0x53, 0x28, 0xee, 0xd1, 0x73, 0x73, 0xb0, 0x38, 0x03, 0xfc, 0xdc, 0x06, | ||
1269 | 0xba, 0x0f, 0x82, 0x99, 0x54, 0x01, 0x94, 0xf3, 0x11, 0xfc, 0x86, 0x1d, | ||
1270 | 0x50, 0xfc, 0x18, 0xf2, 0x1b, 0xa5, 0x30, 0x4a, 0x9e, 0x73, 0x2d, 0x0f, | ||
1271 | 0xbf, 0x13, 0xfc, 0x14, 0x45, 0xbb, 0x48, 0xeb, 0xe6, 0xef, 0x9f, 0x20, | ||
1272 | 0x0f, 0xef, 0x49, 0x4c, 0x62, 0x33, 0x6d, 0x1d, 0xf6, 0xcd, 0xb9, 0xe3, | ||
1273 | 0x9c, 0xc5, 0xb4, 0x2c, 0x3f, 0x3b, 0x37, 0x6f, 0x97, 0xe7, 0xe8, 0x36, | ||
1274 | 0x4f, 0x1f, 0x8f, 0xf9, 0x1a, 0x56, 0xd2, 0xfd, 0xb7, 0xb4, 0x5c, 0x72, | ||
1275 | 0x8f, 0xce, 0xac, 0x30, 0xef, 0xc5, 0x75, 0x39, 0xe7, 0xd5, 0x34, 0x48, | ||
1276 | 0xbf, 0x25, 0xd9, 0x93, 0x07, 0x3f, 0x61, 0x9c, 0xd2, 0xa7, 0x7d, 0x1d, | ||
1277 | 0xd2, 0x04, 0x69, 0x60, 0xdc, 0xd2, 0xe6, 0x94, 0xa5, 0xcd, 0x27, 0xf1, | ||
1278 | 0xc6, 0x53, 0xba, 0x60, 0x69, 0xf3, 0x29, 0xbc, 0xf1, 0x94, 0x5e, 0x9c, | ||
1279 | 0xe3, 0xe3, 0x5e, 0xf8, 0x72, 0xdb, 0xa1, 0xdf, 0x76, 0x57, 0x40, 0xbf, | ||
1280 | 0xe0, 0xbb, 0x1c, 0x7c, 0x80, 0x5c, 0x69, 0x1f, 0xde, 0xec, 0x67, 0xa3, | ||
1281 | 0x6d, 0x3f, 0x23, 0x7b, 0x4a, 0x01, 0xc6, 0x78, 0x37, 0xc6, 0xfb, 0x39, | ||
1282 | 0xbc, 0x3f, 0xa3, 0xe5, 0x8c, 0xf2, 0x0f, 0x5b, 0x79, 0xf5, 0x79, 0xbc, | ||
1283 | 0xdb, 0xe3, 0x07, 0xa5, 0xdd, 0x8b, 0xc8, 0x34, 0xda, 0xfa, 0xba, 0xec, | ||
1284 | 0xa9, 0xcc, 0xe2, 0xb9, 0x84, 0xe7, 0x55, 0x3c, 0x97, 0xd1, 0xde, 0x0b, | ||
1285 | 0x48, 0x5f, 0x29, 0xd3, 0x5e, 0x3d, 0xca, 0xbf, 0x86, 0xdf, 0xcf, 0xcb, | ||
1286 | 0xd0, 0x23, 0x2f, 0xe1, 0xf9, 0x01, 0xf2, 0x9f, 0x45, 0xfd, 0x60, 0xf5, | ||
1287 | 0x8c, 0x4f, 0x19, 0xf6, 0x9c, 0x6d, 0x3b, 0xe5, 0xe4, 0x2a, 0xa0, 0xe9, | ||
1288 | 0xd2, 0x00, 0xfa, 0xde, 0xa3, 0x79, 0xa6, 0x0f, 0x32, 0x3f, 0x07, 0x19, | ||
1289 | 0x37, 0xa4, 0x61, 0x6a, 0x07, 0x7c, 0x79, 0xcc, 0x05, 0xde, 0x93, 0xb5, | ||
1290 | 0x32, 0x1b, 0xa3, 0x1d, 0x79, 0x93, 0x2e, 0x9f, 0x2b, 0x35, 0x69, 0xbb, | ||
1291 | 0x7a, 0x7c, 0x09, 0xff, 0xd0, 0xef, 0x0a, 0xe5, 0x81, 0x91, 0xc6, 0x13, | ||
1292 | 0x45, 0xca, 0x02, 0xe8, 0x9f, 0xe2, 0x08, 0xde, 0xb5, 0x5a, 0x26, 0x14, | ||
1293 | 0x24, 0x94, 0x07, 0xac, 0x47, 0x99, 0x50, 0x2d, 0x77, 0x28, 0x6b, 0x28, | ||
1294 | 0x7b, 0x28, 0x4b, 0xcc, 0x7c, 0xec, 0x7e, 0x90, 0x32, 0x1c, 0xb4, 0x10, | ||
1295 | 0xa3, 0xfd, 0xe1, 0x19, 0x1f, 0x64, 0xec, 0x3e, 0x2b, 0x4f, 0x47, 0xf5, | ||
1296 | 0x5c, 0xec, 0x29, 0xaa, 0x98, 0x2b, 0xa7, 0x91, 0x86, 0xe7, 0xf8, 0xc3, | ||
1297 | 0x78, 0x7f, 0x49, 0xf6, 0xe0, 0xc9, 0x1d, 0xff, 0x02, 0x7e, 0x73, 0x6e, | ||
1298 | 0xca, 0x28, 0x87, 0xa7, 0x74, 0x02, 0x6f, 0x3c, 0xa5, 0x31, 0x2b, 0x47, | ||
1299 | 0xc6, 0xad, 0x1c, 0xe1, 0x9c, 0xde, 0x04, 0x3c, 0x70, 0x7c, 0x4a, 0xc7, | ||
1300 | 0x17, 0xc0, 0xcf, 0x4e, 0x6e, 0xf2, 0x5d, 0xd6, 0x8f, 0x6d, 0x14, 0xc3, | ||
1301 | 0x83, 0x78, 0x3a, 0xc9, 0xcf, 0x0d, 0xda, 0x0e, 0xce, 0x69, 0xda, 0xfd, | ||
1302 | 0x2b, 0xd7, 0xf0, 0x62, 0xcc, 0xe8, 0x14, 0xaf, 0x59, 0x34, 0xef, 0xcf, | ||
1303 | 0xe1, 0x31, 0x63, 0xf1, 0xc8, 0xdf, 0xca, 0xfe, 0x86, 0xdc, 0x82, 0x4d, | ||
1304 | 0x9b, 0xf5, 0x7d, 0xcc, 0x03, 0xc6, 0x72, 0x7c, 0x14, 0x7d, 0x3b, 0xb2, | ||
1305 | 0xdb, 0xa7, 0x0c, 0x67, 0x0c, 0x81, 0xe3, 0x63, 0xbb, 0x48, 0xd7, 0x38, | ||
1306 | 0x48, 0xc9, 0xbc, 0x6f, 0x7e, 0x13, 0xe6, 0x2c, 0x23, 0x7b, 0x4b, 0xf7, | ||
1307 | 0x6a, 0x5f, 0xb9, 0xf6, 0x68, 0x93, 0xf5, 0x73, 0xc2, 0x72, 0xa0, 0xd5, | ||
1308 | 0x18, 0x6d, 0x9b, 0x2f, 0xc5, 0x0c, 0xcd, 0xf3, 0x37, 0xe5, 0x73, 0xb5, | ||
1309 | 0xbc, 0x37, 0x76, 0x4d, 0x61, 0x81, 0xac, 0xa3, 0x6d, 0x81, 0x39, 0x2b, | ||
1310 | 0x57, 0xe3, 0x9d, 0xbe, 0x3b, 0xf9, 0x8a, 0xfc, 0x74, 0x10, 0x3c, 0xf1, | ||
1311 | 0x5d, 0xcb, 0xfb, 0xf4, 0x35, 0xd8, 0xe7, 0x62, 0x7e, 0xf2, 0x60, 0xfb, | ||
1312 | 0xba, 0x72, 0x0a, 0xb6, 0xdb, 0xf6, 0xb9, 0x36, 0xae, 0x06, 0x3c, 0x51, | ||
1313 | 0x79, 0xa4, 0xd8, 0x20, 0x93, 0x45, 0xd5, 0x1c, 0xb1, 0xb2, 0x33, 0x22, | ||
1314 | 0x09, 0x4d, 0xdf, 0xb4, 0xef, 0x7a, 0xc7, 0x22, 0x96, 0xee, 0xd6, 0xd5, | ||
1315 | 0x48, 0xfd, 0xef, 0x42, 0xc7, 0xa6, 0xa1, 0x63, 0x1b, 0xa1, 0x83, 0x17, | ||
1316 | 0xcb, 0x88, 0x35, 0x35, 0x4b, 0x65, 0x04, 0xeb, 0x24, 0xe1, 0x75, 0x1f, | ||
1317 | 0x44, 0xbd, 0x90, 0xfe, 0xa2, 0x9a, 0xd6, 0x72, 0x92, 0x77, 0xb6, 0x57, | ||
1318 | 0x46, 0x9c, 0x1d, 0x95, 0xc5, 0x3a, 0x68, 0x8b, 0xe7, 0x8a, 0x81, 0xf5, | ||
1319 | 0x91, 0x22, 0x6d, 0xd4, 0x64, 0x2a, 0x0b, 0x9c, 0xec, 0x00, 0xcc, 0xcf, | ||
1320 | 0x8c, 0xc2, 0x4f, 0xa7, 0x5c, 0x06, 0xcc, 0xa7, 0x01, 0xf3, 0xc4, 0xa8, | ||
1321 | 0x13, 0xda, 0x06, 0xc2, 0xa0, 0xc8, 0xc4, 0x58, 0x97, 0xcc, 0x4c, 0x91, | ||
1322 | 0x0e, 0x21, 0x03, 0x46, 0x31, 0x9f, 0xa9, 0x15, 0xb0, 0x03, 0xd8, 0x3f, | ||
1323 | 0xe4, 0xf6, 0x58, 0x8b, 0xce, 0x33, 0xfa, 0xbc, 0x55, 0x66, 0xca, 0x69, | ||
1324 | 0x0b, 0xdb, 0xe1, 0x2a, 0xd8, 0x56, 0xcc, 0xc1, 0xb6, 0x03, 0xb0, 0xed, | ||
1325 | 0x5c, 0x16, 0xb6, 0xe5, 0x74, 0x71, 0x1b, 0x6c, 0x1a, 0xa3, 0x8b, 0x0d, | ||
1326 | 0x5e, 0x9b, 0x2d, 0x3d, 0xbc, 0xdf, 0xda, 0xbb, 0xb4, 0x89, 0x7e, 0x0a, | ||
1327 | 0x78, 0x48, 0x63, 0xf8, 0x3d, 0x79, 0x2f, 0x65, 0x19, 0xd2, 0xf9, 0xbd, | ||
1328 | 0x07, 0x65, 0xf0, 0x3d, 0xf9, 0x67, 0x2b, 0x4c, 0xd9, 0xbb, 0x2d, 0x2c, | ||
1329 | 0xb4, 0x13, 0x32, 0xb0, 0x89, 0xfb, 0x9c, 0xec, 0x24, 0x61, 0xf8, 0x8f, | ||
1330 | 0x80, 0x17, 0x79, 0x95, 0xea, 0x36, 0xf9, 0x66, 0xbb, 0xd7, 0xda, 0x76, | ||
1331 | 0xd8, 0x76, 0x38, 0x96, 0x95, 0x56, 0xcf, 0x87, 0xf4, 0x15, 0xda, 0xd7, | ||
1332 | 0x23, 0x4e, 0x66, 0xc9, 0xb8, 0xaa, 0x69, 0x8e, 0xf2, 0xd6, 0x95, 0x7e, | ||
1333 | 0xd0, 0x49, 0xff, 0x02, 0x5a, 0x33, 0x72, 0xc3, 0xd0, 0xf1, 0x0a, 0x3b, | ||
1334 | 0xbe, 0x1a, 0xc3, 0x37, 0xa9, 0x28, 0xf4, 0x21, 0xe5, 0xcd, 0x0e, 0xe3, | ||
1335 | 0x9b, 0xcb, 0x43, 0x80, 0x35, 0xfc, 0x3e, 0xa8, 0x6d, 0xce, 0xa7, 0x4b, | ||
1336 | 0x94, 0x49, 0xf3, 0xb4, 0x68, 0x7c, 0x97, 0x56, 0xf4, 0x55, 0x6d, 0xaf, | ||
1337 | 0xbb, 0x32, 0x60, 0xe6, 0xfc, 0x30, 0xe7, 0x9c, 0xbe, 0x48, 0xfb, 0x03, | ||
1338 | 0x03, 0x96, 0xbf, 0x92, 0xa3, 0x79, 0x79, 0xbb, 0x1d, 0xfb, 0x1f, 0x2e, | ||
1339 | 0x33, 0x77, 0x8d, 0x73, 0x73, 0x37, 0x50, 0x59, 0x3c, 0x46, 0x91, 0xb6, | ||
1340 | 0x07, 0x58, 0xcf, 0x85, 0x8d, 0x94, 0x92, 0x5a, 0x9f, 0xf2, 0x93, 0xb6, | ||
1341 | 0x12, 0xd2, 0x27, 0xb6, 0x78, 0x4d, 0xf0, 0x01, 0x9e, 0x5e, 0x62, 0x77, | ||
1342 | 0x25, 0xac, 0xdc, 0xa4, 0x1f, 0x1c, 0xf6, 0x91, 0xb7, 0x72, 0x32, 0x8f, | ||
1343 | 0xf6, 0x47, 0x9c, 0xfe, 0xca, 0x72, 0xf2, 0x32, 0x94, 0x93, 0x1c, 0x8f, | ||
1344 | 0x23, 0x77, 0x3c, 0x48, 0x1e, 0x7d, 0xbf, 0xb6, 0xaf, 0xb7, 0x6e, 0xab, | ||
1345 | 0x01, 0xfe, 0x08, 0xc7, 0xcc, 0x1a, 0xa2, 0x33, 0xf7, 0x08, 0x6c, 0x22, | ||
1346 | 0x3b, 0x6f, 0xbb, 0xe7, 0xe6, 0x5f, 0xd3, 0x05, 0x7e, 0x33, 0x8e, 0x6a, | ||
1347 | 0x68, 0xa4, 0xc6, 0x77, 0x34, 0x2d, 0xd4, 0x2e, 0xb1, 0x65, 0x39, 0x06, | ||
1348 | 0xda, 0xb3, 0xb5, 0xc6, 0x16, 0x2c, 0xd1, 0xfe, 0xa4, 0xec, 0xa2, 0xfd, | ||
1349 | 0xf9, 0x43, 0xe0, 0x88, 0xe3, 0xe9, 0xb2, 0x69, 0xb4, 0x53, 0x17, 0x8f, | ||
1350 | 0x6f, 0xb1, 0xff, 0x48, 0x38, 0x09, 0xb7, 0xa1, 0xad, 0x84, 0x22, 0x6c, | ||
1351 | 0x81, 0x0c, 0x80, 0x97, 0x39, 0x07, 0x8a, 0xb6, 0xeb, 0xb6, 0xbf, 0xa8, | ||
1352 | 0x31, 0x31, 0xe4, 0xd5, 0xb5, 0x52, 0xcf, 0x3e, 0xc9, 0x7f, 0x7c, 0xaf, | ||
1353 | 0xd2, 0xf6, 0xef, 0x52, 0x59, 0x56, 0xad, 0x7b, 0xae, 0x9e, 0xc3, 0x5f, | ||
1354 | 0xff, 0x82, 0x39, 0x0a, 0xf1, 0x17, 0xd2, 0x45, 0x35, 0x0e, 0x49, 0x13, | ||
1355 | 0x86, 0x16, 0x0c, 0x2d, 0x6e, 0xb4, 0xfa, 0x26, 0xa4, 0xbd, 0xab, 0x40, | ||
1356 | 0x7b, 0xf7, 0x81, 0xc6, 0x28, 0xc3, 0x19, 0x97, 0x5b, 0x8b, 0xef, 0x23, | ||
1357 | 0xf8, 0x0e, 0xf9, 0xe4, 0x4a, 0x32, 0x9c, 0xf2, 0x9b, 0x75, 0xb2, 0x56, | ||
1358 | 0xee, 0x87, 0x7e, 0x2e, 0xeb, 0x70, 0xdc, 0x94, 0xff, 0xff, 0x15, 0xed, | ||
1359 | 0xac, 0xad, 0x35, 0xf6, 0xca, 0x8d, 0xb5, 0x94, 0xaf, 0x6b, 0xe4, 0x60, | ||
1360 | 0x55, 0xda, 0x95, 0xe4, 0x77, 0xf5, 0x98, 0xd7, 0xff, 0x3f, 0x18, 0x73, | ||
1361 | 0x7c, 0xd1, 0x98, 0x3d, 0x3b, 0xe6, 0x77, 0x21, 0xbf, 0xc9, 0xf8, 0x38, | ||
1362 | 0x1e, 0xf9, 0x2e, 0x1c, 0xb3, 0xc5, 0x85, 0x1e, 0x57, 0xb5, 0x9c, 0x08, | ||
1363 | 0x65, 0x04, 0xc7, 0x35, 0x60, 0xc7, 0xf0, 0xb9, 0xaa, 0x71, 0x0d, 0xbc, | ||
1364 | 0x89, 0x71, 0xb5, 0x2e, 0x18, 0xd7, 0xf6, 0x2b, 0x8e, 0x6b, 0x39, 0x1e, | ||
1365 | 0x27, 0x2f, 0x87, 0xe3, 0x8b, 0xca, 0xae, 0x22, 0xc7, 0xd8, 0x8f, 0x31, | ||
1366 | 0x1e, 0xd4, 0xfe, 0x80, 0x19, 0x63, 0xda, 0x8e, 0x51, 0x54, 0xdb, 0xb6, | ||
1367 | 0x7f, 0x8f, 0xdf, 0xd5, 0xe3, 0xa3, 0xee, 0xff, 0x3e, 0x68, 0xba, 0x4e, | ||
1368 | 0xb2, 0x5d, 0x75, 0x56, 0xfe, 0xdf, 0x24, 0x1f, 0x2e, 0x71, 0xae, 0x93, | ||
1369 | 0x19, 0x91, 0x51, 0xe8, 0xe0, 0xff, 0x5c, 0xcb, 0xd8, 0xfd, 0xf6, 0x94, | ||
1370 | 0xd5, 0x63, 0xd0, 0x17, 0x3b, 0x60, 0xf3, 0xf5, 0x17, 0x55, 0x77, 0x44, | ||
1371 | 0x82, 0xe0, 0xb6, 0xd4, 0xa7, 0xd1, 0xf7, 0x7e, 0xed, 0xab, 0x2e, 0x8d, | ||
1372 | 0x9b, 0x3f, 0x57, 0x2b, 0x3e, 0xed, 0x0d, 0xea, 0x73, 0xe8, 0xbb, 0xe3, | ||
1373 | 0xb4, 0xc1, 0xb2, 0xb0, 0x93, 0x33, 0xf1, 0x88, 0xb6, 0xc5, 0xa8, 0x13, | ||
1374 | 0x93, 0xf1, 0x8c, 0xa4, 0xd1, 0x5f, 0x26, 0xae, 0x84, 0x7d, 0xc0, 0x56, | ||
1375 | 0x83, 0x0d, 0xf9, 0xe1, 0xca, 0x3e, 0x3c, 0x0f, 0xcb, 0xad, 0xb0, 0x77, | ||
1376 | 0x6e, 0x7d, 0xe4, 0x0b, 0x72, 0x1b, 0x6c, 0x9d, 0xdb, 0x1e, 0x19, 0x93, | ||
1377 | 0xbd, 0xb0, 0x6d, 0xf6, 0xc2, 0xce, 0xd9, 0x5b, 0xa1, 0xed, 0x39, 0x8e, | ||
1378 | 0xb2, 0xad, 0x55, 0xb4, 0x46, 0x1b, 0x87, 0xe3, 0x23, 0xee, 0x0f, 0x72, | ||
1379 | 0x0e, 0x52, 0x09, 0xf5, 0x8a, 0x9e, 0x97, 0xa6, 0x05, 0x69, 0xaf, 0x27, | ||
1380 | 0xab, 0x42, 0xfd, 0xb4, 0xca, 0xc6, 0x8d, 0x8c, 0x0d, 0x78, 0x65, 0xda, | ||
1381 | 0x22, 0x8d, 0x78, 0xc0, 0x33, 0xf1, 0x47, 0xda, 0xaa, 0x1e, 0x7f, 0x63, | ||
1382 | 0x9d, 0xf8, 0x2b, 0xeb, 0xa4, 0xfe, 0x73, 0x90, 0xaf, 0xd5, 0x34, 0xc5, | ||
1383 | 0xb7, 0x67, 0x75, 0x0d, 0x69, 0x8b, 0x32, 0x38, 0xa4, 0x87, 0x8d, 0xaf, | ||
1384 | 0x23, 0x7f, 0xaf, 0x48, 0x4f, 0xfb, 0xb9, 0x2e, 0xb3, 0xbb, 0x5b, 0x56, | ||
1385 | 0x33, 0x1e, 0x90, 0xad, 0xcc, 0xc7, 0x04, 0x94, 0x5f, 0x1d, 0x13, 0xa0, | ||
1386 | 0x9f, 0xf5, 0x01, 0xe0, 0xec, 0x16, 0x3c, 0xfb, 0x64, 0x88, 0x71, 0x87, | ||
1387 | 0x4a, 0x68, 0x97, 0x7f, 0xd5, 0xda, 0xe5, 0x21, 0x1c, 0x09, 0xc0, 0x61, | ||
1388 | 0xe4, 0xf3, 0x52, 0x3d, 0xb7, 0x50, 0x7f, 0xe7, 0xe7, 0x6c, 0xda, 0x84, | ||
1389 | 0xec, 0x2a, 0x71, 0xdc, 0x94, 0xc1, 0xc4, 0x4d, 0xb5, 0x0c, 0x8e, 0x5b, | ||
1390 | 0x3b, 0x0a, 0x65, 0xb4, 0xfc, 0x5c, 0x2a, 0x3b, 0x29, 0xf7, 0x18, 0x9f, | ||
1391 | 0x7f, 0x20, 0x45, 0x5a, 0x7f, 0xb7, 0x64, 0xe6, 0xe2, 0xf3, 0x02, 0x7a, | ||
1392 | 0x93, 0x54, 0x24, 0xad, 0xd7, 0xd3, 0xbc, 0x09, 0xd9, 0x21, 0xbd, 0x31, | ||
1393 | 0xc6, 0x3a, 0x19, 0xcf, 0xf3, 0xf3, 0x13, 0xb0, 0x1f, 0x86, 0x4b, 0x0a, | ||
1394 | 0x16, 0x7c, 0xad, 0x0c, 0x79, 0x81, 0x6c, 0x4f, 0x39, 0x3a, 0x76, 0x6c, | ||
1395 | 0x74, 0x6d, 0xa9, 0xce, 0xd8, 0xae, 0x8e, 0x8e, 0xff, 0xce, 0x80, 0xfa, | ||
1396 | 0x66, 0xb4, 0x7d, 0xab, 0xb4, 0xfe, 0x9d, 0xd6, 0x65, 0x46, 0xeb, 0xc2, | ||
1397 | 0x38, 0xe6, 0x8c, 0x17, 0xb1, 0xe5, 0xaa, 0xd3, 0xa7, 0xea, 0x42, 0x5b, | ||
1398 | 0xb0, 0x50, 0x09, 0xd3, 0x9e, 0x5c, 0x26, 0xed, 0x85, 0x65, 0xd2, 0xfe, | ||
1399 | 0x76, 0x99, 0x34, 0x13, 0x17, 0xec, 0x2f, 0x5e, 0x46, 0xde, 0x88, 0xe6, | ||
1400 | 0x55, 0x69, 0x36, 0xf6, 0x75, 0x7e, 0xae, 0xcc, 0x2a, 0xeb, 0x97, 0x31, | ||
1401 | 0x46, 0x6c, 0x62, 0xc3, 0x39, 0x1d, 0x1b, 0xde, 0xe2, 0x6d, 0x53, 0x8c, | ||
1402 | 0x75, 0x11, 0x17, 0x09, 0xd9, 0xab, 0xf1, 0x42, 0x9c, 0x7c, 0x85, 0x31, | ||
1403 | 0xe0, 0x3c, 0xd7, 0x5a, 0x13, 0xea, 0x4a, 0xb4, 0x3d, 0x6f, 0x9b, 0x98, | ||
1404 | 0x79, 0x8b, 0xe9, 0x75, 0xd5, 0x3e, 0xd8, 0x0a, 0xfd, 0xc5, 0x26, 0xd9, | ||
1405 | 0x3e, 0x96, 0x58, 0x41, 0xbd, 0xb5, 0x63, 0xcc, 0xf8, 0x83, 0x7b, 0xc1, | ||
1406 | 0x57, 0x19, 0x21, 0x8c, 0xc9, 0x94, 0x08, 0x6d, 0xe2, 0xa5, 0xb6, 0xf0, | ||
1407 | 0xeb, 0xb7, 0xd7, 0x7b, 0x85, 0xf6, 0x1c, 0xd8, 0x0e, 0x3f, 0x6b, 0x7b, | ||
1408 | 0xf5, 0xd2, 0x37, 0x16, 0xe2, 0x4a, 0xfd, 0x9c, 0xf5, 0x22, 0x57, 0xa8, | ||
1409 | 0xa7, 0xed, 0x12, 0x79, 0x66, 0x4e, 0x16, 0x6f, 0x84, 0xcd, 0x24, 0x41, | ||
1410 | 0xb6, 0x5b, 0x5a, 0x23, 0xa2, 0x63, 0x3c, 0x29, 0x23, 0x9b, 0x3b, 0xb8, | ||
1411 | 0xb6, 0x03, 0xfa, 0x37, 0xb6, 0x8a, 0x89, 0x9b, 0x86, 0x76, 0xca, 0x72, | ||
1412 | 0xb4, 0x7b, 0xbd, 0xa5, 0x5d, 0xae, 0xa9, 0xee, 0xa0, 0xcc, 0xc5, 0x9c, | ||
1413 | 0x18, 0x3a, 0xde, 0x5e, 0x94, 0x44, 0x48, 0xc7, 0x33, 0xf0, 0x8b, 0xab, | ||
1414 | 0xe9, 0x78, 0x46, 0x52, 0x9a, 0x8e, 0x6b, 0x17, 0xd0, 0x71, 0xab, 0xa5, | ||
1415 | 0xe3, 0x77, 0x44, 0x0d, 0x5d, 0x28, 0xad, 0xa7, 0x48, 0xa7, 0x86, 0x8e, | ||
1416 | 0x1d, 0x4d, 0xc7, 0x33, 0x78, 0xbb, 0x7e, 0x8f, 0x2d, 0x13, 0xb1, 0x69, | ||
1417 | 0xfc, 0x1d, 0xa6, 0x51, 0x2e, 0xfe, 0x66, 0xd4, 0xe8, 0xa5, 0x14, 0xe8, | ||
1418 | 0x28, 0x4c, 0xff, 0x60, 0xd4, 0xd0, 0x67, 0x75, 0x9a, 0x89, 0x8f, 0xf4, | ||
1419 | 0x17, 0xdf, 0x13, 0x5d, 0x48, 0x9f, 0x29, 0xd0, 0x67, 0x58, 0xe6, 0xf5, | ||
1420 | 0xe8, 0xb3, 0xde, 0xae, 0x5b, 0x44, 0xf5, 0xba, 0x7b, 0x26, 0x66, 0x68, | ||
1421 | 0xf5, 0x56, 0x3d, 0x76, 0x8e, 0xfb, 0xd9, 0x9f, 0x81, 0x56, 0xcd, 0xdc, | ||
1422 | 0x9c, 0x9f, 0xf7, 0xb7, 0x19, 0x8b, 0x4a, 0x98, 0x18, 0x36, 0xe3, 0xa4, | ||
1423 | 0x57, 0xb2, 0x1d, 0x8d, 0x7c, 0xaa, 0xd1, 0xf2, 0xa9, 0x71, 0x48, 0xa5, | ||
1424 | 0xab, 0x65, 0x76, 0x37, 0x74, 0x05, 0x6d, 0x6c, 0x2d, 0xa7, 0x91, 0xd7, | ||
1425 | 0x9a, 0xc8, 0x16, 0xff, 0xd9, 0xee, 0x5f, 0xe0, 0xba, 0x80, 0x0c, 0x39, | ||
1426 | 0x48, 0x6b, 0x2b, 0x9b, 0x71, 0x29, 0xbf, 0x11, 0xdf, 0xdd, 0xd2, 0x56, | ||
1427 | 0x56, 0x72, 0xfb, 0x58, 0x83, 0xec, 0x2b, 0xba, 0xf2, 0x51, 0xd4, 0xff, | ||
1428 | 0x48, 0xd1, 0x83, 0x3f, 0x3e, 0x1e, 0xa5, 0x5d, 0xb8, 0xb7, 0xc8, 0xf5, | ||
1429 | 0x49, 0xc7, 0xac, 0x19, 0x2d, 0x58, 0xf3, 0x8c, 0x48, 0x5b, 0x47, 0x01, | ||
1430 | 0x9e, 0x8a, 0xb8, 0x3b, 0x01, 0x47, 0x5d, 0x3a, 0x2d, 0xaf, 0x74, 0x0f, | ||
1431 | 0x38, 0xda, 0x97, 0x70, 0x7a, 0xe4, 0xc6, 0x4a, 0x5a, 0x6e, 0xa8, 0x98, | ||
1432 | 0x75, 0xd2, 0xf9, 0x75, 0xd0, 0xa4, 0x37, 0x0d, 0x9d, 0x93, 0xf1, 0x82, | ||
1433 | 0xe0, 0x3c, 0xe4, 0xb7, 0x3a, 0xe2, 0x4a, 0xb4, 0x23, 0x19, 0x9f, 0x16, | ||
1434 | 0xf3, 0x7d, 0xb1, 0xfc, 0xe3, 0x60, 0x28, 0xe6, 0xca, 0x2b, 0x3e, 0xc7, | ||
1435 | 0xd5, 0x23, 0xd7, 0x97, 0xab, 0xfb, 0xe3, 0x5a, 0xe9, 0x13, 0x51, 0xae, | ||
1436 | 0x4d, 0x64, 0x2b, 0xe5, 0x28, 0xe3, 0xe7, 0x22, 0x79, 0x69, 0x7b, 0x2b, | ||
1437 | 0x7c, 0x37, 0x48, 0xeb, 0xb6, 0xb7, 0x82, 0x56, 0x62, 0xd0, 0xf3, 0x5b, | ||
1438 | 0x01, 0xd7, 0x56, 0xc6, 0xbb, 0x18, 0xe7, 0xe2, 0xf7, 0x5f, 0xa2, 0x5f, | ||
1439 | 0xd6, 0xfd, 0x5d, 0xbd, 0x66, 0x25, 0x8a, 0x73, 0x6e, 0xf8, 0x65, 0x79, | ||
1440 | 0x5d, 0xd3, 0x38, 0x14, 0x4d, 0x8b, 0x13, 0x7d, 0x5b, 0x5c, 0x56, 0xf8, | ||
1441 | 0xd5, 0xfd, 0x73, 0xed, 0x57, 0x14, 0x70, 0xe8, 0xee, 0xd8, 0xdc, 0x23, | ||
1442 | 0x7d, 0x18, 0x5f, 0xff, 0x92, 0xf1, 0xed, 0x17, 0xc6, 0x54, 0x2f, 0x16, | ||
1443 | 0x39, 0x86, 0xf9, 0x71, 0xa9, 0x3f, 0x32, 0xe3, 0x8a, 0x76, 0x2c, 0x1e, | ||
1444 | 0x8f, 0xae, 0xaf, 0x4e, 0x01, 0x96, 0xe7, 0xf4, 0x1e, 0x81, 0x20, 0xb8, | ||
1445 | 0xa6, 0xe3, 0x62, 0x90, 0x58, 0x97, 0xec, 0x9c, 0x9e, 0x5f, 0xd3, 0x19, | ||
1446 | 0x8a, 0xa4, 0x33, 0x1a, 0xff, 0xf8, 0x4e, 0xe4, 0xca, 0xdd, 0x98, 0x3b, | ||
1447 | 0x71, 0x73, 0x5d, 0xae, 0xe6, 0x8d, 0x9c, 0xdf, 0x6d, 0xd7, 0xad, 0x42, | ||
1448 | 0xbf, 0x29, 0x08, 0x94, 0xbf, 0x58, 0x56, 0x50, 0x47, 0x61, 0xec, 0xb2, | ||
1449 | 0xdb, 0xee, 0x4b, 0x49, 0x31, 0x6e, 0x38, 0xe4, 0xa6, 0xa3, 0x89, 0x42, | ||
1450 | 0xb9, 0x0b, 0xbf, 0x1b, 0xf0, 0xfe, 0x45, 0xd8, 0x28, 0x3d, 0xb0, 0x61, | ||
1451 | 0x24, 0xa6, 0x8c, 0x3c, 0x00, 0xfd, 0x76, 0xe4, 0x95, 0x22, 0x3f, 0x7a, | ||
1452 | 0x89, 0xe1, 0x72, 0x2c, 0x31, 0x5a, 0xde, 0xcb, 0xfa, 0x28, 0x7b, 0xa5, | ||
1453 | 0xf8, 0x1d, 0xfb, 0x62, 0x1f, 0xf4, 0x79, 0x7f, 0x96, 0x3e, 0x5c, 0xdb, | ||
1454 | 0x36, 0xdb, 0x0c, 0xf1, 0xe2, 0xd2, 0x0d, 0xc7, 0xbf, 0x6e, 0xeb, 0x8f, | ||
1455 | 0x70, 0x7c, 0x7b, 0x2d, 0xdc, 0x8b, 0xfb, 0x7d, 0x49, 0xdb, 0x2c, 0x8f, | ||
1456 | 0x55, 0x68, 0x27, 0x72, 0x4d, 0x27, 0x79, 0x62, 0x5c, 0x08, 0x47, 0x10, | ||
1457 | 0x5c, 0x48, 0x19, 0x7d, 0xfd, 0x74, 0x85, 0xeb, 0x1a, 0x41, 0xf0, 0x5d, | ||
1458 | 0xda, 0xc2, 0x83, 0x25, 0xf4, 0x17, 0xe2, 0x60, 0x63, 0xde, 0x85, 0x2c, | ||
1459 | 0x1c, 0xe9, 0x26, 0x7e, 0x05, 0x5e, 0x69, 0x87, 0xb7, 0x4b, 0xa2, 0x89, | ||
1460 | 0xdf, 0x2e, 0x37, 0x24, 0x3e, 0x51, 0xf6, 0x80, 0x67, 0x8e, 0x3b, 0x96, | ||
1461 | 0xd8, 0x63, 0xc7, 0xcc, 0xfd, 0x20, 0xaf, 0xbf, 0x4f, 0xe3, 0xa5, 0x05, | ||
1462 | 0x3e, 0x12, 0x61, 0x9a, 0x87, 0x85, 0xb0, 0x25, 0x2c, 0x6e, 0x82, 0xe0, | ||
1463 | 0xfb, 0x29, 0xf6, 0xd9, 0xcd, 0xfd, 0x00, 0x23, 0xe8, 0x37, 0xbf, 0x56, | ||
1464 | 0x11, 0x0f, 0xd1, 0xc4, 0x1d, 0xe8, 0xfb, 0xb7, 0xd1, 0xf7, 0xbe, 0x32, | ||
1465 | 0xfb, 0x83, 0x7c, 0xc0, 0xd8, 0x47, 0x2a, 0x21, 0xbc, 0xcb, 0xf5, 0x1d, | ||
1466 | 0xce, 0x79, 0xa7, 0xb5, 0xeb, 0xc2, 0x6f, 0x8d, 0x48, 0x4f, 0xc1, 0x97, | ||
1467 | 0xcb, 0x56, 0x66, 0xd6, 0xb8, 0xf2, 0x2e, 0xc8, 0xda, 0x40, 0x4e, 0x42, | ||
1468 | 0x86, 0xcd, 0x68, 0xba, 0xc9, 0xae, 0xe7, 0xff, 0x11, 0xf9, 0xe4, 0x0a, | ||
1469 | 0xc6, 0x94, 0x7b, 0x7d, 0xda, 0xab, 0xb3, 0xc1, 0x8c, 0x4f, 0x99, 0xbc, | ||
1470 | 0x4a, 0xc6, 0xbd, 0x7c, 0x27, 0xf4, 0x03, 0xd2, 0x1a, 0xe9, 0x63, 0x27, | ||
1471 | 0xb2, 0x91, 0x64, 0x62, 0x58, 0xb8, 0xc7, 0x89, 0xfb, 0x13, 0xb8, 0xef, | ||
1472 | 0x87, 0xf2, 0xc0, 0x85, 0x9c, 0xe3, 0x1c, 0x9a, 0xfe, 0x86, 0xcb, 0xf3, | ||
1473 | 0x65, 0x0f, 0x08, 0xd7, 0x09, 0x93, 0xf1, 0xbd, 0xda, 0x26, 0x01, 0xd5, | ||
1474 | 0x15, 0x59, 0x76, 0x33, 0x2c, 0x12, 0xbf, 0xaa, 0xbc, 0xde, 0x73, 0x05, | ||
1475 | 0x3e, 0x67, 0x1c, 0x21, 0x1a, 0xcd, 0x16, 0xe5, 0xb5, 0x48, 0xb7, 0xbc, | ||
1476 | 0x96, 0x4d, 0xd5, 0x4b, 0xaf, 0x96, 0xf9, 0xcc, 0xd3, 0xe9, 0xb3, 0x26, | ||
1477 | 0xdd, 0x85, 0x2e, 0xe1, 0x9c, 0xf4, 0x40, 0x46, 0x4f, 0x00, 0x6e, 0xe2, | ||
1478 | 0xb0, 0x87, 0x32, 0x89, 0xf3, 0xa7, 0x54, 0x3a, 0x16, 0xcd, 0x95, 0xa5, | ||
1479 | 0x2f, 0x57, 0xb4, 0xb1, 0x9e, 0x01, 0x8e, 0x7f, 0x95, 0xc5, 0x43, 0xa3, | ||
1480 | 0xb8, 0x80, 0xad, 0x2f, 0x92, 0x70, 0xe0, 0x2b, 0x43, 0xd7, 0x3f, 0xba, | ||
1481 | 0x4a, 0x1a, 0x89, 0x9b, 0x1e, 0xf0, 0x52, 0x0d, 0x74, 0xd1, 0xfd, 0xcd, | ||
1482 | 0x5c, 0x37, 0xd5, 0x36, 0x64, 0xec, 0x63, 0xbf, 0xac, 0xd2, 0x7f, 0x1b, | ||
1483 | 0x57, 0xe9, 0x51, 0x2b, 0x2f, 0xa3, 0x7d, 0x94, 0x97, 0x4f, 0x97, 0x08, | ||
1484 | 0x8f, 0x78, 0x11, 0x3f, 0xd1, 0xd7, 0x5b, 0x16, 0x15, 0x49, 0x7b, 0xd1, | ||
1485 | 0xde, 0xf2, 0x42, 0xfa, 0x7f, 0xba, 0xf2, 0x61, 0x6b, 0x0b, 0x56, 0xc7, | ||
1486 | 0x54, 0xab, 0xf3, 0xc8, 0x83, 0xcb, 0xe5, 0x11, 0x26, 0x89, 0xae, 0x48, | ||
1487 | 0x5f, 0xf8, 0x54, 0x7b, 0x47, 0xde, 0xab, 0x15, 0xe2, 0x39, 0x80, 0xdc, | ||
1488 | 0x06, 0xae, 0xcb, 0x5c, 0xaf, 0xde, 0x8f, 0x79, 0xfb, 0x3f, 0x41, 0x26, | ||
1489 | 0xc6, 0x7c, 0x4f, 0xea, 0xe0, 0xdb, 0xbe, 0x0c, 0xdd, 0xf9, 0x8a, 0x7f, | ||
1490 | 0xe1, 0x53, 0x9d, 0x1d, 0x41, 0xf0, 0xac, 0x9f, 0x4f, 0xb8, 0x90, 0x1f, | ||
1491 | 0x87, 0x2d, 0xbe, 0x87, 0x81, 0xef, 0x89, 0x39, 0x7c, 0x27, 0xe4, 0x62, | ||
1492 | 0xd7, 0xf7, 0x03, 0xae, 0xf5, 0x0d, 0x97, 0x6f, 0xbd, 0x55, 0xa5, 0x3f, | ||
1493 | 0xfe, 0xa1, 0x6c, 0x37, 0xfb, 0x1b, 0x91, 0xc3, 0x95, 0x9b, 0x88, 0xbf, | ||
1494 | 0x28, 0xc6, 0x7a, 0x4f, 0x9f, 0x6f, 0xfa, 0xed, 0x5b, 0xd0, 0x2f, 0xe9, | ||
1495 | 0xe5, 0x47, 0xac, 0x8b, 0x32, 0xd5, 0x75, 0x33, 0xa0, 0xcb, 0xbc, 0xad, | ||
1496 | 0x3b, 0x70, 0x85, 0xba, 0xde, 0x15, 0xea, 0x1e, 0x46, 0xdd, 0x3d, 0xb6, | ||
1497 | 0xee, 0x85, 0xcf, 0xbc, 0xb9, 0x7e, 0x07, 0xb8, 0xc7, 0x0e, 0x3e, 0x80, | ||
1498 | 0xb8, 0x11, 0xff, 0x36, 0xfc, 0xbe, 0x85, 0xed, 0x28, 0xda, 0xf7, 0x23, | ||
1499 | 0x95, 0x21, 0x19, 0xae, 0xec, 0xc4, 0x33, 0x88, 0xb4, 0x3e, 0x3c, 0xfb, | ||
1500 | 0xf0, 0x3b, 0x8d, 0x47, 0xa2, 0x6e, 0xfa, 0xc2, 0x5d, 0xc3, 0x7e, 0x88, | ||
1501 | 0x57, 0xae, 0xcd, 0xb3, 0x0f, 0xd8, 0x17, 0x5d, 0x3f, 0x41, 0x1f, 0x61, | ||
1502 | 0xfa, 0x07, 0x50, 0x67, 0x1a, 0x69, 0x2b, 0x69, 0x7b, 0x62, 0xae, 0xab, | ||
1503 | 0xeb, 0x54, 0xc3, 0x36, 0x1d, 0xce, 0x05, 0xf2, 0x0d, 0x8d, 0xf6, 0x16, | ||
1504 | 0x43, 0x18, 0xef, 0x44, 0x1b, 0xe3, 0x57, 0x29, 0xff, 0x1e, 0xc2, 0x15, | ||
1505 | 0x57, 0xfe, 0xc7, 0xf0, 0x7e, 0x2d, 0xd8, 0x9d, 0x62, 0x4c, 0x9e, 0xf3, | ||
1506 | 0x7e, 0xdd, 0xaa, 0xa5, 0x7b, 0x9f, 0x42, 0x1a, 0xe8, 0x84, 0x4e, 0x69, | ||
1507 | 0xb0, 0x74, 0x5a, 0x80, 0xe5, 0x43, 0x1a, 0xe5, 0x98, 0x17, 0x97, 0x4d, | ||
1508 | 0x76, 0xe6, 0xa5, 0x07, 0xba, 0x8c, 0xb2, 0xf6, 0xd3, 0xf5, 0x26, 0x0e, | ||
1509 | 0x03, 0xcb, 0xd1, 0xef, 0x04, 0x3d, 0x37, 0x88, 0x87, 0xfa, 0x03, 0x11, | ||
1510 | 0x0f, 0x34, 0x18, 0xd6, 0x4f, 0x7a, 0x03, 0x11, 0x8e, 0x19, 0x1c, 0x5f, | ||
1511 | 0xe6, 0xba, 0x34, 0x6d, 0x6b, 0xd6, 0x0f, 0x6d, 0x1c, 0xfe, 0x7b, 0x59, | ||
1512 | 0xc4, 0x67, 0x1a, 0xdb, 0x0b, 0xde, 0x55, 0xe3, 0x2f, 0x59, 0x63, 0xc1, | ||
1513 | 0x38, 0xf3, 0x49, 0x68, 0x30, 0xaf, 0x4f, 0xcb, 0xe9, 0xfc, 0x35, 0x35, | ||
1514 | 0xd2, 0xe0, 0xf5, 0xeb, 0xdf, 0x2c, 0xd3, 0xe0, 0x81, 0x4f, 0x17, 0x95, | ||
1515 | 0x61, 0x1a, 0xf3, 0x0a, 0x6b, 0x94, 0xde, 0xab, 0xa4, 0xf7, 0x28, 0xc9, | ||
1516 | 0x83, 0xa9, 0x64, 0x62, 0x48, 0x25, 0xbd, 0x71, 0xd9, 0x0f, 0xb9, 0x43, | ||
1517 | 0x39, 0x39, 0x73, 0x7f, 0x44, 0xb8, 0x9f, 0xef, 0x5d, 0x92, 0xf5, 0x29, | ||
1518 | 0x3f, 0x0b, 0x9f, 0x57, 0x94, 0x75, 0x95, 0x97, 0x1a, 0xcc, 0xd8, 0xb8, | ||
1519 | 0x0f, 0x01, 0x70, 0x36, 0xd1, 0x86, 0xbb, 0xb5, 0x81, 0x3c, 0x94, 0x50, | ||
1520 | 0x11, 0xd9, 0x45, 0x3f, 0x5f, 0x7d, 0xb1, 0x5e, 0xea, 0xa7, 0xd7, 0x78, | ||
1521 | 0x52, 0xd1, 0xe9, 0x66, 0x7f, 0x60, 0xb2, 0x73, 0x48, 0x89, 0x1e, 0x7b, | ||
1522 | 0x46, 0xbd, 0x91, 0xcc, 0x9e, 0xb5, 0xfa, 0x23, 0x90, 0xc7, 0xb4, 0xbe, | ||
1523 | 0x98, 0xf9, 0xbc, 0x2b, 0x17, 0x82, 0xb6, 0x4d, 0x17, 0xda, 0xb3, 0x5d, | ||
1524 | 0xb4, 0x73, 0x57, 0xd9, 0xfd, 0x95, 0x8c, 0x63, 0xbd, 0x4b, 0x9e, 0xf3, | ||
1525 | 0x0b, 0x18, 0xf7, 0x7e, 0xb9, 0xe0, 0xb3, 0xbf, 0x99, 0xcf, 0x79, 0xc2, | ||
1526 | 0x74, 0xc2, 0x6e, 0xfa, 0x13, 0xf5, 0xa7, 0x80, 0x87, 0x7d, 0x52, 0x07, | ||
1527 | 0x5f, 0xc9, 0xee, 0x4b, 0x0e, 0xe4, 0x45, 0xcf, 0x4b, 0x8f, 0xa0, 0xad, | ||
1528 | 0x15, 0x3e, 0xf8, 0x10, 0x76, 0x73, 0xcd, 0x91, 0xab, 0x21, 0x77, 0x1d, | ||
1529 | 0xbd, 0xc7, 0x02, 0x93, 0xe1, 0x4d, 0x61, 0xde, 0x33, 0x03, 0x2c, 0x57, | ||
1530 | 0x2f, 0xd3, 0x31, 0xf2, 0xba, 0xe6, 0x97, 0x4f, 0x65, 0xfd, 0x76, 0x4f, | ||
1531 | 0x39, 0xc3, 0x8c, 0x31, 0x00, 0xaf, 0xa4, 0xcd, 0x54, 0x6c, 0xbb, 0xcf, | ||
1532 | 0xb6, 0x58, 0xe6, 0x2a, 0xf9, 0xf6, 0xc0, 0x85, 0x7f, 0x78, 0xd6, 0xff, | ||
1533 | 0x7b, 0xc0, 0x91, 0x81, 0x4c, 0xe0, 0xf3, 0x6a, 0x90, 0x8f, 0x31, 0xa6, | ||
1534 | 0xf5, 0xbf, 0xeb, 0xad, 0x9d, 0xac, 0x79, 0x7f, 0x58, 0xef, 0x93, 0x79, | ||
1535 | 0xfe, 0x33, 0x59, 0xae, 0x77, 0xc0, 0x36, 0xc9, 0x69, 0xb9, 0x18, 0xfd, | ||
1536 | 0x69, 0x0e, 0xf0, 0x14, 0x2a, 0xb4, 0x43, 0xfe, 0x06, 0x76, 0x88, 0xd6, | ||
1537 | 0x93, 0xf2, 0xed, 0x41, 0xe6, 0xb1, 0xdd, 0xec, 0xd5, 0xae, 0xd6, 0x0b, | ||
1538 | 0x21, 0x2c, 0xc9, 0xce, 0x1c, 0xf2, 0x47, 0xb4, 0x1d, 0xef, 0xc9, 0xac, | ||
1539 | 0xe7, 0xea, 0x7d, 0x27, 0xf9, 0xc1, 0x20, 0x78, 0xc5, 0x77, 0xe5, 0xa4, | ||
1540 | 0x86, 0xf9, 0x05, 0xf4, 0xe1, 0xc8, 0xc4, 0x80, 0xfb, 0xd3, 0x93, 0x3e, | ||
1541 | 0xc7, 0xc7, 0x3c, 0xae, 0x2b, 0x6d, 0x8e, 0x1b, 0xf8, 0x68, 0x9b, 0x7e, | ||
1542 | 0x2f, 0x98, 0x8d, 0x71, 0xdd, 0x02, 0x3c, 0x5d, 0x6a, 0xf7, 0x6e, 0x90, | ||
1543 | 0xdb, 0xe6, 0x6c, 0x9a, 0x69, 0x31, 0x36, 0xa3, 0xd1, 0x69, 0x17, 0xfe, | ||
1544 | 0x61, 0xc4, 0xbf, 0xb0, 0xba, 0x80, 0xb9, 0x81, 0x0e, 0x5b, 0x0c, 0x4b, | ||
1545 | 0x8a, 0xb0, 0x0c, 0x6b, 0x58, 0x62, 0xc0, 0xa5, 0x0b, 0xd9, 0x77, 0x9b, | ||
1546 | 0x1c, 0x02, 0xde, 0x87, 0x06, 0x45, 0x9e, 0x85, 0x4d, 0x76, 0xbe, 0x0a, | ||
1547 | 0x9e, 0x19, 0xc0, 0x73, 0xde, 0xe7, 0x5e, 0x00, 0xe6, 0xf9, 0xde, 0xb0, | ||
1548 | 0x70, 0x2f, 0x00, 0x71, 0xd8, 0x81, 0xdf, 0x22, 0x33, 0xd0, 0xbf, 0x27, | ||
1549 | 0xfd, 0xd7, 0x82, 0xf1, 0x18, 0x75, 0x23, 0xda, 0x99, 0xdb, 0x1b, 0x14, | ||
1550 | 0xc8, 0xe7, 0x53, 0xd4, 0x43, 0xb5, 0xd2, 0xb6, 0x8e, 0x7e, 0x88, 0x91, | ||
1551 | 0x9f, 0x37, 0xf8, 0x19, 0xf4, 0xf5, 0x5b, 0x2b, 0xa5, 0x3e, 0x2f, 0xfd, | ||
1552 | 0x1d, 0x75, 0xc8, 0x73, 0x6d, 0xde, 0x80, 0xce, 0xeb, 0xef, 0x38, 0x8c, | ||
1553 | 0xfc, 0x8f, 0xaf, 0x64, 0xbc, 0xdb, 0xf5, 0xd7, 0x4b, 0xdb, 0x1a, 0xe6, | ||
1554 | 0x55, 0xf3, 0xe0, 0xab, 0xdc, 0x83, 0x69, 0x75, 0x38, 0x64, 0x59, 0x29, | ||
1555 | 0xef, 0x71, 0xa7, 0xdd, 0x21, 0xcc, 0xc5, 0x6e, 0x9f, 0xb2, 0xed, 0xbf, | ||
1556 | 0xa3, 0x6e, 0x4a, 0x6e, 0xf4, 0x07, 0x91, 0x37, 0x8d, 0xbc, 0xc3, 0x36, | ||
1557 | 0x6f, 0xd0, 0xe6, 0x6d, 0x43, 0xde, 0x3e, 0xe0, 0xef, 0x6e, 0x9d, 0x9e, | ||
1558 | 0xe5, 0x6f, 0x53, 0xc7, 0x5b, 0xd9, 0x71, 0xe1, 0x33, 0x37, 0xf8, 0x84, | ||
1559 | 0x0b, 0x79, 0x25, 0xae, 0x8b, 0xde, 0x26, 0x79, 0x2f, 0x79, 0x0b, 0x7b, | ||
1560 | 0xfd, 0x66, 0xb1, 0x0e, 0xb2, 0x89, 0x7b, 0x80, 0x69, 0xb3, 0x6e, 0xf1, | ||
1561 | 0x5e, 0x96, 0xff, 0x40, 0xba, 0xeb, 0xc9, 0x38, 0x5f, 0x5b, 0xc9, 0xb8, | ||
1562 | 0xd8, 0x88, 0x4f, 0xfb, 0x3a, 0x90, 0x9c, 0x5e, 0x3f, 0xa1, 0x7f, 0x5b, | ||
1563 | 0x44, 0x3a, 0xe9, 0x41, 0x35, 0x45, 0xf4, 0x3e, 0x2d, 0x7e, 0x47, 0x61, | ||
1564 | 0xf7, 0x06, 0x42, 0x9f, 0x8f, 0x36, 0x5d, 0xc6, 0xe3, 0xda, 0x50, 0x98, | ||
1565 | 0xe7, 0x21, 0x4f, 0x6d, 0x8a, 0xc0, 0x26, 0xaa, 0xf5, 0x1d, 0x1d, 0xa3, | ||
1566 | 0x2e, 0xe8, 0x75, 0x00, 0xc6, 0xdf, 0x32, 0xf0, 0x63, 0x02, 0xe9, 0x47, | ||
1567 | 0xdf, 0xa4, 0xfd, 0x68, 0x87, 0xef, 0x1d, 0x10, 0xee, 0x67, 0x65, 0x7a, | ||
1568 | 0xbb, 0xf7, 0x6d, 0x99, 0xa7, 0xf3, 0x19, 0x49, 0x66, 0x94, 0x03, 0xff, | ||
1569 | 0x75, 0xab, 0x23, 0xf5, 0xb0, 0x3d, 0x6e, 0x30, 0xfa, 0xcd, 0xe3, 0x9e, | ||
1570 | 0xc4, 0x8b, 0xda, 0x56, 0x6b, 0xb4, 0xf3, 0x91, 0x05, 0x6e, 0xb8, 0x1f, | ||
1571 | 0x7c, 0xe0, 0x9e, 0xdd, 0x7e, 0x21, 0x09, 0x6a, 0xd4, 0xba, 0x71, 0x18, | ||
1572 | 0xb4, 0x91, 0x4d, 0x19, 0xdd, 0x78, 0xc3, 0x9c, 0x6e, 0xfc, 0xf3, 0x95, | ||
1573 | 0xe4, 0x89, 0xe1, 0x72, 0x1c, 0x75, 0xf5, 0x3a, 0x4a, 0x82, 0x75, 0x6b, | ||
1574 | 0x31, 0x9f, 0xe7, 0xfd, 0xec, 0x35, 0xa0, 0x2f, 0xc8, 0xe1, 0x64, 0xe7, | ||
1575 | 0x29, 0xd4, 0x2d, 0xa0, 0xee, 0xe4, 0x5c, 0x5d, 0x47, 0x46, 0x7c, 0xbd, | ||
1576 | 0xef, 0x59, 0x26, 0xcb, 0x21, 0x1d, 0x26, 0xe3, 0xb7, 0x6a, 0x5e, 0xe0, | ||
1577 | 0x7e, 0x30, 0x37, 0x71, 0x9f, 0x6c, 0xd6, 0xb4, 0xdd, 0x27, 0xdc, 0x27, | ||
1578 | 0xc5, 0xb6, 0xef, 0x0b, 0xda, 0xd6, 0x10, 0xbe, 0x12, 0xde, 0xa4, 0x8d, | ||
1579 | 0x31, 0xbc, 0xc3, 0xf9, 0x37, 0xf3, 0x3e, 0xe4, 0x10, 0xdf, 0xbf, 0x1f, | ||
1580 | 0xe4, 0x07, 0x39, 0x2f, 0xfc, 0x9e, 0xa7, 0xb9, 0x11, 0xd0, 0x5c, 0xc4, | ||
1581 | 0x7f, 0xbb, 0x0c, 0xeb, 0x3d, 0x10, 0x29, 0x99, 0xd0, 0xf1, 0xcc, 0x0b, | ||
1582 | 0xc1, 0x23, 0x0b, 0xe4, 0xf8, 0x47, 0x94, 0xa1, 0x21, 0xfe, 0x2e, 0x24, | ||
1583 | 0xea, 0x64, 0x66, 0x4d, 0x9d, 0xde, 0xf1, 0x41, 0x7c, 0x8c, 0xde, 0x73, | ||
1584 | 0x3b, 0xf8, 0xf5, 0xfa, 0xb9, 0xb1, 0x00, 0xdf, 0xc0, 0xe3, 0x4e, 0x63, | ||
1585 | 0xeb, 0x63, 0x1c, 0x19, 0xed, 0xbf, 0x67, 0x8b, 0x4a, 0xef, 0x0b, 0xa2, | ||
1586 | 0x8e, 0x3f, 0x00, 0x9d, 0x6a, 0xf6, 0xa4, 0xe0, 0x5d, 0xe1, 0xbc, 0x29, | ||
1587 | 0xed, 0x73, 0x1c, 0x04, 0x0f, 0x1f, 0xf4, 0xb3, 0x6b, 0x6a, 0x75, 0xdb, | ||
1588 | 0x49, 0xef, 0x7a, 0x6d, 0x13, 0x6e, 0x94, 0x99, 0x14, 0xdb, 0x23, 0x5e, | ||
1589 | 0xfe, 0x47, 0x30, 0xe4, 0xcd, 0xa0, 0x7f, 0x43, 0xff, 0x59, 0x5f, 0xb5, | ||
1590 | 0xd4, 0x49, 0xf5, 0x3e, 0x53, 0xe2, 0xc9, 0x85, 0xbd, 0xd2, 0x01, 0xfc, | ||
1591 | 0x18, 0x78, 0x73, 0xe5, 0xb7, 0x49, 0x21, 0xe6, 0xda, 0xb1, 0x45, 0xb4, | ||
1592 | 0x2f, 0x37, 0x91, 0xaa, 0x83, 0x2d, 0xf8, 0x17, 0xc1, 0xe4, 0x82, 0x31, | ||
1593 | 0x1e, 0xac, 0x1a, 0xe3, 0x4c, 0x02, 0xd8, 0x68, 0x89, 0xcc, 0xc9, 0x01, | ||
1594 | 0xf6, 0x65, 0x64, 0x52, 0x38, 0xc6, 0x3a, 0x8c, 0x71, 0xc7, 0xdc, 0x18, | ||
1595 | 0x0f, 0x2f, 0x1a, 0xe3, 0x61, 0x8c, 0x11, 0xf6, 0x42, 0x29, 0xd3, 0xe9, | ||
1596 | 0xce, 0xcf, 0xfb, 0xd5, 0x35, 0x73, 0xf3, 0x29, 0xdc, 0xeb, 0x84, 0xf1, | ||
1597 | 0xd3, 0xa6, 0xd8, 0x08, 0x78, 0x74, 0x5b, 0x90, 0x71, 0x0e, 0x64, 0x5b, | ||
1598 | 0x76, 0x4d, 0x8d, 0x1d, 0xff, 0x76, 0x96, 0x2b, 0x1b, 0x1c, 0x9c, 0x4c, | ||
1599 | 0xb9, 0x9d, 0x8f, 0xa0, 0xbf, 0xbd, 0x76, 0x5c, 0xbd, 0xe5, 0xab, 0x31, | ||
1600 | 0xae, 0x0b, 0xdf, 0xc1, 0x18, 0xe0, 0xb3, 0x9d, 0xa0, 0x0f, 0x9c, 0x18, | ||
1601 | 0x92, 0x05, 0xb2, 0xeb, 0x33, 0xf3, 0x72, 0xd4, 0xc0, 0x4c, 0xdb, 0xba, | ||
1602 | 0x30, 0x07, 0xf3, 0xdd, 0x8b, 0x60, 0xbe, 0x1b, 0x30, 0xef, 0xb3, 0xf3, | ||
1603 | 0xb2, 0xaf, 0x6a, 0xcf, 0x62, 0x48, 0x47, 0xfc, 0xfd, 0xbc, 0xf5, 0x45, | ||
1604 | 0x3e, 0x20, 0xf7, 0x97, 0x3a, 0xe5, 0xcb, 0x95, 0xe4, 0x59, 0xc6, 0xd1, | ||
1605 | 0xcf, 0x55, 0x92, 0xe3, 0x22, 0x5d, 0xf2, 0xc7, 0xb0, 0x73, 0xae, 0x82, | ||
1606 | 0x6f, 0xf1, 0x34, 0xfc, 0xd7, 0x3f, 0xa9, 0xf8, 0xf2, 0xc4, 0xdc, 0x7e, | ||
1607 | 0x38, 0xea, 0xba, 0xb4, 0x9c, 0x84, 0x4f, 0xbb, 0xed, 0x68, 0x1b, 0xf7, | ||
1608 | 0x2a, 0x11, 0xbe, 0xbb, 0xa8, 0x73, 0xda, 0x94, 0xe6, 0xc5, 0xef, 0x62, | ||
1609 | 0xbc, 0xa7, 0xa9, 0x6b, 0xd6, 0xfa, 0xbe, 0x77, 0xb3, 0x5a, 0x47, 0x99, | ||
1610 | 0x90, 0xff, 0x5a, 0xe4, 0x03, 0xf5, 0x26, 0xc6, 0x92, 0xf1, 0x9a, 0xc9, | ||
1611 | 0x1b, 0xdb, 0x3a, 0x12, 0x7d, 0x42, 0x5b, 0x82, 0xfe, 0x36, 0x6c, 0xa1, | ||
1612 | 0xd2, 0xe6, 0xf8, 0x5a, 0xa1, 0x4c, 0xa2, 0x5d, 0x94, 0x96, 0x09, 0xc0, | ||
1613 | 0x3e, 0x06, 0x89, 0x50, 0x68, 0xf6, 0x47, 0x7b, 0xd5, 0x44, 0x03, 0x79, | ||
1614 | 0x70, 0xdb, 0x19, 0xd0, 0xd7, 0x36, 0x8c, 0xa9, 0x2b, 0x79, 0x76, 0x46, | ||
1615 | 0x65, 0x4e, 0xac, 0x95, 0x57, 0x82, 0xa1, 0x66, 0x47, 0x9e, 0xd8, 0xc4, | ||
1616 | 0x3c, 0x2d, 0xb7, 0x3f, 0xd5, 0x0b, 0xf9, 0xd4, 0xce, 0x73, 0x0b, 0x03, | ||
1617 | 0xf2, 0x2f, 0x77, 0x80, 0x06, 0x7f, 0xb8, 0xe9, 0x6b, 0xc1, 0x6c, 0xb3, | ||
1618 | 0x2b, 0x5b, 0x37, 0x25, 0xbd, 0xbc, 0xc2, 0x78, 0x4a, 0x18, 0x4f, 0x09, | ||
1619 | 0xe3, 0xe3, 0x98, 0x4b, 0x18, 0xd7, 0x15, 0xf7, 0x4a, 0xf5, 0x2c, 0x88, | ||
1620 | 0xcb, 0x1a, 0x3f, 0x2d, 0x93, 0x77, 0x65, 0x83, 0xdd, 0x2b, 0x35, 0x5c, | ||
1621 | 0x1f, 0xae, 0xb1, 0x65, 0x64, 0x3c, 0x28, 0xf8, 0x7f, 0x70, 0x55, 0xb6, | ||
1622 | 0x2b, 0xb6, 0x58, 0xe7, 0xdc, 0x35, 0xaf, 0x73, 0x44, 0x9e, 0x33, 0xf3, | ||
1623 | 0x86, 0x39, 0xf3, 0xbd, 0x49, 0x6e, 0x86, 0x87, 0x0e, 0xdc, 0xaa, 0xf7, | ||
1624 | 0x3c, 0x77, 0xe0, 0x9b, 0x36, 0xd5, 0xa7, 0xf5, 0x3a, 0xe2, 0x4c, 0xf9, | ||
1625 | 0x1e, 0x3b, 0x77, 0xf7, 0x68, 0x3d, 0xbb, 0x75, 0xd3, 0xa5, 0x80, 0xfb, | ||
1626 | 0xdc, 0xbc, 0x4d, 0xcb, 0xc5, 0x22, 0x68, 0xef, 0xd5, 0x69, 0xde, 0xe7, | ||
1627 | 0x7a, 0x76, 0x41, 0x9f, 0x13, 0x01, 0xde, 0xe6, 0xe2, 0x62, 0xf5, 0x48, | ||
1628 | 0xa3, 0xbe, 0xf8, 0x69, 0x83, 0x59, 0x47, 0xa5, 0x6c, 0x58, 0x83, 0x34, | ||
1629 | 0xd7, 0xec, 0x05, 0x5e, 0x90, 0xf7, 0xdf, 0xea, 0xcd, 0x9e, 0x8f, 0xea, | ||
1630 | 0xb2, 0xe0, 0x31, 0xbd, 0x2f, 0x84, 0xfb, 0x03, 0x7f, 0x79, 0xa5, 0xb1, | ||
1631 | 0x4d, 0xc3, 0x7c, 0xa6, 0xff, 0x38, 0x98, 0xd0, 0x31, 0x36, 0xf6, 0xf5, | ||
1632 | 0x43, 0xfc, 0x5e, 0xbc, 0x5f, 0x24, 0xb4, 0x5d, 0xeb, 0x40, 0xf7, 0xda, | ||
1633 | 0x5f, 0x16, 0x94, 0x89, 0xe7, 0x25, 0x22, 0x13, 0x55, 0x30, 0x4e, 0x10, | ||
1634 | 0xee, 0x52, 0xd7, 0xaa, 0xf9, 0xd8, 0xdd, 0x6a, 0xa4, 0x11, 0xc6, 0x75, | ||
1635 | 0x8b, 0xf2, 0xc8, 0x1b, 0xad, 0x2b, 0x49, 0x37, 0xd3, 0xc2, 0xb4, 0xf9, | ||
1636 | 0x31, 0xcd, 0x68, 0xfb, 0xb9, 0x6d, 0x95, 0xde, 0xfb, 0xc4, 0x35, 0x46, | ||
1637 | 0xc6, 0x08, 0x63, 0x26, 0xdf, 0xf5, 0xff, 0x56, 0xd7, 0x19, 0x9a, 0xab, | ||
1638 | 0xa3, 0xe7, 0x02, 0xf9, 0x6e, 0x55, 0x5e, 0x35, 0xdc, 0xd4, 0x5f, 0x43, | ||
1639 | 0x9d, 0x75, 0xd0, 0x89, 0x17, 0x53, 0xab, 0xc3, 0xbd, 0xf0, 0xb0, 0x21, | ||
1640 | 0xb2, 0xd7, 0xd4, 0x5a, 0x99, 0x3f, 0x81, 0x79, 0x7d, 0x26, 0x65, 0x78, | ||
1641 | 0x51, 0xf3, 0x61, 0xf1, 0x36, 0xf8, 0xeb, 0xa1, 0xde, 0xa0, 0x9c, 0x26, | ||
1642 | 0x6f, 0x22, 0xad, 0x42, 0x9f, 0xe0, 0xc2, 0xea, 0x99, 0xae, 0x57, 0x03, | ||
1643 | 0xee, 0xb3, 0x7c, 0x45, 0xdb, 0x51, 0x43, 0xb2, 0xb0, 0xed, 0xd1, 0x7b, | ||
1644 | 0x5e, 0xbf, 0xed, 0xa1, 0x65, 0xda, 0x1e, 0xb2, 0x6d, 0x8b, 0x6b, 0xda, | ||
1645 | 0x8e, 0x5e, 0xa1, 0xed, 0x81, 0x37, 0x68, 0x7b, 0x70, 0x99, 0xb6, 0x07, | ||
1646 | 0xc3, 0xb6, 0x95, 0x69, 0xdb, 0x0b, 0xdb, 0x4e, 0x2c, 0xc2, 0xc9, 0x67, | ||
1647 | 0x5e, 0xbf, 0xed, 0x7d, 0xcb, 0xb4, 0xbd, 0x6f, 0x11, 0xdc, 0xc4, 0x49, | ||
1648 | 0x2d, 0x74, 0xff, 0x3d, 0xda, 0xe6, 0xac, 0x03, 0xdf, 0x5c, 0x84, 0xfc, | ||
1649 | 0x36, 0xfe, 0xc8, 0x85, 0xbb, 0x66, 0xcb, 0xe0, 0x2b, 0xf8, 0xd7, 0x99, | ||
1650 | 0x72, 0x03, 0x9e, 0x71, 0xd8, 0x33, 0x28, 0x07, 0x7b, 0xbc, 0x26, 0x1d, | ||
1651 | 0xc8, 0xc9, 0x6e, 0x96, 0xcd, 0xc7, 0x6b, 0xe7, 0xf4, 0xc6, 0x3d, 0xe8, | ||
1652 | 0x8f, 0x6d, 0xfb, 0x5e, 0xbf, 0xbc, 0xa6, 0xfb, 0xcb, 0x95, 0xe9, 0x8f, | ||
1653 | 0x21, 0xbd, 0x42, 0x1f, 0x97, 0xf5, 0x42, 0x19, 0x58, 0x67, 0xd7, 0x3e, | ||
1654 | 0x68, 0x6b, 0x32, 0x0e, 0xa7, 0xed, 0x51, 0x29, 0x94, 0x7f, 0x12, 0x4c, | ||
1655 | 0x83, 0x2e, 0x46, 0xe6, 0x74, 0xc8, 0x93, 0xab, 0x68, 0xb3, 0x8f, 0x53, | ||
1656 | 0xb3, 0x54, 0xc5, 0xa0, 0x46, 0x7c, 0xa6, 0xfd, 0x98, 0x6d, 0xc2, 0x0e, | ||
1657 | 0x0c, 0xcb, 0x32, 0x6e, 0x6c, 0x62, 0x4e, 0x67, 0x21, 0x33, 0xcd, 0x9e, | ||
1658 | 0x0e, 0xfa, 0x2a, 0x4f, 0x81, 0x97, 0xf7, 0x43, 0x76, 0x24, 0xf3, 0x22, | ||
1659 | 0x3d, 0x8d, 0xe6, 0xac, 0x45, 0x4c, 0x72, 0x5d, 0xbf, 0x69, 0xf1, 0xb8, | ||
1660 | 0xef, 0xce, 0xe5, 0xcf, 0x59, 0x40, 0x3e, 0x38, 0x94, 0x91, 0xd7, 0x37, | ||
1661 | 0x9a, 0x75, 0xbb, 0xb7, 0x36, 0x32, 0x1e, 0xa3, 0x36, 0x75, 0xaf, 0xd6, | ||
1662 | 0xf2, 0xc7, 0x09, 0xbf, 0xbf, 0xb2, 0xe8, 0x3b, 0xac, 0xf7, 0x93, 0xd5, | ||
1663 | 0x0b, 0xeb, 0x85, 0xe9, 0x70, 0x4d, 0x16, 0xa4, 0x1f, 0x58, 0xb3, 0xb0, | ||
1664 | 0x7e, 0xac, 0x69, 0xe1, 0xf7, 0xe0, 0xa2, 0xef, 0xcf, 0x2c, 0xfa, 0x7e, | ||
1665 | 0x61, 0xd1, 0xf7, 0x75, 0x6b, 0x17, 0x95, 0x5f, 0xf4, 0xfd, 0xe5, 0xb5, | ||
1666 | 0xcb, 0xc3, 0xfb, 0x57, 0x6b, 0x17, 0xc2, 0xf5, 0x94, 0x5e, 0x73, 0x1d, | ||
1667 | 0xaf, 0xb8, 0xb2, 0xbd, 0x88, 0x7c, 0xe7, 0xd6, 0x18, 0xf2, 0xe1, 0xcb, | ||
1668 | 0x54, 0xe7, 0x73, 0x8d, 0xe3, 0x1d, 0xb1, 0x85, 0xed, 0xcd, 0xd7, 0xdb, | ||
1669 | 0x31, 0x5f, 0x2f, 0x35, 0x5f, 0xcf, 0xf8, 0x23, 0x13, 0x15, 0xe6, 0x31, | ||
1670 | 0x3d, 0x6c, 0xd7, 0xd4, 0x1d, 0x29, 0x79, 0xfa, 0x3c, 0xc2, 0x80, 0x3e, | ||
1671 | 0x8f, 0x90, 0x80, 0x6f, 0xf4, 0x94, 0x8e, 0xeb, 0xaf, 0x51, 0x48, 0xaf, | ||
1672 | 0x34, 0xea, 0xd8, 0xbe, 0xe8, 0x33, 0x09, 0x03, 0xb0, 0xb9, 0x78, 0x0e, | ||
1673 | 0x21, 0x90, 0x9d, 0x29, 0xf3, 0x36, 0xe7, 0x12, 0x0e, 0x07, 0xbd, 0x5e, | ||
1674 | 0x10, 0x0c, 0xfb, 0x67, 0xad, 0x2c, 0xc7, 0xbb, 0x62, 0xea, 0xd0, 0xd7, | ||
1675 | 0x7c, 0x14, 0xfa, 0x66, 0xde, 0xc7, 0x7c, 0x8a, 0xf6, 0x3a, 0x68, 0xa6, | ||
1676 | 0x1b, 0x7a, 0x37, 0xf9, 0xa4, 0x68, 0xdd, 0xd1, 0x05, 0x9d, 0xeb, 0xdd, | ||
1677 | 0xfb, 0x3e, 0xd8, 0x3a, 0x5f, 0x06, 0xad, 0x1f, 0x4b, 0xf5, 0x68, 0xff, | ||
1678 | 0xff, 0x1c, 0x74, 0x31, 0xe3, 0x84, 0x8f, 0x69, 0xda, 0x22, 0x8d, 0x35, | ||
1679 | 0xe8, 0xb3, 0x50, 0x27, 0x53, 0x4e, 0x34, 0xdb, 0x75, 0xde, 0xc4, 0xcd, | ||
1680 | 0x53, 0xed, 0xde, 0x73, 0xe0, 0xb5, 0x7e, 0x7f, 0x03, 0x6c, 0x66, 0xd1, | ||
1681 | 0x3a, 0xbf, 0x50, 0x5a, 0x6f, 0x6d, 0x83, 0x66, 0x19, 0x77, 0xb9, 0x56, | ||
1682 | 0x93, 0xec, 0x19, 0x32, 0x3e, 0x66, 0x3c, 0xa1, 0x18, 0x23, 0xe6, 0xfa, | ||
1683 | 0x05, 0xcf, 0x39, 0x70, 0x9d, 0x9b, 0xf1, 0x90, 0xf1, 0x7b, 0x47, 0xfc, | ||
1684 | 0xbc, 0x17, 0xb1, 0x67, 0x23, 0xb2, 0x45, 0x43, 0x9b, 0x7b, 0xb4, 0xad, | ||
1685 | 0x1a, 0x05, 0x3f, 0x7d, 0x0f, 0x74, 0xcf, 0xba, 0xa4, 0xfd, 0xef, 0x04, | ||
1686 | 0x93, 0xae, 0x89, 0x4f, 0x29, 0xd4, 0xcb, 0x6a, 0x5c, 0x3d, 0x25, 0x07, | ||
1687 | 0x4a, 0xe4, 0xff, 0xa8, 0x96, 0xe5, 0xbb, 0x53, 0x94, 0x07, 0x51, 0xe0, | ||
1688 | 0x71, 0x0a, 0xf8, 0x6b, 0x90, 0xdd, 0x5d, 0x45, 0x94, 0x89, 0xc8, 0xd0, | ||
1689 | 0x40, 0x03, 0x78, 0x8f, 0x76, 0x09, 0xdf, 0x2e, 0xca, 0x7b, 0x32, 0x55, | ||
1690 | 0x1c, 0xd7, 0x7b, 0x9e, 0x1f, 0x43, 0xdd, 0xc7, 0xf1, 0x4c, 0x14, 0xcb, | ||
1691 | 0xa8, 0xf3, 0xb0, 0x2e, 0x3f, 0x31, 0xca, 0x73, 0x22, 0x02, 0x7b, 0xff, | ||
1692 | 0x49, 0x29, 0x4c, 0xb6, 0xc1, 0x2f, 0x99, 0x1e, 0x77, 0xe7, 0xe2, 0xe4, | ||
1693 | 0xff, 0xa5, 0x91, 0xeb, 0xcc, 0x85, 0xeb, 0xb8, 0x27, 0x47, 0xdc, 0x81, | ||
1694 | 0xcd, 0xaa, 0xb3, 0x49, 0xaf, 0xf9, 0xf4, 0x48, 0x3f, 0x6c, 0x8a, 0x9b, | ||
1695 | 0x2b, 0xcf, 0xc4, 0xcc, 0xda, 0xc0, 0x82, 0xf5, 0x86, 0xc3, 0xc4, 0x8a, | ||
1696 | 0x3a, 0xea, 0xf2, 0xdc, 0xa7, 0x4c, 0x9c, 0x81, 0xf6, 0x39, 0x1a, 0xae, | ||
1697 | 0xe7, 0x30, 0xcd, 0x93, 0xb6, 0xeb, 0x00, 0xd7, 0x99, 0x7f, 0xd2, 0xf2, | ||
1698 | 0xf5, 0x89, 0x4d, 0x61, 0x5f, 0xf9, 0x60, 0x6c, 0x53, 0x5e, 0x3e, 0x81, | ||
1699 | 0x27, 0x77, 0x5d, 0x72, 0x34, 0xab, 0xd8, 0xef, 0x37, 0x02, 0xc6, 0x02, | ||
1700 | 0x54, 0xba, 0x55, 0xf2, 0x4d, 0xd5, 0xfd, 0x33, 0xad, 0xc3, 0x2b, 0xa8, | ||
1701 | 0xd7, 0x83, 0x63, 0x26, 0x11, 0x03, 0x0e, 0xf2, 0x6f, 0x08, 0xcf, 0x16, | ||
1702 | 0xcf, 0x57, 0xcb, 0xc1, 0x73, 0xc2, 0xae, 0xd7, 0x70, 0x0d, 0x66, 0x05, | ||
1703 | 0xf0, 0xd2, 0x80, 0xf4, 0x09, 0x19, 0x39, 0xfe, 0x3b, 0x31, 0xee, 0x17, | ||
1704 | 0xaa, 0xd1, 0x7e, 0xf5, 0x7d, 0xf5, 0x26, 0x06, 0xf2, 0x2c, 0xca, 0x30, | ||
1705 | 0x7f, 0x1c, 0x75, 0x92, 0xf9, 0x6c, 0x64, 0xad, 0x0c, 0xe9, 0x7e, 0x83, | ||
1706 | 0x48, 0xdb, 0xb6, 0x7a, 0xbd, 0x4f, 0x5f, 0xce, 0x30, 0x6e, 0x11, 0xd6, | ||
1707 | 0x7d, 0x56, 0xef, 0x83, 0x73, 0xd3, 0xc9, 0x7c, 0x5f, 0x84, 0xf2, 0xa9, | ||
1708 | 0x53, 0x7a, 0xb9, 0xce, 0x73, 0x66, 0x5c, 0xd3, 0x76, 0xfb, 0x26, 0x9e, | ||
1709 | 0x07, 0xdd, 0x02, 0xfb, 0xef, 0x3b, 0x80, 0x89, 0x30, 0x9e, 0x40, 0x3a, | ||
1710 | 0x7c, 0xc2, 0xd7, 0x85, 0x61, 0xfa, 0x4d, 0xc2, 0x30, 0xfd, 0x26, 0x61, | ||
1711 | 0x20, 0x2e, 0x00, 0x47, 0xa5, 0x7d, 0x75, 0x68, 0x53, 0x5c, 0x85, 0x71, | ||
1712 | 0x1c, 0x2c, 0x4d, 0xc3, 0xbf, 0xd5, 0x31, 0x94, 0xce, 0x69, 0x45, 0x9e, | ||
1713 | 0xf7, 0xc0, 0x73, 0xe0, 0xad, 0x12, 0x78, 0x0f, 0xb6, 0xe1, 0x97, 0x61, | ||
1714 | 0x1b, 0x3e, 0x01, 0xdb, 0xf0, 0x1c, 0x6c, 0xc3, 0xc7, 0x31, 0x37, 0x8f, | ||
1715 | 0x2d, 0xe0, 0xd5, 0x8c, 0xe6, 0xd5, 0x42, 0xe9, 0x02, 0x78, 0xb5, 0xeb, | ||
1716 | 0x0a, 0xfc, 0xe8, 0xc2, 0xc6, 0xa7, 0x0d, 0xed, 0xc0, 0x96, 0xff, 0xb8, | ||
1717 | 0xf6, 0x8b, 0x1f, 0x4c, 0x8d, 0xb1, 0x0e, 0x68, 0x38, 0x49, 0x9f, 0x16, | ||
1718 | 0xf2, 0x3f, 0x99, 0x07, 0xef, 0x61, 0xac, 0x8e, 0xa3, 0xae, 0x5b, 0x23, | ||
1719 | 0xd4, 0x1f, 0xee, 0x36, 0xee, 0xef, 0xe6, 0x58, 0x13, 0x8b, 0xf0, 0x64, | ||
1720 | 0xf8, 0x73, 0x8f, 0x4f, 0x3d, 0x42, 0xbe, 0x4c, 0x7c, 0x76, 0xc4, 0xaf, | ||
1721 | 0xe6, 0xc5, 0x1d, 0x1c, 0x5f, 0xe0, 0x6d, 0x5a, 0xae, 0xee, 0x7c, 0xf9, | ||
1722 | 0x35, 0x73, 0xe5, 0x75, 0xff, 0xa3, 0xe4, 0x37, 0xe8, 0x6e, 0xe2, 0x3e, | ||
1723 | 0x91, 0x8d, 0x6c, 0xb0, 0xb8, 0xdf, 0x2f, 0x6d, 0xdb, 0x60, 0xaf, 0x0f, | ||
1724 | 0x82, 0x7e, 0xa7, 0x02, 0xf1, 0xb7, 0x85, 0x6d, 0xce, 0xb7, 0xe3, 0xd9, | ||
1725 | 0x76, 0x76, 0xc3, 0x96, 0xed, 0xdb, 0xc4, 0xb5, 0x5e, 0xd8, 0xf2, 0xa9, | ||
1726 | 0x70, 0x3e, 0x60, 0xf9, 0xea, 0x39, 0xa7, 0x0c, 0xa5, 0xec, 0x6c, 0xb0, | ||
1727 | 0xf1, 0x7e, 0xb6, 0x77, 0x61, 0xd1, 0x3c, 0x5d, 0x0a, 0x78, 0xce, 0x76, | ||
1728 | 0xc4, 0x1f, 0xab, 0xa2, 0x95, 0xbf, 0xb2, 0xb4, 0xa2, 0x16, 0x8d, 0xe3, | ||
1729 | 0x9c, 0xa5, 0x95, 0x10, 0xde, 0x58, 0x48, 0x2b, 0x75, 0x21, 0xad, 0xe4, | ||
1730 | 0xc7, 0x43, 0x5a, 0x61, 0xdd, 0x73, 0x21, 0xad, 0x24, 0xaa, 0x69, 0x25, | ||
1731 | 0x3f, 0xee, 0xe0, 0x59, 0x0c, 0x07, 0xe9, 0x85, 0xed, 0x90, 0x5e, 0x00, | ||
1732 | 0x4b, 0xa5, 0x32, 0x47, 0x2f, 0x31, 0xb4, 0x73, 0xa8, 0xa4, 0x34, 0xad, | ||
1733 | 0x0c, 0xa9, 0x50, 0x47, 0x78, 0x98, 0x73, 0xcc, 0xfd, 0x15, 0x69, 0x24, | ||
1734 | 0x65, 0x69, 0x64, 0xfe, 0x2c, 0xd1, 0x22, 0xda, 0x00, 0xee, 0x79, 0x5e, | ||
1735 | 0x60, 0xb3, 0xa6, 0x8d, 0xfb, 0x53, 0x2f, 0xa0, 0xec, 0x28, 0x68, 0x23, | ||
1736 | 0xc4, 0xc1, 0x03, 0x16, 0x07, 0x8b, 0xe7, 0xf2, 0xb4, 0xc5, 0xc1, 0xa8, | ||
1737 | 0xc5, 0x81, 0xe6, 0x97, 0x3c, 0xe7, 0x4c, 0x69, 0x1c, 0xd4, 0x69, 0x1c, | ||
1738 | 0x88, 0x0a, 0xeb, 0x9e, 0x5e, 0x06, 0x07, 0x2c, 0x33, 0xaa, 0xc7, 0x1f, | ||
1739 | 0xc1, 0xf8, 0xf7, 0x61, 0xfc, 0x4a, 0x8f, 0x9f, 0xf3, 0xc0, 0xf1, 0x03, | ||
1740 | 0x96, 0xca, 0x77, 0xe6, 0xc6, 0xdf, 0x84, 0x36, 0x0e, 0x6a, 0xdb, 0x99, | ||
1741 | 0xf1, 0x54, 0xea, 0x46, 0x33, 0xfe, 0xc7, 0x2a, 0xe6, 0x8c, 0xc9, 0x63, | ||
1742 | 0x4b, 0xf4, 0xd8, 0x0b, 0x96, 0x37, 0x7c, 0xbd, 0xce, 0xc6, 0x73, 0x6d, | ||
1743 | 0xe7, 0xa0, 0xbb, 0xc6, 0x52, 0x09, 0x7b, 0xe6, 0xd4, 0xd8, 0x43, 0x5f, | ||
1744 | 0x4d, 0x91, 0x77, 0x3e, 0xaa, 0xf7, 0xfa, 0x9d, 0xa5, 0x5d, 0x54, 0x6a, | ||
1745 | 0x92, 0xbe, 0xb1, 0x6a, 0xb8, 0x09, 0x6f, 0x3e, 0x50, 0x3e, 0x63, 0x37, | ||
1746 | 0xfb, 0xa1, 0x3b, 0x4c, 0xdc, 0x1a, 0xb4, 0x84, 0xf4, 0x64, 0xbe, 0x37, | ||
1747 | 0x52, 0x27, 0xea, 0x81, 0x0f, 0x60, 0xcc, 0x2e, 0x7c, 0xcc, 0x76, 0x6f, | ||
1748 | 0x9b, 0xa2, 0xae, 0xbb, 0xba, 0x4a, 0xd7, 0x35, 0x5b, 0x5d, 0xb7, 0x86, | ||
1749 | 0xba, 0x0e, 0x70, 0x3f, 0x25, 0x87, 0x4b, 0x9c, 0xbf, 0x7c, 0xa2, 0x4e, | ||
1750 | 0xc7, 0x40, 0x1d, 0x1b, 0xe7, 0x4b, 0xc6, 0x0f, 0x6b, 0x5a, 0xa6, 0xce, | ||
1751 | 0x4a, 0xea, 0xb8, 0xe4, 0x4c, 0xd7, 0x3f, 0xd9, 0x75, 0x10, 0xea, 0xb5, | ||
1752 | 0xef, 0x07, 0x7f, 0xb0, 0x8c, 0x5e, 0x83, 0xfe, 0xd1, 0xf6, 0x59, 0x0d, | ||
1753 | 0x64, 0xad, 0x9c, 0x6a, 0xc6, 0xb3, 0x9a, 0xe7, 0xc1, 0x3a, 0x3b, 0x54, | ||
1754 | 0xbd, 0xd4, 0x9c, 0x6a, 0x94, 0x3d, 0x63, 0x7a, 0xdd, 0x5c, 0xd4, 0x29, | ||
1755 | 0xe0, 0xff, 0x14, 0xcf, 0x14, 0x88, 0x3e, 0x03, 0x95, 0x1b, 0x85, 0x3f, | ||
1756 | 0x33, 0xf1, 0x94, 0xd9, 0x1b, 0x38, 0x56, 0xa3, 0x7f, 0xd3, 0xc6, 0x28, | ||
1757 | 0xa4, 0x32, 0xfa, 0xec, 0xd0, 0x1e, 0xb4, 0xd9, 0xbe, 0xa9, 0x16, 0x63, | ||
1758 | 0x8e, 0xa1, 0x2e, 0xf7, 0x16, 0xaa, 0x36, 0x57, 0x6a, 0xc5, 0x9d, 0x88, | ||
1759 | 0xea, 0xf3, 0x4b, 0x3c, 0x7f, 0x9f, 0xed, 0x69, 0x42, 0x5e, 0x44, 0xaf, | ||
1760 | 0x15, 0xd4, 0x9c, 0x9a, 0x3f, 0xa7, 0xae, 0x8e, 0x8a, 0x5d, 0xc3, 0x4f, | ||
1761 | 0x6b, 0xbd, 0x12, 0x39, 0x4a, 0x9d, 0xc3, 0xfd, 0x55, 0x3d, 0x98, 0xf7, | ||
1762 | 0xe5, 0xf4, 0x8d, 0x31, 0x62, 0xb3, 0x98, 0x3f, 0x75, 0x86, 0x67, 0x8d, | ||
1763 | 0x5b, 0xf1, 0x0e, 0xdb, 0x0b, 0xf5, 0x08, 0x74, 0xdf, 0xdb, 0x3f, 0xe1, | ||
1764 | 0x49, 0x3d, 0xf0, 0x3d, 0xa1, 0x80, 0x6b, 0x57, 0xd3, 0x42, 0x5e, 0x85, | ||
1765 | 0xb1, 0x69, 0x43, 0x0f, 0x8f, 0xbf, 0x21, 0x3f, 0x90, 0x26, 0x3a, 0x6d, | ||
1766 | 0x6c, 0xc1, 0xb7, 0x31, 0x7e, 0xd2, 0xb6, 0xa1, 0x87, 0x47, 0x53, 0x19, | ||
1767 | 0xc5, 0xbd, 0x51, 0x66, 0x1d, 0x94, 0xb4, 0x41, 0x9a, 0x4f, 0xe8, 0xf5, | ||
1768 | 0xd1, 0x8c, 0xbc, 0x2c, 0x99, 0xa6, 0x76, 0xd8, 0x5d, 0xff, 0xb6, 0x73, | ||
1769 | 0x6c, 0xee, 0x2e, 0xd0, 0x34, 0x07, 0xdd, 0xc4, 0x7d, 0xca, 0x9d, 0xf2, | ||
1770 | 0x5e, 0x9e, 0x57, 0x98, 0x70, 0xa0, 0x94, 0x9f, 0xd2, 0x7b, 0xbf, 0x77, | ||
1771 | 0x14, 0x57, 0xcb, 0xad, 0xa9, 0xa8, 0x5d, 0xe7, 0xac, 0x05, 0x1d, 0x40, | ||
1772 | 0x50, 0x9f, 0xaa, 0xc5, 0x13, 0x75, 0x38, 0x7f, 0x17, 0x53, 0x99, 0xa4, | ||
1773 | 0x22, 0xb3, 0xc3, 0xe7, 0x9f, 0x91, 0x2d, 0xde, 0x1e, 0x7d, 0xce, 0x4e, | ||
1774 | 0x9c, 0xba, 0x53, 0x7f, 0xe9, 0xd1, 0x06, 0x25, 0xfd, 0xcc, 0xf8, 0xb5, | ||
1775 | 0x7a, 0x5d, 0xab, 0x3f, 0x15, 0x04, 0x39, 0xcc, 0x5f, 0x41, 0x4c, 0xfc, | ||
1776 | 0x6c, 0xc2, 0x67, 0x1a, 0xfd, 0xda, 0x06, 0xa7, 0xf6, 0x4c, 0xa3, 0x63, | ||
1777 | 0x68, 0x45, 0x22, 0x2a, 0x5d, 0xef, 0xd4, 0x9c, 0xba, 0x93, 0x73, 0x06, | ||
1778 | 0xba, 0xf2, 0x1c, 0x43, 0x57, 0x31, 0x67, 0x9e, 0xae, 0xd6, 0xd9, 0xdf, | ||
1779 | 0x2a, 0x5d, 0x27, 0x99, 0x64, 0x1d, 0xc6, 0xdb, 0x5b, 0x0c, 0x61, 0x3c, | ||
1780 | 0x0c, 0xb8, 0x08, 0xcf, 0xdd, 0x18, 0xc3, 0x30, 0x9e, 0x3c, 0x60, 0x01, | ||
1781 | 0xb3, 0x9f, 0x2a, 0x00, 0xe6, 0x83, 0x78, 0x18, 0x27, 0x6b, 0x76, 0x22, | ||
1782 | 0x13, 0xd5, 0xf0, 0x12, 0xc6, 0x1f, 0x5b, 0x78, 0x5f, 0x0f, 0x56, 0x4f, | ||
1783 | 0x66, 0xba, 0x8b, 0x80, 0x87, 0x70, 0xde, 0x07, 0x18, 0x69, 0x97, 0x8e, | ||
1784 | 0xe2, 0xdb, 0x03, 0x7c, 0x63, 0x16, 0x26, 0xd0, 0xe3, 0xd8, 0x43, 0xf3, | ||
1785 | 0xbf, 0x8b, 0xb4, 0x93, 0x8f, 0xd9, 0xef, 0xd6, 0x45, 0x32, 0xe0, 0x15, | ||
1786 | 0x87, 0x78, 0x1e, 0x29, 0xbd, 0xe6, 0xc0, 0x0e, 0x00, 0xdf, 0xbf, 0xe4, | ||
1787 | 0x44, 0xce, 0xc4, 0xe5, 0x50, 0x91, 0x31, 0x84, 0xe3, 0x0e, 0xe7, 0x41, | ||
1788 | 0xf9, 0x57, 0xa1, 0x4c, 0x5c, 0xc9, 0xc4, 0xd5, 0x78, 0xde, 0x82, 0x67, | ||
1789 | 0x03, 0x9e, 0x8d, 0x78, 0xd6, 0xe3, 0x69, 0xc5, 0xf3, 0x2d, 0x94, 0x53, | ||
1790 | 0xb1, 0x3a, 0xe1, 0x7e, 0xd5, 0x16, 0xa5, 0x34, 0x1f, 0x71, 0xcf, 0xc2, | ||
1791 | 0x65, 0xc0, 0xe5, 0x2b, 0xd0, 0x3b, 0x1e, 0x9e, 0xf1, 0xf8, 0x3a, 0xfa, | ||
1792 | 0x98, 0xc5, 0xd3, 0xa9, 0xe4, 0x4c, 0x17, 0x9e, 0x14, 0x9e, 0x6e, 0x3c, | ||
1793 | 0x3d, 0x78, 0xd2, 0x78, 0x5e, 0x75, 0x0c, 0xcf, 0x5d, 0x02, 0xbe, 0x42, | ||
1794 | 0x1e, 0x01, 0xce, 0x17, 0xf0, 0x9c, 0xe7, 0xbc, 0x09, 0x9e, 0x73, 0x2c, | ||
1795 | 0xcf, 0x39, 0xf3, 0x3c, 0x57, 0xeb, 0xa8, 0x63, 0xf5, 0x4e, 0xe4, 0x18, | ||
1796 | 0x7d, 0x85, 0x5a, 0xc7, 0xf0, 0x7f, 0x44, 0x7a, 0x07, 0x41, 0x4b, 0xc7, | ||
1797 | 0x30, 0x67, 0xc7, 0x48, 0x57, 0x2e, 0xd2, 0xc7, 0x16, 0xf5, 0x3b, 0xfa, | ||
1798 | 0x26, 0xfa, 0x3d, 0x61, 0xfb, 0x7d, 0xb8, 0xaa, 0xdf, 0x83, 0x68, 0xfb, | ||
1799 | 0x3e, 0xdb, 0xef, 0xc1, 0xaa, 0x7e, 0x41, 0x2b, 0xc7, 0xf2, 0x78, 0x48, | ||
1800 | 0x17, 0x23, 0x48, 0x0f, 0x65, 0xc2, 0xdd, 0x6b, 0xa4, 0xbe, 0x46, 0x9f, | ||
1801 | 0x27, 0x8d, 0xf9, 0x35, 0x73, 0xba, 0x31, 0x53, 0xa5, 0x1f, 0x7e, 0x16, | ||
1802 | 0xfd, 0x38, 0x5c, 0xa2, 0x8d, 0x38, 0x5d, 0x25, 0x17, 0xe8, 0xfb, 0x04, | ||
1803 | 0x72, 0x5c, 0xfb, 0x39, 0xf4, 0x79, 0xe8, 0xff, 0x2c, 0xb6, 0xad, 0x3e, | ||
1804 | 0xae, 0xf7, 0xe7, 0xde, 0x55, 0x6c, 0x95, 0x4f, 0x14, 0x69, 0x13, 0x92, | ||
1805 | 0x5e, 0x82, 0x60, 0xcf, 0x36, 0xda, 0xa7, 0xf9, 0x60, 0x9d, 0x9f, 0xd4, | ||
1806 | 0xb1, 0xb5, 0x4f, 0x2e, 0xd5, 0x19, 0xa3, 0xbd, 0xf0, 0xcd, 0xb3, 0x47, | ||
1807 | 0x3f, 0x08, 0x9d, 0x51, 0x03, 0xb8, 0x9f, 0xd2, 0x77, 0x80, 0xec, 0x1a, | ||
1808 | 0x55, 0x23, 0x6b, 0x25, 0x2e, 0x37, 0x17, 0x6b, 0x61, 0xf7, 0x30, 0x56, | ||
1809 | 0x5e, 0x2f, 0xed, 0xdb, 0xa2, 0xe6, 0x6c, 0x8d, 0x17, 0xc3, 0x6f, 0xcf, | ||
1810 | 0x9c, 0xf5, 0x89, 0xc5, 0x91, 0x1f, 0x69, 0xa2, 0x1c, 0x8c, 0xf9, 0xef, | ||
1811 | 0xd4, 0xfb, 0x26, 0xdb, 0xb6, 0xd1, 0x6e, 0xb9, 0x41, 0xeb, 0x70, 0x77, | ||
1812 | 0x89, 0x9d, 0xa4, 0x5a, 0x3c, 0x99, 0xb7, 0xd1, 0x76, 0x17, 0x93, 0x09, | ||
1813 | 0xc2, 0xf5, 0x90, 0x70, 0x3f, 0xc1, 0x7e, 0x29, 0xa4, 0x1a, 0x25, 0x92, | ||
1814 | 0xe6, 0xba, 0x5c, 0xb2, 0x93, 0xb6, 0xd1, 0xc4, 0x98, 0x67, 0xcf, 0x9e, | ||
1815 | 0xac, 0x96, 0x0b, 0xba, 0x9f, 0x5a, 0x0d, 0xa3, 0x39, 0x8f, 0xc6, 0x35, | ||
1816 | 0x2f, 0x9e, 0x81, 0x72, 0xf1, 0x6e, 0xd0, 0x7a, 0x67, 0xa2, 0xcc, 0xb3, | ||
1817 | 0x4e, 0xf0, 0x97, 0xca, 0x31, 0x7d, 0xc6, 0xd4, 0x7b, 0x3b, 0xfc, 0xd8, | ||
1818 | 0xf2, 0x06, 0xd9, 0x3d, 0xb6, 0x82, 0xeb, 0x28, 0xb1, 0xb5, 0xd0, 0x1f, | ||
1819 | 0xac, 0xd3, 0xb6, 0x0d, 0xfe, 0xdf, 0xf8, 0x46, 0x79, 0x7c, 0x9c, 0x6d, | ||
1820 | 0xb7, 0xc8, 0xe4, 0x94, 0x38, 0xde, 0xdb, 0x57, 0xa2, 0x8c, 0xc7, 0xf1, | ||
1821 | 0x08, 0xf7, 0x3c, 0xb5, 0x6d, 0x13, 0xe5, 0xbd, 0xdd, 0x95, 0xf3, 0xdd, | ||
1822 | 0x11, 0xbd, 0x26, 0xe3, 0x82, 0x4e, 0xd8, 0xde, 0xf9, 0xee, 0x56, 0x39, | ||
1823 | 0x3b, 0x05, 0x9a, 0x80, 0xdc, 0xef, 0x3b, 0x45, 0x98, 0x44, 0xb6, 0x4f, | ||
1824 | 0xc0, 0x5e, 0x90, 0x76, 0x3c, 0xa0, 0x0f, 0xc8, 0xef, 0x5b, 0xbb, 0xd9, | ||
1825 | 0x17, 0xf4, 0x12, 0x74, 0x5c, 0xdb, 0x36, 0x23, 0x0b, 0x32, 0x13, 0x35, | ||
1826 | 0x48, 0x67, 0xbb, 0xf0, 0x0f, 0x07, 0xd9, 0x4e, 0x58, 0x57, 0x61, 0x4c, | ||
1827 | 0xb5, 0x9a, 0x5e, 0x66, 0x17, 0xe9, 0x8f, 0x73, 0x3f, 0x97, 0xfd, 0xcd, | ||
1828 | 0x36, 0x3a, 0x41, 0x2b, 0xbe, 0xde, 0xc3, 0x63, 0x6c, 0x2b, 0xce, 0x09, | ||
1829 | 0x6d, 0x22, 0xda, 0x55, 0xd7, 0x6a, 0xfb, 0x62, 0xb2, 0xc2, 0x19, 0xe4, | ||
1830 | 0xda, 0x48, 0x38, 0x47, 0x71, 0x39, 0x59, 0x9a, 0x9b, 0xa7, 0x0d, 0x35, | ||
1831 | 0x0b, 0xe7, 0x89, 0xb4, 0x92, 0x1a, 0xb2, 0xb6, 0xc7, 0x8c, 0x3c, 0x0f, | ||
1832 | 0xbb, 0xac, 0x53, 0xcf, 0xd9, 0x0c, 0x6c, 0x59, 0x3b, 0x67, 0xda, 0x9e, | ||
1833 | 0x2d, 0x84, 0x73, 0x36, 0x00, 0x8d, 0x53, 0xbe, 0x41, 0xcf, 0x99, 0x07, | ||
1834 | 0xba, 0xc9, 0x03, 0xef, 0x79, 0xcc, 0x53, 0x1e, 0x73, 0x94, 0x2f, 0xb7, | ||
1835 | 0xc8, 0xc4, 0x71, 0xd5, 0x5a, 0x23, 0x92, 0xd8, 0xed, 0xb7, 0xc8, 0xf0, | ||
1836 | 0x14, 0x63, 0x05, 0x1b, 0x60, 0x83, 0x6d, 0xc4, 0xd3, 0x8a, 0x6f, 0xd6, | ||
1837 | 0xe3, 0x1d, 0x1f, 0x0a, 0x75, 0xeb, 0x96, 0xd8, 0x59, 0x67, 0xd1, 0xf7, | ||
1838 | 0xd3, 0xc0, 0xc3, 0xa3, 0xc0, 0xc3, 0x3c, 0xef, 0xbc, 0x50, 0x15, 0x5f, | ||
1839 | 0xe2, 0x58, 0xb5, 0x0e, 0xc5, 0x78, 0x63, 0x7a, 0x3e, 0x75, 0x9c, 0xa9, | ||
1840 | 0x54, 0xfb, 0x66, 0xec, 0xa9, 0x38, 0xed, 0xa9, 0xdc, 0xa8, 0x67, 0xce, | ||
1841 | 0x60, 0x0d, 0xc0, 0x77, 0xf2, 0xf7, 0x69, 0x5a, 0x1f, 0x1a, 0x27, 0x5c, | ||
1842 | 0xd1, 0x10, 0xae, 0x05, 0x73, 0xc6, 0x33, 0xb3, 0x4b, 0xe3, 0x18, 0x2f, | ||
1843 | 0xcc, 0xed, 0x11, 0x87, 0x2e, 0x97, 0xd1, 0x14, 0xe3, 0x24, 0xad, 0xcb, | ||
1844 | 0xc0, 0xf4, 0x94, 0xb6, 0x61, 0x45, 0x9d, 0x96, 0x03, 0x25, 0x9e, 0xb7, | ||
1845 | 0xe5, 0x1a, 0xcc, 0xef, 0x31, 0x7e, 0xd4, 0x39, 0x21, 0xc7, 0xd0, 0x37, | ||
1846 | 0xd7, 0xc5, 0x95, 0x8d, 0xcf, 0xac, 0xb2, 0x7b, 0xf2, 0xaa, 0x63, 0x34, | ||
1847 | 0x66, 0xdd, 0x7c, 0xe1, 0xd9, 0x93, 0xe4, 0xc0, 0xac, 0x5e, 0x77, 0xe5, | ||
1848 | 0x9a, 0xa1, 0x8c, 0x46, 0xa0, 0xfd, 0x76, 0x77, 0x27, 0x7b, 0xcc, 0x59, | ||
1849 | 0xc3, 0x84, 0xf4, 0x97, 0xcc, 0xf8, 0x2f, 0xea, 0x7d, 0x93, 0x66, 0x7f, | ||
1850 | 0xb8, 0xd9, 0x53, 0xb9, 0x5f, 0x2e, 0xa6, 0xa2, 0x55, 0x73, 0x5b, 0x27, | ||
1851 | 0xc3, 0xc0, 0x85, 0x5e, 0xcb, 0x84, 0x5d, 0x9c, 0xeb, 0x7e, 0xbc, 0x89, | ||
1852 | 0x67, 0xd1, 0xa2, 0x98, 0x9f, 0xc2, 0x38, 0xcf, 0xa7, 0xb3, 0xdd, 0x2b, | ||
1853 | 0xb5, 0x45, 0x31, 0xcb, 0xb3, 0x4e, 0x90, 0x95, 0x6f, 0xdd, 0x12, 0xaf, | ||
1854 | 0xd7, 0xf9, 0x2b, 0xec, 0x99, 0x16, 0xd8, 0x0d, 0xbb, 0x02, 0xf9, 0x33, | ||
1855 | 0xe8, 0xc9, 0xd3, 0x76, 0x4c, 0x09, 0x1d, 0x93, 0x92, 0xe0, 0x7c, 0x2a, | ||
1856 | 0x6e, 0xe3, 0xce, 0x1c, 0xcb, 0x98, 0xa5, 0x6f, 0x63, 0xff, 0xcc, 0xdb, | ||
1857 | 0xd0, 0x5d, 0x9a, 0xd6, 0x1f, 0xd7, 0xb2, 0xb0, 0xcb, 0xda, 0xce, 0x3a, | ||
1858 | 0x8e, 0x73, 0x42, 0xf4, 0x1e, 0xac, 0xd0, 0x37, 0xea, 0xa8, 0xf2, 0x0b, | ||
1859 | 0x8c, 0x2f, 0x57, 0x18, 0x5b, 0x4e, 0x46, 0xcd, 0xfb, 0x84, 0xf4, 0xe5, | ||
1860 | 0xf6, 0x6c, 0xe2, 0xdd, 0x30, 0xa1, 0x2f, 0xd7, 0x65, 0x7d, 0xb9, 0x46, | ||
1861 | 0xed, 0xcb, 0x99, 0xd8, 0x43, 0xe3, 0x9c, 0x2f, 0x57, 0x18, 0xcb, 0x83, | ||
1862 | 0x56, 0x6a, 0xed, 0x59, 0x09, 0x63, 0x0b, 0x0d, 0x17, 0x5d, 0xbd, 0x6f, | ||
1863 | 0x24, 0x37, 0xa0, 0xe0, 0x37, 0x18, 0x1f, 0x8b, 0xb1, 0x0a, 0xa5, 0xfe, | ||
1864 | 0xce, 0xfa, 0x17, 0x1b, 0x24, 0xd3, 0xbc, 0x02, 0xe3, 0x7e, 0x4a, 0xcf, | ||
1865 | 0xb9, 0x59, 0xc3, 0x82, 0x5c, 0x1b, 0x64, 0xcc, 0x87, 0x67, 0x47, 0x35, | ||
1866 | 0x7f, 0x25, 0x7a, 0x23, 0x9d, 0xc6, 0x9e, 0xf5, 0x13, 0x6b, 0xa5, 0xfe, | ||
1867 | 0xb8, 0x53, 0x18, 0x8f, 0xda, 0x7e, 0x13, 0x80, 0xa9, 0x06, 0x73, 0xf3, | ||
1868 | 0x4e, 0x2b, 0x93, 0xd9, 0xf7, 0x3b, 0xea, 0x18, 0x1b, 0x98, 0x2a, 0x9a, | ||
1869 | 0x18, 0x60, 0x5f, 0x31, 0x12, 0x9e, 0x5b, 0x57, 0x5c, 0x47, 0xce, 0x0c, | ||
1870 | 0xae, 0x00, 0x2c, 0x2b, 0x96, 0xb5, 0x59, 0x1f, 0x7b, 0x43, 0x1d, 0x45, | ||
1871 | 0x9a, 0x7a, 0x4a, 0xef, 0x2f, 0x5c, 0xd9, 0x9d, 0xdc, 0xa9, 0xcf, 0x23, | ||
1872 | 0xe9, 0x58, 0x62, 0x5e, 0xb8, 0x7f, 0xf7, 0x9b, 0xf2, 0x36, 0x2d, 0xfb, | ||
1873 | 0x0f, 0xa4, 0xa8, 0xc7, 0xb6, 0xe9, 0xdf, 0xb5, 0xe9, 0x20, 0x38, 0xdf, | ||
1874 | 0xfd, 0x2c, 0x6c, 0x16, 0xdf, 0xfb, 0x96, 0xb4, 0xc7, 0x7b, 0xb5, 0x0d, | ||
1875 | 0x85, 0xb9, 0x1a, 0xac, 0x97, 0x15, 0xfe, 0xb8, 0xdd, 0xab, 0x68, 0xd6, | ||
1876 | 0x03, 0x0b, 0xc2, 0xfb, 0x17, 0x3a, 0x6c, 0x5e, 0x3e, 0xa8, 0x07, 0x3d, | ||
1877 | 0x7d, 0x44, 0x8c, 0xac, 0xc9, 0xcd, 0xcb, 0x1a, 0xee, 0xa7, 0xcb, 0x90, | ||
1878 | 0xa0, 0xdd, 0x23, 0x92, 0xe4, 0xdd, 0x49, 0xec, 0xbb, 0x20, 0x57, 0x41, | ||
1879 | 0x3f, 0xb3, 0x1e, 0x6d, 0x56, 0x7e, 0x73, 0x0f, 0x8a, 0xef, 0x1d, 0x84, | ||
1880 | 0x8e, 0xb9, 0x61, 0xa9, 0x8e, 0x89, 0xd3, 0xbf, 0xcf, 0x8d, 0xd2, 0x47, | ||
1881 | 0x5c, 0x89, 0x3a, 0x2d, 0xf2, 0xd1, 0xb1, 0xdf, 0x5a, 0x4b, 0x1e, 0x1b, | ||
1882 | 0x82, 0x7c, 0x57, 0xf7, 0x87, 0xe7, 0x2e, 0x99, 0xc6, 0x7c, 0xb6, 0x5b, | ||
1883 | 0x27, 0x89, 0xf7, 0x79, 0xf2, 0xc5, 0x4a, 0x32, 0x31, 0x0b, 0x1d, 0x35, | ||
1884 | 0xe4, 0x0c, 0xb7, 0x9a, 0xd8, 0xe9, 0xa7, 0xd6, 0x9a, 0x73, 0x5a, 0xf5, | ||
1885 | 0xc0, 0x69, 0x18, 0x4f, 0xad, 0xa6, 0xdd, 0x59, 0x2b, 0x97, 0x83, 0xa0, | ||
1886 | 0xbe, 0x5b, 0xcb, 0xe2, 0x9d, 0x94, 0xc5, 0x07, 0x52, 0x1d, 0x86, 0x07, | ||
1887 | 0xb4, 0xef, 0xc4, 0x3d, 0x00, 0xc0, 0x43, 0xb7, 0xcb, 0xbd, 0xd0, 0x96, | ||
1888 | 0x4f, 0xfd, 0xcc, 0x8c, 0x95, 0x4f, 0xca, 0x59, 0xca, 0x9f, 0x6a, 0x6b, | ||
1889 | 0x74, 0x81, 0xec, 0x3d, 0x34, 0x46, 0xbd, 0x9c, 0x9a, 0xfe, 0x26, 0xe4, | ||
1890 | 0x55, 0x4e, 0xe3, 0xa1, 0x45, 0xee, 0x1b, 0x93, 0xcc, 0x45, 0xe8, 0xac, | ||
1891 | 0xc2, 0xd4, 0x42, 0x1e, 0x5d, 0xda, 0x1e, 0xc7, 0x7a, 0x7a, 0xad, 0xf1, | ||
1892 | 0x71, 0x17, 0x8e, 0x75, 0x9a, 0x7b, 0x8c, 0xf4, 0x58, 0xb9, 0x37, 0xff, | ||
1893 | 0x9c, 0x1d, 0xeb, 0xca, 0x70, 0xac, 0x3d, 0x0b, 0xc7, 0x1a, 0xfa, 0xf8, | ||
1894 | 0xa1, 0xfc, 0x4d, 0xe8, 0xb3, 0x49, 0xfa, 0x4c, 0xcc, 0xd8, 0x4a, 0xe9, | ||
1895 | 0x1d, 0x6d, 0xb4, 0x72, 0xd3, 0x83, 0x0e, 0xe2, 0x79, 0xa1, 0xe9, 0xcf, | ||
1896 | 0x79, 0x62, 0x71, 0xa6, 0x88, 0x07, 0xca, 0xdc, 0x26, 0x7d, 0x9e, 0x71, | ||
1897 | 0x02, 0x7e, 0xd6, 0x87, 0x8b, 0x2c, 0x1b, 0xe6, 0x5f, 0x29, 0x46, 0x1c, | ||
1898 | 0xfa, 0xd6, 0xf4, 0x9f, 0x3a, 0x97, 0xc4, 0x16, 0x4c, 0x1c, 0x98, 0xf1, | ||
1899 | 0x5f, 0x73, 0xcf, 0x02, 0xf7, 0x7d, 0xdf, 0x01, 0xde, 0xfa, 0xed, 0x62, | ||
1900 | 0xb2, 0x27, 0x1b, 0xa1, 0x3c, 0x9d, 0x95, 0x43, 0x95, 0x3e, 0x69, 0xd3, | ||
1901 | 0x67, 0xed, 0xdf, 0x30, 0x46, 0x9c, 0xa9, 0x8e, 0x11, 0x8b, 0x63, 0x62, | ||
1902 | 0xc4, 0x3b, 0x7f, 0x8e, 0x18, 0xb1, 0x38, 0x26, 0x46, 0xbc, 0x9c, 0x9f, | ||
1903 | 0x35, 0x52, 0x9a, 0xc5, 0xb8, 0xea, 0x21, 0x53, 0x94, 0x93, 0x9b, 0x6a, | ||
1904 | 0xc0, 0xbb, 0x16, 0x6f, 0xc0, 0x32, 0x56, 0xc0, 0xdb, 0xc3, 0xfb, 0x20, | ||
1905 | 0xde, 0x31, 0x19, 0x99, 0xd3, 0x1d, 0xb3, 0x90, 0x1f, 0xd4, 0x69, 0xac, | ||
1906 | 0x6b, 0xfc, 0x82, 0xc9, 0x72, 0x33, 0xca, 0x5d, 0x72, 0x26, 0x58, 0xaf, | ||
1907 | 0xd4, 0x28, 0xc3, 0x63, 0x94, 0xdd, 0x4d, 0x32, 0x3a, 0x16, 0xda, 0xb8, | ||
1908 | 0x9f, 0x5d, 0xcf, 0xb5, 0x81, 0x21, 0x09, 0x6d, 0xd8, 0x67, 0xd6, 0x9b, | ||
1909 | 0xb5, 0xdb, 0x2d, 0x31, 0xa9, 0x5f, 0x8d, 0x39, 0x38, 0xee, 0x5c, 0x1c, | ||
1910 | 0x5f, 0xbd, 0xc0, 0x96, 0x4d, 0xd8, 0xd8, 0xe0, 0xb8, 0xd5, 0xc1, 0xcb, | ||
1911 | 0xcb, 0x88, 0xea, 0xf9, 0x8f, 0xdb, 0x73, 0xbc, 0x51, 0x7b, 0xd7, 0x5f, | ||
1912 | 0x42, 0xcf, 0xcf, 0x40, 0x65, 0x16, 0xfd, 0xad, 0x57, 0x99, 0x71, 0x8e, | ||
1913 | 0x73, 0xee, 0x7e, 0x1e, 0xc8, 0xc5, 0x56, 0x35, 0x34, 0xbe, 0x80, 0x2e, | ||
1914 | 0x41, 0xb7, 0x1c, 0x9b, 0x03, 0xda, 0xbd, 0x57, 0x26, 0x46, 0x09, 0x5f, | ||
1915 | 0x47, 0x3c, 0xa2, 0xcf, 0xf5, 0xe2, 0x7b, 0xdc, 0x9c, 0x27, 0xea, 0xad, | ||
1916 | 0x84, 0x67, 0x7a, 0xd7, 0x00, 0xde, 0xc5, 0xe7, 0x7a, 0xad, 0x9e, 0xd6, | ||
1917 | 0x36, 0x04, 0xcf, 0xf7, 0x86, 0x63, 0x58, 0x8e, 0x9e, 0x02, 0x19, 0xd6, | ||
1918 | 0xfb, 0x7d, 0xd7, 0xca, 0xe9, 0x07, 0xe7, 0xce, 0x17, 0x34, 0xc1, 0x56, | ||
1919 | 0x69, 0x85, 0xa9, 0x3c, 0xe0, 0xa6, 0xb9, 0xef, 0x82, 0xfb, 0x0b, 0x3a, | ||
1920 | 0xe2, 0xb7, 0xe9, 0x73, 0x1f, 0xf3, 0x67, 0xac, 0xe7, 0xcf, 0x7e, 0x84, | ||
1921 | 0x67, 0x5a, 0xe3, 0xd2, 0x07, 0x3a, 0xec, 0xd7, 0xe9, 0x31, 0x8c, 0x87, | ||
1922 | 0x6b, 0xbe, 0x1a, 0x0f, 0x90, 0x3d, 0x5c, 0xfb, 0xc5, 0xd8, 0x2b, 0x2d, | ||
1923 | 0x2a, 0xa7, 0xcf, 0x58, 0x47, 0x2d, 0x8d, 0x5d, 0x76, 0xf6, 0x94, 0x13, | ||
1924 | 0x6a, 0x4f, 0xd9, 0x57, 0x7b, 0xcb, 0x36, 0xaf, 0xfb, 0x01, 0xcc, 0x07, | ||
1925 | 0x7e, 0x8f, 0x17, 0x9d, 0x21, 0xe0, 0xab, 0x50, 0x3a, 0xe2, 0x64, 0xf4, | ||
1926 | 0xfb, 0xa8, 0x7d, 0x43, 0x0e, 0x60, 0xae, 0x7a, 0xc7, 0xa3, 0x5a, 0xde, | ||
1927 | 0xcf, 0xdf, 0xd3, 0x17, 0xce, 0xeb, 0x0b, 0x7a, 0x0d, 0x68, 0x5a, 0x88, | ||
1928 | 0x6b, 0xcf, 0xda, 0x10, 0xc7, 0x9d, 0x9c, 0xc6, 0x3d, 0xcb, 0x7c, 0x4b, | ||
1929 | 0xff, 0x06, 0x9d, 0x2b, 0xd3, 0x5e, 0x2b, 0xde, 0x8b, 0xf7, 0x4d, 0x86, | ||
1930 | 0xfa, 0x86, 0x70, 0xdf, 0x09, 0xbd, 0x16, 0xec, 0x37, 0xf2, 0x6a, 0x56, | ||
1931 | 0x46, 0x2a, 0x5c, 0xc3, 0x64, 0x3b, 0x48, 0x2f, 0xd7, 0xc0, 0x1e, 0x58, | ||
1932 | 0x78, 0xbe, 0xba, 0x7f, 0x7e, 0x1e, 0x12, 0xe3, 0x42, 0x58, 0xee, 0xd6, | ||
1933 | 0x67, 0x17, 0xab, 0xef, 0x1e, 0xb9, 0xf2, 0xbf, 0x70, 0xfd, 0xd0, 0xc8, | ||
1934 | 0x50, 0x0b, 0x47, 0x86, 0xf2, 0xce, 0xc8, 0x95, 0xaf, 0xcb, 0x41, 0xe0, | ||
1935 | 0xf1, 0x30, 0x60, 0x52, 0xf7, 0xf3, 0xce, 0xab, 0x57, 0xa5, 0x30, 0x59, | ||
1936 | 0x2f, 0xea, 0xa1, 0x82, 0xe3, 0x3e, 0x54, 0x2b, 0x91, 0x87, 0x94, 0x53, | ||
1937 | 0xf3, 0x50, 0xbb, 0xf6, 0xcf, 0x77, 0xa4, 0xda, 0xe3, 0x7b, 0xe5, 0xb8, | ||
1938 | 0xe3, 0xde, 0xaf, 0xf4, 0x59, 0xdb, 0x82, 0xc7, 0x58, 0xdf, 0x71, 0x27, | ||
1939 | 0x72, 0x7f, 0xd4, 0x9e, 0xd3, 0x37, 0xf1, 0xbd, 0x59, 0xcd, 0xf7, 0xdf, | ||
1940 | 0x58, 0x47, 0x9c, 0xcd, 0x0a, 0xf1, 0xf1, 0x59, 0xc8, 0xad, 0x4f, 0x4b, | ||
1941 | 0x76, 0x34, 0x31, 0x57, 0xc6, 0xec, 0xb3, 0xdf, 0xb0, 0xce, 0xf0, 0x0b, | ||
1942 | 0xcb, 0xbc, 0xe2, 0xf0, 0xce, 0x1c, 0xa3, 0x33, 0x3e, 0xdf, 0x12, 0xee, | ||
1943 | 0xb9, 0x37, 0x73, 0xca, 0xfc, 0xc6, 0x75, 0x52, 0xff, 0x0a, 0xe6, 0x8b, | ||
1944 | 0xfd, 0x11, 0x57, 0xab, 0xf4, 0x3d, 0x05, 0x9e, 0x6c, 0x89, 0xd7, 0xcd, | ||
1945 | 0xd9, 0x43, 0x46, 0xf6, 0xd6, 0x01, 0x6e, 0xc0, 0x6f, 0xec, 0x3b, 0x21, | ||
1946 | 0x9d, 0x0a, 0x24, 0x37, 0x69, 0xb6, 0xa3, 0x67, 0x87, 0x98, 0x39, 0x33, | ||
1947 | 0x34, 0xb3, 0xc2, 0xd8, 0x91, 0xf8, 0x36, 0x74, 0xa1, 0x64, 0xfb, 0xd8, | ||
1948 | 0x4b, 0x4e, 0x3f, 0xcf, 0x3c, 0x8a, 0xb6, 0x1b, 0x97, 0xb3, 0x09, 0xc1, | ||
1949 | 0x4b, 0xcf, 0x5b, 0xff, 0x32, 0x08, 0xc6, 0x52, 0x29, 0xde, 0x2b, 0xb8, | ||
1950 | 0x8c, 0x4f, 0xb9, 0xca, 0x99, 0x1c, 0x6d, 0x70, 0x26, 0x46, 0x03, 0xd9, | ||
1951 | 0x93, 0xe2, 0x9d, 0x49, 0xdc, 0x93, 0xa0, 0xe3, 0xe3, 0x48, 0x6b, 0x87, | ||
1952 | 0x6e, 0x7d, 0xc7, 0x3a, 0xee, 0x71, 0xbb, 0xd9, 0x6f, 0xb4, 0xe5, 0x88, | ||
1953 | 0x63, 0xfa, 0xca, 0xed, 0x27, 0x72, 0xc2, 0xbb, 0x8b, 0xb6, 0xc4, 0x63, | ||
1954 | 0x7a, 0x7f, 0xe2, 0x17, 0x50, 0x0f, 0x7d, 0x94, 0xd8, 0xaf, 0xeb, 0x4c, | ||
1955 | 0x40, 0x9e, 0x4d, 0x8e, 0xf1, 0xbe, 0x14, 0x9e, 0x63, 0x88, 0xb4, 0x2a, | ||
1956 | 0xb9, 0xd6, 0x1b, 0xb6, 0xf7, 0x69, 0xe6, 0xe1, 0x0a, 0x45, 0x74, 0xda, | ||
1957 | 0x16, 0x6f, 0xf7, 0xdc, 0x1d, 0x9b, 0x61, 0x5a, 0x78, 0xd7, 0xa6, 0xd2, | ||
1958 | 0x67, 0x56, 0xe0, 0xd3, 0x9e, 0x1e, 0x92, 0xb8, 0x33, 0x55, 0x6c, 0x75, | ||
1959 | 0x4e, 0x16, 0x33, 0x5b, 0xd7, 0x81, 0x3e, 0xce, 0xa7, 0x3e, 0x46, 0xf9, | ||
1960 | 0x05, 0xdb, 0xef, 0x45, 0xc9, 0x57, 0x3e, 0x24, 0xe3, 0x2d, 0xed, 0xde, | ||
1961 | 0xfd, 0x7a, 0x6e, 0x2e, 0x03, 0x67, 0x2d, 0x2a, 0x3b, 0xfa, 0xc4, 0x3a, | ||
1962 | 0xea, 0xb7, 0xdd, 0x45, 0x05, 0x5e, 0x56, 0xbf, 0x88, 0x07, 0x36, 0x6e, | ||
1963 | 0xad, 0xb6, 0x51, 0xf6, 0xa6, 0x58, 0xae, 0xc1, 0xe9, 0x1d, 0x5d, 0x85, | ||
1964 | 0x79, 0xdc, 0x05, 0xfd, 0xe9, 0xc0, 0x46, 0x22, 0xae, 0x1b, 0x9c, 0x3d, | ||
1965 | 0xa3, 0x79, 0xf4, 0xc8, 0x7d, 0xd6, 0xbc, 0xf7, 0xf0, 0x30, 0xc6, 0xa8, | ||
1966 | 0xe5, 0x2b, 0x78, 0xf7, 0x12, 0xd7, 0xdb, 0x83, 0x49, 0xd8, 0x06, 0xb9, | ||
1967 | 0xae, 0x7f, 0x67, 0xd7, 0xab, 0xa7, 0xaf, 0xb0, 0x5e, 0xed, 0xc9, 0x23, | ||
1968 | 0x15, 0x7d, 0x6f, 0x48, 0xe7, 0xb8, 0xe2, 0x3a, 0x6e, 0xf3, 0x55, 0x7a, | ||
1969 | 0x7e, 0x54, 0x87, 0xdd, 0x1b, 0x78, 0x72, 0x9d, 0xbd, 0xd3, 0x06, 0x70, | ||
1970 | 0x5c, 0x05, 0x18, 0x36, 0x62, 0xfc, 0x84, 0xc1, 0xd4, 0x11, 0x75, 0x4b, | ||
1971 | 0x9c, 0x3a, 0x70, 0x56, 0x4e, 0xaf, 0x0b, 0xf7, 0x7b, 0xa0, 0x1d, 0xc8, | ||
1972 | 0xb5, 0x47, 0xe3, 0x46, 0x37, 0xae, 0x5d, 0xa6, 0x9d, 0x70, 0x3c, 0x8e, | ||
1973 | 0x1d, 0x0f, 0x69, 0x75, 0x43, 0x0b, 0xfd, 0x89, 0x59, 0xa9, 0x5b, 0x54, | ||
1974 | 0x9e, 0xf1, 0xfc, 0x5d, 0xad, 0x66, 0xdf, 0x11, 0xcb, 0x7a, 0xb0, 0x4b, | ||
1975 | 0x69, 0xe3, 0x12, 0x77, 0x7a, 0xae, 0x8a, 0xdc, 0x5b, 0x9c, 0xf3, 0x2f, | ||
1976 | 0x43, 0x9e, 0x5c, 0xeb, 0xbd, 0x4d, 0x91, 0xf6, 0x42, 0xfc, 0x12, 0xb7, | ||
1977 | 0x09, 0xe0, 0x95, 0x71, 0x95, 0xd3, 0x41, 0x66, 0x80, 0x7c, 0xc5, 0x36, | ||
1978 | 0x98, 0xff, 0xa2, 0x8e, 0xe5, 0x0e, 0xa6, 0x18, 0x27, 0x6a, 0x3f, 0x71, | ||
1979 | 0x87, 0x0a, 0x65, 0xd3, 0x2c, 0xd7, 0x10, 0x1c, 0xde, 0x21, 0xba, 0x0b, | ||
1980 | 0x1d, 0x5e, 0x9c, 0x52, 0xce, 0x37, 0xc7, 0x5c, 0x7c, 0xd7, 0xd8, 0xfb, | ||
1981 | 0x42, 0x8d, 0x6e, 0x12, 0xf9, 0xeb, 0x70, 0xbc, 0xf1, 0x3c, 0xe6, 0xfb, | ||
1982 | 0x12, 0xe6, 0x7b, 0xf9, 0xfb, 0x41, 0x91, 0x57, 0x46, 0x5e, 0xf9, 0x43, | ||
1983 | 0x41, 0xa6, 0x89, 0xf4, 0x47, 0x9a, 0x7b, 0x3d, 0x9f, 0x59, 0xef, 0x63, | ||
1984 | 0x02, 0x6c, 0x67, 0xc1, 0x0b, 0x19, 0xae, 0x25, 0x07, 0xc7, 0x52, 0x37, | ||
1985 | 0x81, 0x17, 0x76, 0xca, 0x9f, 0xc0, 0x16, 0xf8, 0xe3, 0x4a, 0x1a, 0x3c, | ||
1986 | 0xd1, 0x03, 0x1e, 0xe9, 0x06, 0x5f, 0xa4, 0xb4, 0x5d, 0xfc, 0x28, 0x74, | ||
1987 | 0xde, 0xd9, 0x4a, 0xc9, 0xd9, 0x3b, 0x5a, 0x74, 0x72, 0xa3, 0x47, 0x41, | ||
1988 | 0x17, 0xdc, 0x03, 0xab, 0xae, 0xa9, 0x11, 0x37, 0x3e, 0x29, 0xa4, 0xff, | ||
1989 | 0x76, 0xee, 0xed, 0x68, 0x06, 0xae, 0xce, 0x10, 0x57, 0x93, 0x95, 0x2d, | ||
1990 | 0xde, 0x3a, 0xf0, 0x41, 0xb3, 0xe6, 0x83, 0x46, 0x27, 0xe3, 0xdd, 0x64, | ||
1991 | 0xf9, 0x60, 0x04, 0x7c, 0x50, 0x58, 0xc2, 0x07, 0xcf, 0x58, 0x9a, 0x9f, | ||
1992 | 0xae, 0xe2, 0x83, 0x49, 0x9b, 0x36, 0x7e, 0x05, 0x3e, 0xb8, 0xca, 0x4f, | ||
1993 | 0x3e, 0x39, 0x24, 0x27, 0xc0, 0x07, 0x0f, 0x6b, 0x3e, 0xb8, 0x4a, 0xf3, | ||
1994 | 0x01, 0xe3, 0x46, 0xe4, 0x85, 0x56, 0xc8, 0x0e, 0xf2, 0xc2, 0xb3, 0x32, | ||
1995 | 0x0b, 0x5e, 0x78, 0x51, 0xb1, 0xef, 0xcb, 0xb4, 0x0f, 0x46, 0xe9, 0x8f, | ||
1996 | 0x9d, 0x2a, 0x15, 0xc1, 0xbb, 0x4a, 0xbe, 0x30, 0x16, 0x04, 0x33, 0xf0, | ||
1997 | 0xd1, 0x1f, 0x84, 0x0d, 0xef, 0xea, 0x3b, 0x69, 0xa7, 0x61, 0xbb, 0x10, | ||
1998 | 0x36, 0xda, 0xe4, 0xe3, 0x0e, 0xe8, 0xfd, 0xf0, 0x04, 0xc6, 0xb0, 0x47, | ||
1999 | 0xfd, 0x3e, 0xfc, 0x60, 0x0f, 0xf3, 0x4a, 0xdb, 0xfe, 0xb8, 0xe6, 0x9b, | ||
2000 | 0x1a, 0xe8, 0x80, 0x93, 0xdd, 0x8c, 0x33, 0xf9, 0xde, 0x5e, 0xd5, 0x9e, | ||
2001 | 0xef, 0x03, 0xcc, 0x11, 0x75, 0xbf, 0x30, 0xc6, 0xd1, 0xb4, 0xc8, 0xb6, | ||
2002 | 0xa7, 0x5c, 0x18, 0x90, 0xfb, 0x6c, 0x5e, 0x3e, 0xa8, 0x83, 0x1d, 0x5a, | ||
2003 | 0xa7, 0x8c, 0x5d, 0xae, 0xb6, 0x25, 0xbd, 0xdf, 0x80, 0xd0, 0xac, 0x4d, | ||
2004 | 0x9b, 0x3d, 0x81, 0x7d, 0xc5, 0x6a, 0xbb, 0xfe, 0x5e, 0xd8, 0xf5, 0xac, | ||
2005 | 0x23, 0xae, 0xb1, 0xeb, 0xef, 0xb2, 0xbc, 0xc6, 0xdf, 0x9e, 0xb6, 0xf1, | ||
2006 | 0x0f, 0x00, 0xbe, 0x1d, 0x73, 0x36, 0x3e, 0xdb, 0xa0, 0xad, 0x21, 0x72, | ||
2007 | 0x03, 0xec, 0xbc, 0x1b, 0xc1, 0x83, 0x37, 0xc1, 0x8f, 0x7a, 0x77, 0xd1, | ||
2008 | 0x93, 0x9d, 0xc5, 0x66, 0xf8, 0xdb, 0xad, 0xf2, 0xab, 0x63, 0x1b, 0xa5, | ||
2009 | 0x7f, 0xf4, 0x77, 0x9a, 0xa1, 0x57, 0x61, 0x97, 0xbe, 0x08, 0x38, 0x23, | ||
2010 | 0x56, 0x56, 0x47, 0xc1, 0x03, 0xed, 0x89, 0x1f, 0xa8, 0x44, 0xab, 0x91, | ||
2011 | 0xed, 0x3c, 0x4b, 0xbe, 0x5c, 0x3b, 0x31, 0xd4, 0x67, 0x1c, 0xa5, 0x45, | ||
2012 | 0xce, 0x1c, 0xa7, 0xe7, 0x95, 0x80, 0x2d, 0x9e, 0x82, 0x1d, 0xb2, 0x01, | ||
2013 | 0xed, 0x31, 0x96, 0xbc, 0x5a, 0x9e, 0xd9, 0xea, 0xde, 0x9d, 0xd3, 0x7c, | ||
2014 | 0x78, 0xc9, 0xc9, 0x8e, 0xdd, 0x24, 0x85, 0xc1, 0x28, 0xc6, 0xa0, 0x9a, | ||
2015 | 0xd7, 0xca, 0xf5, 0xd2, 0xaf, 0xc7, 0x73, 0x59, 0x0e, 0x42, 0x1f, 0xff, | ||
2016 | 0x69, 0xb1, 0x5f, 0x66, 0x07, 0x9a, 0xf0, 0x1d, 0x95, 0x67, 0x8a, 0x5b, | ||
2017 | 0xe0, 0xef, 0xfc, 0x0a, 0x70, 0x54, 0x8b, 0xef, 0x5a, 0xe9, 0x5d, 0x47, | ||
2018 | 0x5e, 0x6d, 0x90, 0x19, 0xa4, 0xdf, 0x28, 0xbf, 0x64, 0xd3, 0x99, 0x46, | ||
2019 | 0xde, 0x68, 0x40, 0xdd, 0xa8, 0x9c, 0x2f, 0xd2, 0x96, 0xd4, 0x3c, 0xd1, | ||
2020 | 0xf3, 0xb2, 0x6c, 0xc9, 0xbc, 0x0c, 0xdb, 0xf4, 0x59, 0x3c, 0xcf, 0x4b, | ||
2021 | 0x72, 0xe7, 0x6e, 0x67, 0x4b, 0xa2, 0xdd, 0x81, 0xbe, 0xc4, 0xe3, 0x3a, | ||
2022 | 0x5b, 0xbc, 0x5a, 0xe7, 0x5a, 0xdb, 0x46, 0x8d, 0x3c, 0x3f, 0xa8, 0xe2, | ||
2023 | 0x0d, 0x98, 0x93, 0xcd, 0x4e, 0x87, 0x4d, 0xe3, 0xb7, 0xbe, 0x2f, 0x51, | ||
2024 | 0xda, 0xcf, 0xa8, 0x0d, 0xab, 0x44, 0xda, 0x1a, 0x60, 0xe7, 0xec, 0x11, | ||
2025 | 0xd5, 0xdc, 0x20, 0xae, 0xb4, 0x4f, 0xa8, 0x56, 0xa4, 0xf9, 0x36, 0x2d, | ||
2026 | 0xd6, 0x00, 0x9d, 0x80, 0xb4, 0x16, 0xa4, 0x6d, 0xb2, 0x69, 0x4d, 0x0d, | ||
2027 | 0x52, 0x8b, 0xb4, 0xcb, 0x9a, 0xe7, 0x2f, 0x76, 0xf8, 0x5e, 0xce, 0xa9, | ||
2028 | 0x97, 0xb6, 0x53, 0x0d, 0x90, 0x0d, 0xab, 0x65, 0x66, 0x6b, 0x9d, 0xb4, | ||
2029 | 0x21, 0x8f, 0x31, 0xee, 0xd4, 0xa9, 0xa8, 0xbc, 0xf3, 0x54, 0x7b, 0xfc, | ||
2030 | 0xa3, 0x18, 0x43, 0xfb, 0x19, 0xc6, 0xbc, 0xff, 0xac, 0x99, 0x31, 0x9f, | ||
2031 | 0xb6, 0x33, 0x7c, 0xd7, 0x69, 0xf9, 0x43, 0x7c, 0x98, 0x3b, 0xdf, 0x60, | ||
2032 | 0x63, 0x94, 0x8e, 0x3b, 0xc3, 0xa3, 0xd4, 0xdb, 0xed, 0xf6, 0x7e, 0xa2, | ||
2033 | 0xff, 0xd9, 0x4c, 0x5f, 0x6d, 0x82, 0x36, 0x54, 0x89, 0xfc, 0x48, 0xdd, | ||
2034 | 0x83, 0xf7, 0xb8, 0x23, 0x85, 0x79, 0x99, 0x35, 0x45, 0xbe, 0x3a, 0xae, | ||
2035 | 0xb8, 0x4f, 0x05, 0x69, 0x95, 0x77, 0x05, 0x66, 0x8e, 0xc9, 0x0b, 0x46, | ||
2036 | 0x2e, 0xfd, 0x9a, 0x91, 0x4b, 0xa7, 0xcf, 0x2d, 0x90, 0x4b, 0x05, 0x2d, | ||
2037 | 0x97, 0x06, 0x05, 0xef, 0xa9, 0x02, 0xe4, 0xd2, 0x08, 0xbe, 0x3d, 0x2d, | ||
2038 | 0x97, 0x62, 0x62, 0x6d, 0x64, 0x89, 0x5e, 0xc5, 0xfe, 0x27, 0x4b, 0xae, | ||
2039 | 0xb6, 0xa5, 0x0a, 0xe3, 0xb0, 0x43, 0x4a, 0x23, 0x56, 0x67, 0x4b, 0xba, | ||
2040 | 0x49, 0x3a, 0x7a, 0x7e, 0x2a, 0xa1, 0x9d, 0x39, 0xdb, 0xcc, 0x3b, 0x8f, | ||
2041 | 0x5f, 0x54, 0x94, 0x61, 0x27, 0x20, 0xc3, 0x1e, 0xbe, 0x82, 0x0c, 0x43, | ||
2042 | 0x5e, 0x19, 0x79, 0x65, 0xb6, 0xfb, 0xdd, 0x9f, 0x0e, 0x79, 0x94, 0x1f, | ||
2043 | 0x94, 0x19, 0x90, 0x49, 0x25, 0xc8, 0xa4, 0x12, 0xe4, 0x54, 0x09, 0x72, | ||
2044 | 0xa9, 0x04, 0xb9, 0x54, 0x82, 0x5c, 0x2a, 0x41, 0x2e, 0x41, 0xc6, 0x3d, | ||
2045 | 0x0a, 0x19, 0x67, 0x64, 0xda, 0x00, 0xed, 0x35, 0xb9, 0xcf, 0xea, 0x77, | ||
2046 | 0x13, 0x27, 0xe9, 0xb2, 0x7e, 0x91, 0xd9, 0xb3, 0x7a, 0xae, 0x2a, 0x2e, | ||
2047 | 0xb8, 0xeb, 0x88, 0xe6, 0x77, 0xcf, 0x57, 0xd7, 0x3a, 0xdc, 0x1f, 0xf3, | ||
2048 | 0x03, 0xed, 0xb3, 0x6f, 0xe6, 0x6f, 0xa9, 0x03, 0x5f, 0xbf, 0x62, 0xf9, | ||
2049 | 0x7a, 0xf3, 0x1c, 0x5f, 0x27, 0x1d, 0xc6, 0x89, 0x97, 0xe7, 0xeb, 0x16, | ||
2050 | 0x9b, 0x97, 0x0f, 0x56, 0x80, 0xaf, 0x57, 0x2c, 0xe2, 0xeb, 0x28, 0xf8, | ||
2051 | 0x7a, 0xe7, 0x12, 0xbe, 0x5e, 0xe5, 0xf4, 0xea, 0x3a, 0x3c, 0x83, 0xc6, | ||
2052 | 0xef, 0x5a, 0x67, 0x9e, 0xaf, 0xf7, 0x6b, 0xbe, 0x3e, 0x04, 0xbe, 0xbe, | ||
2053 | 0xbe, 0x8a, 0xaf, 0x77, 0x4a, 0xf2, 0x96, 0x6c, 0x64, 0xa3, 0xec, 0xbe, | ||
2054 | 0x5f, 0x35, 0xaf, 0x91, 0x7f, 0x11, 0x53, 0xdf, 0xf0, 0x58, 0xef, 0x58, | ||
2055 | 0xb3, 0xe4, 0x1e, 0xfa, 0x11, 0xd7, 0x06, 0xc8, 0x23, 0x43, 0x19, 0xc7, | ||
2056 | 0x93, 0x83, 0x47, 0x7e, 0x20, 0xd3, 0x9a, 0xb7, 0x44, 0xf6, 0x1c, 0x89, | ||
2057 | 0xca, 0xf0, 0x11, 0xc6, 0x1e, 0xbe, 0x63, 0xe9, 0xbd, 0x4e, 0x86, 0x07, | ||
2058 | 0xb9, 0x5f, 0xd2, 0x95, 0xdd, 0x47, 0xe0, 0x63, 0x1d, 0x61, 0xec, 0xe1, | ||
2059 | 0xf2, 0x1c, 0x8f, 0x4d, 0x43, 0xb6, 0xec, 0x3e, 0xa2, 0xe7, 0x1a, 0xed, | ||
2060 | 0x34, 0xc8, 0xa1, 0x23, 0x22, 0xb7, 0x1d, 0x71, 0xe5, 0xf6, 0x23, 0x73, | ||
2061 | 0xbc, 0x36, 0x10, 0xf2, 0xda, 0x9f, 0x83, 0xd7, 0xda, 0x2d, 0xaf, 0xa9, | ||
2062 | 0x39, 0x5e, 0xfb, 0x5a, 0x15, 0xaf, 0xb1, 0x3e, 0x79, 0xed, 0x82, 0x4d, | ||
2063 | 0xe3, 0xb7, 0x2b, 0x7b, 0x8f, 0xb4, 0xca, 0xee, 0x87, 0xde, 0x22, 0x7b, | ||
2064 | 0xee, 0x27, 0xac, 0xe6, 0x9e, 0x3c, 0xda, 0x5f, 0xe3, 0x95, 0x76, 0xb4, | ||
2065 | 0x1f, 0xee, 0x0f, 0xd2, 0x77, 0x65, 0x75, 0x4e, 0x48, 0x32, 0xcf, 0xfe, | ||
2066 | 0x6a, 0xe1, 0x3b, 0x9f, 0x82, 0x4f, 0xb1, 0x17, 0x30, 0xdd, 0x7a, 0x44, | ||
2067 | 0x92, 0xae, 0xbc, 0x26, 0x23, 0xa9, 0x47, 0x5b, 0x8d, 0x3d, 0x71, 0x09, | ||
2068 | 0xbc, 0x42, 0xfa, 0xcf, 0x48, 0xee, 0xed, 0x81, 0xf6, 0x2b, 0x46, 0xcb, | ||
2069 | 0x42, 0xff, 0x9f, 0x31, 0x73, 0xc7, 0xdc, 0x77, 0xc7, 0xf3, 0xbe, 0x35, | ||
2070 | 0xfa, 0xbc, 0x9b, 0x8e, 0xd7, 0x76, 0x33, 0xbf, 0x46, 0xef, 0x37, 0xcd, | ||
2071 | 0xe9, 0xb3, 0xdc, 0xac, 0xcf, 0x76, 0x62, 0x3a, 0x9e, 0x5e, 0x28, 0xf3, | ||
2072 | 0x8e, 0x30, 0xde, 0xbd, 0xcc, 0xbb, 0x06, 0xff, 0xf8, 0x2a, 0x13, 0x9b, | ||
2073 | 0x25, 0xdf, 0x7d, 0xdd, 0xc9, 0x15, 0x2f, 0xe9, 0x7d, 0x85, 0x59, 0x1f, | ||
2074 | 0xbf, 0xcb, 0xfc, 0x66, 0xf9, 0x4b, 0x8c, 0x71, 0x24, 0x12, 0xea, 0x81, | ||
2075 | 0x56, 0xee, 0x3b, 0x18, 0x9c, 0x32, 0x76, 0x94, 0xe1, 0xd1, 0x06, 0xed, | ||
2076 | 0x6b, 0x8c, 0xe0, 0x7b, 0xf7, 0x68, 0xa3, 0x53, 0xa0, 0x6d, 0x32, 0xd0, | ||
2077 | 0xe0, 0xe4, 0xc7, 0xf7, 0xb4, 0x1a, 0x9b, 0x79, 0x20, 0xce, 0x3d, 0x85, | ||
2078 | 0x19, 0xb5, 0x54, 0x26, 0x9f, 0x92, 0x50, 0x26, 0x27, 0x6f, 0xc9, 0xc0, | ||
2079 | 0xb6, 0xce, 0x1d, 0xd1, 0xf7, 0xf7, 0x25, 0xda, 0x15, 0xc7, 0xf4, 0x09, | ||
2080 | 0xc8, 0xd7, 0x90, 0x16, 0xe2, 0xf2, 0xf1, 0x23, 0xa4, 0x07, 0x15, 0x6b, | ||
2081 | 0x94, 0xdf, 0xb2, 0xf4, 0x70, 0x59, 0x8a, 0x90, 0x3b, 0x47, 0x8e, 0xdc, | ||
2082 | 0x2e, 0xe3, 0xbb, 0x16, 0xd3, 0xc3, 0x9e, 0x79, 0x7a, 0x88, 0xc1, 0x3e, | ||
2083 | 0x73, 0xaa, 0xe9, 0xe1, 0x37, 0xe7, 0xe8, 0x61, 0xdc, 0xf9, 0xd7, 0xd2, | ||
2084 | 0xc3, 0x0d, 0x0b, 0xe8, 0x61, 0x44, 0xd3, 0x43, 0xff, 0x1c, 0x3d, 0x8c, | ||
2085 | 0x1c, 0x61, 0xbf, 0x7a, 0x5d, 0xd4, 0x9b, 0x71, 0x38, 0xe7, 0x73, 0xb4, | ||
2086 | 0x90, 0x18, 0xd6, 0xfb, 0x44, 0x93, 0x79, 0x9e, 0x25, 0x5d, 0xa5, 0x18, | ||
2087 | 0x1b, 0x99, 0x9f, 0xff, 0xc6, 0x7f, 0xd3, 0xf9, 0x7f, 0x47, 0xfc, 0xff, | ||
2088 | 0xef, 0xfc, 0x5f, 0x8f, 0xf6, 0x29, 0x8b, 0x43, 0x79, 0x1c, 0xd2, 0xc3, | ||
2089 | 0x7b, 0xe2, 0x46, 0x2f, 0x70, 0x8e, 0xf9, 0x6d, 0xf6, 0xac, 0x9f, 0x83, | ||
2090 | 0xfc, 0x7b, 0x1c, 0xf2, 0xef, 0xb1, 0x05, 0xeb, 0x01, 0x3d, 0x36, 0x06, | ||
2091 | 0x11, 0xc8, 0xc1, 0xd4, 0x3c, 0x3e, 0x66, 0xba, 0x89, 0x0f, 0xb3, 0xf7, | ||
2092 | 0xe4, 0x6c, 0x65, 0x31, 0x4e, 0x5c, 0xbd, 0xdf, 0xe8, 0x64, 0xaa, 0x1a, | ||
2093 | 0x27, 0x84, 0x7b, 0xb6, 0x6a, 0x8c, 0xf8, 0x5d, 0xe6, 0xf7, 0x65, 0xbd, | ||
2094 | 0x87, 0xa4, 0xa0, 0xd7, 0x9f, 0x88, 0x17, 0xae, 0x3f, 0x11, 0x27, 0xae, | ||
2095 | 0xb6, 0xf7, 0x0b, 0xe5, 0x3a, 0xbd, 0x2f, 0xfc, 0xc0, 0x54, 0x4c, 0x66, | ||
2096 | 0x62, 0x8c, 0xeb, 0xf1, 0xde, 0x57, 0xfa, 0xca, 0x7e, 0xbc, 0x20, 0x79, | ||
2097 | 0x7b, 0xd6, 0x67, 0x95, 0xa5, 0x6d, 0xc6, 0x03, 0x79, 0x27, 0x42, 0xb8, | ||
2098 | 0x0e, 0xd1, 0x69, 0x65, 0x5d, 0x43, 0x55, 0x9c, 0x12, 0x78, 0x1f, 0x93, | ||
2099 | 0x44, 0xb6, 0x1b, 0xef, 0x29, 0xf6, 0xfd, 0xa4, 0x8c, 0x3c, 0x58, 0x86, | ||
2100 | 0x2d, 0xf7, 0x30, 0x74, 0x8e, 0x23, 0x10, 0x93, 0xfa, 0x2e, 0x14, 0xc2, | ||
2101 | 0x30, 0xa1, 0xef, 0xf5, 0xa3, 0xdf, 0x47, 0x7a, 0x88, 0xe3, 0xfb, 0xb2, | ||
2102 | 0x8d, 0x25, 0xc5, 0xa5, 0x50, 0xfc, 0x01, 0xe0, 0xe7, 0x1d, 0x94, 0x3f, | ||
2103 | 0xc2, 0xfb, 0x8d, 0xe6, 0xc3, 0xf8, 0x21, 0x03, 0xfa, 0xcd, 0xb9, 0x79, | ||
2104 | 0xcd, 0xc9, 0x94, 0xcd, 0xfe, 0x96, 0xaa, 0xfb, 0xf5, 0xe5, 0xb0, 0xb6, | ||
2105 | 0x9f, 0xd3, 0x76, 0x5f, 0x0b, 0xcf, 0xe7, 0x19, 0x1b, 0xfa, 0xcb, 0xb0, | ||
2106 | 0xa1, 0x9f, 0xa8, 0x64, 0xf4, 0x1a, 0xd6, 0x63, 0xb0, 0xa1, 0x1f, 0x85, | ||
2107 | 0xee, 0xa1, 0xce, 0x89, 0x59, 0x9d, 0x33, 0xa2, 0x76, 0x69, 0x9d, 0xf3, | ||
2108 | 0xd7, 0x5a, 0xe7, 0xfc, 0xea, 0x12, 0x9d, 0x73, 0x48, 0xb5, 0x8f, 0x52, | ||
2109 | 0xe7, 0xf4, 0xaa, 0x9d, 0x0e, 0xed, 0xc5, 0xb5, 0xcb, 0xe8, 0x9c, 0xf7, | ||
2110 | 0xca, 0xaf, 0xd8, 0xbc, 0xfd, 0xf2, 0xbe, 0x6d, 0x7a, 0xdd, 0xc6, 0x9b, | ||
2111 | 0x50, 0xbc, 0xcb, 0xce, 0xe8, 0xa0, 0xeb, 0x55, 0xa7, 0x5e, 0xef, 0xfd, | ||
2112 | 0x6a, 0x95, 0xce, 0x69, 0x53, 0xdd, 0x4e, 0xaf, 0xae, 0xc3, 0x78, 0x04, | ||
2113 | 0xbf, 0x53, 0x4e, 0x66, 0xa0, 0x0e, 0xdf, 0x71, 0x89, 0x1c, 0xc1, 0xd8, | ||
2114 | 0xcd, 0x7d, 0x7b, 0xca, 0xe4, 0x5d, 0x63, 0xf3, 0x54, 0x98, 0xee, 0x9a, | ||
2115 | 0xf4, 0x76, 0x9b, 0x6e, 0x74, 0x55, 0x9b, 0x6a, 0xd5, 0xba, 0x6a, 0x33, | ||
2116 | 0x18, 0x6a, 0x02, 0xfa, 0x75, 0xa2, 0x14, 0xea, 0x2c, 0xfe, 0x66, 0xbc, | ||
2117 | 0x99, 0x71, 0x89, 0x30, 0x6e, 0x9d, 0x40, 0x19, 0x3c, 0xa5, 0xd0, 0xa6, | ||
2118 | 0xe4, 0x6f, 0xf8, 0x0a, 0x78, 0xa6, 0x80, 0xd7, 0x5b, 0xc0, 0x3f, 0xbf, | ||
2119 | 0x5e, 0x64, 0xdc, 0xb3, 0x59, 0x8e, 0x8e, 0x55, 0xe7, 0xb5, 0xca, 0xbb, | ||
2120 | 0xc7, 0x36, 0xc8, 0xbe, 0x51, 0xff, 0x6a, 0xa9, 0xdf, 0x28, 0x23, 0xa3, | ||
2121 | 0x2f, 0xea, 0xfb, 0x40, 0xd6, 0xe8, 0x7b, 0x92, 0x78, 0x7f, 0x98, 0x91, | ||
2122 | 0x91, 0xfd, 0x8e, 0x91, 0x91, 0x19, 0x35, 0x6f, 0xb3, 0x86, 0x6d, 0xf2, | ||
2123 | 0x6e, 0xa6, 0xbe, 0xd1, 0xb8, 0xbe, 0x43, 0x7a, 0xa2, 0x72, 0xad, 0xfc, | ||
2124 | 0xd1, 0x71, 0x75, 0xa7, 0x9a, 0xbf, 0x4b, 0x41, 0xdb, 0xac, 0x93, 0x0b, | ||
2125 | 0x6c, 0xd6, 0xbf, 0x97, 0x99, 0xf7, 0x45, 0x31, 0x4e, 0xd0, 0xf0, 0x75, | ||
2126 | 0x2f, 0x73, 0x1d, 0xb4, 0x39, 0x26, 0x97, 0xa4, 0x4f, 0xe3, 0x8f, 0xf2, | ||
2127 | 0xb4, 0x01, 0x72, 0x70, 0x56, 0xeb, 0xd7, 0xb5, 0xbc, 0xf3, 0xf8, 0x08, | ||
2128 | 0x6d, 0xd7, 0xaf, 0x6b, 0x79, 0xb6, 0xd6, 0xda, 0xae, 0xd3, 0x90, 0xd3, | ||
2129 | 0x94, 0xa3, 0x37, 0xca, 0x5f, 0xdb, 0x74, 0xa6, 0x25, 0xe3, 0xb3, 0x42, | ||
2130 | 0x7d, 0x17, 0x83, 0x0c, 0xa5, 0x3c, 0xfd, 0x59, 0x6d, 0xd7, 0xe7, 0x6c, | ||
2131 | 0x1b, 0x94, 0x9f, 0x46, 0x76, 0x6f, 0x76, 0xa6, 0x6d, 0x1a, 0xbf, 0xc3, | ||
2132 | 0x18, 0xba, 0x9f, 0xc9, 0x59, 0x3e, 0x53, 0xce, 0x93, 0xc8, 0x5f, 0x83, | ||
2133 | 0x7c, 0xf2, 0xd9, 0x63, 0x9a, 0xcf, 0xb4, 0x7d, 0xe2, 0x74, 0xd9, 0x35, | ||
2134 | 0x85, 0xb9, 0xf5, 0x80, 0x3c, 0xf9, 0x4c, 0x1d, 0xf5, 0xa6, 0x8d, 0x3c, | ||
2135 | 0xf0, 0x90, 0xfe, 0x45, 0xe8, 0x0e, 0xd6, 0x45, 0xfa, 0xb1, 0x0c, 0xe6, | ||
2136 | 0xf0, 0x24, 0xfc, 0x9f, 0x46, 0x7c, 0x37, 0xe3, 0x7b, 0x42, 0x7e, 0x75, | ||
2137 | 0x30, 0xaa, 0xc7, 0x3d, 0x82, 0x71, 0x1c, 0x38, 0x82, 0x31, 0x39, 0xc6, | ||
2138 | 0x76, 0x76, 0xcf, 0xb8, 0x52, 0x73, 0x86, 0x7c, 0xc7, 0x33, 0x86, 0x41, | ||
2139 | 0xb0, 0xb7, 0x8b, 0x74, 0x9b, 0xf4, 0xfa, 0xf5, 0xf9, 0xb7, 0xcd, 0xf1, | ||
2140 | 0x08, 0x70, 0x72, 0x00, 0xf3, 0x31, 0x52, 0xf4, 0xbd, 0xac, 0xe3, 0xc7, | ||
2141 | 0x31, 0x4e, 0xd8, 0x80, 0xed, 0xb0, 0x05, 0xdb, 0x61, 0x07, 0xb6, 0xc3, | ||
2142 | 0x0e, 0x5c, 0x2d, 0xa7, 0xb6, 0x72, 0x7f, 0x49, 0xfe, 0x9d, 0xbc, 0x77, | ||
2143 | 0xf9, 0x1b, 0x3a, 0x36, 0x5f, 0x7b, 0x4b, 0x1f, 0x7c, 0x76, 0xf1, 0x92, | ||
2144 | 0x03, 0xdc, 0x63, 0x3f, 0xeb, 0xd5, 0xde, 0xd2, 0x2f, 0xed, 0x3d, 0xc8, | ||
2145 | 0xef, 0xb9, 0x24, 0x1d, 0xb7, 0x7c, 0xd8, 0xa9, 0x1d, 0xe8, 0x03, 0x1e, | ||
2146 | 0x33, 0x4e, 0x32, 0x3e, 0xe4, 0x30, 0x4e, 0x91, 0xdd, 0x1c, 0xd1, 0x67, | ||
2147 | 0xc4, 0xa6, 0x19, 0x8b, 0xb8, 0xa5, 0x3d, 0xb2, 0x25, 0xb1, 0xdb, 0x49, | ||
2148 | 0x0e, 0xa8, 0x48, 0x72, 0xa0, 0xcf, 0x09, 0xcb, 0xf1, 0x0e, 0x6a, 0xc8, | ||
2149 | 0x19, 0xc0, 0x7a, 0xa0, 0xf4, 0x75, 0xd0, 0xd3, 0x79, 0x29, 0x1c, 0x6f, | ||
2150 | 0x90, 0xa9, 0x62, 0xbb, 0x97, 0x55, 0x31, 0xe1, 0xbe, 0x12, 0x75, 0x0a, | ||
2151 | 0x44, 0x7f, 0x26, 0x2a, 0x13, 0xa3, 0x1b, 0x45, 0x69, 0xdb, 0xbd, 0x45, | ||
2152 | 0xb2, 0x63, 0xa3, 0x72, 0xbe, 0x5b, 0x9a, 0x14, 0xda, 0xe7, 0xdd, 0xde, | ||
2153 | 0xea, 0x14, 0xd7, 0x11, 0x43, 0x5e, 0x58, 0x4f, 0x3e, 0x19, 0x05, 0x0e, | ||
2154 | 0x41, 0xb7, 0x8c, 0xeb, 0xd6, 0x09, 0xe5, 0xde, 0xed, 0x3a, 0x66, 0xca, | ||
2155 | 0x38, 0x6d, 0xf5, 0x7a, 0x03, 0xf9, 0x23, 0xba, 0x2c, 0x7f, 0x4c, 0x96, | ||
2156 | 0xb8, 0x36, 0x23, 0x79, 0x97, 0x71, 0x61, 0x1f, 0xbf, 0xc7, 0x59, 0xb6, | ||
2157 | 0x4e, 0x46, 0xba, 0xf3, 0x76, 0x8f, 0xc7, 0x37, 0xc1, 0x07, 0x1c, 0x9f, | ||
2158 | 0x5e, 0x27, 0x01, 0xaf, 0x2f, 0x5e, 0xcf, 0x88, 0x56, 0xc9, 0x03, 0x47, | ||
2159 | 0x66, 0x46, 0xc3, 0xf5, 0x0f, 0xb6, 0x87, 0xef, 0x71, 0x23, 0x6f, 0xb3, | ||
2160 | 0x4b, 0xea, 0x11, 0x2e, 0xae, 0x55, 0x2e, 0x94, 0xb1, 0x4a, 0x9f, 0x13, | ||
2161 | 0xf6, 0xb4, 0x7c, 0x3d, 0x5d, 0x31, 0xb2, 0x75, 0xbc, 0x12, 0xea, 0x96, | ||
2162 | 0xa8, 0xd1, 0xa5, 0x4b, 0xf4, 0x89, 0x89, 0x60, 0xce, 0xeb, 0x93, 0x4b, | ||
2163 | 0x3a, 0x46, 0xf7, 0x6b, 0x53, 0x2d, 0xe2, 0x1e, 0x93, 0xd9, 0x11, 0xff, | ||
2164 | 0x54, 0x2b, 0xf7, 0x69, 0x8c, 0xa4, 0xde, 0x8c, 0x7e, 0x8c, 0xb5, 0x50, | ||
2165 | 0x1f, 0x0e, 0xa9, 0xb5, 0x78, 0xaf, 0xd1, 0xf4, 0x07, 0x9e, 0xc2, 0xb7, | ||
2166 | 0xf1, 0x13, 0xbe, 0x0c, 0x3f, 0xe1, 0x09, 0xe8, 0xba, 0x73, 0xf0, 0x13, | ||
2167 | 0x1e, 0x87, 0x9f, 0xf0, 0x18, 0xfc, 0x84, 0x47, 0xa1, 0x27, 0xab, 0xfd, | ||
2168 | 0x83, 0xe1, 0x05, 0xfe, 0x41, 0xa0, 0xf9, 0x9f, 0x31, 0xc0, 0xc7, 0xab, | ||
2169 | 0x7c, 0x83, 0xbd, 0x46, 0x5f, 0xc1, 0xef, 0x37, 0x7c, 0xd4, 0xa6, 0x6e, | ||
2170 | 0xd6, 0xfa, 0xd1, 0xec, 0xd9, 0x1d, 0x98, 0xd3, 0x57, 0x6d, 0xca, 0xe8, | ||
2171 | 0xab, 0x89, 0x79, 0x7d, 0x65, 0xf8, 0xe8, 0xd8, 0xa8, 0x44, 0xfc, 0xd1, | ||
2172 | 0xe9, 0x6c, 0x6a, 0xbb, 0xe6, 0xa1, 0x26, 0x7f, 0xa3, 0x44, 0x1e, 0x50, | ||
2173 | 0xcd, 0x35, 0x92, 0xb5, 0xdf, 0xa0, 0xaf, 0xa3, 0x5f, 0x47, 0x5b, 0xef, | ||
2174 | 0x94, 0x9c, 0xb6, 0xcf, 0xae, 0x8c, 0xef, 0x47, 0x17, 0xe1, 0xbb, 0x50, | ||
2175 | 0x7a, 0x56, 0xe3, 0xfc, 0x7e, 0x7d, 0x26, 0xbf, 0x41, 0x86, 0xcb, 0x21, | ||
2176 | 0xce, 0x79, 0x06, 0x8e, 0xfb, 0x30, 0x5a, 0x25, 0x72, 0xac, 0x45, 0xfa, | ||
2177 | 0x53, 0xa2, 0x72, 0xa9, 0x95, 0x7a, 0xff, 0xca, 0xa9, 0x6e, 0x89, 0xe7, | ||
2178 | 0xba, 0x49, 0xab, 0xf7, 0xc9, 0x84, 0x9e, 0x8b, 0x16, 0xa9, 0x39, 0x46, | ||
2179 | 0x1b, 0x25, 0x5c, 0xc3, 0xbb, 0xbd, 0xc5, 0xde, 0x41, 0x1d, 0x35, 0xe5, | ||
2180 | 0x44, 0x0e, 0xea, 0xf9, 0x9a, 0xd5, 0x7b, 0x0c, 0x6f, 0x9e, 0x62, 0x2c, | ||
2181 | 0x9e, 0xf7, 0xfd, 0x31, 0x0e, 0xff, 0xaf, 0x99, 0xbf, 0x42, 0x8b, 0xb1, | ||
2182 | 0x67, 0xd6, 0x58, 0x3b, 0xc6, 0xc4, 0xa9, 0x96, 0xb7, 0x61, 0xd8, 0x4e, | ||
2183 | 0xf5, 0x1d, 0xb5, 0xab, 0xe0, 0x03, 0x37, 0xa0, 0x4d, 0xae, 0x63, 0xdb, | ||
2184 | 0xbf, 0x17, 0xe4, 0xfd, 0xb3, 0x73, 0xc0, 0x5f, 0x85, 0xb4, 0x06, 0xe4, | ||
2185 | 0x31, 0x66, 0xf3, 0x85, 0x16, 0xc6, 0x65, 0xb3, 0x7e, 0xa3, 0x4d, 0x5b, | ||
2186 | 0xe5, 0x8c, 0x8c, 0xb6, 0xc3, 0x37, 0xe7, 0x39, 0x76, 0xe6, 0xf7, 0x73, | ||
2187 | 0xee, 0x84, 0x7f, 0xab, 0x69, 0x12, 0xf2, 0x67, 0x8f, 0x5c, 0x6b, 0xe3, | ||
2188 | 0xce, 0xd4, 0xc3, 0xbf, 0xb8, 0x60, 0xbd, 0xf6, 0x10, 0xf4, 0xd8, 0xad, | ||
2189 | 0x90, 0x47, 0xd4, 0xc3, 0x87, 0xe4, 0x17, 0x2c, 0x3d, 0x2f, 0xd4, 0xc3, | ||
2190 | 0x17, 0x85, 0xb1, 0xe1, 0x2e, 0xe4, 0xe5, 0x83, 0x28, 0xe8, 0xe1, 0x70, | ||
2191 | 0x95, 0xaf, 0x46, 0xbf, 0xaf, 0x2e, 0x6d, 0xd6, 0xc0, 0x16, 0xfa, 0x7d, | ||
2192 | 0x90, 0x03, 0xb1, 0xd0, 0xcf, 0xab, 0x9d, 0x5b, 0xa3, 0xdd, 0x69, 0xeb, | ||
2193 | 0x8e, 0xa4, 0x5e, 0x22, 0x8e, 0x12, 0x87, 0xe4, 0xf6, 0xf5, 0xbc, 0x26, | ||
2194 | 0xcf, 0xf5, 0xbf, 0xa5, 0x71, 0x26, 0x8a, 0xb4, 0xb7, 0x46, 0xc3, 0x68, | ||
2195 | 0xe5, 0x7c, 0x22, 0xdc, 0xbf, 0x51, 0xb0, 0x75, 0xf7, 0xd8, 0xf5, 0xf8, | ||
2196 | 0x82, 0x7c, 0x9b, 0x71, 0xce, 0x44, 0x5f, 0x64, 0x25, 0xcf, 0x64, 0xa3, | ||
2197 | 0xee, 0xed, 0xda, 0x6f, 0xcf, 0x48, 0xd8, 0x16, 0xbf, 0x6b, 0xaa, 0xda, | ||
2198 | 0xa6, 0x1d, 0xc5, 0xf7, 0xe2, 0xfb, 0x1b, 0x9e, 0xd7, 0x6b, 0x8b, 0xe6, | ||
2199 | 0x6e, 0x9a, 0x90, 0x4f, 0xc8, 0x3b, 0x09, 0x7d, 0x8e, 0xc9, 0x3f, 0x46, | ||
2200 | 0xbb, 0x87, 0xeb, 0xae, 0xde, 0xf4, 0x70, 0xea, 0x23, 0xfa, 0x0e, 0xd5, | ||
2201 | 0x71, 0x11, 0xa7, 0x90, 0xda, 0xab, 0xf7, 0x9d, 0x14, 0x74, 0x7c, 0x39, | ||
2202 | 0x8f, 0xf7, 0xbc, 0x8f, 0xda, 0x76, 0x8c, 0x7f, 0x0b, 0x88, 0x69, 0x1f, | ||
2203 | 0x04, 0x6c, 0xd4, 0x21, 0x94, 0xbd, 0x31, 0x69, 0x3b, 0xfa, 0x7e, 0xcd, | ||
2204 | 0x0b, 0x6b, 0xe1, 0x0b, 0xf4, 0x1e, 0x85, 0xae, 0x3e, 0x1a, 0x97, 0xfe, | ||
2205 | 0xa3, 0x5a, 0x37, 0x66, 0x96, 0xc6, 0x0a, 0xb6, 0x78, 0x2e, 0xfd, 0x89, | ||
2206 | 0x98, 0x27, 0xd7, 0x1c, 0x8d, 0xc8, 0xe1, 0xd8, 0x16, 0xaf, 0xc3, 0xb9, | ||
2207 | 0xd1, 0xea, 0x42, 0x43, 0x7f, 0xa0, 0x15, 0xd4, 0x37, 0xeb, 0x90, 0xbd, | ||
2208 | 0xf3, 0xb1, 0x6b, 0xd4, 0x7f, 0x49, 0x46, 0xc8, 0x4b, 0x95, 0x88, 0x8c, | ||
2209 | 0x0f, 0xb6, 0x02, 0x9e, 0xb7, 0xae, 0x07, 0x0e, 0x40, 0x53, 0x98, 0x1f, | ||
2210 | 0xfd, 0xf7, 0x3c, 0xdc, 0x38, 0xe5, 0x57, 0x1b, 0xfa, 0xef, 0x3b, 0x4a, | ||
2211 | 0x1d, 0xe6, 0x6b, 0xbe, 0x46, 0xbf, 0x5e, 0x8d, 0xf6, 0x3d, 0xc8, 0x8b, | ||
2212 | 0x6f, 0x11, 0xff, 0x01, 0xc8, 0xb5, 0xa3, 0x51, 0xe9, 0x38, 0xda, 0x20, | ||
2213 | 0x9b, 0x8e, 0xd2, 0xf7, 0xa8, 0xf6, 0x45, 0x69, 0x8b, 0x5e, 0xc2, 0xb8, | ||
2214 | 0x6e, 0x34, 0xf7, 0x0d, 0x4e, 0x45, 0x65, 0x1f, 0xf9, 0x15, 0x65, 0x73, | ||
2215 | 0xb0, 0x93, 0xb3, 0x47, 0x3d, 0xbd, 0x16, 0x9a, 0xc5, 0x38, 0xf9, 0x37, | ||
2216 | 0x2c, 0xfa, 0x8e, 0x1a, 0x39, 0x53, 0xa0, 0x6f, 0x32, 0xd0, 0x02, 0xbc, | ||
2217 | 0x3e, 0x60, 0xf9, 0xe5, 0x3d, 0xeb, 0x2d, 0x5f, 0xfe, 0x9c, 0xfc, 0x96, | ||
2218 | 0x5b, 0x6f, 0xe4, 0xe5, 0x87, 0xd6, 0x73, 0x2f, 0xd2, 0x5a, 0x9f, 0xef, | ||
2219 | 0x3a, 0x6d, 0x43, 0x18, 0xb9, 0xf9, 0x7a, 0xfc, 0x27, 0xc0, 0x51, 0xb8, | ||
2220 | 0xfe, 0x44, 0x3e, 0xe4, 0x1a, 0xb2, 0x3e, 0xb3, 0x92, 0x9a, 0xd1, 0x7f, | ||
2221 | 0x53, 0x89, 0x6b, 0x61, 0xf3, 0xf7, 0x59, 0x6d, 0xaf, 0x30, 0x36, 0xfe, | ||
2222 | 0x4c, 0xf8, 0x37, 0x9c, 0xaa, 0xf6, 0x19, 0x56, 0xaf, 0x75, 0x31, 0xbe, | ||
2223 | 0x34, 0xb7, 0x17, 0x28, 0x18, 0xd5, 0x77, 0xc2, 0xc5, 0x9c, 0x8b, 0xc5, | ||
2224 | 0x5a, 0xe7, 0x9b, 0x63, 0x12, 0xb8, 0x7e, 0xdc, 0xf9, 0x96, 0xcf, 0xb5, | ||
2225 | 0x71, 0xcf, 0x79, 0xb9, 0xe8, 0x83, 0xf7, 0xfe, 0x02, 0xe3, 0x68, 0x75, | ||
2226 | 0x5e, 0xc1, 0x9c, 0x1e, 0x2c, 0x65, 0x92, 0x9e, 0x8d, 0x83, 0x3f, 0x5b, | ||
2227 | 0x6c, 0x75, 0x9e, 0x9b, 0x8f, 0x21, 0xf5, 0x84, 0x74, 0x71, 0x88, 0x79, | ||
2228 | 0x65, 0xe4, 0x95, 0x19, 0xeb, 0xad, 0x77, 0x26, 0xc7, 0xec, 0x7e, 0x12, | ||
2229 | 0xa3, 0x8b, 0xe6, 0xd6, 0x5f, 0x06, 0xf4, 0xfa, 0x84, 0xeb, 0x4c, 0x4e, | ||
2230 | 0x4d, 0xaf, 0x37, 0xfb, 0x8a, 0x6a, 0x91, 0x67, 0xf6, 0x58, 0x4e, 0x4c, | ||
2231 | 0xd5, 0xa2, 0x4c, 0xbd, 0x33, 0xa1, 0x63, 0x5e, 0xda, 0xf6, 0x70, 0xc6, | ||
2232 | 0xa7, 0xea, 0x9d, 0x29, 0xbd, 0xd6, 0x1c, 0x75, 0x4e, 0x8e, 0xb1, 0xed, | ||
2233 | 0x28, 0xca, 0x88, 0x73, 0x0a, 0xed, 0x4d, 0x8d, 0xb5, 0xc7, 0xf7, 0x49, | ||
2234 | 0x3b, 0x6c, 0x01, 0xfe, 0x8d, 0x34, 0xde, 0x17, 0xe0, 0x3a, 0x53, 0x73, | ||
2235 | 0xed, 0x2a, 0xb4, 0xc3, 0xb2, 0xa4, 0x41, 0xf6, 0xeb, 0xa2, 0xfd, 0xa5, | ||
2236 | 0x6b, 0x52, 0x4b, 0x71, 0x32, 0x06, 0x9c, 0x1c, 0xb4, 0x38, 0x39, 0x61, | ||
2237 | 0x71, 0x32, 0x5a, 0x85, 0x93, 0x87, 0x17, 0xe1, 0xe4, 0x04, 0x70, 0xf2, | ||
2238 | 0xf0, 0x15, 0x70, 0x82, 0xbc, 0xf2, 0xc3, 0x16, 0x27, 0xf7, 0x2d, 0xc2, | ||
2239 | 0x49, 0x7e, 0x2e, 0x16, 0x6f, 0x70, 0x32, 0x02, 0x9c, 0xd4, 0xb4, 0x1a, | ||
2240 | 0xd8, 0x0f, 0x5a, 0x9c, 0xe0, 0x3d, 0x75, 0x10, 0x65, 0xee, 0xab, 0xc2, | ||
2241 | 0xc9, 0x41, 0xe0, 0xe4, 0x3e, 0x8b, 0x93, 0xc3, 0x16, 0x27, 0x87, 0x51, | ||
2242 | 0x26, 0x0f, 0x9c, 0x14, 0x96, 0xc1, 0xc9, 0x08, 0x70, 0x12, 0xb6, 0x5b, | ||
2243 | 0x40, 0x3b, 0x87, 0xab, 0x70, 0x32, 0xb2, 0x0c, 0x4e, 0xb8, 0xe6, 0x1a, | ||
2244 | 0xee, 0xe1, 0xbe, 0xfc, 0x06, 0x7b, 0xb8, 0x53, 0x9f, 0x7d, 0xe3, 0x3d, | ||
2245 | 0xdc, 0x2c, 0x73, 0xb9, 0xea, 0xcc, 0xfb, 0xb3, 0x76, 0x4f, 0x9a, 0xd9, | ||
2246 | 0xfb, 0x37, 0x7f, 0x0f, 0x5e, 0x3b, 0xf8, 0xbc, 0x90, 0xf7, 0xc4, 0xec, | ||
2247 | 0x21, 0x75, 0xb7, 0x4d, 0x81, 0xd7, 0x8e, 0xca, 0x81, 0xe3, 0xb5, 0x87, | ||
2248 | 0x73, 0x36, 0xcd, 0xdf, 0xd6, 0x9e, 0x57, 0x8a, 0x79, 0xe1, 0xde, 0x83, | ||
2249 | 0x17, 0xcd, 0x5d, 0x50, 0x31, 0x9e, 0xc7, 0xa8, 0x5e, 0x7b, 0x7e, 0xd1, | ||
2250 | 0xde, 0x55, 0xe4, 0xdd, 0x9b, 0xf5, 0xa7, 0x13, 0xdc, 0x57, 0x55, 0xd0, | ||
2251 | 0xf0, 0x72, 0x2d, 0xad, 0x47, 0xef, 0xa5, 0xca, 0x16, 0x69, 0x67, 0x27, | ||
2252 | 0xb8, 0x27, 0x0d, 0xf6, 0x31, 0xf7, 0xed, 0x9a, 0x7d, 0xba, 0xbd, 0x0b, | ||
2253 | 0xf6, 0xe9, 0x56, 0x9f, 0xef, 0x26, 0xdf, 0xcd, 0xd3, 0xcd, 0xc1, 0xb9, | ||
2254 | 0xbb, 0x57, 0x8f, 0x3b, 0xcf, 0xe8, 0xf8, 0x70, 0x3d, 0xe6, 0x27, 0x08, | ||
2255 | 0x4e, 0xa7, 0x4c, 0x5c, 0x76, 0x46, 0xc7, 0x65, 0x05, 0x1e, 0xf8, 0xb0, | ||
2256 | 0x8d, 0xcd, 0x76, 0xf4, 0x5c, 0x9e, 0x8b, 0xcb, 0x2e, 0xd8, 0xa3, 0xa3, | ||
2257 | 0xef, 0xff, 0xc8, 0x8e, 0x5e, 0xd2, 0x7b, 0x71, 0xfa, 0x52, 0x8e, 0x14, | ||
2258 | 0x20, 0x23, 0xf6, 0x8c, 0xbf, 0x2a, 0xc3, 0x0f, 0xf2, 0x9b, 0x3a, 0x2d, | ||
2259 | 0x02, 0xbd, 0x45, 0xb9, 0x9d, 0x97, 0x6c, 0x0f, 0xd3, 0x4c, 0x9d, 0x3e, | ||
2260 | 0xed, 0x23, 0x1f, 0x77, 0x7a, 0xe7, 0xfa, 0x27, 0x7e, 0xc3, 0x35, 0x70, | ||
2261 | 0xfe, 0xa6, 0x9d, 0x93, 0x71, 0xb2, 0x15, 0xe6, 0x87, 0x6b, 0xe1, 0x77, | ||
2262 | 0xdb, 0xfb, 0x08, 0x99, 0x5f, 0x7d, 0xff, 0xb5, 0xe1, 0xd3, 0xac, 0xfe, | ||
2263 | 0x3b, 0x22, 0x23, 0x4e, 0x1f, 0xea, 0x4c, 0x7b, 0x0d, 0x03, 0x2a, 0x7d, | ||
2264 | 0xd3, 0x00, 0xcf, 0xca, 0x4d, 0x2c, 0xf9, 0xfb, 0x01, 0xf3, 0xba, 0xb0, | ||
2265 | 0xa0, 0xe7, 0x94, 0xfb, 0xb0, 0xa6, 0x41, 0x8b, 0x9a, 0xb6, 0x34, 0xfd, | ||
2266 | 0x1f, 0x98, 0xd3, 0x91, 0xd4, 0xad, 0xd4, 0x93, 0xa1, 0x8e, 0x4c, 0xc6, | ||
2267 | 0xfb, 0x78, 0x7f, 0x84, 0xa6, 0x71, 0x7b, 0x97, 0xc4, 0xd4, 0x39, 0xad, | ||
2268 | 0xdf, 0x47, 0x52, 0xbc, 0x5f, 0x66, 0x99, 0xb2, 0xa3, 0x55, 0x65, 0xf5, | ||
2269 | 0xb8, 0x3d, 0xf9, 0x43, 0xcc, 0xcd, 0x17, 0x61, 0x6f, 0xf6, 0x8e, 0xbd, | ||
2270 | 0x0a, 0x9f, 0x31, 0x2e, 0x5f, 0x2a, 0xbd, 0x04, 0x7a, 0xcd, 0xaf, 0xb5, | ||
2271 | 0x77, 0xe1, 0x65, 0x01, 0x37, 0xcf, 0x38, 0xeb, 0xfd, 0xc3, 0x91, 0x3f, | ||
2272 | 0x02, 0x5d, 0xfc, 0xc1, 0x4b, 0xec, 0x03, 0xb0, 0x44, 0x60, 0xcf, 0xc3, | ||
2273 | 0x36, 0x18, 0x7f, 0x49, 0xef, 0x95, 0xbb, 0xbe, 0xfc, 0x92, 0x8e, 0x53, | ||
2274 | 0xf4, 0x97, 0x5b, 0x65, 0x7b, 0xb9, 0x41, 0x76, 0x40, 0x2f, 0xec, 0x28, | ||
2275 | 0xfb, 0x78, 0xa2, 0x72, 0x63, 0xd9, 0xcc, 0xd3, 0x47, 0xca, 0x9c, 0xef, | ||
2276 | 0x6d, 0x32, 0x71, 0xbc, 0x9a, 0x66, 0xa7, 0xed, 0xde, 0x31, 0xd2, 0x0f, | ||
2277 | 0x9e, 0x52, 0x32, 0x3f, 0xad, 0xc7, 0xce, 0x5d, 0xac, 0xc9, 0xc3, 0xb3, | ||
2278 | 0xc2, 0xbd, 0xf8, 0xfc, 0x1b, 0x74, 0xdf, 0x68, 0xe5, 0x19, 0x77, 0xde, | ||
2279 | 0x8f, 0xd8, 0x5f, 0x09, 0xf7, 0x86, 0xbf, 0xfe, 0x19, 0x10, 0xfd, 0x77, | ||
2280 | 0x5d, 0xf4, 0xde, 0x70, 0x4d, 0x7b, 0xd2, 0x76, 0x26, 0xa6, 0x75, 0x84, | ||
2281 | 0xa1, 0xf1, 0xf9, 0xbf, 0xe7, 0x22, 0xf2, 0x7f, 0x01, 0x95, 0xf6, 0x2d, | ||
2282 | 0x58, 0xd0, 0x73, 0x00, 0x00, 0x00 }; | ||
2283 | static u32 bnx2_CP_b09FwData[(0x50/4) + 1] = { | ||
2284 | 0x00010030, 0x00000030, 0x00000000, 0x00000001, 0x00010fd0, 0x00000fd0, | ||
2285 | 0x00001430, 0x0000007f, 0x00030400, 0x00001000, 0x00000030, 0x00000020, | ||
2286 | 0x00050200, 0x00001000, 0x00000030, 0x00000010, 0x00010400, 0x00000400, | ||
2287 | 0x00001030, 0x00000020, 0x00000000 }; | ||
2288 | static u32 bnx2_CP_b09FwRodata[(0x118/4) + 1] = { | ||
2289 | 0x080005d8, 0x080007f8, 0x0800073c, 0x08000764, 0x0800078c, 0x080007b4, | ||
2290 | 0x08000610, 0x080005fc, 0x08000820, 0x08000820, 0x0800062c, 0x08000648, | ||
2291 | 0x08000648, 0x08000820, 0x08000660, 0x08000674, 0x08000820, 0x08000688, | ||
2292 | 0x08000820, 0x08000820, 0x0800069c, 0x08000820, 0x08000820, 0x08000820, | ||
2293 | 0x08000820, 0x08000820, 0x08000820, 0x08000820, 0x08000820, 0x08000820, | ||
2294 | 0x08000820, 0x080006b0, 0x08000820, 0x080006c4, 0x080006d8, 0x080006ec, | ||
2295 | 0x08000820, 0x08000700, 0x08000714, 0x08000728, 0x08003740, 0x08003758, | ||
2296 | 0x08003768, 0x08003778, 0x08003790, 0x080037a8, 0x080037b8, 0x080037c8, | ||
2297 | 0x080037e8, 0x080037f8, 0x08003808, 0x08003898, 0x080037d8, 0x08003818, | ||
2298 | 0x08003828, 0x08003840, 0x08003860, 0x08003898, 0x08003878, 0x08003878, | ||
2299 | 0x080055f0, 0x080055f0, 0x080055f0, 0x080055f0, 0x080055f0, 0x08005618, | ||
2300 | 0x08005618, 0x08005640, 0x08005690, 0x08005660, 0x00000000 }; | ||
2301 | static u32 bnx2_CP_b09FwBss[(0x870/4) + 1] = { 0x0 }; | ||
2302 | static u32 bnx2_CP_b09FwSbss[(0xe9/4) + 1] = { 0x0 }; | ||
2303 | |||
2304 | static struct fw_info bnx2_cp_fw_09 = { | ||
2305 | .ver_major = 0x1, | ||
2306 | .ver_minor = 0x0, | ||
2307 | .ver_fix = 0x0, | ||
2308 | |||
2309 | .start_addr = 0x0800006c, | ||
2310 | |||
2311 | .text_addr = 0x08000000, | ||
2312 | .text_len = 0x73cc, | ||
2313 | .text_index = 0x0, | ||
2314 | .gz_text = bnx2_CP_b09FwText, | ||
2315 | .gz_text_len = sizeof(bnx2_CP_b09FwText), | ||
2316 | |||
2317 | .data_addr = 0x08007500, | ||
2318 | .data_len = 0x50, | ||
2319 | .data_index = 0x0, | ||
2320 | .data = bnx2_CP_b09FwData, | ||
2321 | |||
2322 | .sbss_addr = 0x08007554, | ||
2323 | .sbss_len = 0xe9, | ||
2324 | .sbss_index = 0x0, | ||
2325 | .sbss = bnx2_CP_b09FwSbss, | ||
2326 | |||
2327 | .bss_addr = 0x08007640, | ||
2328 | .bss_len = 0x870, | ||
2329 | .bss_index = 0x0, | ||
2330 | .bss = bnx2_CP_b09FwBss, | ||
2331 | |||
2332 | .rodata_addr = 0x080073d0, | ||
2333 | .rodata_len = 0x118, | ||
2334 | .rodata_index = 0x0, | ||
2335 | .rodata = bnx2_CP_b09FwRodata, | ||
2336 | }; | ||
2337 | |||
2338 | static u8 bnx2_RXP_b09FwText[] = { | ||
2339 | 0x1f, 0x8b, 0x08, 0x08, 0x19, 0xfd, 0x2f, 0x45, 0x00, 0x03, 0x74, 0x65, | ||
2340 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xec, 0x5c, 0x6b, 0x6c, | ||
2341 | 0x1c, 0xd7, 0x75, 0x3e, 0xf3, 0x20, 0xb5, 0xa2, 0xf8, 0x18, 0x2e, 0x57, | ||
2342 | 0xcc, 0x4a, 0x66, 0xec, 0x5d, 0x71, 0x24, 0xb2, 0x16, 0x6b, 0x8c, 0xd8, | ||
2343 | 0xad, 0x4d, 0x04, 0x6b, 0x7b, 0x33, 0xbb, 0x92, 0x98, 0x54, 0x85, 0x29, | ||
2344 | 0x87, 0x75, 0x0c, 0xc3, 0x75, 0xd9, 0xa5, 0x1a, 0xbb, 0xae, 0x51, 0xc8, | ||
2345 | 0x8f, 0xc4, 0x06, 0x6a, 0xd6, 0x9b, 0x25, 0xdd, 0xa8, 0xe9, 0x82, 0x43, | ||
2346 | 0x4b, 0xaa, 0xe9, 0x02, 0x69, 0xbb, 0x20, 0xa9, 0xc7, 0x8f, 0x85, 0x56, | ||
2347 | 0x76, 0x52, 0xc7, 0xf9, 0xe1, 0x48, 0x50, 0x95, 0x20, 0x28, 0x0c, 0x43, | ||
2348 | 0x48, 0x8d, 0xd6, 0x3f, 0xda, 0x40, 0x95, 0x9f, 0x68, 0x92, 0x42, 0x41, | ||
2349 | 0x0b, 0xc7, 0x68, 0x6c, 0x4f, 0xbf, 0xef, 0xce, 0x0c, 0xb9, 0xa4, 0x5f, | ||
2350 | 0x40, 0x7f, 0xf4, 0x4f, 0xe7, 0x02, 0x8b, 0xb9, 0xf7, 0xce, 0x3d, 0xe7, | ||
2351 | 0x9e, 0x7b, 0xde, 0xe7, 0x0e, 0xa5, 0xdf, 0xef, 0x94, 0x0e, 0x09, 0x5b, | ||
2352 | 0x17, 0x7e, 0x99, 0xc3, 0x8f, 0x3d, 0x74, 0xc3, 0xd8, 0x0d, 0xa3, 0x22, | ||
2353 | 0x7b, 0xf6, 0x18, 0x5b, 0x12, 0x7a, 0x34, 0x1f, 0xb7, 0xb8, 0xc5, 0x2d, | ||
2354 | 0x6e, 0x71, 0x8b, 0x5b, 0xdc, 0xe2, 0x16, 0xb7, 0xb8, 0xc5, 0x2d, 0x6e, | ||
2355 | 0x71, 0x8b, 0x5b, 0xdc, 0xe2, 0x16, 0xb7, 0xb8, 0xc5, 0x2d, 0x6e, 0x71, | ||
2356 | 0x8b, 0x5b, 0xdc, 0xe2, 0x16, 0xb7, 0xb8, 0xc5, 0x2d, 0x6e, 0x71, 0x8b, | ||
2357 | 0x5b, 0xdc, 0xe2, 0x16, 0xb7, 0xb8, 0xc5, 0x2d, 0x6e, 0x71, 0x8b, 0x5b, | ||
2358 | 0xdc, 0xe2, 0x16, 0xb7, 0xb8, 0xc5, 0x2d, 0x6e, 0x71, 0x8b, 0x5b, 0xdc, | ||
2359 | 0xe2, 0xf6, 0xff, 0xbd, 0x19, 0x22, 0x16, 0x9f, 0x5d, 0xe1, 0x4f, 0x12, | ||
2360 | 0x7a, 0xfe, 0xf2, 0x1f, 0xba, 0xb6, 0x24, 0x8c, 0xfc, 0xcf, 0x66, 0xa6, | ||
2361 | 0x6d, 0x91, 0x42, 0x63, 0x77, 0xa6, 0x28, 0xef, 0xfb, 0x95, 0x94, 0x29, | ||
2362 | 0x9c, 0xff, 0x6c, 0xfe, 0xbd, 0xbf, 0x7d, 0xf1, 0xa6, 0xec, 0xd5, 0xba, | ||
2363 | 0x21, 0x09, 0x2b, 0x3f, 0xb7, 0xc7, 0xda, 0x25, 0x89, 0x01, 0xc0, 0x7c, | ||
2364 | 0x6b, 0xe8, 0xc7, 0xdd, 0xd2, 0x2d, 0x6b, 0x78, 0xec, 0x84, 0x5c, 0x36, | ||
2365 | 0x5e, 0xd0, 0xdc, 0xa6, 0xef, 0x9f, 0x70, 0x7c, 0xff, 0x87, 0xf8, 0xbd, | ||
2366 | 0xe5, 0x60, 0xec, 0x7d, 0xe0, 0x17, 0x4c, 0x43, 0x74, 0xfb, 0x2f, 0x34, | ||
2367 | 0x77, 0xb9, 0x43, 0xaa, 0x8b, 0xa6, 0xcc, 0x7a, 0x29, 0x39, 0xe2, 0x55, | ||
2368 | 0xb4, 0x52, 0xb3, 0xa6, 0xed, 0x3d, 0x35, 0xaf, 0xed, 0x3b, 0x75, 0x44, | ||
2369 | 0xdb, 0x7f, 0x6a, 0x41, 0x73, 0x4f, 0x49, 0x45, 0xdf, 0xd3, 0x29, 0x05, | ||
2370 | 0xeb, 0xb4, 0x56, 0x6c, 0xf6, 0x6b, 0xee, 0xe2, 0x7b, 0xbe, 0xeb, 0x64, | ||
2371 | 0xad, 0xbb, 0xc4, 0x2c, 0x80, 0x16, 0x71, 0x6b, 0x3e, 0xc6, 0xa6, 0x14, | ||
2372 | 0x52, 0xbe, 0xaf, 0xe7, 0xfd, 0x27, 0xdc, 0x9c, 0x6d, 0xe9, 0x5a, 0x4a, | ||
2373 | 0xaa, 0xcd, 0x7e, 0xe0, 0xed, 0xd4, 0x8a, 0x8b, 0xa6, 0x56, 0xf2, 0xfc, | ||
2374 | 0x73, 0xae, 0x23, 0x03, 0x86, 0xf8, 0xfe, 0x9c, 0xb3, 0x33, 0x7d, 0x48, | ||
2375 | 0x4e, 0x02, 0x6f, 0x03, 0xf8, 0xc4, 0xd2, 0xf3, 0xa4, 0x8f, 0x74, 0x92, | ||
2376 | 0xe4, 0x8a, 0x56, 0x1c, 0x8a, 0xe8, 0x93, 0x0c, 0xe9, 0x2f, 0xaf, 0xe8, | ||
2377 | 0xa0, 0x73, 0x8b, 0x94, 0xeb, 0x96, 0x4c, 0xad, 0x6c, 0x5c, 0x7f, 0xd9, | ||
2378 | 0x7f, 0x71, 0x28, 0x25, 0xcf, 0x36, 0xb3, 0x47, 0x2a, 0x92, 0x90, 0x39, | ||
2379 | 0x2f, 0x23, 0x7a, 0x5e, 0x0a, 0x6e, 0x6e, 0x40, 0xce, 0x35, 0xd3, 0xf2, | ||
2380 | 0x5c, 0xd3, 0x4e, 0x57, 0x65, 0x93, 0x94, 0x53, 0x96, 0x9c, 0x6d, 0xa6, | ||
2381 | 0x70, 0x46, 0xff, 0x9c, 0x6e, 0xdb, 0x56, 0x15, 0x6b, 0xab, 0xcd, 0x97, | ||
2382 | 0xf8, 0xef, 0x5f, 0xac, 0xe9, 0x9c, 0x82, 0xa9, 0x80, 0xee, 0x70, 0x2d, | ||
2383 | 0xcf, 0xa1, 0xd6, 0xaa, 0xb3, 0x04, 0x6b, 0xa5, 0x32, 0x9d, 0xc3, 0x5c, | ||
2384 | 0x73, 0x34, 0xe4, 0xef, 0x16, 0x9c, 0x97, 0x4f, 0x4b, 0xaa, 0x9e, 0x01, | ||
2385 | 0xde, 0xb0, 0xff, 0xcf, 0xc0, 0x37, 0x80, 0xf3, 0x5e, 0xab, 0x7e, 0xee, | ||
2386 | 0xa2, 0xa4, 0x74, 0xd9, 0x99, 0x2e, 0x0b, 0x78, 0xdb, 0xec, 0xc4, 0x98, | ||
2387 | 0xf4, 0xf9, 0xfe, 0x7e, 0x47, 0xac, 0xaa, 0xd3, 0x03, 0x98, 0x8c, 0x54, | ||
2388 | 0x9d, 0x6e, 0xe0, 0x69, 0x13, 0xcb, 0xe6, 0xb9, 0xb8, 0xd7, 0x66, 0xcc, | ||
2389 | 0xfb, 0x5d, 0x46, 0xde, 0xf7, 0xa7, 0x73, 0xd2, 0x1d, 0xcc, 0xed, 0x56, | ||
2390 | 0x38, 0xa6, 0x26, 0x34, 0xac, 0xfb, 0x05, 0x69, 0x4e, 0x24, 0xf3, 0xec, | ||
2391 | 0xf3, 0x99, 0x13, 0x77, 0xfe, 0xda, 0x90, 0x96, 0x34, 0x68, 0xb9, 0x26, | ||
2392 | 0xec, 0x83, 0xff, 0x1e, 0xf8, 0xe0, 0x7c, 0x06, 0x63, 0xed, 0x3a, 0xe0, | ||
2393 | 0x19, 0xae, 0x0a, 0xf7, 0xe8, 0x93, 0xa5, 0x94, 0xe8, 0x57, 0x9c, 0xde, | ||
2394 | 0x70, 0x5d, 0x37, 0x68, 0x8d, 0xf4, 0xa0, 0x5f, 0xe6, 0x16, 0xc9, 0xeb, | ||
2395 | 0x1a, 0x64, 0x83, 0xe7, 0x8d, 0x15, 0xad, 0xd0, 0x3c, 0x82, 0xbe, 0x29, | ||
2396 | 0xd3, 0xb6, 0x7f, 0x6e, 0xce, 0x99, 0xd7, 0x8a, 0xa7, 0x4e, 0x6a, 0xa5, | ||
2397 | 0x53, 0x2f, 0x68, 0x7b, 0x9b, 0x2f, 0x74, 0x49, 0x47, 0x16, 0xa7, 0x4e, | ||
2398 | 0xc8, 0x93, 0x9e, 0x26, 0xa4, 0x73, 0x09, 0xbc, 0x2b, 0x58, 0x15, 0x31, | ||
2399 | 0xed, 0x6e, 0x6d, 0x1f, 0xf0, 0xb4, 0xd9, 0x7f, 0xd2, 0x29, 0xdd, 0x86, | ||
2400 | 0x6c, 0xb2, 0xa3, 0xb5, 0x29, 0xf9, 0x33, 0xd0, 0x74, 0xc1, 0x49, 0x91, | ||
2401 | 0x5f, 0x3d, 0x01, 0x4c, 0x44, 0x07, 0xf5, 0x8a, 0x3a, 0xa5, 0x17, 0x4a, | ||
2402 | 0xc7, 0xff, 0xbc, 0xaf, 0x3a, 0xb2, 0x85, 0x6b, 0xa0, 0xff, 0xd6, 0xfd, | ||
2403 | 0xd3, 0xb6, 0xdb, 0x6b, 0x4a, 0xc5, 0xd2, 0x25, 0x6b, 0x15, 0xe5, 0x3a, | ||
2404 | 0x99, 0x73, 0x44, 0x8a, 0x35, 0xec, 0x69, 0x9b, 0xe0, 0x8d, 0x0d, 0xde, | ||
2405 | 0xec, 0x3c, 0x32, 0xa8, 0xff, 0x96, 0x64, 0xfa, 0x2b, 0x9a, 0x19, 0xf2, | ||
2406 | 0x71, 0x49, 0x6e, 0x51, 0xf0, 0x7a, 0xde, 0x81, 0x7e, 0x76, 0xb0, 0x8f, | ||
2407 | 0x7d, 0x13, 0x6a, 0x5f, 0x23, 0x6f, 0xa7, 0x97, 0x45, 0x34, 0x3d, 0xbf, | ||
2408 | 0x1b, 0xf8, 0xa8, 0xb7, 0x5c, 0xf7, 0x04, 0x68, 0x24, 0xed, 0xec, 0xdb, | ||
2409 | 0x80, 0x49, 0x88, 0xeb, 0x74, 0xb5, 0xd0, 0x49, 0x79, 0x93, 0xd7, 0xe4, | ||
2410 | 0x9d, 0x3a, 0xa7, 0xb6, 0x76, 0xce, 0x5f, 0xf9, 0x9b, 0x46, 0x4d, 0xf9, | ||
2411 | 0xa1, 0x3a, 0x2f, 0x6d, 0x8c, 0xeb, 0x52, 0xa1, 0x4e, 0x24, 0xa0, 0x47, | ||
2412 | 0xa2, 0x95, 0x1d, 0x6b, 0x15, 0x57, 0x59, 0x44, 0x37, 0xf2, 0x9d, 0x52, | ||
2413 | 0x54, 0xf4, 0x8d, 0x61, 0x2f, 0xda, 0x1e, 0x6c, 0xc8, 0xe6, 0x59, 0x38, | ||
2414 | 0x97, 0x87, 0x8d, 0x67, 0xd9, 0x97, 0xf2, 0x02, 0xed, 0x9d, 0xb4, 0x9d, | ||
2415 | 0xcf, 0xaa, 0x7f, 0x8e, 0x45, 0x5d, 0x3c, 0xd6, 0x03, 0xda, 0x38, 0x86, | ||
2416 | 0x1d, 0xda, 0x78, 0x3f, 0xa2, 0x89, 0x3b, 0x36, 0x08, 0xfe, 0x70, 0x9d, | ||
2417 | 0x9d, 0x81, 0x9c, 0x0b, 0x2e, 0xf6, 0x74, 0x9d, 0xdf, 0x50, 0x3c, 0xe8, | ||
2418 | 0xc5, 0x79, 0x06, 0xe7, 0xc9, 0xaf, 0x0e, 0xe8, 0xb6, 0x26, 0x65, 0x27, | ||
2419 | 0x9b, 0xa1, 0xdc, 0x03, 0xda, 0x75, 0xd9, 0x74, 0x63, 0x2b, 0xed, 0x91, | ||
2420 | 0xac, 0xa8, 0x87, 0xa6, 0x24, 0x47, 0xb9, 0x96, 0xeb, 0xb8, 0x3e, 0x3b, | ||
2421 | 0x26, 0xfa, 0xaf, 0x7c, 0x6b, 0xdd, 0x59, 0x6d, 0xd9, 0x31, 0x0f, 0x1a, | ||
2422 | 0x02, 0xde, 0x82, 0x27, 0x9f, 0xb6, 0x96, 0x7c, 0xdd, 0xc8, 0x3f, 0xae, | ||
2423 | 0x6d, 0x5d, 0x07, 0x9d, 0xe8, 0x27, 0x0d, 0x27, 0x3a, 0x03, 0x5b, 0x8b, | ||
2424 | 0x68, 0x8a, 0x64, 0xa3, 0x85, 0x38, 0x3e, 0xe9, 0x1c, 0x5c, 0x0f, 0x1f, | ||
2425 | 0xe0, 0xc1, 0x07, 0xc0, 0xaf, 0x3d, 0xeb, 0xc1, 0xfe, 0x3d, 0xfa, 0x8c, | ||
2426 | 0x8c, 0xbc, 0x38, 0x04, 0x1f, 0xb7, 0xe6, 0x63, 0xd0, 0xc6, 0xd1, 0xd7, | ||
2427 | 0xc5, 0x80, 0x8f, 0x99, 0xad, 0xeb, 0xb0, 0x59, 0xf0, 0x78, 0x85, 0x73, | ||
2428 | 0xb0, 0xed, 0x95, 0x12, 0x9e, 0xb6, 0x54, 0x1b, 0xd4, 0xab, 0xc8, 0x97, | ||
2429 | 0xd2, 0xe7, 0xa4, 0xe1, 0x5f, 0xe8, 0x77, 0xe8, 0x57, 0xb8, 0xd6, 0xf7, | ||
2430 | 0x4b, 0x0e, 0x61, 0x7d, 0x99, 0x70, 0x68, 0x43, 0x9d, 0xa2, 0x27, 0x2b, | ||
2431 | 0xda, 0xc1, 0x21, 0xd8, 0xd6, 0xf5, 0x6d, 0xa0, 0x95, 0x36, 0x76, 0x8d, | ||
2432 | 0x48, 0x3b, 0xf7, 0xfb, 0x69, 0x57, 0xf0, 0xef, 0xee, 0x36, 0x61, 0x0d, | ||
2433 | 0x9f, 0xef, 0x86, 0x63, 0x2d, 0xf4, 0x2d, 0x7c, 0x9f, 0xcd, 0x14, 0xa4, | ||
2434 | 0x3f, 0x1c, 0xb3, 0xbf, 0x4a, 0xaf, 0xa3, 0xdf, 0x98, 0x90, 0x1d, 0x27, | ||
2435 | 0x03, 0x9f, 0xb8, 0x63, 0xc9, 0x12, 0xfb, 0x64, 0x40, 0xe3, 0x8e, 0x33, | ||
2436 | 0x91, 0x6f, 0x7c, 0x1f, 0xf0, 0xa0, 0xcf, 0x5b, 0x8d, 0x03, 0x68, 0x3f, | ||
2437 | 0xd3, 0x60, 0x2a, 0x98, 0xdb, 0xc8, 0x0b, 0xfa, 0x63, 0xda, 0x9b, 0xd5, | ||
2438 | 0x6a, 0x6f, 0x7b, 0x60, 0x6f, 0x4e, 0xbb, 0x64, 0x9d, 0xbf, 0x87, 0xbd, | ||
2439 | 0x7d, 0xc3, 0xd1, 0xc0, 0x1b, 0x91, 0x8b, 0xb5, 0x34, 0x6c, 0xdd, 0x4c, | ||
2440 | 0xbf, 0x26, 0x3b, 0x33, 0xb3, 0xa2, 0xc9, 0x09, 0xce, 0x35, 0x30, 0xa7, | ||
2441 | 0x7c, 0x71, 0xe0, 0x0b, 0x2e, 0x1b, 0x4f, 0x81, 0x2e, 0xdf, 0x9f, 0x05, | ||
2442 | 0xce, 0xf2, 0x88, 0x11, 0xda, 0x56, 0x34, 0x6f, 0xdd, 0xef, 0xda, 0xee, | ||
2443 | 0xaf, 0x19, 0x52, 0x19, 0x6e, 0x93, 0xec, 0xf0, 0x12, 0x70, 0x4f, 0x3b, | ||
2444 | 0x81, 0x1d, 0x53, 0xd7, 0x97, 0x81, 0x7f, 0xce, 0x1b, 0x82, 0x1e, 0xd3, | ||
2445 | 0x0e, 0x40, 0x17, 0xf0, 0x2f, 0x03, 0xff, 0x5c, 0xb3, 0x4d, 0xbe, 0x6e, | ||
2446 | 0x46, 0xb1, 0x32, 0x3a, 0x4f, 0x37, 0x96, 0x45, 0xfb, 0x1e, 0x96, 0x2f, | ||
2447 | 0x7a, 0x49, 0xcd, 0x3d, 0x46, 0xff, 0x5a, 0x1d, 0x86, 0x9d, 0x68, 0x55, | ||
2448 | 0x87, 0x7b, 0x1b, 0xb2, 0xbc, 0xba, 0x46, 0x0a, 0xd5, 0xc0, 0x06, 0x0b, | ||
2449 | 0xee, 0x50, 0x25, 0x6d, 0x28, 0x5f, 0x22, 0xb2, 0x0f, 0xb6, 0xb7, 0x6c, | ||
2450 | 0x73, 0xcc, 0xf9, 0x60, 0x6e, 0xbc, 0xd6, 0x0f, 0x9f, 0xc8, 0xf1, 0x7b, | ||
2451 | 0xfe, 0xb4, 0x13, 0xcc, 0x7d, 0xa1, 0x76, 0x57, 0x37, 0xfd, 0x2e, 0xe2, | ||
2452 | 0x44, 0xa6, 0xea, 0xfc, 0xbb, 0x0f, 0xfd, 0x5d, 0x07, 0xf3, 0xd1, 0x78, | ||
2453 | 0xb2, 0xe3, 0x81, 0xce, 0x8a, 0xb6, 0xdf, 0xd6, 0xfb, 0xdb, 0x43, 0x1f, | ||
2454 | 0xb6, 0x1f, 0x93, 0x7b, 0x6b, 0xd5, 0xbe, 0x76, 0x79, 0xcf, 0x60, 0x1c, | ||
2455 | 0xbd, 0x22, 0x62, 0xba, 0xb5, 0x5d, 0xe0, 0x47, 0xb5, 0xb7, 0x65, 0x2e, | ||
2456 | 0x51, 0xaa, 0xf9, 0x72, 0xc1, 0x09, 0x60, 0x30, 0xee, 0x2c, 0xd6, 0xf4, | ||
2457 | 0xfe, 0x84, 0xac, 0x8e, 0x2d, 0xc2, 0xac, 0xc8, 0xae, 0xe1, 0x65, 0x51, | ||
2458 | 0xb0, 0x7d, 0x89, 0x35, 0xd8, 0x54, 0xa9, 0x56, 0xed, 0x6d, 0x19, 0xa7, | ||
2459 | 0x8b, 0xc0, 0xa5, 0xef, 0x59, 0x85, 0x1d, 0x58, 0x83, 0xdd, 0x2a, 0x99, | ||
2460 | 0x5e, 0xc2, 0xeb, 0xfd, 0x9b, 0xd7, 0x70, 0x67, 0x42, 0x7a, 0xfa, 0x36, | ||
2461 | 0xaf, 0xe1, 0xb0, 0x89, 0xb3, 0x65, 0x3c, 0x4c, 0x9c, 0x3b, 0xd6, 0x70, | ||
2462 | 0x8e, 0xac, 0xa7, 0xe7, 0xb0, 0xc0, 0x07, 0x25, 0xda, 0xf3, 0xb2, 0xe7, | ||
2463 | 0x62, 0x6d, 0x70, 0xe2, 0x8b, 0x82, 0x58, 0x37, 0xb2, 0x29, 0xf4, 0xc9, | ||
2464 | 0xe6, 0x1e, 0x17, 0xbc, 0x32, 0x85, 0x3e, 0x4e, 0x93, 0x2a, 0xe4, 0x7c, | ||
2465 | 0x7f, 0x43, 0xf6, 0x5c, 0x68, 0x98, 0xa1, 0x2e, 0x51, 0x27, 0xde, 0x86, | ||
2466 | 0x8d, 0x75, 0x4e, 0x99, 0x88, 0xc3, 0xe7, 0x94, 0x8d, 0xc9, 0x44, 0xb5, | ||
2467 | 0x26, 0x95, 0xed, 0xf9, 0x27, 0x7c, 0xe8, 0xe2, 0x94, 0x05, 0x3f, 0x5a, | ||
2468 | 0x94, 0xce, 0x31, 0x37, 0x87, 0xf9, 0x06, 0x6d, 0x0b, 0x7e, 0x05, 0xb0, | ||
2469 | 0xd0, 0xb5, 0x84, 0x31, 0xbf, 0xf3, 0x55, 0xd7, 0xe0, 0x3e, 0x19, 0xe4, | ||
2470 | 0x4d, 0x89, 0x84, 0x3e, 0x7f, 0xd5, 0xa7, 0x9e, 0x4d, 0x8f, 0x5c, 0x45, | ||
2471 | 0x9e, 0x62, 0xc1, 0x57, 0xc2, 0x7f, 0x40, 0xdf, 0x67, 0x9b, 0x82, 0xb8, | ||
2472 | 0xfe, 0x40, 0x4f, 0x60, 0x63, 0x47, 0xb7, 0x06, 0x4f, 0x31, 0xe9, 0x9b, | ||
2473 | 0xa7, 0x73, 0xcc, 0x01, 0xda, 0x13, 0x6e, 0x6e, 0x7c, 0x9b, 0x71, 0xe6, | ||
2474 | 0xc0, 0x36, 0xfd, 0x4c, 0x65, 0x9b, 0x0e, 0x9f, 0x0e, 0x9b, 0xd2, 0xdd, | ||
2475 | 0x1c, 0xfa, 0x67, 0x22, 0x1b, 0x4a, 0xc3, 0x86, 0xde, 0x56, 0x39, 0xc8, | ||
2476 | 0xb9, 0xe6, 0x29, 0xd8, 0xab, 0xa2, 0x55, 0x26, 0x90, 0x13, 0xe8, 0xa3, | ||
2477 | 0xef, 0x43, 0x4f, 0x70, 0x16, 0xf8, 0xc0, 0x02, 0xb8, 0xa4, 0x8f, 0xbe, | ||
2478 | 0x11, 0xda, 0x33, 0xfb, 0xef, 0xf8, 0x41, 0x7c, 0xf8, 0x7c, 0xb8, 0xff, | ||
2479 | 0x3f, 0x75, 0x07, 0x3e, 0x20, 0xc2, 0x45, 0x3c, 0xc3, 0xda, 0x04, 0xf2, | ||
2480 | 0x99, 0x89, 0xa6, 0xa9, 0xd1, 0x9f, 0x17, 0x3d, 0xe6, 0x21, 0xcc, 0x41, | ||
2481 | 0x1e, 0x0b, 0xfd, 0x22, 0x73, 0x8f, 0xce, 0x90, 0xa7, 0xb9, 0x28, 0xce, | ||
2482 | 0x29, 0x7b, 0x43, 0xcc, 0xc9, 0x94, 0x9d, 0x36, 0xe5, 0x93, 0xa7, 0x73, | ||
2483 | 0x9d, 0x58, 0x87, 0xb9, 0x26, 0xce, 0x0d, 0xbf, 0x84, 0x5c, 0x06, 0x6b, | ||
2484 | 0xce, 0x63, 0x7d, 0x7b, 0x68, 0xf3, 0x17, 0xa5, 0x0c, 0x9f, 0x6a, 0xda, | ||
2485 | 0x7c, 0x9f, 0xeb, 0x91, 0x0e, 0x8c, 0x1b, 0xd8, 0x0b, 0x7e, 0xc2, 0x50, | ||
2486 | 0x7c, 0x46, 0x2c, 0x48, 0x5d, 0xc7, 0x1c, 0x09, 0x6b, 0x33, 0x58, 0x4b, | ||
2487 | 0xbf, 0xcb, 0xb5, 0xcf, 0x82, 0x0e, 0x8c, 0x1b, 0x84, 0xa1, 0x8f, 0x12, | ||
2488 | 0xdf, 0xcd, 0x6d, 0x86, 0x26, 0xf9, 0xe7, 0x0c, 0x3b, 0x5a, 0x1b, 0xe1, | ||
2489 | 0xdd, 0xb8, 0x96, 0xf9, 0x09, 0x71, 0xf7, 0x84, 0xf1, 0x7f, 0x5c, 0x0a, | ||
2490 | 0xcd, 0x02, 0x7e, 0x22, 0xd3, 0xc7, 0x90, 0x8f, 0xd9, 0x6d, 0x88, 0x55, | ||
2491 | 0x9c, 0xdf, 0x6a, 0x05, 0x67, 0x8d, 0xe0, 0xee, 0xef, 0x5b, 0x3f, 0xfe, | ||
2492 | 0x42, 0x72, 0xcd, 0x47, 0xd2, 0xc2, 0xa4, 0x80, 0x18, 0x01, 0x5e, 0x65, | ||
2493 | 0xa6, 0x98, 0xc3, 0x15, 0x1b, 0x4a, 0xa6, 0x98, 0x1b, 0x83, 0x5f, 0x0c, | ||
2494 | 0xf2, 0xa2, 0x73, 0xde, 0x46, 0xd9, 0x59, 0xe0, 0x77, 0x01, 0x3c, 0xce, | ||
2495 | 0x40, 0x87, 0xc6, 0x01, 0x2b, 0x87, 0x81, 0x83, 0xf1, 0xd7, 0xd1, 0xf3, | ||
2496 | 0x49, 0x29, 0x5b, 0xcc, 0x13, 0xda, 0x49, 0x67, 0x81, 0xf6, 0xaf, 0xe7, | ||
2497 | 0x37, 0x63, 0x8e, 0xfd, 0x7b, 0x7b, 0x02, 0x99, 0x75, 0x71, 0x3c, 0xa1, | ||
2498 | 0xe7, 0x7b, 0x36, 0xcc, 0x7f, 0xbf, 0x2b, 0xa0, 0x4d, 0x8d, 0x31, 0xff, | ||
2499 | 0xf2, 0x86, 0xf1, 0xef, 0x25, 0xd7, 0x8f, 0xef, 0xda, 0x16, 0xea, 0x20, | ||
2500 | 0xfa, 0x8f, 0x85, 0xf4, 0x82, 0xb6, 0x55, 0x5a, 0xa3, 0x9c, 0x57, 0x16, | ||
2501 | 0x74, 0xe4, 0x7f, 0x6e, 0x6e, 0x27, 0x62, 0x7d, 0x46, 0x4a, 0x4d, 0xd0, | ||
2502 | 0xbd, 0x1a, 0xcb, 0x56, 0xd7, 0x54, 0xd6, 0xd6, 0x04, 0xbe, 0xbe, 0xd4, | ||
2503 | 0xf4, 0x91, 0x3b, 0xb5, 0xc6, 0xbd, 0x61, 0xf4, 0x2b, 0xd8, 0xa7, 0x20, | ||
2504 | 0xd3, 0xde, 0x85, 0x82, 0x6e, 0x1f, 0x09, 0xf2, 0x3e, 0xfb, 0x9b, 0x5a, | ||
2505 | 0x69, 0x99, 0xf9, 0x20, 0xec, 0xc9, 0x56, 0xf9, 0x3f, 0xe2, 0xca, 0x51, | ||
2506 | 0xad, 0x70, 0xea, 0x38, 0xf2, 0xc1, 0x15, 0xfc, 0x4e, 0xe3, 0xd7, 0xc0, | ||
2507 | 0x2f, 0xca, 0xc3, 0x9f, 0x41, 0x1e, 0xaf, 0x7c, 0x2c, 0xe2, 0x41, 0xb0, | ||
2508 | 0xff, 0x1b, 0x2b, 0xd0, 0xb3, 0xe3, 0x29, 0xf9, 0x86, 0xad, 0xf7, 0xe9, | ||
2509 | 0x81, 0x5f, 0x29, 0x20, 0x8f, 0xb5, 0xde, 0x96, 0xdf, 0x0e, 0xf3, 0x22, | ||
2510 | 0x91, 0xd7, 0x16, 0xc0, 0xc7, 0x91, 0xfd, 0xa1, 0xce, 0x16, 0xee, 0x75, | ||
2511 | 0x95, 0xff, 0x0c, 0xf3, 0x1e, 0xe4, 0x5f, 0x05, 0xb5, 0xea, 0x5b, 0xe0, | ||
2512 | 0x8d, 0x26, 0x6f, 0x41, 0x87, 0x5e, 0x5b, 0xe8, 0x00, 0x3d, 0xb6, 0x94, | ||
2513 | 0x27, 0x91, 0x2f, 0x68, 0x83, 0xd6, 0x26, 0xad, 0x03, 0x76, 0x0c, 0x1b, | ||
2514 | 0x57, 0x63, 0x49, 0xb4, 0xe5, 0x2f, 0xcd, 0x2c, 0xd5, 0x74, 0xac, 0x45, | ||
2515 | 0xee, 0x93, 0x43, 0x1f, 0xb2, 0xbf, 0xb2, 0x40, 0x38, 0x5d, 0x5e, 0x5f, | ||
2516 | 0x30, 0xe4, 0x4d, 0xe4, 0x52, 0x6f, 0xd9, 0x97, 0x66, 0x10, 0xb7, 0xfa, | ||
2517 | 0x11, 0x23, 0x50, 0x8b, 0xec, 0xa4, 0x9f, 0xde, 0x61, 0xe2, 0x59, 0xc2, | ||
2518 | 0x6f, 0x1f, 0x72, 0xc1, 0x8f, 0x86, 0xf9, 0xb8, 0xf5, 0xa4, 0x2d, 0x01, | ||
2519 | 0x18, 0xae, 0x37, 0x41, 0x5b, 0x37, 0xe4, 0x9f, 0xb5, 0xa6, 0xe4, 0xf5, | ||
2520 | 0x1e, 0x95, 0xaf, 0x68, 0x9c, 0x0f, 0x7c, 0xd3, 0x87, 0xe7, 0xc9, 0x67, | ||
2521 | 0x03, 0x3a, 0xce, 0x31, 0xdf, 0xd1, 0x87, 0x12, 0x5f, 0x76, 0xac, 0x80, | ||
2522 | 0xc3, 0x5c, 0x59, 0x08, 0xfa, 0xd1, 0x9c, 0x68, 0x51, 0x1c, 0xa3, 0x6f, | ||
2523 | 0x2c, 0xc1, 0x4e, 0x38, 0x9e, 0x10, 0x25, 0x83, 0x75, 0xf2, 0x94, 0x84, | ||
2524 | 0x99, 0x3f, 0x3b, 0x33, 0x67, 0x53, 0xae, 0xf0, 0x71, 0xb5, 0x48, 0xae, | ||
2525 | 0x94, 0x51, 0xbb, 0x54, 0x17, 0xbe, 0x09, 0xb9, 0xea, 0x61, 0xbe, 0x0f, | ||
2526 | 0x1b, 0x3f, 0x4e, 0xf9, 0xa2, 0xfe, 0x5b, 0x40, 0xee, 0xb3, 0x20, 0xc9, | ||
2527 | 0xa0, 0x5e, 0x39, 0x8a, 0x3c, 0x1f, 0xf2, 0xab, 0x1d, 0x07, 0x0e, 0xd8, | ||
2528 | 0x69, 0x6d, 0x05, 0x4f, 0xd4, 0x16, 0xb5, 0xd3, 0x78, 0x0e, 0xe0, 0xd9, | ||
2529 | 0xa0, 0x6e, 0x86, 0xb9, 0xc6, 0x87, 0xe8, 0x81, 0x3d, 0x95, 0x68, 0x4f, | ||
2530 | 0xf2, 0xfd, 0x66, 0x5e, 0xbe, 0xdb, 0x1c, 0x93, 0xe7, 0x9b, 0x39, 0xf9, | ||
2531 | 0xbb, 0xa6, 0x23, 0xdf, 0x69, 0x8e, 0xc8, 0xb7, 0x9b, 0xc3, 0xac, 0xc9, | ||
2532 | 0x90, 0x37, 0x65, 0x98, 0x37, 0xc9, 0xbd, 0xde, 0xad, 0xb0, 0x77, 0xca, | ||
2533 | 0xff, 0xd2, 0x4c, 0xa1, 0x31, 0x28, 0xe5, 0x63, 0xf0, 0xcf, 0xce, 0xcd, | ||
2534 | 0xac, 0x25, 0xe5, 0x11, 0x87, 0x35, 0x41, 0x1b, 0xdf, 0xa3, 0xce, 0x84, | ||
2535 | 0xff, 0x86, 0x3f, 0x9b, 0x4a, 0x65, 0x4f, 0xbb, 0x46, 0x47, 0xe8, 0x03, | ||
2536 | 0x6e, 0x49, 0x4a, 0x07, 0xf6, 0x82, 0x0f, 0x5c, 0x7a, 0x1a, 0x36, 0xa0, | ||
2537 | 0x6a, 0x9a, 0x04, 0xfc, 0x0d, 0x73, 0x01, 0x93, 0x76, 0x8c, 0x3a, 0x30, | ||
2538 | 0x9b, 0x71, 0x0d, 0xd6, 0x77, 0xb4, 0x67, 0x03, 0x81, 0x83, 0x70, 0xfb, | ||
2539 | 0x2c, 0xca, 0xcd, 0xb4, 0xe9, 0x57, 0x0b, 0xa1, 0x8f, 0x4b, 0x84, 0x7a, | ||
2540 | 0x69, 0x61, 0xfe, 0xf1, 0xd0, 0x27, 0x6f, 0xdc, 0x07, 0xf1, 0x02, 0xf9, | ||
2541 | 0x64, 0xb0, 0x8e, 0xb0, 0x5a, 0x08, 0xdb, 0x17, 0xce, 0x75, 0x82, 0xdf, | ||
2542 | 0x8e, 0x94, 0xbd, 0x37, 0x35, 0xe6, 0xd9, 0xc8, 0x77, 0x30, 0x1e, 0xc1, | ||
2543 | 0xf8, 0x4a, 0x38, 0xfe, 0x9c, 0x4c, 0x2f, 0x0a, 0x68, 0xfd, 0x89, 0x56, | ||
2544 | 0x54, 0xe3, 0x31, 0x8c, 0x75, 0x8c, 0x0d, 0xd6, 0x02, 0x68, 0x37, 0x27, | ||
2545 | 0xa9, 0xeb, 0xba, 0x4d, 0x5f, 0x38, 0x19, 0xfa, 0xc3, 0x82, 0x1c, 0xf6, | ||
2546 | 0x06, 0x0b, 0x57, 0x11, 0x33, 0xb4, 0xb6, 0x28, 0xff, 0xd9, 0x0e, 0xbe, | ||
2547 | 0xf8, 0xfe, 0xed, 0xac, 0xb9, 0x93, 0xa6, 0x7c, 0x7b, 0x3e, 0x6b, 0x3d, | ||
2548 | 0xa4, 0x7f, 0x0d, 0x67, 0xf2, 0xfd, 0x83, 0x76, 0xf6, 0xc8, 0x94, 0xde, | ||
2549 | 0x25, 0xdf, 0x3d, 0xca, 0xd8, 0x7b, 0x76, 0xe6, 0x07, 0xd0, 0xbd, 0xfa, | ||
2550 | 0x4a, 0xbb, 0xd4, 0xeb, 0xa6, 0x5c, 0x19, 0x1d, 0x04, 0x9d, 0x96, 0xd4, | ||
2551 | 0x1b, 0x49, 0xe4, 0x73, 0x9b, 0x65, 0xb6, 0x5f, 0x19, 0x18, 0xfc, 0xf4, | ||
2552 | 0xb0, 0xf2, 0xd3, 0xae, 0x8d, 0x67, 0xe3, 0xe7, 0x3d, 0xeb, 0xcf, 0x5c, | ||
2553 | 0x02, 0xfd, 0xd0, 0xeb, 0xe4, 0x76, 0x25, 0xe7, 0xb2, 0x37, 0x68, 0x95, | ||
2554 | 0x75, 0xc4, 0x2e, 0x73, 0xd0, 0xba, 0x57, 0xff, 0x2f, 0xff, 0xf3, 0x26, | ||
2555 | 0x65, 0xf7, 0xaa, 0xaa, 0x61, 0x54, 0xac, 0xc3, 0x7e, 0x4b, 0x2b, 0x2f, | ||
2556 | 0x83, 0x16, 0xf8, 0xd8, 0xc6, 0xf6, 0x70, 0x9c, 0x51, 0xbc, 0x38, 0xdb, | ||
2557 | 0xe8, 0x90, 0xef, 0xd4, 0xb7, 0xc8, 0x72, 0x9d, 0xef, 0xdb, 0x65, 0xa9, | ||
2558 | 0x3e, 0x78, 0xb5, 0x4f, 0xef, 0x97, 0xf3, 0xd7, 0x5c, 0x6f, 0xdd, 0xa3, | ||
2559 | 0x23, 0x37, 0x98, 0xfc, 0x40, 0x7e, 0x39, 0xda, 0x23, 0x3f, 0xfe, 0x72, | ||
2560 | 0xf6, 0x99, 0x3f, 0xd5, 0x61, 0x03, 0xa3, 0x9d, 0xb4, 0x6d, 0xf4, 0x39, | ||
2561 | 0x9f, 0xbd, 0x5a, 0xd0, 0xa9, 0xdb, 0x3f, 0x02, 0x4f, 0xb3, 0x0b, 0x81, | ||
2562 | 0x1d, 0x10, 0x37, 0xf1, 0x42, 0x37, 0xec, 0xef, 0x01, 0x27, 0xde, 0x35, | ||
2563 | 0x06, 0x81, 0xeb, 0x7b, 0x8a, 0x17, 0xb7, 0x3b, 0xd9, 0xab, 0x08, 0x49, | ||
2564 | 0xfe, 0x15, 0x7b, 0x70, 0x78, 0x87, 0xbe, 0x5d, 0xea, 0xe9, 0xeb, 0xad, | ||
2565 | 0xe7, 0xe0, 0xff, 0x0b, 0xa9, 0xec, 0x91, 0xcb, 0x72, 0x76, 0xe6, 0xa2, | ||
2566 | 0x4d, 0xfd, 0xa7, 0xdf, 0x78, 0x09, 0xb9, 0xa7, 0x25, 0x0b, 0x0d, 0xfa, | ||
2567 | 0x4b, 0xe2, 0x62, 0xfe, 0xbf, 0xcb, 0x3a, 0xac, 0x33, 0x4f, 0xc0, 0x3b, | ||
2568 | 0xcc, 0x1b, 0xbf, 0x4e, 0x39, 0xb7, 0x11, 0x76, 0xb8, 0xa0, 0xff, 0x62, | ||
2569 | 0x03, 0x8f, 0x06, 0xad, 0xbd, 0x3a, 0xf7, 0xfb, 0x37, 0xec, 0xfb, 0x0e, | ||
2570 | 0x68, 0x1d, 0x04, 0x2c, 0x62, 0x66, 0xba, 0x75, 0x8f, 0x57, 0xd4, 0x1e, | ||
2571 | 0xc7, 0x1a, 0xc8, 0xf5, 0x56, 0xf7, 0xc0, 0x5c, 0x43, 0xc7, 0x39, 0x4d, | ||
2572 | 0x25, 0x97, 0x2b, 0xa3, 0xe4, 0xef, 0x9e, 0x5e, 0xe6, 0x99, 0x46, 0xfe, | ||
2573 | 0xaf, 0xfd, 0xa8, 0x7e, 0x7c, 0x7e, 0x7e, 0x12, 0xfe, 0xd9, 0xf7, 0x2f, | ||
2574 | 0xec, 0x1a, 0x04, 0x0d, 0xa8, 0x43, 0xd3, 0xe4, 0xf9, 0xd9, 0x19, 0x17, | ||
2575 | 0x38, 0x8a, 0x0a, 0xf7, 0x25, 0x59, 0x01, 0xee, 0x09, 0xf2, 0x01, 0xb8, | ||
2576 | 0xe7, 0x38, 0xaf, 0x64, 0x80, 0xf9, 0x46, 0x06, 0x78, 0x23, 0xfd, 0x4c, | ||
2577 | 0x42, 0xd7, 0x76, 0x5b, 0xb7, 0x07, 0xba, 0x9e, 0x60, 0x6c, 0x7b, 0x0e, | ||
2578 | 0xba, 0x57, 0x48, 0x52, 0x7f, 0xda, 0x7b, 0xd7, 0xf4, 0xa7, 0x15, 0x7f, | ||
2579 | 0xbb, 0x94, 0x16, 0x12, 0xc0, 0x6b, 0xca, 0x5c, 0x8e, 0x78, 0x31, 0xae, | ||
2580 | 0x53, 0xf7, 0x2b, 0xa1, 0xee, 0x77, 0x86, 0xb8, 0x17, 0xc1, 0x93, 0x6c, | ||
2581 | 0xa6, 0xae, 0xb3, 0x8e, 0xda, 0xa6, 0x6a, 0x5b, 0x03, 0x36, 0x5d, 0xae, | ||
2582 | 0xb1, 0x0e, 0xe5, 0xfd, 0xc8, 0xa5, 0x99, 0x69, 0xd4, 0xaa, 0xe5, 0xda, | ||
2583 | 0x88, 0x56, 0x6e, 0xda, 0x5a, 0xd9, 0xa3, 0xbe, 0xed, 0xb2, 0x2e, 0x28, | ||
2584 | 0x1e, 0xa7, 0x65, 0xa9, 0xf9, 0x4b, 0xbf, 0xba, 0x6b, 0x13, 0xfa, 0xd0, | ||
2585 | 0xfd, 0x09, 0xca, 0xf7, 0xb3, 0xa4, 0x0b, 0x41, 0x9c, 0xfc, 0x4e, 0xc9, | ||
2586 | 0xc9, 0x21, 0x14, 0xbd, 0xc8, 0xad, 0x4e, 0x0d, 0x11, 0x3f, 0xe8, 0x48, | ||
2587 | 0xa5, 0x64, 0xd9, 0xe3, 0x1e, 0x67, 0x67, 0xc8, 0xcb, 0xf2, 0x71, 0x4b, | ||
2588 | 0x0e, 0x2b, 0xf9, 0xbd, 0xac, 0x6c, 0xbb, 0xbc, 0x62, 0xc8, 0x74, 0x72, | ||
2589 | 0xd0, 0x7a, 0x58, 0xb2, 0x57, 0x2f, 0x18, 0xd9, 0x67, 0xa6, 0x60, 0xd7, | ||
2590 | 0x4b, 0x8b, 0x86, 0xb8, 0xaa, 0xde, 0xa2, 0x8c, 0xb2, 0x0b, 0xb0, 0xfc, | ||
2591 | 0xf0, 0xec, 0x7b, 0x5b, 0xce, 0xde, 0x2d, 0x2b, 0x4f, 0xff, 0x26, 0x7c, | ||
2592 | 0xce, 0x01, 0xc8, 0xc2, 0xcc, 0x1c, 0x42, 0x5e, 0xf1, 0xb4, 0x0c, 0x5a, | ||
2593 | 0x55, 0xe4, 0xc9, 0xe0, 0x3b, 0xda, 0x01, 0x65, 0x03, 0x17, 0x74, 0x8c, | ||
2594 | 0x07, 0xc8, 0x27, 0x8e, 0xaf, 0x95, 0x0b, 0xca, 0x96, 0xd2, 0xea, 0xdd, | ||
2595 | 0x0e, 0xe0, 0x08, 0xde, 0x71, 0xfc, 0x19, 0xd9, 0xa1, 0xde, 0xdd, 0xa9, | ||
2596 | 0xde, 0x55, 0xe9, 0x2b, 0x94, 0xfc, 0xbe, 0x82, 0x3d, 0xc9, 0xe3, 0x68, | ||
2597 | 0xbe, 0x4b, 0x02, 0x5b, 0x8a, 0xf8, 0x6e, 0xc9, 0xc1, 0x46, 0x4a, 0xbe, | ||
2598 | 0x84, 0xfa, 0xe7, 0x8e, 0xc6, 0x80, 0x94, 0x20, 0xc7, 0xe9, 0xdc, 0x83, | ||
2599 | 0xbd, 0x3c, 0x5b, 0x71, 0x25, 0xfb, 0x8c, 0xe8, 0xa4, 0xf5, 0x4e, 0x39, | ||
2600 | 0xe4, 0x45, 0xf4, 0x74, 0x86, 0xf4, 0x4d, 0x86, 0xe3, 0x44, 0x48, 0x43, | ||
2601 | 0x2b, 0xbe, 0x4e, 0xe0, 0x42, 0xac, 0xcf, 0x79, 0x21, 0x1e, 0xfa, 0x11, | ||
2602 | 0xd0, 0x3a, 0x99, 0x96, 0x15, 0x8f, 0x74, 0x6c, 0x91, 0x6a, 0x8a, 0xfd, | ||
2603 | 0x03, 0xd0, 0x37, 0xe2, 0xd9, 0xc4, 0x7c, 0x66, 0x1d, 0x8f, 0x1f, 0x6c, | ||
2604 | 0x54, 0xc0, 0x63, 0xf2, 0x97, 0xeb, 0x10, 0x23, 0x3e, 0x47, 0xf9, 0xed, | ||
2605 | 0x46, 0x2e, 0x6f, 0x07, 0xba, 0x69, 0xad, 0xed, 0x59, 0x3a, 0xde, 0x0d, | ||
2606 | 0x59, 0x71, 0xdf, 0x0e, 0x99, 0x84, 0xdd, 0x17, 0xeb, 0xdc, 0x7f, 0x12, | ||
2607 | 0x7a, 0x74, 0x51, 0xed, 0x5f, 0x5a, 0xe9, 0x0f, 0xe1, 0x09, 0xdb, 0xbd, | ||
2608 | 0x01, 0xb6, 0x5d, 0xf6, 0x2e, 0x58, 0x1f, 0x01, 0xff, 0xbb, 0x80, 0xd7, | ||
2609 | 0xe5, 0x44, 0x8e, 0xf0, 0xc4, 0x83, 0x75, 0xf5, 0xd4, 0x27, 0xe0, 0x49, | ||
2610 | 0xaa, 0xba, 0xbe, 0x58, 0x6f, 0x97, 0xe2, 0x42, 0x84, 0x8b, 0x78, 0x3e, | ||
2611 | 0x40, 0xdd, 0x7b, 0xb7, 0xc2, 0x35, 0xad, 0x70, 0xe1, 0x7d, 0x9d, 0x3e, | ||
2612 | 0xe7, 0x26, 0xc0, 0xa3, 0x76, 0xb7, 0x41, 0x5b, 0xb2, 0x4b, 0xaa, 0xaa, | ||
2613 | 0x76, 0xef, 0x50, 0xbe, 0xa6, 0x9a, 0xdc, 0x8c, 0xf7, 0x3e, 0xf6, 0xdc, | ||
2614 | 0x8d, 0x7c, 0xa6, 0x1b, 0x73, 0x99, 0x0d, 0x73, 0x1b, 0xe9, 0x4f, 0x6c, | ||
2615 | 0xa0, 0xff, 0xbf, 0x7b, 0x19, 0x52, 0xe6, 0x72, 0xc1, 0xba, 0x12, 0xd6, | ||
2616 | 0xcd, 0x1e, 0x87, 0x4d, 0x30, 0x4f, 0x4f, 0x31, 0x36, 0x5f, 0xa3, 0x68, | ||
2617 | 0x99, 0x5d, 0xf9, 0x29, 0xd6, 0xf5, 0x03, 0x36, 0x1a, 0x07, 0x7c, 0x78, | ||
2618 | 0x0a, 0x78, 0x8e, 0xd7, 0xd5, 0x1d, 0x05, 0x64, 0xf0, 0xbe, 0x3a, 0x7b, | ||
2619 | 0xb5, 0xfe, 0x69, 0x3c, 0xbb, 0xa6, 0x85, 0x5f, 0xe4, 0x15, 0xe9, 0x25, | ||
2620 | 0xad, 0xbc, 0x2f, 0x82, 0xbd, 0x39, 0xd0, 0xe3, 0xa4, 0x21, 0xa5, 0x1c, | ||
2621 | 0xe2, 0xba, 0xc7, 0xbb, 0x57, 0xda, 0xe5, 0x40, 0x50, 0x23, 0xd8, 0x8c, | ||
2622 | 0xef, 0xa6, 0x3a, 0xfb, 0xa1, 0x15, 0xde, 0xbf, 0x66, 0x78, 0x47, 0x37, | ||
2623 | 0x8c, 0xda, 0x5b, 0x1e, 0x5a, 0xb1, 0xe5, 0x6b, 0x8d, 0x61, 0x79, 0xb8, | ||
2624 | 0x91, 0xb5, 0xee, 0x81, 0x0f, 0x28, 0xaf, 0xde, 0xcb, 0x6e, 0x4b, 0xd2, | ||
2625 | 0x7f, 0x99, 0xc8, 0x3d, 0xdb, 0xec, 0x20, 0x17, 0xa9, 0xb2, 0x36, 0x3b, | ||
2626 | 0x9e, 0xe5, 0x7d, 0x8d, 0x55, 0x97, 0x8d, 0xf9, 0xca, 0xff, 0x65, 0xae, | ||
2627 | 0xc2, 0xfd, 0xe9, 0xaf, 0x91, 0x9b, 0x78, 0xc8, 0x4d, 0x3c, 0xe4, 0x26, | ||
2628 | 0x1e, 0x72, 0x13, 0x0f, 0xb9, 0x89, 0x87, 0xdc, 0xc4, 0x43, 0x6e, 0xe2, | ||
2629 | 0x21, 0x37, 0x41, 0x1d, 0x10, 0xd4, 0x07, 0xe3, 0xc8, 0xb9, 0xe1, 0xbf, | ||
2630 | 0xbc, 0x5b, 0xc2, 0xdc, 0x22, 0x8a, 0xcd, 0x9c, 0x3b, 0xbf, 0xc9, 0x0d, | ||
2631 | 0xea, 0x2b, 0xe5, 0x13, 0x0a, 0xcd, 0x89, 0x30, 0x07, 0xe2, 0x9a, 0x28, | ||
2632 | 0x76, 0x73, 0x9d, 0x8c, 0xb9, 0xa8, 0x3d, 0x0b, 0x93, 0xcc, 0x91, 0x82, | ||
2633 | 0x98, 0x15, 0xe4, 0xe7, 0xaf, 0x22, 0x4f, 0xca, 0x20, 0x4f, 0x1a, 0x40, | ||
2634 | 0x4e, 0xc4, 0x7b, 0xea, 0xe8, 0x2e, 0xa9, 0xa0, 0x1d, 0xf4, 0xc6, 0xb5, | ||
2635 | 0x2f, 0x79, 0xcc, 0xdf, 0xed, 0x4c, 0x59, 0xd7, 0x8f, 0xf7, 0x89, 0x2f, | ||
2636 | 0xc5, 0xd1, 0xaf, 0x23, 0x57, 0xfe, 0x4b, 0x75, 0x6f, 0x36, 0x31, 0x44, | ||
2637 | 0x99, 0xdf, 0xf7, 0x31, 0xf9, 0x72, 0xc4, 0xdf, 0xe0, 0xbe, 0x4f, 0x5f, | ||
2638 | 0x22, 0xff, 0x44, 0x7a, 0xcf, 0x80, 0xe1, 0x67, 0x12, 0x92, 0x3c, 0xb9, | ||
2639 | 0x05, 0x73, 0x96, 0xf4, 0xa9, 0x3b, 0x23, 0x88, 0xf2, 0xcc, 0x7f, 0x40, | ||
2640 | 0x5e, 0xb6, 0xe8, 0x67, 0x78, 0xb3, 0x40, 0xbc, 0xf4, 0xaf, 0xf5, 0x99, | ||
2641 | 0x62, 0xbd, 0xae, 0x74, 0xea, 0x60, 0xa3, 0x84, 0x3c, 0xca, 0xe8, 0x93, | ||
2642 | 0x0e, 0x13, 0xb5, 0x54, 0x84, 0x9b, 0x38, 0xdf, 0x4c, 0xaa, 0x1a, 0xe7, | ||
2643 | 0xcc, 0xaa, 0x3c, 0x21, 0x6b, 0xee, 0x53, 0x9f, 0xa9, 0x2e, 0x64, 0xd3, | ||
2644 | 0xac, 0x71, 0x0b, 0x56, 0x7d, 0xe6, 0x49, 0xe0, 0x58, 0x46, 0x6e, 0x60, | ||
2645 | 0xa8, 0xbd, 0xeb, 0x33, 0xb3, 0x0b, 0xc1, 0xbd, 0x55, 0x40, 0x03, 0xe3, | ||
2646 | 0x55, 0x87, 0x18, 0x4b, 0xc1, 0xfd, 0x95, 0xae, 0x60, 0x09, 0x47, 0x78, | ||
2647 | 0x13, 0x70, 0x94, 0xdb, 0x30, 0x60, 0x29, 0x3b, 0xd2, 0x50, 0x9f, 0xa9, | ||
2648 | 0xd4, 0x5b, 0x69, 0x20, 0x1e, 0xe2, 0x8d, 0xce, 0xc3, 0xb3, 0x24, 0x45, | ||
2649 | 0x3f, 0xe9, 0xfb, 0xe5, 0xd1, 0x81, 0xb0, 0xae, 0x44, 0x1d, 0x79, 0xcc, | ||
2650 | 0x0c, 0xf4, 0x5c, 0x8d, 0xff, 0x58, 0xc5, 0xa9, 0x8c, 0xce, 0x79, 0x3e, | ||
2651 | 0xf1, 0x2e, 0xf7, 0x28, 0xe6, 0x30, 0x5e, 0x8e, 0xd6, 0xea, 0xe1, 0xda, | ||
2652 | 0xae, 0x16, 0x7e, 0xb6, 0x85, 0xfb, 0x91, 0x26, 0x9e, 0xf3, 0x15, 0xec, | ||
2653 | 0x45, 0xba, 0xb8, 0xc6, 0x04, 0x6d, 0x90, 0xa5, 0xf7, 0xbf, 0xe5, 0x7d, | ||
2654 | 0xeb, 0x99, 0xc8, 0x53, 0x13, 0x30, 0x5c, 0x4f, 0x1c, 0x11, 0x0c, 0x5e, | ||
2655 | 0x9c, 0x09, 0xe0, 0xf4, 0xd5, 0x7b, 0xbe, 0x4f, 0xda, 0xb7, 0x95, 0xd6, | ||
2656 | 0x68, 0xff, 0x08, 0xcf, 0x70, 0x20, 0xb7, 0x55, 0x78, 0xf5, 0x7f, 0x7f, | ||
2657 | 0xe1, 0x09, 0x5d, 0xfc, 0xd0, 0x7d, 0xe9, 0x70, 0x4b, 0x8d, 0x1c, 0xdd, | ||
2658 | 0x3b, 0xb0, 0xfe, 0x67, 0x3d, 0xcf, 0xef, 0x03, 0xad, 0xf5, 0x69, 0x29, | ||
2659 | 0x8c, 0x65, 0xdb, 0xa4, 0x60, 0xb2, 0x56, 0x19, 0x0f, 0xc7, 0x5b, 0x11, | ||
2660 | 0xdb, 0x38, 0xbe, 0x15, 0xfc, 0x85, 0x2e, 0x3b, 0x1d, 0x61, 0xad, 0x94, | ||
2661 | 0x0c, 0xbe, 0xeb, 0x0c, 0xd3, 0x8e, 0x58, 0x6b, 0x6e, 0x0e, 0xe7, 0x22, | ||
2662 | 0x3b, 0xa2, 0x1f, 0x36, 0xc3, 0x39, 0xfa, 0x5b, 0x1d, 0xf5, 0x12, 0xfb, | ||
2663 | 0xc0, 0xb3, 0xdc, 0x6a, 0x4b, 0xd1, 0x33, 0x29, 0xa7, 0x17, 0x23, 0xbf, | ||
2664 | 0x05, 0x9f, 0x32, 0x64, 0x86, 0xbe, 0xbf, 0x13, 0xbe, 0xaf, 0x5b, 0xf6, | ||
2665 | 0xc2, 0x67, 0xed, 0x83, 0xcf, 0xda, 0x8f, 0x1a, 0x75, 0x7c, 0xa5, 0xf5, | ||
2666 | 0x3e, 0x97, 0x75, 0x71, 0x55, 0x0e, 0x29, 0xf9, 0x57, 0x7c, 0xc3, 0xfe, | ||
2667 | 0x00, 0x3a, 0xb0, 0x53, 0xe5, 0x7b, 0x81, 0x4e, 0xc0, 0xdf, 0x3a, 0x49, | ||
2668 | 0xe8, 0xc4, 0xc6, 0x7b, 0xe3, 0x61, 0xd8, 0x46, 0x47, 0x41, 0xc5, 0x86, | ||
2669 | 0x95, 0x80, 0xf7, 0xd5, 0x7a, 0xc0, 0x7b, 0xf8, 0x65, 0xe0, 0x37, 0xa5, | ||
2670 | 0xd2, 0xb0, 0xa4, 0x82, 0x7d, 0x2b, 0xd8, 0xb7, 0x82, 0xda, 0x72, 0xb6, | ||
2671 | 0xd1, 0xfa, 0xed, 0xaa, 0x2b, 0xa4, 0x9d, 0xb0, 0x51, 0xdf, 0x6a, 0x39, | ||
2672 | 0x7f, 0xf4, 0x3c, 0x02, 0xfe, 0x3f, 0x02, 0xfe, 0x1f, 0x46, 0x4d, 0xf5, | ||
2673 | 0x00, 0x6a, 0xaa, 0xfb, 0x50, 0x53, 0x1d, 0x42, 0x4d, 0x35, 0x85, 0x9a, | ||
2674 | 0xea, 0x6e, 0xf8, 0x8f, 0x3b, 0xe1, 0x3f, 0x26, 0xe1, 0x3f, 0x26, 0xd4, | ||
2675 | 0x9d, 0xd1, 0x41, 0x6f, 0xe3, 0x1d, 0x4a, 0xb4, 0x17, 0xdb, 0x1b, 0x22, | ||
2676 | 0x50, 0x81, 0xf2, 0xb1, 0x71, 0xa9, 0x37, 0x59, 0x5b, 0x39, 0xea, 0x3e, | ||
2677 | 0x6c, 0xda, 0x99, 0xd4, 0xa6, 0x90, 0xbf, 0xdf, 0x33, 0xc2, 0x9a, 0x2b, | ||
2678 | 0xa9, 0x15, 0x55, 0xcd, 0x95, 0x7d, 0xc1, 0x45, 0x8a, 0x84, 0xdc, 0x0f, | ||
2679 | 0x67, 0xce, 0x9e, 0x2e, 0x1a, 0x51, 0xbd, 0xd3, 0xbb, 0x5a, 0xef, 0x2c, | ||
2680 | 0xcf, 0xb3, 0xde, 0x79, 0x75, 0xb5, 0xde, 0x59, 0x9e, 0x67, 0xbd, 0xf3, | ||
2681 | 0xca, 0xba, 0x7a, 0xe7, 0xca, 0xd3, 0x97, 0xd6, 0xd5, 0x3b, 0x57, 0x9e, | ||
2682 | 0x7e, 0x29, 0x1c, 0x4b, 0xa8, 0x0f, 0x21, 0xad, 0x96, 0x83, 0x67, 0x4f, | ||
2683 | 0x98, 0x73, 0x34, 0xfb, 0xd6, 0xff, 0xdf, 0x74, 0xca, 0x96, 0x35, 0xb1, | ||
2684 | 0xff, 0x68, 0x6b, 0x50, 0x23, 0xb5, 0xce, 0x77, 0xb7, 0xcc, 0x5f, 0x56, | ||
2685 | 0xdf, 0x4b, 0xcb, 0xb5, 0xcd, 0xef, 0xc2, 0x03, 0xcb, 0xca, 0x10, 0xf3, | ||
2686 | 0xbc, 0x0f, 0x7c, 0x7e, 0xf3, 0x73, 0xf5, 0x0e, 0xf5, 0xcd, 0xcd, 0x55, | ||
2687 | 0xf9, 0x36, 0xec, 0x7c, 0xf4, 0xd1, 0xad, 0x81, 0x2f, 0x60, 0x3f, 0xa5, | ||
2688 | 0x05, 0xfe, 0xfd, 0x01, 0xe0, 0x01, 0xaf, 0x3d, 0x53, 0xdd, 0x07, 0x05, | ||
2689 | 0xe7, 0x0d, 0xee, 0xc6, 0xcd, 0xfc, 0xe5, 0x19, 0xe6, 0xd6, 0x55, 0x85, | ||
2690 | 0x9b, 0xf5, 0x23, 0x6b, 0xce, 0x28, 0x06, 0x44, 0xb8, 0x5e, 0x4d, 0x05, | ||
2691 | 0x74, 0xbb, 0xa8, 0x1d, 0xb9, 0x26, 0x1a, 0xb7, 0xd6, 0x9a, 0x9d, 0xe1, | ||
2692 | 0xbd, 0xdb, 0xe5, 0x20, 0xaf, 0x52, 0xf8, 0xcc, 0x10, 0xdf, 0xcf, 0xfd, | ||
2693 | 0xc0, 0xf7, 0x10, 0xde, 0x6a, 0x81, 0x1f, 0x47, 0xae, 0xc7, 0x7b, 0x1a, | ||
2694 | 0xe6, 0x6c, 0xa6, 0xbc, 0x33, 0xdf, 0x25, 0xff, 0x79, 0xd4, 0xf7, 0x27, | ||
2695 | 0x9c, 0xec, 0xf0, 0x25, 0xd4, 0x1e, 0x27, 0x69, 0x27, 0xa3, 0xa4, 0x73, | ||
2696 | 0x30, 0x33, 0x2b, 0xa9, 0x3e, 0xd2, 0x72, 0x5e, 0x3f, 0xac, 0x7d, 0x98, | ||
2697 | 0x6e, 0x3d, 0xdc, 0xe7, 0x1f, 0x5b, 0xf6, 0xc9, 0xb4, 0xec, 0x53, 0xa0, | ||
2698 | 0xcd, 0xd6, 0xef, 0xc0, 0x99, 0x2b, 0xdb, 0xaf, 0xb7, 0x52, 0x61, 0x5d, | ||
2699 | 0xf6, 0xf0, 0xe8, 0x66, 0x59, 0xe8, 0xcf, 0x9e, 0x7d, 0x05, 0xf9, 0x7a, | ||
2700 | 0x79, 0x14, 0x73, 0xa9, 0x41, 0xbc, 0xe3, 0x7c, 0xb6, 0x8e, 0x5c, 0xf4, | ||
2701 | 0x6c, 0x5d, 0xb6, 0x01, 0x3e, 0x5b, 0x11, 0xe1, 0x3c, 0xfb, 0x8a, 0xb6, | ||
2702 | 0x7a, 0xe8, 0x03, 0xd2, 0x17, 0x70, 0xe6, 0x29, 0xd4, 0x5f, 0x87, 0x83, | ||
2703 | 0x7b, 0xb4, 0x70, 0x9f, 0x1b, 0xb5, 0x20, 0x6f, 0xce, 0x69, 0x95, 0xf0, | ||
2704 | 0x0e, 0xf0, 0x2b, 0xf0, 0x17, 0x86, 0x4e, 0xd8, 0x77, 0x80, 0x5b, 0x93, | ||
2705 | 0xa5, 0xa3, 0x86, 0xba, 0x3b, 0x2d, 0x8f, 0x52, 0xd6, 0x7c, 0x7e, 0x14, | ||
2706 | 0xef, 0xa2, 0x33, 0xfd, 0x4d, 0x78, 0xa6, 0xd1, 0xb0, 0x6e, 0x8f, 0xce, | ||
2707 | 0x94, 0x90, 0xd7, 0xe7, 0x2d, 0xc0, 0x8e, 0x80, 0x1f, 0x25, 0x59, 0x69, | ||
2708 | 0x66, 0x3e, 0x05, 0x4f, 0xad, 0x85, 0x37, 0xe6, 0x06, 0x19, 0x46, 0x75, | ||
2709 | 0x0f, 0x78, 0x30, 0x91, 0x86, 0x1d, 0xde, 0xd7, 0x17, 0xdd, 0xe9, 0x1a, | ||
2710 | 0xb6, 0xae, 0x05, 0x75, 0x3c, 0xe7, 0x07, 0x60, 0x8b, 0x19, 0xd8, 0x27, | ||
2711 | 0x73, 0xa6, 0x12, 0x6b, 0x15, 0xda, 0x93, 0xe5, 0x1a, 0x59, 0x6b, 0x52, | ||
2712 | 0x86, 0x51, 0xef, 0xf0, 0xfc, 0x79, 0x59, 0x6e, 0x46, 0x34, 0xe4, 0x60, | ||
2713 | 0x8f, 0x63, 0xf8, 0x8d, 0xe0, 0x9d, 0x83, 0x1f, 0x6b, 0xa5, 0x82, 0x7c, | ||
2714 | 0x55, 0xe5, 0xe2, 0xc8, 0xb5, 0x87, 0x48, 0xdf, 0x01, 0xac, 0xa7, 0x3e, | ||
2715 | 0x53, 0x4f, 0x0f, 0x88, 0xdb, 0x4f, 0x5f, 0x91, 0x06, 0x6e, 0xc0, 0x78, | ||
2716 | 0xaf, 0xc1, 0xd6, 0x07, 0xf0, 0xcc, 0x5a, 0x65, 0xf2, 0x56, 0xe1, 0xf7, | ||
2717 | 0x7d, 0x23, 0xc7, 0x6f, 0x11, 0xe3, 0xe1, 0x78, 0xd0, 0xfa, 0x1d, 0xea, | ||
2718 | 0x5e, 0xfa, 0x5a, 0x39, 0xbb, 0x18, 0xc5, 0xc1, 0x19, 0xd8, 0x20, 0xef, | ||
2719 | 0x68, 0xc7, 0xc1, 0x17, 0x8e, 0xb5, 0x30, 0x1e, 0x62, 0x7e, 0xf9, 0xaf, | ||
2720 | 0x70, 0xee, 0xbc, 0x9c, 0x44, 0xfd, 0x2f, 0xfd, 0x7c, 0x66, 0x80, 0x7f, | ||
2721 | 0x4b, 0xa8, 0xef, 0xeb, 0xe1, 0x0d, 0x9b, 0xfd, 0x71, 0xd0, 0x67, 0xb6, | ||
2722 | 0xc0, 0x13, 0x26, 0xac, 0x4f, 0x04, 0xf1, 0x38, 0xed, 0xdf, 0xaa, 0xe7, | ||
2723 | 0xef, 0x96, 0x3f, 0x50, 0x67, 0xca, 0xcb, 0xa1, 0x45, 0xdf, 0x77, 0x73, | ||
2724 | 0x83, 0xc3, 0xcb, 0x92, 0x1d, 0x7e, 0x52, 0x76, 0x5b, 0x7b, 0x59, 0x8f, | ||
2725 | 0x59, 0xc4, 0xe3, 0xdf, 0xda, 0x96, 0xf7, 0xfd, 0x13, 0xa0, 0xfd, 0x07, | ||
2726 | 0x6a, 0x9f, 0xbb, 0x41, 0x3f, 0x78, 0xa5, 0x6a, 0x12, 0xd2, 0x0a, 0xde, | ||
2727 | 0xa4, 0x48, 0x6f, 0xa7, 0x1c, 0x6a, 0x3e, 0x1f, 0xca, 0xe6, 0x11, 0x71, | ||
2728 | 0xbd, 0xb7, 0x0d, 0xde, 0x6f, 0x97, 0x9b, 0x8f, 0x86, 0xb4, 0xe5, 0x41, | ||
2729 | 0x2f, 0xf6, 0x6f, 0xfe, 0x43, 0x8a, 0xbe, 0x81, 0x32, 0x77, 0x91, 0x35, | ||
2730 | 0xba, 0xa3, 0xcf, 0x40, 0x07, 0x3f, 0xce, 0x0f, 0x24, 0x65, 0xbd, 0x1f, | ||
2731 | 0x20, 0x5c, 0xf2, 0x23, 0x74, 0x85, 0x74, 0x88, 0xf2, 0x9f, 0x2a, 0x6e, | ||
2732 | 0x29, 0x7c, 0xc6, 0x06, 0x5f, 0xf0, 0xa4, 0x7a, 0x9e, 0x37, 0xe8, 0x9b, | ||
2733 | 0x18, 0xff, 0xa8, 0xc3, 0xdd, 0xf0, 0x7f, 0xd0, 0x41, 0xd8, 0x71, 0x71, | ||
2734 | 0x91, 0xf7, 0x13, 0x43, 0xea, 0x4e, 0xab, 0x04, 0xd9, 0x2e, 0xf1, 0x3b, | ||
2735 | 0x63, 0x2a, 0xc8, 0x27, 0x83, 0xfa, 0x2b, 0x43, 0x5f, 0x88, 0xf6, 0xb8, | ||
2736 | 0xf2, 0x93, 0x25, 0xf5, 0x5d, 0x31, 0x89, 0x35, 0x3e, 0x9e, 0xad, 0x7f, | ||
2737 | 0x27, 0xf1, 0xa3, 0x42, 0xf0, 0x77, 0x12, 0xe1, 0x37, 0xde, 0x7a, 0x90, | ||
2738 | 0x47, 0x3c, 0xd8, 0x30, 0x65, 0xaa, 0x11, 0xfd, 0xdd, 0x04, 0xe5, 0x60, | ||
2739 | 0x4b, 0xb9, 0x11, 0xe5, 0x0e, 0x7e, 0x50, 0xd3, 0xac, 0x93, 0xe5, 0xe3, | ||
2740 | 0x61, 0x4e, 0xc4, 0x1a, 0x80, 0x3c, 0xc4, 0x78, 0x39, 0x90, 0xdf, 0x92, | ||
2741 | 0xbe, 0x03, 0xf2, 0x03, 0xcf, 0x3d, 0x13, 0xb6, 0x94, 0x0e, 0xe3, 0xba, | ||
2742 | 0xc5, 0x1a, 0x33, 0xac, 0x7b, 0xb7, 0x4b, 0x75, 0x92, 0xef, 0x13, 0xf2, | ||
2743 | 0xda, 0xfc, 0x40, 0x70, 0x4f, 0x24, 0x89, 0xf0, 0x3d, 0xc7, 0x49, 0x29, | ||
2744 | 0xab, 0xf7, 0x77, 0x86, 0xf8, 0x50, 0xa7, 0xdd, 0x19, 0x8d, 0xd3, 0x90, | ||
2745 | 0x63, 0x00, 0x37, 0x8d, 0x58, 0xf6, 0x55, 0xc4, 0xb1, 0x69, 0xf0, 0xbd, | ||
2746 | 0x38, 0x51, 0x91, 0x6b, 0x6d, 0x4b, 0xc5, 0x7d, 0x37, 0x49, 0x1d, 0xa3, | ||
2747 | 0x7e, 0x11, 0xa6, 0x07, 0xb9, 0x2a, 0xce, 0x3b, 0x2a, 0x53, 0x46, 0xfe, | ||
2748 | 0xdd, 0xdb, 0xca, 0xb5, 0xac, 0x55, 0x90, 0xf7, 0x7d, 0xd7, 0xe4, 0xf8, | ||
2749 | 0xfc, 0x6d, 0x0f, 0x06, 0x77, 0xfe, 0xba, 0x9e, 0xbf, 0x78, 0x5b, 0x39, | ||
2750 | 0xe8, 0xe3, 0xcc, 0xef, 0x86, 0x7d, 0xc2, 0x19, 0xea, 0x7b, 0xec, 0x4f, | ||
2751 | 0x6e, 0x32, 0xe5, 0xc2, 0x4d, 0xbe, 0x7f, 0x0f, 0xbf, 0x09, 0x85, 0x75, | ||
2752 | 0xac, 0xa5, 0xea, 0xd8, 0x0e, 0x95, 0x8f, 0xb8, 0xa3, 0x19, 0xad, 0x04, | ||
2753 | 0xdb, 0x3d, 0xe9, 0xa1, 0xe6, 0xd1, 0xb3, 0x63, 0xe7, 0x75, 0x0b, 0xf1, | ||
2754 | 0x37, 0x9b, 0x39, 0x2e, 0xb9, 0x3e, 0x7e, 0x63, 0x9e, 0x73, 0xb8, 0x66, | ||
2755 | 0x5b, 0x70, 0xef, 0x75, 0x83, 0xab, 0x7c, 0xae, 0x48, 0x18, 0x87, 0x6e, | ||
2756 | 0x68, 0xb5, 0x8f, 0xd6, 0x3c, 0x93, 0x76, 0x21, 0x53, 0x26, 0xe8, 0xa9, | ||
2757 | 0xd6, 0xa2, 0x9c, 0x8d, 0x7f, 0x0f, 0x70, 0xfe, 0xb6, 0xa7, 0x1a, 0x17, | ||
2758 | 0x6f, 0x9b, 0x85, 0x7c, 0x78, 0xa6, 0xd9, 0x46, 0xa4, 0x7f, 0x51, 0xdd, | ||
2759 | 0xc0, 0x3e, 0xe2, 0xbf, 0x87, 0xf8, 0xef, 0x21, 0xfe, 0x7b, 0x88, 0xff, | ||
2760 | 0x1e, 0xe2, 0xbf, 0x87, 0xf8, 0x0f, 0x1e, 0x3e, 0x07, 0x7d, 0x79, 0xd6, | ||
2761 | 0x9b, 0x08, 0x73, 0xb6, 0xc7, 0x56, 0x73, 0x36, 0xfe, 0xcd, 0xcb, 0xb9, | ||
2762 | 0xa6, 0xa2, 0xa5, 0x52, 0x91, 0x20, 0xe7, 0x15, 0x9d, 0xf9, 0x4d, 0x94, | ||
2763 | 0xf3, 0x7e, 0xf4, 0xf7, 0x90, 0x00, 0x8e, 0xf9, 0x1e, 0xe1, 0x2a, 0x9a, | ||
2764 | 0x6e, 0x13, 0x2e, 0xc8, 0xf9, 0x58, 0x67, 0xad, 0x87, 0xe1, 0x77, 0x37, | ||
2765 | 0xfa, 0xb6, 0xe0, 0x9b, 0x4f, 0xf0, 0x7d, 0xa9, 0x76, 0x87, 0x8b, 0x58, | ||
2766 | 0x5c, 0x6e, 0xa8, 0x78, 0x8c, 0x71, 0xe3, 0x0e, 0xfe, 0xad, 0x02, 0x64, | ||
2767 | 0xc0, 0x77, 0x5f, 0x66, 0x6d, 0x51, 0x6e, 0x20, 0x2f, 0x5a, 0x8e, 0x72, | ||
2768 | 0x21, 0xc0, 0x79, 0x6f, 0x6a, 0xa5, 0x05, 0xca, 0x59, 0x97, 0xd9, 0x14, | ||
2769 | 0x98, 0x62, 0xb7, 0xe6, 0x78, 0x97, 0x54, 0xbd, 0x74, 0xb6, 0x49, 0x7a, | ||
2770 | 0x46, 0x40, 0x5b, 0x74, 0x8f, 0x2c, 0x62, 0xcc, 0xa7, 0x44, 0x9f, 0x47, | ||
2771 | 0x7e, 0x6b, 0x0f, 0xa9, 0xbf, 0x6f, 0xe8, 0xc5, 0x3e, 0xfa, 0xfc, 0x8e, | ||
2772 | 0x96, 0x7b, 0x5a, 0x29, 0x04, 0x3e, 0x9b, 0xb1, 0x87, 0xe7, 0x48, 0xc1, | ||
2773 | 0x76, 0xdd, 0x6d, 0x38, 0x1b, 0xe4, 0xfa, 0xaf, 0x5b, 0x55, 0x0e, 0x0e, | ||
2774 | 0x3f, 0x7a, 0x62, 0xa8, 0xbf, 0x5f, 0xba, 0xb7, 0xcb, 0xc9, 0x21, 0xd6, | ||
2775 | 0x6b, 0x9b, 0x81, 0x8f, 0x6b, 0x79, 0xff, 0xb4, 0x5d, 0x4e, 0x2d, 0xc2, | ||
2776 | 0xcf, 0x2e, 0x66, 0x1d, 0xea, 0xf2, 0xd2, 0x50, 0x0a, 0xfe, 0xf9, 0xe6, | ||
2777 | 0x7e, 0xc6, 0xe7, 0xe5, 0x26, 0x75, 0xa5, 0x17, 0xf0, 0x03, 0xd0, 0xcb, | ||
2778 | 0x4d, 0xb0, 0x27, 0x1d, 0xfb, 0x47, 0xb8, 0xff, 0x45, 0xe1, 0xee, 0xb5, | ||
2779 | 0x9d, 0x6d, 0x4a, 0x37, 0xf4, 0xac, 0x95, 0xd1, 0x41, 0xfb, 0xff, 0x14, | ||
2780 | 0x6e, 0x6d, 0x31, 0x71, 0x5c, 0x67, 0xf8, 0x3f, 0xb3, 0xdc, 0x8c, 0xd7, | ||
2781 | 0x30, 0x86, 0xf5, 0xb2, 0x58, 0xae, 0xba, 0x03, 0x63, 0x33, 0xd1, 0x62, | ||
2782 | 0x65, 0xb0, 0xec, 0x16, 0x55, 0x96, 0xba, 0xda, 0x05, 0x42, 0xe2, 0x3a, | ||
2783 | 0xdd, 0x24, 0xb4, 0x72, 0xd5, 0x2a, 0x42, 0x60, 0x37, 0x8e, 0xfa, 0xd2, | ||
2784 | 0x46, 0x55, 0xdb, 0x37, 0xaf, 0x16, 0xec, 0x38, 0xcd, 0xac, 0x17, 0x37, | ||
2785 | 0x38, 0xf4, 0x71, 0xb3, 0x2c, 0x0e, 0x90, 0x75, 0x56, 0x6e, 0xf2, 0x90, | ||
2786 | 0x3e, 0x19, 0x6d, 0xa2, 0x24, 0x55, 0xa5, 0xbc, 0x54, 0x7d, 0xab, 0x5a, | ||
2787 | 0x0b, 0x27, 0xc4, 0x0f, 0xa9, 0xad, 0xf6, 0xa5, 0x77, 0x4d, 0xbf, 0xef, | ||
2788 | 0xcc, 0x2c, 0xc6, 0xa4, 0x51, 0x91, 0x56, 0x73, 0xe6, 0xcc, 0xb9, 0x9f, | ||
2789 | 0xff, 0xf2, 0xfd, 0x17, 0x3e, 0x67, 0x67, 0xba, 0xc2, 0xbd, 0xcd, 0x95, | ||
2790 | 0x76, 0xc6, 0xfe, 0xb6, 0xd4, 0xcc, 0x02, 0xf3, 0x1a, 0x86, 0x64, 0xdc, | ||
2791 | 0x64, 0xae, 0xcf, 0x96, 0x3a, 0x57, 0x66, 0x1b, 0x1b, 0x65, 0xda, 0xe4, | ||
2792 | 0x4b, 0x6a, 0xa6, 0xdc, 0x23, 0x17, 0x41, 0xc7, 0x85, 0xe1, 0xd6, 0xd0, | ||
2793 | 0xf7, 0xda, 0x19, 0xf2, 0x73, 0x77, 0x3c, 0xd4, 0x57, 0x1a, 0x57, 0x16, | ||
2794 | 0x34, 0xb6, 0xee, 0xde, 0xf5, 0xed, 0x49, 0xac, 0x29, 0x41, 0x5f, 0x79, | ||
2795 | 0x5c, 0xcb, 0x26, 0x83, 0xef, 0x7d, 0xbb, 0xde, 0xe3, 0xbb, 0xde, 0x0f, | ||
2796 | 0xfc, 0x8f, 0xf6, 0x2c, 0xef, 0xa6, 0x07, 0xae, 0xd3, 0x1a, 0xe5, 0x2c, | ||
2797 | 0x05, 0xcf, 0x36, 0x66, 0x3d, 0x2b, 0x4d, 0x5c, 0x90, 0x15, 0x5f, 0x65, | ||
2798 | 0xdd, 0x36, 0xc8, 0xbb, 0x36, 0x99, 0x5f, 0x04, 0xcd, 0x63, 0x1f, 0xed, | ||
2799 | 0x36, 0x63, 0xe4, 0x43, 0x71, 0xf2, 0x4c, 0x07, 0xae, 0xc1, 0xb0, 0x07, | ||
2800 | 0x13, 0x68, 0xe7, 0x3f, 0xef, 0xa6, 0xcc, 0xb3, 0xda, 0x97, 0x43, 0x3c, | ||
2801 | 0xe3, 0xab, 0x82, 0xce, 0xf7, 0x60, 0x9b, 0x16, 0xb9, 0x63, 0x67, 0x7a, | ||
2802 | 0xc2, 0x7c, 0x20, 0xd8, 0xbe, 0x5f, 0x8d, 0x13, 0x6b, 0x3c, 0xe7, 0x6e, | ||
2803 | 0xd7, 0x99, 0x9b, 0xc2, 0x1c, 0x2b, 0x10, 0xcd, 0x53, 0x22, 0xe5, 0xaa, | ||
2804 | 0xc8, 0xeb, 0xf8, 0xfd, 0xa6, 0x1a, 0xc6, 0x4f, 0x14, 0xed, 0xee, 0x93, | ||
2805 | 0xb2, 0x5e, 0xfa, 0x9a, 0xd4, 0xa0, 0x7f, 0xd6, 0x5c, 0xdf, 0xbf, 0xeb, | ||
2806 | 0x26, 0xf5, 0x99, 0xbf, 0xe8, 0x29, 0x19, 0x18, 0xa1, 0x7e, 0x6b, 0x93, | ||
2807 | 0x97, 0x17, 0x5b, 0x64, 0xc3, 0xb4, 0xcc, 0xbb, 0x44, 0x01, 0x5e, 0x42, | ||
2808 | 0x26, 0x63, 0x11, 0x8d, 0x51, 0xe5, 0x5b, 0x22, 0x5b, 0xf8, 0xb6, 0xb5, | ||
2809 | 0xf8, 0x4c, 0x9c, 0xfe, 0x97, 0x4f, 0x16, 0xf9, 0x6e, 0xe0, 0x69, 0x48, | ||
2810 | 0xc3, 0x8e, 0x00, 0xcb, 0x42, 0x08, 0x99, 0x3c, 0x77, 0xee, 0xf7, 0xbb, | ||
2811 | 0x5c, 0x1b, 0xea, 0x68, 0xcf, 0xb6, 0x49, 0xe1, 0x30, 0x64, 0xa2, 0x1a, | ||
2812 | 0xd4, 0x39, 0x47, 0x8d, 0x98, 0x96, 0xd1, 0x91, 0x0a, 0x7d, 0xf8, 0xe6, | ||
2813 | 0x5e, 0x2d, 0xaf, 0x33, 0x37, 0x7e, 0xa4, 0xf7, 0x82, 0x72, 0xbe, 0xe2, | ||
2814 | 0x92, 0x56, 0x4d, 0x59, 0x03, 0xaf, 0xad, 0xd6, 0x5f, 0xed, 0xe3, 0x5d, | ||
2815 | 0xad, 0xd7, 0x5f, 0x88, 0x07, 0xf6, 0x1a, 0xeb, 0x7e, 0x1c, 0x0f, 0xea, | ||
2816 | 0x92, 0xa1, 0xfd, 0x45, 0x3b, 0xad, 0x8c, 0xbd, 0xbd, 0x20, 0xf5, 0xa5, | ||
2817 | 0x9f, 0xc9, 0x3b, 0xa5, 0x9f, 0xc8, 0xaf, 0x97, 0xce, 0x00, 0x7f, 0x58, | ||
2818 | 0xe5, 0x3c, 0xf4, 0xc9, 0xcd, 0xba, 0xef, 0xdf, 0x74, 0xa7, 0x60, 0x2b, | ||
2819 | 0xf8, 0xfe, 0xef, 0xdc, 0x0d, 0x19, 0x38, 0xf6, 0x3d, 0xec, 0x39, 0x07, | ||
2820 | 0x1e, 0xa2, 0x2c, 0x9c, 0x04, 0xbd, 0xb9, 0x7d, 0xd2, 0x19, 0xd5, 0x74, | ||
2821 | 0x32, 0x78, 0xac, 0x15, 0x7b, 0x30, 0x42, 0x4c, 0xce, 0xbd, 0x8c, 0xf4, | ||
2822 | 0x91, 0x66, 0x8c, 0x7a, 0x09, 0xf3, 0xb7, 0x82, 0x2f, 0xf6, 0xe2, 0xa7, | ||
2823 | 0xe4, 0xee, 0x08, 0xd6, 0x3a, 0x42, 0xda, 0x6b, 0x95, 0x81, 0x47, 0xb1, | ||
2824 | 0x8f, 0x5c, 0x8b, 0xdc, 0xf3, 0x7e, 0x19, 0xa7, 0x6f, 0xef, 0x9e, 0xc7, | ||
2825 | 0xb2, 0xf1, 0x95, 0x2e, 0xf1, 0xa5, 0x05, 0xba, 0x7c, 0xfe, 0x78, 0x80, | ||
2826 | 0x9b, 0xde, 0x55, 0x43, 0x68, 0x6f, 0xe7, 0xdf, 0x53, 0xc4, 0x79, 0x79, | ||
2827 | 0xbf, 0x15, 0xb8, 0x7c, 0x1c, 0x78, 0x28, 0x53, 0xbf, 0x20, 0x8d, 0x91, | ||
2828 | 0x28, 0xda, 0x10, 0xaf, 0x68, 0x59, 0x22, 0x59, 0x8f, 0x39, 0x5a, 0xcc, | ||
2829 | 0x97, 0xc2, 0x1a, 0xa7, 0x74, 0x2e, 0x57, 0x1f, 0xcf, 0x9c, 0x58, 0x3e, | ||
2830 | 0xa8, 0xb3, 0x41, 0x23, 0xac, 0x23, 0x7d, 0xa7, 0x35, 0xa6, 0x82, 0x0e, | ||
2831 | 0xc5, 0x78, 0xc3, 0x92, 0xd1, 0xe5, 0x2e, 0x8c, 0x77, 0x41, 0x32, 0x6e, | ||
2832 | 0x73, 0xcc, 0x51, 0xb4, 0xa1, 0x9c, 0x19, 0x05, 0x96, 0xf8, 0x58, 0x8d, | ||
2833 | 0x2d, 0xc6, 0xa0, 0xcb, 0xe3, 0x32, 0x66, 0xee, 0xd9, 0xb1, 0xc7, 0xbc, | ||
2834 | 0xb6, 0x15, 0x0c, 0x63, 0x38, 0x5c, 0x53, 0xd7, 0x8e, 0x35, 0xb1, 0x3f, | ||
2835 | 0x7e, 0xb0, 0x93, 0x33, 0x8b, 0x0b, 0x90, 0x53, 0x0b, 0x1f, 0x66, 0xdc, | ||
2836 | 0x67, 0x25, 0x1b, 0x6b, 0xd3, 0xb6, 0x4d, 0x05, 0xf7, 0x92, 0xf5, 0xe8, | ||
2837 | 0xd3, 0xfa, 0x0e, 0xe4, 0xd0, 0x9e, 0xb0, 0x8e, 0x6d, 0xc5, 0xc8, 0xe0, | ||
2838 | 0xec, 0x03, 0x1b, 0x97, 0x75, 0x5f, 0x96, 0xcc, 0x42, 0x4e, 0x26, 0x74, | ||
2839 | 0x3f, 0x9e, 0xe1, 0x41, 0x8d, 0x43, 0xc8, 0xab, 0x03, 0xbd, 0x38, 0xcb, | ||
2840 | 0xd4, 0x03, 0x7b, 0x38, 0xd9, 0x4b, 0x2e, 0xfa, 0x4f, 0xc8, 0xb3, 0xf8, | ||
2841 | 0xd6, 0xcb, 0x3b, 0x6a, 0x93, 0x81, 0x67, 0xa0, 0x2f, 0xbd, 0x66, 0x7d, | ||
2842 | 0x54, 0x3e, 0xf3, 0xfc, 0x38, 0x63, 0x2e, 0x7f, 0xf6, 0x4c, 0xf9, 0xc4, | ||
2843 | 0xd3, 0xb1, 0xd8, 0xe9, 0x88, 0x58, 0xe7, 0x03, 0x5b, 0xfd, 0xf0, 0xf4, | ||
2844 | 0xbc, 0xe2, 0xf7, 0xc3, 0xe7, 0x57, 0x54, 0x07, 0xda, 0x46, 0xd1, 0x8e, | ||
2845 | 0xeb, 0x30, 0x65, 0xdc, 0xfb, 0xab, 0x3f, 0x73, 0xc4, 0xf7, 0x27, 0x74, | ||
2846 | 0x4e, 0x58, 0xca, 0x9c, 0x57, 0x4d, 0x7c, 0xee, 0x88, 0x17, 0x6b, 0xc7, | ||
2847 | 0x5c, 0x29, 0x73, 0x45, 0x1d, 0xc6, 0x7a, 0x58, 0xee, 0x25, 0x4f, 0x24, | ||
2848 | 0x36, 0x84, 0xe3, 0x5b, 0x93, 0xcb, 0x2a, 0x95, 0x1c, 0x54, 0x56, 0xba, | ||
2849 | 0x80, 0x5f, 0x8b, 0xd2, 0x71, 0xcc, 0x44, 0x52, 0x81, 0x77, 0xb1, 0x27, | ||
2850 | 0xfb, 0xa8, 0xef, 0x4f, 0xda, 0xac, 0x4f, 0x99, 0x51, 0x45, 0xdf, 0x4b, | ||
2851 | 0xa7, 0x8e, 0x77, 0x5e, 0x3e, 0x90, 0x32, 0x8f, 0xaa, 0xfd, 0xe1, 0xfb, | ||
2852 | 0x28, 0x64, 0xe6, 0xf6, 0x78, 0x67, 0x96, 0x95, 0x29, 0x2f, 0x79, 0xa9, | ||
2853 | 0xe4, 0xac, 0xb2, 0x72, 0x18, 0x33, 0x37, 0xa6, 0x28, 0x37, 0x52, 0x66, | ||
2854 | 0xa7, 0xa2, 0x7f, 0xb4, 0x5d, 0xef, 0x7b, 0x12, 0xfd, 0x53, 0xaa, 0x25, | ||
2855 | 0x5c, 0x0f, 0xef, 0xeb, 0x4a, 0x5f, 0xc0, 0x33, 0x94, 0x39, 0xfd, 0xc6, | ||
2856 | 0xcc, 0x02, 0xf3, 0xcb, 0x74, 0x5e, 0x43, 0x7a, 0xe0, 0x18, 0xdf, 0x0d, | ||
2857 | 0xb9, 0x7f, 0xe2, 0x6f, 0xa8, 0x43, 0xb9, 0xcc, 0x3a, 0x27, 0xe4, 0xb7, | ||
2858 | 0x23, 0x1a, 0x3f, 0xdf, 0x3f, 0x91, 0xd7, 0xb9, 0x8b, 0x0d, 0x35, 0x10, | ||
2859 | 0xee, 0x7b, 0xfb, 0xce, 0x92, 0x19, 0xf7, 0x4b, 0x1c, 0x67, 0x21, 0x72, | ||
2860 | 0xb2, 0x5d, 0x98, 0x23, 0x3a, 0x5e, 0x6a, 0xd2, 0x06, 0x7d, 0x03, 0xcc, | ||
2861 | 0x15, 0x68, 0xc6, 0xdd, 0x2f, 0x88, 0x71, 0xac, 0x63, 0x07, 0x9d, 0x00, | ||
2862 | 0x77, 0x02, 0xaf, 0x56, 0x31, 0x4e, 0x61, 0x51, 0xf2, 0x41, 0x7f, 0xe9, | ||
2863 | 0x60, 0x4e, 0x6a, 0xa1, 0xfa, 0x45, 0x63, 0x04, 0x3a, 0x70, 0x1c, 0xef, | ||
2864 | 0xf7, 0x4f, 0x90, 0x3e, 0x79, 0x36, 0x49, 0x35, 0xbe, 0xc4, 0xf5, 0x1c, | ||
2865 | 0x94, 0x89, 0x45, 0x60, 0x23, 0xfc, 0xe6, 0x17, 0x83, 0x7b, 0xbb, 0x0e, | ||
2866 | 0x9c, 0x3d, 0xe1, 0x99, 0x9a, 0x5f, 0x67, 0x5d, 0xc6, 0x4f, 0xc0, 0x2b, | ||
2867 | 0x3a, 0x8f, 0x8a, 0x7d, 0x99, 0x4b, 0x78, 0x88, 0xfa, 0xd1, 0x6d, 0x48, | ||
2868 | 0x0c, 0x6d, 0x89, 0x59, 0x59, 0x6f, 0x8d, 0x26, 0x23, 0xdd, 0x32, 0x0f, | ||
2869 | 0x79, 0x57, 0x81, 0xee, 0x2c, 0x5c, 0x89, 0xca, 0xac, 0xa7, 0xe3, 0xd9, | ||
2870 | 0xc9, 0x8f, 0x95, 0x2b, 0xb5, 0xfa, 0x71, 0xb9, 0x51, 0x77, 0xf4, 0x37, | ||
2871 | 0xea, 0xb5, 0xc2, 0xab, 0x86, 0x7c, 0xff, 0x88, 0xce, 0xa5, 0x73, 0x2a, | ||
2872 | 0xd2, 0xd9, 0x4f, 0xcc, 0xb3, 0xa2, 0xf3, 0xea, 0x20, 0x3b, 0x80, 0x39, | ||
2873 | 0xde, 0x06, 0xe6, 0x78, 0x0b, 0x98, 0xe3, 0x57, 0xc0, 0xd8, 0x37, 0x4b, | ||
2874 | 0x93, 0xa1, 0xfc, 0x9f, 0x86, 0x1c, 0xa2, 0xae, 0xb6, 0xce, 0xe0, 0x4e, | ||
2875 | 0xa7, 0xf3, 0xa0, 0xc1, 0xdb, 0xb0, 0x3f, 0xd6, 0x4b, 0x19, 0x59, 0x5d, | ||
2876 | 0x9a, 0x90, 0xb5, 0xa5, 0x20, 0x0f, 0xf9, 0x03, 0xe6, 0x7d, 0x8d, 0xf0, | ||
2877 | 0x9e, 0x1c, 0xc8, 0xa1, 0x3d, 0x32, 0x70, 0x94, 0xf2, 0xa3, 0x43, 0x96, | ||
2878 | 0x8b, 0xab, 0x5a, 0x0e, 0x2d, 0x17, 0x59, 0x8e, 0x88, 0xce, 0x21, 0x9b, | ||
2879 | 0xda, 0x90, 0x8a, 0x5b, 0x47, 0xfd, 0x3e, 0xed, 0x0f, 0x0a, 0xfc, 0xf3, | ||
2880 | 0x94, 0x97, 0x7f, 0x0a, 0xef, 0x5e, 0xe9, 0xdc, 0xba, 0x19, 0xb3, 0x1b, | ||
2881 | 0xed, 0x9a, 0xb2, 0x6b, 0x30, 0x88, 0xb9, 0xab, 0xdb, 0x68, 0x83, 0x39, | ||
2882 | 0x80, 0x19, 0xaf, 0x43, 0x87, 0x34, 0x9c, 0x6e, 0x8d, 0xfd, 0x1a, 0xce, | ||
2883 | 0x21, 0x9d, 0x77, 0xcb, 0x71, 0x0a, 0x45, 0x5b, 0xe6, 0x8a, 0x56, 0x32, | ||
2884 | 0x0f, 0xfa, 0xbb, 0x01, 0xbb, 0x6d, 0x15, 0x77, 0xb0, 0x86, 0x33, 0x58, | ||
2885 | 0xaf, 0x53, 0xcf, 0x6f, 0x6a, 0xd9, 0xbb, 0x5c, 0xff, 0x23, 0xc6, 0xb1, | ||
2886 | 0xce, 0xa4, 0xe5, 0x0f, 0x7d, 0x94, 0x81, 0xf4, 0x4d, 0x65, 0x75, 0xff, | ||
2887 | 0xa0, 0xdf, 0x2a, 0xda, 0xae, 0xd5, 0x29, 0x8f, 0x45, 0x2e, 0x79, 0x36, | ||
2888 | 0x74, 0xc9, 0xcb, 0x09, 0x62, 0x80, 0xb2, 0x6a, 0xf6, 0xf3, 0xc3, 0x35, | ||
2889 | 0xfb, 0xfe, 0x5e, 0x9b, 0xeb, 0x72, 0x42, 0xb9, 0x4d, 0xdd, 0xbf, 0xa1, | ||
2890 | 0xb1, 0x8d, 0x57, 0x7a, 0x56, 0xde, 0xc4, 0x7d, 0x07, 0x18, 0x27, 0x27, | ||
2891 | 0x6f, 0x00, 0xe3, 0xd5, 0x4b, 0xcd, 0xbc, 0xed, 0x93, 0x38, 0xa7, 0x92, | ||
2892 | 0x9a, 0xbb, 0xda, 0x29, 0x97, 0xaf, 0x15, 0xd4, 0x4b, 0xd7, 0x3c, 0xf5, | ||
2893 | 0xf3, 0xab, 0x45, 0x55, 0xb8, 0xea, 0xfb, 0xff, 0x70, 0x67, 0xe4, 0x9d, | ||
2894 | 0x25, 0x5f, 0x4e, 0xbb, 0x46, 0x7f, 0x44, 0x9a, 0xf9, 0x74, 0xbe, 0xdf, | ||
2895 | 0x01, 0xd9, 0xbc, 0x7e, 0xc0, 0xf7, 0x1f, 0x19, 0x19, 0x11, 0xe7, 0x00, | ||
2896 | 0x31, 0xca, 0x70, 0x82, 0x39, 0xae, 0x94, 0x39, 0x19, 0xdb, 0x3e, 0x5f, | ||
2897 | 0x51, 0x0a, 0xf2, 0xad, 0x3b, 0xc0, 0x2f, 0x8f, 0xee, 0x0b, 0xe3, 0x26, | ||
2898 | 0x3f, 0x7c, 0x9e, 0x7e, 0xe5, 0xc4, 0xe7, 0xfc, 0xca, 0xa6, 0x9c, 0x2d, | ||
2899 | 0xf6, 0xa2, 0x7f, 0x4c, 0x7e, 0x50, 0x8c, 0xee, 0x2a, 0x9b, 0x78, 0x3a, | ||
2900 | 0x46, 0xa1, 0x78, 0xcf, 0x1f, 0xd4, 0xf1, 0x03, 0x60, 0x12, 0xd3, 0xf7, | ||
2901 | 0x67, 0x5d, 0xce, 0xd7, 0x8d, 0xf9, 0x36, 0xcc, 0x7d, 0xd0, 0xff, 0xa7, | ||
2902 | 0xb5, 0x7e, 0x2e, 0x2b, 0xd8, 0xc1, 0xe0, 0xef, 0x98, 0x8c, 0x15, 0xa1, | ||
2903 | 0xe3, 0x15, 0xf3, 0x4c, 0x89, 0x15, 0xac, 0xc4, 0x2c, 0x64, 0xc7, 0x0c, | ||
2904 | 0xe4, 0xcd, 0x29, 0x1d, 0x67, 0xed, 0xd5, 0xb2, 0x67, 0x8e, 0xe5, 0x9c, | ||
2905 | 0xa4, 0x2b, 0x6e, 0x8f, 0x3e, 0xbf, 0xcd, 0x1b, 0x2f, 0x26, 0x82, 0x3b, | ||
2906 | 0x07, 0x1f, 0xe7, 0x94, 0xb4, 0xc1, 0x1e, 0xca, 0xae, 0x4c, 0x81, 0x27, | ||
2907 | 0x12, 0x38, 0xdb, 0x56, 0xcd, 0x0f, 0x0d, 0xe8, 0xef, 0x86, 0xf6, 0x29, | ||
2908 | 0x06, 0xb1, 0x8b, 0x86, 0xc9, 0x76, 0xa7, 0xd0, 0xaf, 0x5d, 0x32, 0x57, | ||
2909 | 0xdb, 0xb4, 0x5c, 0x7d, 0xb8, 0x2e, 0x0d, 0x1c, 0xf2, 0x04, 0xca, 0x11, | ||
2910 | 0xd4, 0x25, 0xc3, 0xb2, 0x81, 0xf2, 0x34, 0xca, 0x2d, 0x78, 0xb2, 0xcd, | ||
2911 | 0x61, 0xe0, 0x0a, 0x3c, 0x5f, 0xc3, 0x78, 0x23, 0x58, 0x73, 0xce, 0x94, | ||
2912 | 0x8f, 0x4e, 0x50, 0x97, 0x38, 0x06, 0x73, 0x91, 0x67, 0x6d, 0x3c, 0x6b, | ||
2913 | 0x45, 0x95, 0x5d, 0x60, 0x19, 0xcf, 0x72, 0xf0, 0xfd, 0x21, 0x99, 0x84, | ||
2914 | 0x3e, 0x99, 0x6b, 0x81, 0x4c, 0xfa, 0x68, 0x5b, 0x26, 0xb1, 0xae, 0x5d, | ||
2915 | 0xc6, 0xae, 0x92, 0xd7, 0x4d, 0xd0, 0x5b, 0xa7, 0x64, 0xaf, 0xc5, 0x34, | ||
2916 | 0x1e, 0xad, 0x80, 0x16, 0xaf, 0x83, 0xae, 0x96, 0x41, 0x53, 0x99, 0xa2, | ||
2917 | 0x35, 0x3a, 0xad, 0x92, 0xda, 0x2f, 0xf0, 0x38, 0xe8, 0xb5, 0xe3, 0x0a, | ||
2918 | 0xb1, 0x28, 0x79, 0xd9, 0x01, 0xed, 0x89, 0xdf, 0x61, 0xdb, 0x93, 0x8e, | ||
2919 | 0xb2, 0x41, 0x83, 0xa0, 0xcb, 0x62, 0xc0, 0xd3, 0xef, 0x29, 0x2d, 0x57, | ||
2920 | 0x47, 0xef, 0x48, 0x2a, 0x7d, 0x47, 0x2c, 0xc8, 0x02, 0xcb, 0xfd, 0x50, | ||
2921 | 0x5c, 0x8c, 0x79, 0x5c, 0x5e, 0xc7, 0x3c, 0x06, 0xf8, 0xfb, 0xc8, 0x90, | ||
2922 | 0xe6, 0xef, 0x51, 0x89, 0xec, 0xe6, 0x71, 0xd0, 0x1b, 0x64, 0x50, 0xc0, | ||
2923 | 0xd3, 0xe9, 0x90, 0x46, 0x9f, 0x06, 0xff, 0x5a, 0xb0, 0xca, 0x92, 0x32, | ||
2924 | 0x0f, 0xfe, 0xbf, 0x8e, 0xef, 0xb7, 0xea, 0x9f, 0xaa, 0xb9, 0x05, 0x15, | ||
2925 | 0xe6, 0xb2, 0x7c, 0x1b, 0x38, 0xf9, 0xf7, 0x38, 0xbb, 0x2e, 0x8d, 0xdd, | ||
2926 | 0x07, 0x46, 0x18, 0x4b, 0xfb, 0xb7, 0xba, 0x6c, 0x1f, 0x95, 0xcd, 0xe1, | ||
2927 | 0xe3, 0x28, 0xef, 0xc3, 0xd3, 0xc0, 0x39, 0x44, 0x75, 0x2c, 0x7c, 0xd9, | ||
2928 | 0x1b, 0x36, 0x0a, 0x3a, 0xef, 0xe0, 0x98, 0xce, 0xcf, 0x37, 0xec, 0x03, | ||
2929 | 0xf8, 0x4e, 0xbf, 0x0c, 0xf7, 0x06, 0xcc, 0xa4, 0x12, 0x3a, 0xc7, 0xb4, | ||
2930 | 0x02, 0x2c, 0xb1, 0x82, 0xf1, 0xde, 0xa7, 0x5f, 0xaf, 0x06, 0x1e, 0x1e, | ||
2931 | 0xfe, 0xa7, 0x9f, 0x8e, 0x31, 0x27, 0x7d, 0x33, 0x11, 0xe8, 0xbf, 0xcf, | ||
2932 | 0xfc, 0x4d, 0x7b, 0x6e, 0xd4, 0xc0, 0xcb, 0x6d, 0x33, 0x86, 0xb6, 0xd0, | ||
2933 | 0x65, 0xd0, 0x45, 0x65, 0x4d, 0xbf, 0x6c, 0x17, 0xf4, 0x2d, 0xd4, 0x52, | ||
2934 | 0xe6, 0x07, 0x12, 0xf4, 0x9d, 0xb7, 0xa9, 0x77, 0xda, 0x21, 0x5f, 0x92, | ||
2935 | 0x1a, 0x57, 0xbe, 0x6f, 0xe7, 0x21, 0x15, 0xac, 0xe4, 0x24, 0x68, 0xb4, | ||
2936 | 0x4d, 0x2c, 0x67, 0x5c, 0x1e, 0xcc, 0x3b, 0xab, 0xfb, 0xb2, 0x6d, 0xb3, | ||
2937 | 0x6f, 0x73, 0x5e, 0xae, 0x9f, 0x7b, 0xe1, 0x1e, 0xe8, 0xa7, 0x36, 0x35, | ||
2938 | 0x8d, 0x36, 0x6a, 0xed, 0xfd, 0x01, 0x8d, 0x36, 0xf7, 0x11, 0xfb, 0x3f, | ||
2939 | 0xfb, 0x20, 0x9d, 0x0c, 0x1b, 0x41, 0x0e, 0x06, 0x9e, 0x35, 0x9e, 0xe7, | ||
2940 | 0xa7, 0xc0, 0xf7, 0x3b, 0xe9, 0xa7, 0xe9, 0x67, 0x0c, 0xe8, 0xe7, 0x91, | ||
2941 | 0x6d, 0xfa, 0x21, 0xdd, 0x74, 0xca, 0xd8, 0x35, 0x5b, 0x26, 0x8a, 0xfa, | ||
2942 | 0xbe, 0x81, 0x35, 0xe9, 0x3f, 0x3a, 0x0e, 0xba, 0x21, 0xad, 0x93, 0xb7, | ||
2943 | 0x4c, 0x29, 0x83, 0x8e, 0xca, 0x90, 0x4f, 0x65, 0xd0, 0x14, 0x31, 0x50, | ||
2944 | 0x19, 0xf2, 0xad, 0x5c, 0xb7, 0x9c, 0x2a, 0xf6, 0x4c, 0x9d, 0xbd, 0x02, | ||
2945 | 0x3a, 0xba, 0x5e, 0xe7, 0xfd, 0xeb, 0x35, 0x9b, 0xd4, 0x83, 0xb7, 0xb6, | ||
2946 | 0xef, 0xfe, 0xef, 0xb8, 0xfb, 0x43, 0x72, 0x03, 0x76, 0xcb, 0x9b, 0xa5, | ||
2947 | 0x61, 0xc8, 0x24, 0x21, 0x5e, 0x04, 0x6d, 0x8c, 0xca, 0x6a, 0xe9, 0xa4, | ||
2948 | 0xac, 0x41, 0x3f, 0xad, 0x2f, 0x0d, 0x00, 0x4f, 0x43, 0x8e, 0xbe, 0x72, | ||
2949 | 0x44, 0xde, 0x58, 0x52, 0x32, 0x63, 0x43, 0xbf, 0x2c, 0xd3, 0x07, 0x0f, | ||
2950 | 0x7a, 0x2e, 0x77, 0xea, 0x98, 0xfd, 0x58, 0x35, 0xf0, 0xc5, 0x8f, 0x57, | ||
2951 | 0xbb, 0x64, 0xa2, 0x6a, 0xca, 0x63, 0xd5, 0x1e, 0x79, 0xa2, 0x1a, 0x93, | ||
2952 | 0xd3, 0xb5, 0x84, 0x7c, 0xa3, 0x7a, 0x50, 0x4e, 0x55, 0x0f, 0xc9, 0x93, | ||
2953 | 0xb5, 0xa4, 0x7c, 0x13, 0x76, 0x61, 0xae, 0xe6, 0xc8, 0x64, 0x6d, 0x58, | ||
2954 | 0x1e, 0xaf, 0xd1, 0xc7, 0x8e, 0xf9, 0xf0, 0xcb, 0x6e, 0xfb, 0x2e, 0xb8, | ||
2955 | 0xae, 0x0e, 0xac, 0xcb, 0x51, 0xe3, 0x3a, 0x66, 0x29, 0xb9, 0xc0, 0xff, | ||
2956 | 0x21, 0x72, 0x0e, 0x7d, 0x2f, 0xbe, 0xa2, 0xa4, 0xa2, 0xe7, 0x6f, 0xfe, | ||
2957 | 0xdf, 0x48, 0x54, 0xdb, 0x46, 0xe7, 0xca, 0x07, 0xd1, 0xc6, 0xa6, 0x4d, | ||
2958 | 0x12, 0xfa, 0x41, 0x9a, 0xfe, 0xff, 0xa6, 0xed, 0x65, 0x68, 0x1f, 0xf6, | ||
2959 | 0x2d, 0xda, 0x5e, 0xfa, 0xec, 0x29, 0x3f, 0x68, 0xe7, 0xd0, 0xd6, 0xda, | ||
2960 | 0x19, 0xe7, 0x68, 0xce, 0x7b, 0x31, 0xf7, 0xf0, 0xff, 0xa7, 0x04, 0xf1, | ||
2961 | 0xaa, 0xb3, 0xb5, 0x83, 0xfc, 0x3f, 0x15, 0xac, 0xe5, 0x8b, 0xf3, 0xc5, | ||
2962 | 0x27, 0x4a, 0x63, 0xea, 0xb1, 0x12, 0x11, 0x8d, 0x2f, 0x17, 0xb7, 0x73, | ||
2963 | 0xf2, 0xbe, 0x2e, 0xcb, 0x6e, 0x54, 0xaf, 0x21, 0xf0, 0xdb, 0xa7, 0x75, | ||
2964 | 0x7e, 0xde, 0xd8, 0x10, 0xe9, 0x8f, 0x71, 0xb8, 0xae, 0x30, 0xb6, 0x00, | ||
2965 | 0x6c, 0xeb, 0x9a, 0x72, 0xa9, 0x1a, 0xf8, 0xaf, 0xe6, 0x34, 0xbd, 0xbc, | ||
2966 | 0x05, 0x9a, 0x63, 0xfc, 0x21, 0x78, 0xe6, 0xcb, 0x41, 0xdf, 0xec, 0x90, | ||
2967 | 0x43, 0x7b, 0x1c, 0xfb, 0x35, 0x7a, 0x38, 0x17, 0xff, 0x4f, 0x07, 0xe5, | ||
2968 | 0x70, 0xbd, 0xcc, 0x2f, 0xb6, 0x35, 0x2d, 0x06, 0x31, 0x5e, 0x47, 0x9e, | ||
2969 | 0xc3, 0x5d, 0x54, 0x4c, 0xae, 0xbf, 0x43, 0x2a, 0x0e, 0x6d, 0x5b, 0xca, | ||
2970 | 0xef, 0x21, 0x29, 0x63, 0x9e, 0x8a, 0xd3, 0xf4, 0x8d, 0x05, 0x72, 0xb6, | ||
2971 | 0x62, 0x3e, 0x98, 0x77, 0xba, 0xbc, 0x1f, 0xef, 0xa8, 0x73, 0x80, 0x99, | ||
2972 | 0xa6, 0xf8, 0x7e, 0x11, 0x65, 0xfa, 0x46, 0xe6, 0xf0, 0x4c, 0x84, 0x75, | ||
2973 | 0xaf, 0xf5, 0x6b, 0xac, 0x7e, 0xf2, 0x41, 0xbf, 0x99, 0xb2, 0x95, 0xcf, | ||
2974 | 0x44, 0xb6, 0x94, 0xf1, 0x8b, 0xf5, 0x7e, 0xca, 0xdc, 0xfd, 0x36, 0x7f, | ||
2975 | 0x51, 0xf9, 0x8b, 0xa9, 0x7d, 0x0a, 0xe1, 0xb7, 0x3d, 0xf2, 0x94, 0xc9, | ||
2976 | 0xdc, 0xf5, 0xb4, 0x1a, 0x2b, 0xfd, 0x34, 0xcc, 0xd3, 0xdd, 0x52, 0xfb, | ||
2977 | 0x2b, 0x6f, 0xf7, 0x07, 0x79, 0xee, 0x1c, 0x7b, 0x67, 0x6e, 0xfb, 0x4e, | ||
2978 | 0x3a, 0x61, 0x8e, 0x7b, 0x3b, 0x70, 0xab, 0x56, 0x62, 0xe0, 0x41, 0xc8, | ||
2979 | 0x3b, 0xbb, 0x45, 0xf3, 0x63, 0xa1, 0xf6, 0x2f, 0x7f, 0x43, 0xf3, 0x73, | ||
2980 | 0xd3, 0xc7, 0xf0, 0xdb, 0x7e, 0xda, 0xb6, 0x94, 0x1b, 0x97, 0x02, 0xbf, | ||
2981 | 0x91, 0xb6, 0xa1, 0x21, 0x2b, 0x50, 0x47, 0x5e, 0x05, 0x9f, 0x6c, 0xb7, | ||
2982 | 0xe5, 0xdf, 0x7f, 0x01, 0x99, 0xe7, 0xd3, 0x46, 0x40, 0x67, 0x00, 0x00, | ||
2983 | 0x00 }; | ||
2984 | static u32 bnx2_RXP_b09FwData[(0x0/4) + 1] = { 0x0 }; | ||
2985 | static u32 bnx2_RXP_b09FwRodata[(0x278/4) + 1] = { | ||
2986 | 0x08003fa4, 0x08003ea4, 0x08003f48, 0x08003f60, 0x08003f78, 0x08003f98, | ||
2987 | 0x08003fa4, 0x08003fa4, 0x08003eac, 0x00000000, 0x080049d4, 0x08004a0c, | ||
2988 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004a44, 0x08004c08, | ||
2989 | 0x08004b50, 0x08004b88, 0x08004c08, 0x08004ad8, 0x08004c08, 0x08004c08, | ||
2990 | 0x08004b88, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
2991 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004bc8, | ||
2992 | 0x08004c08, 0x08004bc8, 0x08004b50, 0x08004c08, 0x08004c08, 0x08004bc8, | ||
2993 | 0x08004bc8, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
2994 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
2995 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
2996 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
2997 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
2998 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
2999 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
3000 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
3001 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
3002 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
3003 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
3004 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
3005 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
3006 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
3007 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
3008 | 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, 0x08004c08, | ||
3009 | 0x08004ab4, 0x00000000, 0x0800602c, 0x08006044, 0x08006044, 0x08006044, | ||
3010 | 0x0800602c, 0x08006044, 0x08006044, 0x08006044, 0x0800602c, 0x08006044, | ||
3011 | 0x08006044, 0x08006044, 0x0800602c, 0x08006044, 0x08006044, 0x08006044, | ||
3012 | 0x08006038, 0x00000000, 0x00000000 }; | ||
3013 | static u32 bnx2_RXP_b09FwBss[(0x13dc/4) + 1] = { 0x0 }; | ||
3014 | static u32 bnx2_RXP_b09FwSbss[(0x2c/4) + 1] = { 0x0 }; | ||
3015 | |||
3016 | static struct fw_info bnx2_rxp_fw_09 = { | ||
3017 | .ver_major = 0x1, | ||
3018 | .ver_minor = 0x0, | ||
3019 | .ver_fix = 0x0, | ||
3020 | |||
3021 | .start_addr = 0x08003184, | ||
3022 | |||
3023 | .text_addr = 0x08000000, | ||
3024 | .text_len = 0x673c, | ||
3025 | .text_index = 0x0, | ||
3026 | .gz_text = bnx2_RXP_b09FwText, | ||
3027 | .gz_text_len = sizeof(bnx2_RXP_b09FwText), | ||
3028 | |||
3029 | .data_addr = 0x080069e0, | ||
3030 | .data_len = 0x0, | ||
3031 | .data_index = 0x0, | ||
3032 | .data = bnx2_RXP_b09FwData, | ||
3033 | |||
3034 | .sbss_addr = 0x080069e0, | ||
3035 | .sbss_len = 0x2c, | ||
3036 | .sbss_index = 0x0, | ||
3037 | .sbss = bnx2_RXP_b09FwSbss, | ||
3038 | |||
3039 | .bss_addr = 0x08006a10, | ||
3040 | .bss_len = 0x13dc, | ||
3041 | .bss_index = 0x0, | ||
3042 | .bss = bnx2_RXP_b09FwBss, | ||
3043 | |||
3044 | .rodata_addr = 0x08006740, | ||
3045 | .rodata_len = 0x278, | ||
3046 | .rodata_index = 0x0, | ||
3047 | .rodata = bnx2_RXP_b09FwRodata, | ||
3048 | }; | ||
3049 | |||
3050 | static u8 bnx2_TPAT_b09FwText[] = { | ||
3051 | 0x1f, 0x8b, 0x08, 0x08, 0xdb, 0xfd, 0x2f, 0x45, 0x00, 0x03, 0x74, 0x65, | ||
3052 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xc5, 0x58, 0x5d, 0x6c, | ||
3053 | 0x1c, 0x57, 0x15, 0x3e, 0xf3, 0xbb, 0x13, 0x77, 0xed, 0xbd, 0x49, 0x97, | ||
3054 | 0x6a, 0x13, 0xb9, 0x74, 0xc6, 0x1e, 0x3b, 0x8b, 0x1c, 0x35, 0x93, 0xb0, | ||
3055 | 0x24, 0x16, 0x5a, 0xd1, 0xc9, 0xcc, 0xae, 0x6b, 0xe5, 0x29, 0x86, 0xbc, | ||
3056 | 0xf1, 0xb2, 0xac, 0xed, 0x46, 0x54, 0x48, 0x4d, 0x51, 0x84, 0x22, 0x81, | ||
3057 | 0x94, 0x65, 0x76, 0x53, 0x40, 0x5a, 0x65, 0xc1, 0xa0, 0x04, 0x21, 0x84, | ||
3058 | 0x22, 0x9b, 0x66, 0x91, 0x58, 0x3c, 0x4d, 0xe9, 0x6b, 0x94, 0xbc, 0x90, | ||
3059 | 0x96, 0x17, 0x9e, 0x4b, 0x9e, 0xac, 0x02, 0x12, 0x0f, 0xa8, 0x8a, 0x78, | ||
3060 | 0x40, 0x15, 0x0d, 0x1e, 0xbe, 0x33, 0x3f, 0x9b, 0x5d, 0xd7, 0x29, 0x79, | ||
3061 | 0xa8, 0x84, 0xa5, 0xf1, 0xcc, 0xfd, 0x39, 0xf7, 0xe7, 0x7c, 0xdf, 0x77, | ||
3062 | 0xee, 0xb9, 0x5b, 0x92, 0x69, 0x82, 0xd2, 0xbf, 0x49, 0x3c, 0x97, 0xbe, | ||
3063 | 0x71, 0xf1, 0xd2, 0xe2, 0x8b, 0x27, 0x4d, 0x3a, 0x71, 0xe2, 0x45, 0xe9, | ||
3064 | 0x19, 0x43, 0xa6, 0xcf, 0xe0, 0x4f, 0x21, 0x12, 0xd9, 0xf8, 0xfc, 0x90, | ||
3065 | 0x21, 0x57, 0x6f, 0x4e, 0x7b, 0x36, 0x19, 0x4a, 0xd5, 0x79, 0x61, 0xd5, | ||
3066 | 0x26, 0x72, 0x07, 0x0b, 0xa6, 0x4f, 0xff, 0x89, 0x5a, 0x45, 0x95, 0xb8, | ||
3067 | 0xfe, 0xf9, 0xea, 0xa3, 0xe3, 0x77, 0x4e, 0x5b, 0x0f, 0x6f, 0x2a, 0x64, | ||
3068 | 0x88, 0x6a, 0xc3, 0x10, 0xf3, 0x64, 0x4c, 0xc3, 0xe6, 0x97, 0x47, 0x57, | ||
3069 | 0x34, 0x9a, 0xca, 0xc6, 0x12, 0x14, 0xf4, 0x0c, 0xaa, 0x77, 0x31, 0x8e, | ||
3070 | 0x7d, 0x59, 0xf2, 0x43, 0x55, 0xf2, 0x6f, 0x18, 0x24, 0x57, 0x5d, 0xc9, | ||
3071 | 0x0b, 0x6d, 0xb4, 0x49, 0xe4, 0x39, 0x39, 0x72, 0x45, 0x14, 0x7d, 0xd3, | ||
3072 | 0x91, 0x49, 0xb6, 0x77, 0xa3, 0xd9, 0xb9, 0x25, 0xc9, 0xeb, 0x2f, 0x4b, | ||
3073 | 0x7e, 0xdf, 0xe3, 0x7d, 0x63, 0x1d, 0x4b, 0x92, 0xdb, 0xe7, 0x77, 0xd5, | ||
3074 | 0xf0, 0xbb, 0x53, 0xd4, 0x28, 0x52, 0x41, 0xb6, 0xd9, 0xd6, 0x24, 0xdf, | ||
3075 | 0x59, 0x28, 0x29, 0x34, 0x8b, 0xe7, 0x00, 0xad, 0x3b, 0x94, 0xf7, 0x1c, | ||
3076 | 0x52, 0x15, 0x5b, 0x26, 0xbf, 0x28, 0xd1, 0xaf, 0x2b, 0x1a, 0x9e, 0xb3, | ||
3077 | 0x52, 0xad, 0xbf, 0x96, 0x8e, 0x53, 0xa4, 0x36, 0xd6, 0xd2, 0x2c, 0xf2, | ||
3078 | 0xda, 0x12, 0x7b, 0xcf, 0x59, 0x10, 0x32, 0xcd, 0xe2, 0x99, 0xc4, 0x77, | ||
3079 | 0x13, 0xfd, 0x34, 0xf2, 0x2a, 0x7b, 0xdb, 0x0e, 0xe0, 0x1b, 0xeb, 0xc4, | ||
3080 | 0x58, 0x5e, 0xbc, 0x0e, 0x13, 0xeb, 0xb0, 0xa9, 0xd3, 0x5b, 0xc6, 0x3e, | ||
3081 | 0xe6, 0x4a, 0x4d, 0xd2, 0xa9, 0x13, 0xaf, 0x7d, 0x92, 0x02, 0xa1, 0x50, | ||
3082 | 0x70, 0x4c, 0x23, 0xf7, 0x9c, 0x8a, 0xf2, 0x21, 0x6a, 0x09, 0x09, 0x7d, | ||
3083 | 0x3a, 0x29, 0x7e, 0x39, 0xb4, 0xeb, 0xa8, 0x2f, 0x50, 0x50, 0x3c, 0x28, | ||
3084 | 0xc9, 0xd5, 0xef, 0xa1, 0x7e, 0x4e, 0x34, 0xe9, 0xbb, 0x78, 0x4b, 0x28, | ||
3085 | 0x1f, 0xe4, 0xf1, 0x50, 0x96, 0x48, 0xb1, 0x49, 0x78, 0xa1, 0x49, 0xed, | ||
3086 | 0x30, 0xb3, 0xe5, 0xfa, 0xa4, 0xae, 0x15, 0xee, 0xc5, 0x0e, 0xfd, 0x7a, | ||
3087 | 0x75, 0x6a, 0x08, 0x6a, 0xa9, 0x55, 0xf4, 0xe9, 0xd9, 0xa2, 0x06, 0x9c, | ||
3088 | 0xdc, 0x18, 0xcf, 0x97, 0xb8, 0x9e, 0xff, 0x50, 0x6f, 0x92, 0x52, 0xb5, | ||
3089 | 0x85, 0x4f, 0x5f, 0xa6, 0xa4, 0x8d, 0xf7, 0x29, 0x63, 0x6f, 0xa7, 0xd2, | ||
3090 | 0x72, 0x51, 0x78, 0x37, 0xbe, 0x48, 0x6e, 0xec, 0x1f, 0x03, 0xdf, 0x02, | ||
3091 | 0x7b, 0xd4, 0x81, 0x75, 0xe0, 0xca, 0xd4, 0x2a, 0x19, 0x64, 0x2d, 0xae, | ||
3092 | 0xa1, 0xe5, 0x6f, 0x5d, 0x05, 0x7e, 0x67, 0xdc, 0xd4, 0xd4, 0x8e, 0x71, | ||
3093 | 0xfe, 0x23, 0xd6, 0xd9, 0x12, 0x06, 0xf0, 0x6e, 0x9c, 0x8f, 0xa2, 0x37, | ||
3094 | 0x9d, 0x28, 0xd2, 0xab, 0x76, 0xf9, 0x16, 0x2d, 0x94, 0x34, 0x9a, 0x17, | ||
3095 | 0x78, 0xc3, 0x8f, 0x36, 0x7c, 0xa5, 0x65, 0xeb, 0xc9, 0x78, 0x86, 0xbf, | ||
3096 | 0xcb, 0x12, 0x96, 0x42, 0x1f, 0x74, 0xdf, 0x63, 0x7f, 0x94, 0x97, 0x62, | ||
3097 | 0x9b, 0x28, 0xda, 0x5c, 0xfc, 0x34, 0x9b, 0xef, 0xa7, 0x36, 0x51, 0x54, | ||
3098 | 0xaf, 0xf0, 0xbc, 0x16, 0xf6, 0xcc, 0x5c, 0x25, 0xaa, 0x0f, 0x1c, 0xa3, | ||
3099 | 0xd9, 0xc5, 0xfa, 0x6c, 0xbc, 0x07, 0x25, 0xec, 0xc1, 0x2a, 0x9b, 0x92, | ||
3100 | 0x41, 0x81, 0x1d, 0xbd, 0x00, 0x7e, 0xb8, 0xbe, 0x6d, 0xbd, 0xef, 0x2b, | ||
3101 | 0x05, 0xda, 0x72, 0xf2, 0xd4, 0x09, 0x4b, 0x14, 0x84, 0x1d, 0xf2, 0x42, | ||
3102 | 0x19, 0x73, 0x14, 0x68, 0xd3, 0x7e, 0x18, 0xd5, 0x1d, 0x07, 0x7e, 0x21, | ||
3103 | 0xb6, 0x2b, 0xd5, 0x69, 0x1a, 0xed, 0x0b, 0x62, 0x8d, 0x1c, 0x60, 0x21, | ||
3104 | 0xc3, 0x37, 0xb3, 0xf1, 0x77, 0x10, 0x3a, 0x68, 0xa7, 0x96, 0x5c, 0xb1, | ||
3105 | 0x44, 0x40, 0x56, 0xc9, 0x53, 0x48, 0xc8, 0x55, 0x81, 0x3e, 0x2d, 0xaa, | ||
3106 | 0x85, 0x06, 0xed, 0x28, 0x97, 0x63, 0x7e, 0xb7, 0x7b, 0x3b, 0xd1, 0x9d, | ||
3107 | 0xa3, 0x25, 0xba, 0x1b, 0x16, 0xe9, 0x76, 0x48, 0x72, 0xd3, 0x01, 0x37, | ||
3108 | 0x8a, 0x82, 0xde, 0x0a, 0x47, 0xf7, 0xf2, 0x1b, 0xec, 0x25, 0x38, 0xa2, | ||
3109 | 0x40, 0x83, 0xab, 0xce, 0x3d, 0x30, 0xc8, 0x02, 0x46, 0x2d, 0xec, 0x3d, | ||
3110 | 0x7b, 0xf3, 0xbe, 0x76, 0xa6, 0x57, 0x6d, 0xeb, 0x87, 0x3e, 0xa3, 0x76, | ||
3111 | 0x4d, 0x43, 0xed, 0x5e, 0x7f, 0x0c, 0x30, 0x86, 0xa0, 0xab, 0xd0, 0x93, | ||
3112 | 0x0c, 0xbf, 0xcc, 0x6c, 0x1b, 0xd4, 0xef, 0xe6, 0xc8, 0xdc, 0x54, 0xa9, | ||
3113 | 0xd9, 0x2b, 0x92, 0x33, 0x6f, 0x99, 0x24, 0xcb, 0x45, 0x99, 0x54, 0x9a, | ||
3114 | 0xd9, 0x8c, 0x68, 0x09, 0xeb, 0xb8, 0x6f, 0xff, 0x48, 0xa7, 0xa9, 0xc0, | ||
3115 | 0xd1, 0x89, 0xfb, 0x18, 0x34, 0x73, 0xcb, 0x90, 0xfc, 0x1e, 0xef, 0x83, | ||
3116 | 0x7d, 0x6e, 0xa4, 0x3e, 0x57, 0x25, 0xef, 0x46, 0x8e, 0x66, 0x37, 0xfe, | ||
3117 | 0x11, 0x79, 0x36, 0x7c, 0x0d, 0x9e, 0xaf, 0x56, 0xbe, 0xa0, 0xd0, 0x04, | ||
3118 | 0xea, 0x36, 0xb9, 0xed, 0x61, 0x5a, 0xcf, 0x63, 0x44, 0x91, 0xe7, 0x3c, | ||
3119 | 0x4b, 0x1e, 0xf3, 0xff, 0x3c, 0xdb, 0xe4, 0x68, 0x66, 0x83, 0x75, 0x83, | ||
3120 | 0xf7, 0x26, 0x97, 0x79, 0x6d, 0x07, 0xa8, 0x89, 0x1d, 0x35, 0xcb, 0x45, | ||
3121 | 0xf8, 0x41, 0x8e, 0x35, 0xd2, 0xc4, 0x8e, 0x65, 0x7b, 0x02, 0x6f, 0x9e, | ||
3122 | 0xef, 0xac, 0x92, 0xf0, 0x9d, 0xe3, 0x46, 0x9e, 0x7c, 0xe0, 0xab, 0x62, | ||
3123 | 0x3d, 0x6b, 0x34, 0x57, 0x5a, 0x8f, 0xdb, 0x50, 0x37, 0xe0, 0x36, 0xb1, | ||
3124 | 0xa7, 0x0d, 0xe5, 0x41, 0xb6, 0x06, 0x70, 0xda, 0x6e, 0x63, 0x16, 0x2d, | ||
3125 | 0xde, 0x6b, 0xdd, 0xe1, 0xfe, 0xdc, 0xb7, 0x55, 0xd6, 0xc8, 0x2a, 0x6f, | ||
3126 | 0x62, 0xf4, 0x7e, 0x17, 0xfb, 0xbd, 0xce, 0xb1, 0xc8, 0x36, 0xff, 0x4a, | ||
3127 | 0xdc, 0x7f, 0x16, 0x7b, 0x9e, 0x5b, 0x6c, 0x73, 0xdb, 0x40, 0x23, 0x7b, | ||
3128 | 0xa3, 0x25, 0x54, 0xf8, 0x5f, 0x86, 0xf3, 0xfd, 0x1f, 0xff, 0x2b, 0xd2, | ||
3129 | 0xaa, 0xe0, 0x74, 0xa5, 0x00, 0x7c, 0x2c, 0xb3, 0x0d, 0xbd, 0xdb, 0x18, | ||
3130 | 0x37, 0x70, 0x14, 0xd8, 0x25, 0x38, 0x71, 0xbf, 0xa5, 0x6e, 0x44, 0xed, | ||
3131 | 0x78, 0xae, 0x2b, 0x3c, 0x17, 0x62, 0x92, 0xbd, 0xf8, 0x07, 0x70, 0xa3, | ||
3132 | 0x49, 0x79, 0x9a, 0xdf, 0xce, 0xd3, 0x85, 0x41, 0x9e, 0x66, 0xae, 0xe9, | ||
3133 | 0xf0, 0x43, 0x14, 0x75, 0x2a, 0xac, 0x51, 0xe0, 0x6d, 0x73, 0x3f, 0xab, | ||
3134 | 0xa4, 0xc8, 0xbc, 0x0e, 0xb4, 0x6f, 0x13, 0xad, 0x0d, 0x74, 0xf8, 0x4d, | ||
3135 | 0x1d, 0x19, 0x5b, 0xa6, 0x97, 0x7f, 0x46, 0xf4, 0xf2, 0x80, 0x6d, 0x79, | ||
3136 | 0xfc, 0xc4, 0xa6, 0x89, 0x3d, 0xcb, 0xc0, 0xfc, 0xc2, 0x40, 0x46, 0xbc, | ||
3137 | 0x40, 0x3c, 0xed, 0x7b, 0x88, 0x93, 0x35, 0x3c, 0x4b, 0x88, 0x9d, 0x8c, | ||
3138 | 0x0d, 0xc7, 0x91, 0x5d, 0xe0, 0xb3, 0x8c, 0xb6, 0xb3, 0xa8, 0x4b, 0xf4, | ||
3139 | 0xae, 0xd8, 0x3a, 0xd5, 0x9c, 0x49, 0x6a, 0x67, 0xb1, 0x4a, 0x70, 0xac, | ||
3140 | 0x3a, 0x08, 0x4e, 0x1d, 0x40, 0xfc, 0xf9, 0x9d, 0x32, 0x1e, 0xab, 0x10, | ||
3141 | 0xd3, 0x8a, 0x87, 0x11, 0x9b, 0xfa, 0xa8, 0xe7, 0xf1, 0x6e, 0xe1, 0x7d, | ||
3142 | 0x00, 0xe5, 0xc3, 0xe8, 0x3b, 0x1a, 0xa7, 0x32, 0xbb, 0x27, 0xc5, 0x28, | ||
3143 | 0xf0, 0x6e, 0xc3, 0x40, 0x7f, 0x13, 0xba, 0x61, 0x7f, 0xe7, 0x10, 0x3f, | ||
3144 | 0xd8, 0xe7, 0x39, 0xf8, 0x54, 0xc7, 0xdc, 0x82, 0x66, 0xb7, 0xa9, 0xa5, | ||
3145 | 0xa4, 0xf1, 0xcb, 0x1f, 0xc6, 0xaf, 0x52, 0xcc, 0x83, 0x20, 0x14, 0xb0, | ||
3146 | 0x61, 0xfd, 0x66, 0x7a, 0x65, 0xec, 0xc8, 0xf5, 0xa0, 0x65, 0x4f, 0x89, | ||
3147 | 0xa2, 0x55, 0xa7, 0x40, 0x4d, 0xe0, 0xee, 0x42, 0xc3, 0x4d, 0x68, 0xd8, | ||
3148 | 0x1f, 0xd1, 0xb0, 0xff, 0x3f, 0x35, 0x0c, 0x7d, 0x42, 0x23, 0xb7, 0xc1, | ||
3149 | 0xa9, 0xb7, 0x7a, 0xfb, 0xe9, 0x99, 0xb5, 0xcc, 0x9a, 0x36, 0xe9, 0xce, | ||
3150 | 0xd1, 0xa7, 0xd5, 0x74, 0x49, 0x7e, 0x4a, 0x4d, 0xb7, 0x58, 0xd3, 0x2a, | ||
3151 | 0x6b, 0xba, 0xb8, 0x57, 0xd3, 0xd3, 0x18, 0x23, 0xd1, 0xe6, 0x19, 0xb5, | ||
3152 | 0x48, 0xda, 0x3c, 0xf0, 0xd8, 0xc8, 0x93, 0x72, 0xed, 0x31, 0xef, 0x98, | ||
3153 | 0xcb, 0xfe, 0x00, 0xff, 0xb6, 0x35, 0xb4, 0x49, 0xe3, 0xf5, 0x88, 0x81, | ||
3154 | 0x6a, 0xd5, 0x2a, 0xad, 0xc5, 0x7d, 0x54, 0xd2, 0xe1, 0xff, 0xd7, 0x8f, | ||
3155 | 0x5a, 0xa6, 0x29, 0x8f, 0x6a, 0x1f, 0xea, 0xdf, 0x88, 0xae, 0x68, 0x55, | ||
3156 | 0x9e, 0xa7, 0x65, 0x82, 0xf3, 0xe6, 0x4f, 0x80, 0x55, 0xbb, 0xcb, 0x7c, | ||
3157 | 0xb7, 0x45, 0x3d, 0xe6, 0x19, 0xca, 0xd0, 0x84, 0x06, 0xde, 0xe6, 0xd0, | ||
3158 | 0x4f, 0xdd, 0x48, 0x74, 0x74, 0x1b, 0xe3, 0x6e, 0x75, 0x99, 0x67, 0x06, | ||
3159 | 0xe9, 0xd7, 0xed, 0xd2, 0x85, 0x38, 0x06, 0xcf, 0x8a, 0x25, 0x62, 0x0d, | ||
3160 | 0xf2, 0xb9, 0x88, 0xf6, 0x41, 0x8e, 0x94, 0x58, 0xf7, 0x13, 0xa9, 0xee, | ||
3161 | 0x9f, 0x87, 0xaf, 0x26, 0x50, 0x66, 0xed, 0x1f, 0x4e, 0xb5, 0x3f, 0x85, | ||
3162 | 0x37, 0xd7, 0xad, 0xa8, 0x09, 0x87, 0xc0, 0xc7, 0x0d, 0xc6, 0x37, 0x8f, | ||
3163 | 0x58, 0xc7, 0xf3, 0xff, 0x33, 0x5a, 0xb5, 0x19, 0x63, 0xdb, 0xfc, 0x01, | ||
3164 | 0xcd, 0x41, 0x7f, 0xa8, 0xdf, 0xe6, 0xbe, 0x6c, 0x93, 0xf5, 0x15, 0x69, | ||
3165 | 0xdf, 0x0f, 0xf7, 0xf4, 0x45, 0xfd, 0x36, 0xf7, 0x63, 0x7d, 0x1c, 0x22, | ||
3166 | 0xe5, 0x3a, 0x9f, 0xdb, 0x1e, 0xeb, 0x03, 0x76, 0x35, 0xd4, 0x71, 0x6e, | ||
3167 | 0xc1, 0xf6, 0x7c, 0x86, 0xf3, 0x3a, 0x39, 0xef, 0xe0, 0x73, 0x7e, 0xcf, | ||
3168 | 0x79, 0x3e, 0xd4, 0xc8, 0x19, 0xf0, 0xfe, 0x3b, 0xea, 0x27, 0x35, 0xb2, | ||
3169 | 0x02, 0x4d, 0x5c, 0x54, 0x13, 0x8d, 0xbc, 0x86, 0xf7, 0x19, 0x94, 0x57, | ||
3170 | 0xf6, 0x68, 0x24, 0xb3, 0x7b, 0xf2, 0x39, 0x1e, 0xf4, 0x4a, 0xf1, 0x99, | ||
3171 | 0xcb, 0xf3, 0x29, 0x1b, 0xd4, 0xd2, 0x52, 0x3d, 0xd4, 0x87, 0x7a, 0x98, | ||
3172 | 0x40, 0xcc, 0xc8, 0xa5, 0x5c, 0xc7, 0xdb, 0xfe, 0x48, 0xf1, 0x1d, 0x4b, | ||
3173 | 0xb4, 0x89, 0xb5, 0x31, 0x7a, 0x9e, 0xfd, 0xbf, 0xf4, 0x41, 0xe0, 0x51, | ||
3174 | 0x3c, 0x37, 0x72, 0x11, 0x3e, 0x17, 0xa2, 0xe8, 0x15, 0x07, 0xed, 0x59, | ||
3175 | 0x4e, 0x12, 0x63, 0x9f, 0xc3, 0xd9, 0xcb, 0x78, 0x20, 0x0f, 0xb4, 0x67, | ||
3176 | 0xa1, 0x07, 0x8e, 0x05, 0xbb, 0xd1, 0x96, 0xed, 0xa1, 0xae, 0x06, 0xff, | ||
3177 | 0x33, 0x26, 0xcb, 0xd2, 0x52, 0xdf, 0x60, 0x3b, 0xe8, 0x6d, 0xbf, 0x5c, | ||
3178 | 0x4c, 0x87, 0xae, 0x1e, 0xe3, 0xc4, 0x3c, 0x6a, 0x8e, 0xe0, 0xd4, 0x88, | ||
3179 | 0x71, 0xda, 0x19, 0xe2, 0xd4, 0x4c, 0x71, 0x6a, 0xc6, 0x38, 0x3d, 0x48, | ||
3180 | 0x71, 0xfa, 0xf3, 0x13, 0x70, 0xda, 0x79, 0x0a, 0x9c, 0x0c, 0xda, 0xb2, | ||
3181 | 0x4b, 0x38, 0x6f, 0xf5, 0x38, 0x77, 0xbd, 0xef, 0xec, 0x97, 0x7b, 0xb1, | ||
3182 | 0xdf, 0xc7, 0xb0, 0x8a, 0x18, 0xab, 0x2d, 0x1a, 0xcd, 0x43, 0x2c, 0xf3, | ||
3183 | 0x1e, 0x15, 0x70, 0x6e, 0xe4, 0xe9, 0xea, 0x9e, 0x5c, 0x24, 0x00, 0x4e, | ||
3184 | 0xb5, 0x14, 0xa7, 0xab, 0xc0, 0xa9, 0x96, 0xe2, 0xb4, 0x3e, 0x82, 0xd3, | ||
3185 | 0xfa, 0x18, 0x4e, 0x1c, 0x53, 0x2a, 0xc6, 0x7a, 0x37, 0xc3, 0x28, 0xc3, | ||
3186 | 0x47, 0xa7, 0x9b, 0x62, 0x0a, 0xfb, 0x3f, 0x4e, 0xed, 0x9f, 0xaa, 0x9c, | ||
3187 | 0xff, 0x02, 0xbb, 0x97, 0x54, 0x39, 0x3e, 0x17, 0xf8, 0xfb, 0x71, 0xbe, | ||
3188 | 0x82, 0xb9, 0x5c, 0xcf, 0xe1, 0x3d, 0x21, 0xcf, 0xb5, 0x47, 0x63, 0xd1, | ||
3189 | 0x07, 0x88, 0x45, 0x5c, 0xc7, 0xfd, 0x54, 0xa9, 0x06, 0xcd, 0x2b, 0xc8, | ||
3190 | 0xe1, 0xfd, 0x61, 0x0e, 0x9f, 0xf8, 0xe1, 0x6a, 0x9a, 0xc3, 0x6f, 0xd9, | ||
3191 | 0x9c, 0xc3, 0x9f, 0xd0, 0x68, 0x62, 0x39, 0xc5, 0x93, 0x79, 0x3d, 0x89, | ||
3192 | 0xb6, 0xb3, 0x31, 0xee, 0x6d, 0xc4, 0xf2, 0x55, 0xf8, 0xa0, 0x19, 0xf3, | ||
3193 | 0x13, 0x79, 0x57, 0xca, 0x5d, 0xe4, 0xbb, 0xe4, 0x87, 0x09, 0x4f, 0x3f, | ||
3194 | 0xdb, 0x5c, 0xec, 0xef, 0x88, 0xd9, 0x46, 0x43, 0xc5, 0x1d, 0xe0, 0x6e, | ||
3195 | 0x18, 0xc7, 0xea, 0x73, 0x41, 0x97, 0x5a, 0x47, 0xaa, 0x57, 0x22, 0xe0, | ||
3196 | 0xee, 0x7e, 0xfd, 0x34, 0x9f, 0x39, 0xf9, 0x45, 0xaf, 0x82, 0xfa, 0x81, | ||
3197 | 0x41, 0xc8, 0x83, 0x70, 0xa7, 0xa1, 0x96, 0x77, 0x5a, 0x42, 0xbe, 0x83, | ||
3198 | 0x32, 0x6c, 0x82, 0x70, 0xba, 0x21, 0x57, 0x4b, 0xe0, 0x43, 0x8b, 0x5c, | ||
3199 | 0xac, 0xd3, 0x0d, 0xe3, 0x7b, 0x4d, 0x43, 0xa9, 0x1a, 0xc8, 0x37, 0xc9, | ||
3200 | 0xc0, 0x99, 0x0f, 0x9f, 0x98, 0x46, 0x7b, 0x80, 0x9c, 0x08, 0x79, 0x80, | ||
3201 | 0xb7, 0x08, 0xbf, 0x1c, 0x03, 0x76, 0xa1, 0x0a, 0xdb, 0x6f, 0xe9, 0xc9, | ||
3202 | 0x9d, 0x88, 0xc8, 0x8b, 0xfd, 0xf5, 0x71, 0xca, 0x91, 0x38, 0xe7, 0x92, | ||
3203 | 0x6a, 0x3d, 0x32, 0x9b, 0x0e, 0xb8, 0x8e, 0x33, 0xa5, 0x13, 0x72, 0x5e, | ||
3204 | 0x7d, 0xcc, 0x90, 0xaf, 0x71, 0x3c, 0x7f, 0x00, 0x1f, 0xe2, 0x7b, 0x9b, | ||
3205 | 0xcf, 0x19, 0x85, 0x73, 0x73, 0xdc, 0x7d, 0xca, 0x88, 0x37, 0x34, 0x89, | ||
3206 | 0xd8, 0x87, 0xd8, 0x3b, 0xcd, 0x58, 0xb9, 0xc9, 0x19, 0xc4, 0xe3, 0x1d, | ||
3207 | 0x97, 0x93, 0x79, 0xfe, 0xa4, 0x25, 0x1c, 0xc6, 0x7d, 0x07, 0xfe, 0x5b, | ||
3208 | 0xed, 0x39, 0x1c, 0x73, 0x3f, 0xaf, 0xd0, 0x43, 0x8a, 0x39, 0x29, 0x4e, | ||
3209 | 0x20, 0x16, 0x9f, 0x86, 0x8d, 0x1b, 0xeb, 0x31, 0xc9, 0xbd, 0x32, 0x9b, | ||
3210 | 0x0f, 0xf7, 0x8c, 0xf1, 0x17, 0x65, 0xbc, 0xec, 0x82, 0xd3, 0x95, 0x74, | ||
3211 | 0xbe, 0x51, 0x8e, 0x2c, 0x20, 0xe5, 0x79, 0xa0, 0x0d, 0xf3, 0xb7, 0xa2, | ||
3212 | 0x8e, 0x7e, 0xbc, 0x46, 0xd6, 0x25, 0xdb, 0x1c, 0xd1, 0xc6, 0xc7, 0x99, | ||
3213 | 0xdd, 0x67, 0x8c, 0xea, 0xc8, 0x18, 0x45, 0xde, 0x9b, 0x68, 0x3a, 0xcf, | ||
3214 | 0xa4, 0xf7, 0x0c, 0x8e, 0x2d, 0x02, 0x3a, 0x95, 0x9f, 0x93, 0xb1, 0x0f, | ||
3215 | 0x0f, 0x7b, 0xf6, 0xe3, 0xfa, 0x5f, 0xe9, 0xe3, 0xe3, 0xfe, 0x56, 0x4d, | ||
3216 | 0xca, 0xc7, 0x12, 0x6e, 0xda, 0x78, 0x87, 0x0f, 0x46, 0xd6, 0xae, 0xed, | ||
3217 | 0x33, 0xef, 0xd7, 0x38, 0x5d, 0x43, 0xbc, 0x21, 0x57, 0xc1, 0x1d, 0xcc, | ||
3218 | 0x27, 0x7c, 0x87, 0xaf, 0x67, 0x3e, 0x04, 0x6f, 0xe8, 0x5c, 0x3b, 0xe5, | ||
3219 | 0x8b, 0x9c, 0xf0, 0x85, 0xf3, 0xba, 0xc5, 0x55, 0xf0, 0xa5, 0x0d, 0xbe, | ||
3220 | 0xc0, 0xae, 0xa1, 0x55, 0xa7, 0xc1, 0x05, 0x8e, 0x4d, 0x28, 0x87, 0xcc, | ||
3221 | 0x1d, 0xe6, 0x0a, 0xf3, 0xe6, 0x31, 0x5f, 0x5e, 0xe9, 0x1a, 0xc6, 0xe6, | ||
3222 | 0xa7, 0x70, 0xe5, 0x8d, 0x98, 0x2b, 0xcc, 0xd9, 0x24, 0x7e, 0x74, 0x80, | ||
3223 | 0x55, 0x90, 0xc6, 0x8f, 0x00, 0xf1, 0xa3, 0xc6, 0xf9, 0x4f, 0x1c, 0x0b, | ||
3224 | 0x12, 0xfd, 0xac, 0x41, 0x3f, 0x35, 0x85, 0xf3, 0x23, 0xd6, 0x0e, 0xdb, | ||
3225 | 0xb1, 0x7e, 0xd8, 0xae, 0x90, 0xda, 0x8d, 0xc7, 0x91, 0x76, 0xcf, 0x32, | ||
3226 | 0xb3, 0x38, 0xd2, 0x86, 0x76, 0x3a, 0xa9, 0x8e, 0xda, 0xa9, 0x8e, 0xd0, | ||
3227 | 0xa7, 0xa5, 0x54, 0xf8, 0x4c, 0xb0, 0x4c, 0x1f, 0xf1, 0xa3, 0x13, 0x8f, | ||
3228 | 0xd9, 0xa2, 0xe4, 0x2e, 0xc3, 0xda, 0xe6, 0xb8, 0x3b, 0x12, 0x6f, 0xd3, | ||
3229 | 0x7b, 0x6e, 0x23, 0xbe, 0xe7, 0x7e, 0x45, 0x1f, 0x8f, 0xb7, 0x38, 0x6b, | ||
3230 | 0xe2, 0x7b, 0xee, 0x29, 0x9d, 0xef, 0xb9, 0x01, 0x7d, 0x49, 0x1f, 0xbd, | ||
3231 | 0xe7, 0x06, 0x63, 0xf7, 0xdc, 0xcc, 0x96, 0xeb, 0xf7, 0x8b, 0xbb, 0x99, | ||
3232 | 0x4f, 0x38, 0xf6, 0x32, 0x9f, 0xf6, 0xcb, 0x15, 0xb3, 0x3e, 0x1c, 0x93, | ||
3233 | 0x58, 0xef, 0x1c, 0xcb, 0x92, 0xdc, 0xec, 0x6e, 0x98, 0xe9, 0xe2, 0x55, | ||
3234 | 0xcc, 0x83, 0x72, 0x6f, 0x3f, 0x5d, 0x18, 0xa9, 0x2e, 0x26, 0x13, 0x9b, | ||
3235 | 0xde, 0xa8, 0x36, 0x5e, 0xd5, 0xc7, 0xb5, 0x91, 0x8d, 0x93, 0x69, 0x23, | ||
3236 | 0x19, 0x73, 0x47, 0x29, 0xe1, 0x0c, 0x2c, 0x23, 0x1e, 0x09, 0xbe, 0xa3, | ||
3237 | 0x21, 0x5e, 0x54, 0xf3, 0xb8, 0xa7, 0x14, 0x78, 0xec, 0x76, 0xf8, 0x2c, | ||
3238 | 0x35, 0x8a, 0x8c, 0x0b, 0xaf, 0xff, 0x61, 0x7c, 0x7f, 0xc0, 0xba, 0x0b, | ||
3239 | 0x01, 0xff, 0xfe, 0xf1, 0x09, 0x3e, 0xbe, 0x06, 0x3e, 0x66, 0xfb, 0x19, | ||
3240 | 0xad, 0xbf, 0x34, 0x52, 0x5f, 0x4e, 0x31, 0x4f, 0x7c, 0x7e, 0x2f, 0xd5, | ||
3241 | 0xc8, 0x26, 0x72, 0xb7, 0xfb, 0xc8, 0x8b, 0xde, 0x44, 0xfc, 0x0e, 0x06, | ||
3242 | 0x1f, 0x47, 0xf7, 0x8a, 0x2a, 0x75, 0x86, 0x36, 0xbf, 0xc0, 0xba, 0x2d, | ||
3243 | 0x71, 0x13, 0x5f, 0x6f, 0x0c, 0xb2, 0xb1, 0xb9, 0x9d, 0xeb, 0xfe, 0x8d, | ||
3244 | 0xf3, 0x19, 0x79, 0xdf, 0xb0, 0xef, 0xfb, 0x11, 0xe7, 0xbb, 0x77, 0x81, | ||
3245 | 0xc5, 0x3b, 0xe1, 0x34, 0xfd, 0x1e, 0x1c, 0x7b, 0x3b, 0xce, 0x79, 0x93, | ||
3246 | 0x5c, 0x17, 0xfe, 0xc3, 0x99, 0xc7, 0x67, 0xbd, 0xf7, 0x39, 0x99, 0x2e, | ||
3247 | 0xd3, 0x57, 0x1d, 0xae, 0x93, 0xa9, 0x7e, 0x2a, 0x8a, 0x2e, 0xe2, 0xdc, | ||
3248 | 0x5f, 0x19, 0x3b, 0xf7, 0x71, 0x07, 0x3c, 0xc9, 0xf9, 0x7f, 0x96, 0xf3, | ||
3249 | 0xef, 0x46, 0x33, 0xf3, 0xd6, 0x4d, 0x97, 0x5c, 0xa9, 0xde, 0xe7, 0x7c, | ||
3250 | 0x6c, 0x98, 0x8b, 0x11, 0x1d, 0x7a, 0x14, 0xc9, 0xf3, 0x7c, 0x36, 0xbd, | ||
3251 | 0x9b, 0xfa, 0x1c, 0x6d, 0x37, 0x1e, 0xe1, 0x1e, 0x53, 0x8b, 0x7f, 0x17, | ||
3252 | 0x72, 0xfb, 0x3c, 0x0f, 0x97, 0xf1, 0x0e, 0x39, 0x47, 0x78, 0xd2, 0x6f, | ||
3253 | 0x35, 0x2a, 0xf0, 0xb5, 0xcc, 0x75, 0x85, 0xe2, 0x7b, 0x21, 0xee, 0x6e, | ||
3254 | 0x3f, 0x6f, 0x53, 0x12, 0x3b, 0x6a, 0xce, 0x39, 0xac, 0x05, 0x98, 0x88, | ||
3255 | 0x06, 0x30, 0x9e, 0x47, 0xac, 0xb2, 0xcc, 0x93, 0x72, 0xf2, 0x5b, 0xd5, | ||
3256 | 0x1a, 0xc6, 0x56, 0x4e, 0x72, 0x2e, 0xf9, 0x51, 0xb4, 0x36, 0x88, 0xcf, | ||
3257 | 0x44, 0x87, 0xb9, 0xe6, 0x87, 0x07, 0x65, 0x7e, 0xbb, 0x21, 0x7f, 0xeb, | ||
3258 | 0x98, 0xc7, 0x7c, 0x02, 0x0f, 0x8b, 0xa2, 0x76, 0xc3, 0x14, 0xf5, 0x9e, | ||
3259 | 0x29, 0x96, 0x7a, 0x32, 0x54, 0x52, 0xc8, 0xd1, 0x14, 0xe7, 0x08, 0x3a, | ||
3260 | 0xd1, 0x73, 0x58, 0xcb, 0x2d, 0x53, 0xf8, 0xc8, 0xa3, 0xbe, 0xad, 0x58, | ||
3261 | 0x62, 0x85, 0x76, 0xb1, 0xc7, 0x47, 0x51, 0x72, 0xa7, 0x35, 0x45, 0x6d, | ||
3262 | 0x38, 0xf7, 0x23, 0xcc, 0xcd, 0x6b, 0x62, 0x2d, 0xf3, 0x79, 0xb6, 0x2c, | ||
3263 | 0x9d, 0x83, 0x8f, 0xce, 0xf7, 0x77, 0x11, 0x43, 0xf9, 0x3c, 0xcb, 0x23, | ||
3264 | 0xe6, 0x59, 0x26, 0x5f, 0xf6, 0xef, 0x62, 0xff, 0xef, 0xf4, 0x80, 0x0f, | ||
3265 | 0x72, 0xc7, 0xb7, 0x87, 0x79, 0x1a, 0x63, 0x58, 0x06, 0x17, 0xd9, 0x3e, | ||
3266 | 0x8a, 0x82, 0xc5, 0x38, 0x47, 0xc1, 0x5a, 0xe6, 0xca, 0xb7, 0x90, 0xa7, | ||
3267 | 0xd7, 0x69, 0xa1, 0x5c, 0x8f, 0xdf, 0x11, 0x72, 0x12, 0xfe, 0x5d, 0xc0, | ||
3268 | 0x12, 0x4d, 0x7c, 0xd7, 0xd2, 0xef, 0x80, 0x73, 0xf8, 0x45, 0x1e, 0x83, | ||
3269 | 0x73, 0x79, 0xd6, 0xe1, 0x7f, 0x01, 0x17, 0xc6, 0xf1, 0xb2, 0x84, 0x14, | ||
3270 | 0x00, 0x00, 0x00 }; | ||
3271 | static u32 bnx2_TPAT_b09FwData[(0x0/4) + 1] = { 0x0 }; | ||
3272 | static u32 bnx2_TPAT_b09FwRodata[(0x0/4) + 1] = { 0x0 }; | ||
3273 | static u32 bnx2_TPAT_b09FwBss[(0x250/4) + 1] = { 0x0 }; | ||
3274 | static u32 bnx2_TPAT_b09FwSbss[(0x34/4) + 1] = { 0x0 }; | ||
3275 | |||
3276 | static struct fw_info bnx2_tpat_fw_09 = { | ||
3277 | .ver_major = 0x1, | ||
3278 | .ver_minor = 0x0, | ||
3279 | .ver_fix = 0x0, | ||
3280 | |||
3281 | .start_addr = 0x08000860, | ||
3282 | |||
3283 | .text_addr = 0x08000800, | ||
3284 | .text_len = 0x1480, | ||
3285 | .text_index = 0x0, | ||
3286 | .gz_text = bnx2_TPAT_b09FwText, | ||
3287 | .gz_text_len = sizeof(bnx2_TPAT_b09FwText), | ||
3288 | |||
3289 | .data_addr = 0x08001ca0, | ||
3290 | .data_len = 0x0, | ||
3291 | .data_index = 0x0, | ||
3292 | .data = bnx2_TPAT_b09FwData, | ||
3293 | |||
3294 | .sbss_addr = 0x08001ca0, | ||
3295 | .sbss_len = 0x34, | ||
3296 | .sbss_index = 0x0, | ||
3297 | .sbss = bnx2_TPAT_b09FwSbss, | ||
3298 | |||
3299 | .bss_addr = 0x08001ce0, | ||
3300 | .bss_len = 0x250, | ||
3301 | .bss_index = 0x0, | ||
3302 | .bss = bnx2_TPAT_b09FwBss, | ||
3303 | |||
3304 | .rodata_addr = 0x00000000, | ||
3305 | .rodata_len = 0x0, | ||
3306 | .rodata_index = 0x0, | ||
3307 | .rodata = bnx2_TPAT_b09FwRodata, | ||
3308 | }; | ||
3309 | |||
3310 | static u8 bnx2_TXP_b09FwText[] = { | ||
3311 | 0x1f, 0x8b, 0x08, 0x08, 0x51, 0xfe, 0x2f, 0x45, 0x00, 0x03, 0x74, 0x65, | ||
3312 | 0x73, 0x74, 0x31, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0xcd, 0x7b, 0x7f, 0x70, | ||
3313 | 0x1b, 0xe7, 0x99, 0xde, 0xbb, 0x0b, 0x80, 0x04, 0x29, 0x8a, 0x5a, 0x31, | ||
3314 | 0x30, 0x83, 0x38, 0xb4, 0x8d, 0x15, 0x17, 0x34, 0x6d, 0xf2, 0x1c, 0x58, | ||
3315 | 0xe5, 0xf9, 0xd8, 0x06, 0xb5, 0xd7, 0xc0, 0x92, 0xa2, 0x63, 0x26, 0x47, | ||
3316 | 0xbb, 0xcc, 0x9d, 0x92, 0x51, 0x7d, 0x28, 0x48, 0x29, 0x6e, 0xe3, 0xb4, | ||
3317 | 0xaa, 0xe3, 0x3f, 0x34, 0x4d, 0x5b, 0xc3, 0x00, 0x25, 0xcb, 0x2e, 0x44, | ||
3318 | 0xd0, 0x16, 0x63, 0xa5, 0x33, 0x37, 0x53, 0x18, 0x80, 0x28, 0xe7, 0xba, | ||
3319 | 0x24, 0xdc, 0xe4, 0x2e, 0xe9, 0x1f, 0xc9, 0x99, 0xa5, 0x6c, 0xc5, 0x6d, | ||
3320 | 0xae, 0x33, 0xbe, 0x3f, 0xda, 0xa6, 0x37, 0xd7, 0x19, 0x8d, 0xfc, 0x23, | ||
3321 | 0xce, 0x8f, 0xb9, 0xb8, 0x69, 0x7a, 0x56, 0x5b, 0xd9, 0xe8, 0xf3, 0x7c, | ||
3322 | 0xbb, 0x4b, 0x82, 0x32, 0x15, 0x5b, 0xd7, 0x76, 0xa6, 0x9c, 0xc1, 0x10, | ||
3323 | 0xfb, 0xed, 0xb7, 0xdf, 0xf7, 0xfe, 0x7e, 0xdf, 0xe7, 0xfd, 0x16, 0x71, | ||
3324 | 0x91, 0x6e, 0xf1, 0xff, 0x76, 0xe3, 0x93, 0x38, 0x7a, 0xec, 0xb1, 0x3b, | ||
3325 | 0xc6, 0xef, 0xd8, 0x2f, 0x72, 0xe7, 0x9d, 0xb2, 0x2b, 0xaa, 0xf3, 0xe6, | ||
3326 | 0xdb, 0x21, 0x91, 0xdc, 0x4f, 0xe5, 0xaf, 0xfc, 0x87, 0xc7, 0x8d, 0x60, | ||
3327 | 0x7d, 0x7e, 0x24, 0xaa, 0xa7, 0x5f, 0xcc, 0x64, 0x2c, 0x89, 0x86, 0xd2, | ||
3328 | 0x33, 0x9f, 0x9d, 0xb3, 0x44, 0x6c, 0x77, 0x24, 0x91, 0x95, 0xf7, 0x5a, | ||
3329 | 0x85, 0x58, 0x58, 0x38, 0x7e, 0x53, 0xfa, 0xca, 0xe3, 0xdf, 0xff, 0x2d, | ||
3330 | 0xf3, 0x9d, 0x6a, 0x48, 0xa2, 0x46, 0x3a, 0x27, 0xc6, 0x90, 0x44, 0x07, | ||
3331 | 0xf0, 0xcc, 0xef, 0xdf, 0x3a, 0xa5, 0x4b, 0x6f, 0xb0, 0x56, 0x5c, 0x16, | ||
3332 | 0x2a, 0x6f, 0xb7, 0xbe, 0x7f, 0x6b, 0x4c, 0xfe, 0x55, 0xd3, 0x90, 0x17, | ||
3333 | 0x9b, 0x61, 0x6d, 0xb2, 0xd2, 0x23, 0xa5, 0x8a, 0x2b, 0xc7, 0xcb, 0x05, | ||
3334 | 0xc9, 0x36, 0x5f, 0x90, 0xe2, 0xb2, 0xd1, 0x9b, 0x39, 0xf7, 0x07, 0x52, | ||
3335 | 0x5a, 0xee, 0xeb, 0xcd, 0x9e, 0x73, 0xa5, 0x58, 0x8e, 0xf7, 0x66, 0x9a, | ||
3336 | 0x46, 0x6f, 0xf6, 0x4c, 0x0c, 0xd7, 0x7d, 0xbd, 0x99, 0x33, 0x66, 0x41, | ||
3337 | 0xa4, 0x1f, 0x73, 0xe2, 0xbd, 0xd9, 0x8a, 0x99, 0x13, 0x19, 0x4c, 0xbd, | ||
3338 | 0x22, 0x03, 0xbd, 0xd9, 0x66, 0x4d, 0x5b, 0x37, 0x34, 0x29, 0xfe, 0x86, | ||
3339 | 0x18, 0xbd, 0xe9, 0xcb, 0xad, 0x4f, 0x58, 0x86, 0xec, 0xb5, 0x64, 0xcf, | ||
3340 | 0x1e, 0x4b, 0x9e, 0x88, 0xa7, 0xa3, 0x92, 0x3f, 0xdd, 0x25, 0xb6, 0xe2, | ||
3341 | 0xc9, 0x90, 0xfc, 0x99, 0x11, 0x63, 0x43, 0x22, 0x62, 0xc7, 0x82, 0xeb, | ||
3342 | 0x56, 0x2b, 0x93, 0xfa, 0x02, 0xe5, 0x8a, 0xbd, 0xa4, 0x77, 0xb2, 0x29, | ||
3343 | 0x92, 0xa9, 0x44, 0x25, 0x93, 0x7a, 0xaf, 0xe5, 0x3d, 0x13, 0xc5, 0xbe, | ||
3344 | 0xe1, 0xde, 0x89, 0x4a, 0xab, 0xe5, 0xa4, 0xb0, 0x47, 0x2a, 0x78, 0x36, | ||
3345 | 0x22, 0xd5, 0x98, 0x5d, 0x2d, 0xa5, 0x4c, 0xdd, 0xd3, 0x09, 0x79, 0xe4, | ||
3346 | 0xb5, 0x2d, 0xba, 0xf5, 0xdb, 0x92, 0x8f, 0x49, 0xb5, 0x98, 0xba, 0x4b, | ||
3347 | 0x9e, 0x4e, 0x19, 0x72, 0x12, 0xeb, 0x3d, 0x95, 0x82, 0x1c, 0xad, 0x63, | ||
3348 | 0x5a, 0xa6, 0x69, 0xc6, 0x45, 0x7b, 0x5a, 0x32, 0x67, 0x06, 0x8d, 0xac, | ||
3349 | 0x60, 0x6f, 0xab, 0x75, 0x4b, 0x26, 0x85, 0xfd, 0x46, 0xff, 0x67, 0xcb, | ||
3350 | 0x8e, 0x99, 0xb9, 0xaa, 0x0c, 0x48, 0xb1, 0x32, 0x98, 0xfa, 0x13, 0xd1, | ||
3351 | 0xa4, 0xd3, 0xa2, 0x7c, 0x5a, 0x72, 0x3f, 0xf6, 0xcd, 0x58, 0x18, 0x6f, | ||
3352 | 0x8a, 0xad, 0x27, 0x23, 0xf2, 0x0f, 0x0c, 0x33, 0x91, 0x09, 0xf5, 0x4b, | ||
3353 | 0xf1, 0x74, 0x27, 0xe8, 0xb4, 0xfb, 0x74, 0xcc, 0x3d, 0x30, 0x26, 0xb1, | ||
3354 | 0x5d, 0x22, 0x5a, 0x28, 0x9d, 0xc4, 0xba, 0x22, 0x45, 0x77, 0x00, 0xcf, | ||
3355 | 0x26, 0xc7, 0x7f, 0x2a, 0x7b, 0x24, 0xb1, 0x37, 0x2c, 0x25, 0xb7, 0x1b, | ||
3356 | 0x72, 0x34, 0xa0, 0x83, 0xe4, 0xf8, 0x5f, 0x40, 0x29, 0xba, 0x95, 0x8c, | ||
3357 | 0x1f, 0x93, 0x9c, 0x96, 0x6d, 0x76, 0x48, 0x29, 0x19, 0x95, 0x05, 0xd0, | ||
3358 | 0xb1, 0x90, 0xfa, 0xa2, 0x96, 0x39, 0x77, 0x50, 0xcb, 0x9e, 0xc3, 0xbc, | ||
3359 | 0x66, 0xdd, 0xb7, 0x35, 0x03, 0xeb, 0xe8, 0x52, 0x4c, 0x1e, 0xc4, 0xbd, | ||
3360 | 0xa8, 0xcc, 0x61, 0xde, 0x1c, 0x78, 0x2a, 0x35, 0xf7, 0xc8, 0xfa, 0x6c, | ||
3361 | 0xac, 0x37, 0x03, 0x1d, 0x16, 0x71, 0xff, 0xb7, 0x67, 0x34, 0x31, 0x2c, | ||
3362 | 0x5b, 0x7e, 0x3c, 0x06, 0x1d, 0x9e, 0x81, 0xfe, 0xce, 0xc4, 0xe5, 0x78, | ||
3363 | 0x45, 0x62, 0xba, 0x24, 0xe3, 0x79, 0x79, 0x41, 0xea, 0x2e, 0xf5, 0x0f, | ||
3364 | 0x7d, 0x42, 0xdf, 0x45, 0x97, 0xcf, 0x41, 0x6f, 0x15, 0x07, 0xf2, 0x98, | ||
3365 | 0x02, 0x0d, 0x0f, 0x6a, 0xf7, 0xd7, 0x67, 0xb5, 0x03, 0xcd, 0x1f, 0x6b, | ||
3366 | 0xd2, 0x7d, 0x4c, 0xfb, 0x5c, 0xf3, 0x88, 0xe6, 0xcb, 0x1e, 0xba, 0x8b, | ||
3367 | 0x8a, 0x3d, 0x13, 0x95, 0x95, 0xa6, 0xa7, 0xbb, 0x1a, 0xec, 0xd3, 0x36, | ||
3368 | 0x6c, 0xe8, 0xe1, 0x6f, 0x6f, 0xce, 0x59, 0x69, 0xc6, 0x64, 0x01, 0xb4, | ||
3369 | 0x1d, 0x6f, 0x72, 0xfe, 0xef, 0x41, 0x3f, 0x51, 0x71, 0x6f, 0xed, 0x91, | ||
3370 | 0x1c, 0xc6, 0x8b, 0x67, 0xc4, 0xce, 0xa4, 0x74, 0x3c, 0xd3, 0x2b, 0x21, | ||
3371 | 0xab, 0x1f, 0x9f, 0x6e, 0x99, 0xab, 0x77, 0xda, 0x21, 0x2b, 0x26, 0x73, | ||
3372 | 0x4d, 0xca, 0x10, 0xff, 0x2b, 0x81, 0x1c, 0x49, 0x2b, 0xc7, 0xf9, 0x1c, | ||
3373 | 0xc7, 0x0d, 0x8c, 0xb7, 0x8f, 0xd1, 0x2e, 0x7a, 0x41, 0x8f, 0x39, 0x2c, | ||
3374 | 0x18, 0xcb, 0x57, 0x92, 0xc6, 0xe7, 0xf8, 0xbf, 0x49, 0xd9, 0x06, 0x32, | ||
3375 | 0x0d, 0x63, 0xae, 0x2e, 0xf9, 0x3a, 0xf6, 0x39, 0x7d, 0xa5, 0x15, 0x19, | ||
3376 | 0xc3, 0xb5, 0xf5, 0x4b, 0xc8, 0x92, 0xfb, 0x86, 0x41, 0x93, 0x2e, 0xb9, | ||
3377 | 0x3a, 0xd7, 0xe2, 0x7d, 0x81, 0xee, 0x8b, 0x7b, 0x75, 0x19, 0x86, 0x7e, | ||
3378 | 0x4d, 0xec, 0xd3, 0x85, 0x39, 0x3d, 0x90, 0x1f, 0x78, 0x3d, 0x87, 0xef, | ||
3379 | 0xe0, 0x5d, 0xb7, 0x74, 0x3c, 0xdf, 0x29, 0x73, 0x29, 0xda, 0x0b, 0xe9, | ||
3380 | 0xdc, 0x85, 0xb5, 0xbb, 0x64, 0xfe, 0x34, 0xe5, 0x01, 0xbb, 0xaa, 0xc4, | ||
3381 | 0xa4, 0x74, 0xc6, 0x34, 0x1c, 0x31, 0x21, 0x1b, 0x1b, 0xf3, 0x3a, 0x25, | ||
3382 | 0x67, 0xb4, 0x5a, 0x13, 0xa9, 0x11, 0xe3, 0x9b, 0xca, 0xce, 0x47, 0x8c, | ||
3383 | 0xa4, 0x26, 0x85, 0x8e, 0xf4, 0x10, 0x64, 0x6b, 0x1e, 0x14, 0xe1, 0xf5, | ||
3384 | 0x0f, 0xc4, 0x9e, 0xa5, 0xff, 0xc4, 0xb8, 0x17, 0xfc, 0xa9, 0x1f, 0xf4, | ||
3385 | 0xd3, 0xe7, 0x06, 0xa0, 0x97, 0xb8, 0xf2, 0x83, 0x89, 0x1d, 0xfd, 0xc0, | ||
3386 | 0x9c, 0xaa, 0x82, 0xdf, 0xe2, 0xb9, 0x30, 0xfd, 0x2f, 0x05, 0x73, 0x93, | ||
3387 | 0x5d, 0x56, 0x14, 0xb6, 0x40, 0x5a, 0xc6, 0xb1, 0x7e, 0xab, 0xf5, 0xd9, | ||
3388 | 0x94, 0x47, 0x53, 0xf1, 0x8c, 0x8d, 0x67, 0xc3, 0x90, 0xbb, 0xf9, 0x70, | ||
3389 | 0x42, 0xed, 0x3f, 0xee, 0xef, 0x6f, 0xc8, 0x1c, 0xe8, 0x2e, 0x56, 0x42, | ||
3390 | 0x92, 0x35, 0xb8, 0xc6, 0x9f, 0x71, 0x3c, 0xe7, 0xad, 0x05, 0xbb, 0x3d, | ||
3391 | 0x35, 0x68, 0xdc, 0x07, 0x5f, 0xa2, 0x8f, 0x15, 0x57, 0x29, 0x63, 0xac, | ||
3392 | 0x33, 0x46, 0x19, 0x1b, 0x8a, 0xc6, 0xcc, 0x19, 0xda, 0x91, 0x0c, 0x84, | ||
3393 | 0x84, 0x76, 0x8e, 0x98, 0x01, 0xbb, 0x2a, 0xf9, 0x76, 0x95, 0x77, 0xa9, | ||
3394 | 0xff, 0xbb, 0x7d, 0xff, 0xd4, 0x65, 0x28, 0x49, 0x7b, 0x7f, 0x5a, 0xb2, | ||
3395 | 0xf0, 0xf1, 0x39, 0xec, 0x54, 0x07, 0x4f, 0xb5, 0xca, 0x20, 0x64, 0x15, | ||
3396 | 0xf8, 0x1d, 0xf4, 0x3b, 0xfa, 0x6e, 0x2b, 0x88, 0x05, 0xc5, 0x0a, 0x7d, | ||
3397 | 0xa6, 0x68, 0xe8, 0x52, 0xc0, 0x07, 0x76, 0x63, 0x99, 0xc3, 0x99, 0x90, | ||
3398 | 0x39, 0x93, 0x03, 0x6d, 0xb0, 0x7b, 0xc9, 0xdc, 0x49, 0x7b, 0xc6, 0x9c, | ||
3399 | 0xa6, 0xec, 0x0f, 0xfc, 0xac, 0xe6, 0x52, 0x4f, 0xdd, 0xd8, 0x37, 0xa0, | ||
3400 | 0x29, 0x8c, 0x31, 0xae, 0x13, 0x85, 0xcd, 0x07, 0x36, 0x43, 0xfb, 0x33, | ||
3401 | 0xed, 0x75, 0xe9, 0x90, 0xe1, 0x24, 0x62, 0xd9, 0x19, 0x1d, 0xfa, 0x1b, | ||
3402 | 0x40, 0x4c, 0x09, 0xcb, 0x11, 0xc8, 0xea, 0x4b, 0x15, 0xd2, 0xe7, 0xc0, | ||
3403 | 0xef, 0x10, 0xdb, 0xce, 0x4c, 0xc2, 0xcf, 0xa6, 0xb4, 0x09, 0xf8, 0xc4, | ||
3404 | 0x67, 0xea, 0xa4, 0xa9, 0x25, 0xf4, 0x4b, 0xe7, 0x5c, 0x4e, 0x9b, 0x6c, | ||
3405 | 0x1e, 0xd4, 0xa6, 0xce, 0xd1, 0x4f, 0xe8, 0x23, 0xa6, 0xf1, 0x80, 0x78, | ||
3406 | 0x3c, 0x14, 0x9b, 0xaf, 0x68, 0xf4, 0xd5, 0xe2, 0xa9, 0x2e, 0xd0, 0xb1, | ||
3407 | 0x0b, 0xf4, 0x18, 0xf0, 0x3d, 0xd8, 0x97, 0x65, 0xce, 0xd0, 0x66, 0x9c, | ||
3408 | 0xa4, 0x95, 0xf8, 0xe7, 0xf2, 0x41, 0x39, 0x4c, 0x6c, 0xca, 0x61, 0x04, | ||
3409 | 0x32, 0xd9, 0x2e, 0x87, 0x85, 0x0f, 0xca, 0xc1, 0x2e, 0x40, 0x0e, 0x0b, | ||
3410 | 0x88, 0x43, 0x0b, 0x4d, 0xf2, 0xdc, 0x12, 0xfd, 0x4e, 0x81, 0x75, 0xca, | ||
3411 | 0xbd, 0x7a, 0x9a, 0x36, 0x4a, 0x3f, 0x49, 0x26, 0x4a, 0x58, 0xa1, 0xe1, | ||
3412 | 0xf6, 0x28, 0xdf, 0x98, 0x54, 0xb2, 0xf8, 0x30, 0x7e, 0xc9, 0xdf, 0x16, | ||
3413 | 0xcf, 0x53, 0x75, 0xc6, 0x1b, 0xd8, 0x79, 0xd2, 0x32, 0xbe, 0x20, 0x5b, | ||
3414 | 0x7c, 0xdf, 0xb7, 0xc5, 0x37, 0xf6, 0x09, 0x62, 0x10, 0x79, 0x0e, 0xe2, | ||
3415 | 0x31, 0x6d, 0xe5, 0xa5, 0x56, 0xc8, 0xb2, 0xa0, 0x03, 0xda, 0x0b, 0x69, | ||
3416 | 0x30, 0x8d, 0xcf, 0x0a, 0xfe, 0x23, 0x2e, 0xd0, 0x97, 0x72, 0x6a, 0x5e, | ||
3417 | 0x87, 0xe4, 0xf6, 0x7a, 0xf3, 0xe7, 0x2a, 0xad, 0x5f, 0xe8, 0xe9, 0xf7, | ||
3418 | 0x5b, 0x99, 0x31, 0xcb, 0xf7, 0xf1, 0xa8, 0x7c, 0xb9, 0x6e, 0xe6, 0x12, | ||
3419 | 0x5a, 0x8f, 0x14, 0x6e, 0x40, 0x5c, 0xa9, 0xd0, 0x3f, 0xfa, 0xaf, 0x11, | ||
3420 | 0xcb, 0x06, 0xfc, 0x58, 0xf6, 0x13, 0xc8, 0x9e, 0xb9, 0xe7, 0xf0, 0xfb, | ||
3421 | 0xeb, 0x31, 0xfe, 0x4f, 0x1a, 0x33, 0xf2, 0x05, 0xe6, 0x9b, 0x3d, 0xba, | ||
3422 | 0x8a, 0xdf, 0x16, 0x73, 0x41, 0x21, 0x9c, 0xee, 0x96, 0xc2, 0x5e, 0x29, | ||
3423 | 0x84, 0xd2, 0xf4, 0x23, 0xfa, 0x46, 0x87, 0x4f, 0x77, 0x90, 0x3b, 0xf8, | ||
3424 | 0x77, 0x4c, 0x17, 0x8b, 0x73, 0x90, 0x27, 0x2a, 0xe4, 0xe3, 0xbd, 0x40, | ||
3425 | 0x27, 0x78, 0x46, 0x22, 0x9e, 0xcd, 0x4d, 0x23, 0x66, 0x52, 0xa6, 0xed, | ||
3426 | 0xf6, 0xc2, 0x58, 0x2a, 0x09, 0xdd, 0x62, 0x2c, 0x15, 0x23, 0x94, 0x7e, | ||
3427 | 0x50, 0xb3, 0xeb, 0x5f, 0xd4, 0x6c, 0xc8, 0xce, 0x86, 0xec, 0x6c, 0xc8, | ||
3428 | 0x2e, 0x03, 0xd9, 0x65, 0x9b, 0xa4, 0x87, 0xb4, 0x78, 0xeb, 0x3b, 0xde, | ||
3429 | 0xfa, 0xa0, 0xb3, 0x5f, 0xf2, 0xca, 0xc7, 0xc9, 0x2f, 0x62, 0xb2, 0x8a, | ||
3430 | 0x07, 0x93, 0x9a, 0x17, 0x0f, 0xb8, 0xde, 0x14, 0x9e, 0xbf, 0x1b, 0x79, | ||
3431 | 0xce, 0xd6, 0x75, 0x6b, 0x4b, 0x26, 0x0b, 0x6d, 0x32, 0x29, 0xb9, 0x94, | ||
3432 | 0x11, 0xe7, 0xd3, 0x97, 0x5d, 0xe8, 0x3d, 0x90, 0xcb, 0x34, 0x68, 0xe8, | ||
3433 | 0x24, 0xef, 0x3e, 0x1f, 0x5c, 0xbf, 0xcf, 0x5f, 0xff, 0xd3, 0x58, 0x93, | ||
3434 | 0xbe, 0xbb, 0xd3, 0xbe, 0xdc, 0x93, 0xb9, 0xf4, 0xd7, 0xf1, 0x83, 0x5a, | ||
3435 | 0x02, 0x31, 0xfa, 0x45, 0xf8, 0xda, 0xc5, 0x50, 0x5c, 0xbe, 0x7f, 0xeb, | ||
3436 | 0x6b, 0xa8, 0x2f, 0xa4, 0x70, 0x63, 0xba, 0x95, 0x08, 0xa7, 0xdf, 0x6b, | ||
3437 | 0x2d, 0x8c, 0x21, 0x7e, 0xa6, 0xcd, 0x78, 0x26, 0x34, 0x2a, 0x2f, 0x35, | ||
3438 | 0x87, 0xe5, 0x3b, 0x4d, 0x4b, 0xfe, 0xa8, 0x99, 0x90, 0x3f, 0x6c, 0x0e, | ||
3439 | 0xc8, 0xb7, 0x9b, 0x71, 0xf9, 0x56, 0x33, 0xa8, 0x45, 0xe2, 0xb4, 0xa5, | ||
3440 | 0x5e, 0xa7, 0xb9, 0x53, 0x3d, 0x04, 0x3b, 0xc7, 0x5a, 0x99, 0xb1, 0x70, | ||
3441 | 0x2e, 0x94, 0x56, 0x35, 0xc2, 0xcc, 0xd1, 0xf2, 0xe3, 0x2d, 0xdd, 0xb2, | ||
3442 | 0x0a, 0xba, 0xde, 0x33, 0x6e, 0xdc, 0x25, 0x39, 0x3d, 0x8d, 0x31, 0x77, | ||
3443 | 0x3c, 0xec, 0x94, 0xbb, 0x90, 0x5f, 0xa2, 0xa8, 0x65, 0x06, 0xa4, 0x80, | ||
3444 | 0x75, 0x0b, 0xcd, 0x56, 0x6b, 0x29, 0xf5, 0x0f, 0x3f, 0x65, 0xfc, 0x8d, | ||
3445 | 0x7f, 0xd9, 0x29, 0xbd, 0xdf, 0x5e, 0x37, 0x86, 0xfe, 0xbb, 0x5f, 0x0f, | ||
3446 | 0xa1, 0xc6, 0xea, 0x57, 0x8b, 0xe7, 0xb4, 0xf4, 0xa8, 0x93, 0x70, 0x37, | ||
3447 | 0x70, 0x5f, 0xa2, 0xfd, 0xd6, 0xcf, 0x51, 0x85, 0xc8, 0xee, 0x98, 0xc5, | ||
3448 | 0x9a, 0x6b, 0x26, 0xfb, 0x79, 0xfc, 0xff, 0x58, 0x5a, 0xf6, 0xf4, 0xe1, | ||
3449 | 0xff, 0xde, 0x34, 0x4c, 0x2a, 0xcd, 0x98, 0xac, 0xb5, 0xc5, 0x64, 0xd1, | ||
3450 | 0x1c, 0xe4, 0xdf, 0x05, 0xf0, 0xe4, 0x40, 0x1e, 0xbf, 0xd3, 0x8c, 0x6a, | ||
3451 | 0xd9, 0xd3, 0xfd, 0x52, 0xaa, 0x33, 0xaf, 0x71, 0x5e, 0xd4, 0xaf, 0x7b, | ||
3452 | 0x78, 0xdd, 0x81, 0x6b, 0x41, 0xae, 0xf9, 0x94, 0x48, 0xaf, 0xf9, 0xa3, | ||
3453 | 0xcf, 0x4b, 0xdd, 0xaf, 0x5b, 0x22, 0xb2, 0xac, 0x6c, 0x8c, 0xe3, 0xaf, | ||
3454 | 0x65, 0xbf, 0x36, 0xb4, 0x35, 0xfe, 0xec, 0xe6, 0xf8, 0x3b, 0xd9, 0x4f, | ||
3455 | 0x6f, 0x8e, 0x77, 0x87, 0x3d, 0x1e, 0xc6, 0xb5, 0x99, 0x66, 0xc1, 0x1f, | ||
3456 | 0xbb, 0x0c, 0xb9, 0xb7, 0x5a, 0x0b, 0xc8, 0x3d, 0x45, 0xeb, 0x32, 0xea, | ||
3457 | 0x24, 0xc6, 0x9f, 0xeb, 0x89, 0x37, 0xdb, 0x62, 0x8d, 0x91, 0x09, 0x51, | ||
3458 | 0x9f, 0x51, 0xf1, 0xd6, 0xe4, 0xfd, 0x4e, 0xc4, 0x9d, 0xcb, 0xf8, 0xce, | ||
3459 | 0x3c, 0x17, 0xc4, 0x3c, 0xce, 0xe1, 0xf3, 0x6f, 0x5f, 0x43, 0xe7, 0x31, | ||
3460 | 0xe8, 0xfc, 0xff, 0x1b, 0xdd, 0xe2, 0x4f, 0xe9, 0x56, 0xc5, 0x9d, 0x97, | ||
3461 | 0xb6, 0xd9, 0x2c, 0xe9, 0xef, 0xf6, 0x69, 0x96, 0x68, 0x38, 0x6d, 0x38, | ||
3462 | 0x0b, 0xd6, 0x8d, 0x12, 0x41, 0x0d, 0x4b, 0x9b, 0x2d, 0x35, 0xbf, 0x8b, | ||
3463 | 0xe7, 0x99, 0x27, 0x25, 0x1a, 0x49, 0xd3, 0x2e, 0xd6, 0x07, 0x32, 0xd6, | ||
3464 | 0x31, 0xa7, 0xe6, 0x1e, 0x73, 0xce, 0x2a, 0x3b, 0x59, 0xbf, 0xc9, 0xab, | ||
3465 | 0xcd, 0x7f, 0x74, 0x13, 0x6a, 0x73, 0x3c, 0xcf, 0x98, 0xcb, 0xf1, 0x46, | ||
3466 | 0x4f, 0xc6, 0x62, 0x0e, 0x5a, 0x72, 0x8a, 0xf8, 0x2c, 0xa8, 0xb9, 0xaf, | ||
3467 | 0x0e, 0x70, 0x6e, 0x67, 0x3a, 0x76, 0xd3, 0x8f, 0xf1, 0xbf, 0x23, 0xfd, | ||
3468 | 0xce, 0x4d, 0x17, 0x2c, 0xae, 0x3b, 0x75, 0xd3, 0x59, 0xb5, 0x46, 0x18, | ||
3469 | 0xf1, 0x8c, 0xf3, 0x2e, 0xdf, 0xc4, 0x67, 0x9f, 0x44, 0x1c, 0x3f, 0xe1, | ||
3470 | 0x42, 0x97, 0xee, 0x8b, 0x4e, 0x1e, 0x9f, 0x39, 0xd2, 0x54, 0xe1, 0x7d, | ||
3471 | 0xe3, 0xe6, 0x8c, 0x15, 0x56, 0xf9, 0xf6, 0x4b, 0x98, 0x73, 0x04, 0x73, | ||
3472 | 0x0e, 0xbb, 0x01, 0x3f, 0xea, 0xbe, 0x93, 0xc5, 0xfd, 0xc3, 0x65, 0xc3, | ||
3473 | 0x71, 0xca, 0xe6, 0x38, 0x6a, 0x8e, 0xf8, 0x71, 0xe4, 0xe3, 0x1c, 0x72, | ||
3474 | 0xa0, 0x2d, 0xe6, 0x70, 0x41, 0xd2, 0x5d, 0x93, 0xa8, 0xe5, 0x56, 0x90, | ||
3475 | 0x4f, 0x50, 0x87, 0xa4, 0xaa, 0x32, 0xd8, 0x95, 0x39, 0xad, 0xc3, 0x3e, | ||
3476 | 0xef, 0x80, 0xbd, 0x1a, 0x8e, 0x9e, 0x44, 0x5c, 0x47, 0xdc, 0x5c, 0xa8, | ||
3477 | 0x58, 0x5a, 0xb6, 0x3c, 0x68, 0x94, 0xe4, 0x56, 0x59, 0x37, 0xcc, 0xf8, | ||
3478 | 0xa4, 0xec, 0x92, 0x6c, 0x18, 0xf3, 0x86, 0x3f, 0x2e, 0xb9, 0xb8, 0x86, | ||
3479 | 0xd8, 0x70, 0x03, 0xe2, 0x16, 0xeb, 0xe4, 0xf6, 0x18, 0xfa, 0x0b, 0x11, | ||
3480 | 0xeb, 0x8b, 0x21, 0xc6, 0x9e, 0x4e, 0x8b, 0x75, 0x3f, 0xe7, 0xed, 0x92, | ||
3481 | 0x8d, 0x0f, 0xcc, 0x7b, 0xb7, 0x6d, 0x5e, 0xfb, 0xf8, 0x7b, 0x18, 0xdf, | ||
3482 | 0x25, 0x17, 0x41, 0x47, 0x38, 0x39, 0x26, 0x25, 0xf0, 0x10, 0x39, 0xd5, | ||
3483 | 0x6a, 0x5d, 0x00, 0x3f, 0x3a, 0xf8, 0x2f, 0x56, 0x59, 0x0b, 0x84, 0xa4, | ||
3484 | 0x6a, 0xe0, 0x9e, 0xdb, 0x6a, 0xd5, 0x10, 0x46, 0xf5, 0x55, 0xd2, 0x1c, | ||
3485 | 0x95, 0x49, 0x77, 0x48, 0xec, 0x06, 0xe5, 0x60, 0xc2, 0xeb, 0xfe, 0xac, | ||
3486 | 0x2b, 0x7b, 0x86, 0x39, 0x13, 0x16, 0xb1, 0xfa, 0xe7, 0x5d, 0x19, 0xe4, | ||
3487 | 0x3e, 0x7d, 0xf5, 0x62, 0x57, 0x16, 0x7a, 0x0f, 0xad, 0xfe, 0xe7, 0x2e, | ||
3488 | 0xe7, 0x34, 0xe9, 0x0a, 0x21, 0xf7, 0xdd, 0x22, 0x45, 0xa3, 0x25, 0xdf, | ||
3489 | 0x44, 0x8d, 0x50, 0x1c, 0x46, 0x2e, 0x83, 0x17, 0xe8, 0xa0, 0xbb, 0x60, | ||
3490 | 0x48, 0xb4, 0x3b, 0xfd, 0x7d, 0xd0, 0x37, 0x06, 0xd9, 0xec, 0xc2, 0x9c, | ||
3491 | 0x10, 0xc6, 0x87, 0xf0, 0xbf, 0x7d, 0xfc, 0x8d, 0x2e, 0xe4, 0x05, 0xc4, | ||
3492 | 0x60, 0x89, 0x66, 0xc6, 0x7a, 0xb0, 0xfe, 0xf7, 0x30, 0x8e, 0x09, 0xc9, | ||
3493 | 0xcd, 0xf1, 0x27, 0xbc, 0xf1, 0xb7, 0x41, 0x0b, 0x9f, 0x63, 0x8d, 0x22, | ||
3494 | 0xd1, 0xb9, 0x31, 0x03, 0x34, 0x70, 0x6e, 0x4c, 0xcd, 0x75, 0xce, 0xd0, | ||
3495 | 0x06, 0x0c, 0xa7, 0x66, 0xdd, 0x2c, 0xd9, 0xe5, 0x7e, 0x99, 0x5c, 0xee, | ||
3496 | 0x93, 0x03, 0xcb, 0xe6, 0x4c, 0x95, 0xd8, 0x0f, 0x3c, 0x0b, 0xea, 0x30, | ||
3497 | 0x7d, 0x55, 0x20, 0x01, 0x33, 0x7e, 0x44, 0x06, 0xe3, 0x5f, 0x92, 0x5f, | ||
3498 | 0xb6, 0x90, 0xef, 0x91, 0xeb, 0x7b, 0x24, 0xac, 0xd6, 0x89, 0x07, 0x7b, | ||
3499 | 0xd2, 0x46, 0xb7, 0xed, 0xeb, 0x9c, 0xb9, 0xd6, 0xba, 0x70, 0xfe, 0xd5, | ||
3500 | 0xf8, 0x55, 0xeb, 0xfe, 0x85, 0xbf, 0xae, 0x81, 0x75, 0x07, 0xb0, 0x26, | ||
3501 | 0x79, 0x34, 0xbb, 0x26, 0x4e, 0x8b, 0xdd, 0x09, 0xfa, 0x9c, 0xe4, 0x8d, | ||
3502 | 0xc0, 0x86, 0xfd, 0x72, 0x62, 0x99, 0xf1, 0x42, 0xfa, 0xf1, 0x19, 0x8d, | ||
3503 | 0x48, 0x72, 0xf8, 0x1c, 0xea, 0xae, 0x09, 0xb5, 0x86, 0x57, 0x93, 0xe9, | ||
3504 | 0xab, 0x29, 0xd4, 0xc4, 0x3f, 0x05, 0x3d, 0xac, 0x15, 0xc8, 0x73, 0x18, | ||
3505 | 0xfc, 0xa6, 0x50, 0x8b, 0x11, 0x47, 0xb5, 0x1e, 0xcf, 0xa4, 0xf0, 0xfd, | ||
3506 | 0x5c, 0xa2, 0x2b, 0x8b, 0x98, 0x08, 0xff, 0xbe, 0x39, 0xa4, 0x72, 0x18, | ||
3507 | 0xf5, 0x32, 0xda, 0x45, 0x3c, 0x83, 0xe7, 0xa1, 0x27, 0xca, 0x68, 0xbc, | ||
3508 | 0xcb, 0xa9, 0x50, 0x46, 0x02, 0x7a, 0x2c, 0xd8, 0x64, 0x58, 0x61, 0x29, | ||
3509 | 0x7d, 0xd5, 0xc6, 0xbc, 0xb7, 0x42, 0xac, 0x77, 0x33, 0x16, 0xbf, 0x23, | ||
3510 | 0xe6, 0xac, 0x4e, 0x61, 0x2e, 0xbf, 0xdf, 0x85, 0x75, 0x07, 0x87, 0x8b, | ||
3511 | 0xd2, 0x31, 0x7c, 0x18, 0xf1, 0x4e, 0x1f, 0x1b, 0x01, 0x6d, 0xb4, 0xf3, | ||
3512 | 0x16, 0xb0, 0xc0, 0x6f, 0x81, 0x1f, 0xf8, 0x46, 0xd2, 0x92, 0xf9, 0x25, | ||
3513 | 0xca, 0x55, 0x3e, 0x0e, 0x1e, 0xc0, 0x7f, 0x12, 0x71, 0x8d, 0x3c, 0x70, | ||
3514 | 0x6f, 0x41, 0x8e, 0xbe, 0x5b, 0xf2, 0x4b, 0x51, 0x55, 0xeb, 0xdb, 0x06, | ||
3515 | 0xf7, 0xd7, 0x34, 0x3d, 0xdd, 0x0d, 0x1d, 0x93, 0xb7, 0x1c, 0x68, 0x7b, | ||
3516 | 0x0c, 0x79, 0x80, 0xbc, 0x91, 0x2f, 0xfa, 0xca, 0x28, 0xfc, 0x84, 0xf4, | ||
3517 | 0xfb, 0xb6, 0xa7, 0xad, 0x23, 0xa6, 0xa8, 0x38, 0x98, 0xca, 0x20, 0xb0, | ||
3518 | 0xbd, 0xd4, 0x1c, 0x97, 0x3f, 0x6e, 0x8e, 0xc9, 0x77, 0x9b, 0x29, 0xe4, | ||
3519 | 0xc0, 0x51, 0xe4, 0xc0, 0x61, 0xe4, 0x40, 0x0b, 0x39, 0x30, 0x81, 0x1c, | ||
3520 | 0x38, 0x80, 0x1c, 0x18, 0x47, 0x9c, 0x14, 0x39, 0xa1, 0xf2, 0x6d, 0x2c, | ||
3521 | 0x0a, 0xcc, 0x1d, 0xb5, 0x9b, 0x0e, 0x78, 0x99, 0xc1, 0x5e, 0xb3, 0xe0, | ||
3522 | 0xeb, 0x50, 0xd7, 0x44, 0x65, 0x1c, 0x31, 0xd7, 0x42, 0x3c, 0x4a, 0x20, | ||
3523 | 0xdf, 0x8c, 0x01, 0x6b, 0x89, 0x6c, 0x2c, 0x25, 0x10, 0x13, 0x5b, 0xe2, | ||
3524 | 0x00, 0x13, 0x97, 0x8c, 0x14, 0x9e, 0xdd, 0xab, 0xec, 0x33, 0x94, 0xbe, | ||
3525 | 0x3b, 0x2c, 0xdd, 0xa3, 0x92, 0x2f, 0x9f, 0xc4, 0x58, 0x1c, 0xeb, 0x75, | ||
3526 | 0x21, 0x2f, 0x31, 0x2e, 0x30, 0x06, 0x2c, 0x39, 0xbf, 0x6b, 0xd1, 0xd7, | ||
3527 | 0xba, 0xb5, 0xcc, 0xe9, 0x82, 0x30, 0x96, 0x23, 0x0f, 0xc0, 0x1e, 0x38, | ||
3528 | 0x36, 0x89, 0xe7, 0xf8, 0xfd, 0x2f, 0xfd, 0x98, 0xf9, 0xb1, 0x4e, 0x81, | ||
3529 | 0xd1, 0xbe, 0xc4, 0x9c, 0x67, 0x61, 0x3d, 0xb7, 0xdd, 0x4f, 0x9f, 0x47, | ||
3530 | 0xad, 0x14, 0xdc, 0x27, 0xae, 0x66, 0x3f, 0xe1, 0x24, 0x68, 0x1e, 0x04, | ||
3531 | 0xbe, 0x47, 0x6d, 0x75, 0xb0, 0x8a, 0xef, 0xed, 0xf3, 0x5d, 0xcc, 0x57, | ||
3532 | 0x63, 0x51, 0x23, 0x6d, 0xb1, 0x9e, 0x43, 0xac, 0x3c, 0x86, 0xb8, 0x68, | ||
3533 | 0x3b, 0xfa, 0x5a, 0x03, 0x7c, 0x42, 0x8e, 0x65, 0xdb, 0x09, 0x0f, 0xbd, | ||
3534 | 0xd6, 0x7a, 0xd6, 0x1a, 0x96, 0x89, 0xb5, 0x31, 0xc9, 0xae, 0x0d, 0xc6, | ||
3535 | 0xcf, 0x4b, 0xd7, 0x65, 0x5b, 0x5e, 0x6b, 0x95, 0x5c, 0xf3, 0xa4, 0x0d, | ||
3536 | 0xbb, 0xdc, 0xb7, 0xdf, 0x90, 0x1a, 0x30, 0xdc, 0xbe, 0xfd, 0x9d, 0xac, | ||
3537 | 0xe9, 0x5f, 0x14, 0x3d, 0x21, 0x99, 0x45, 0x5b, 0xc6, 0xf6, 0x07, 0xb5, | ||
3538 | 0xe7, 0x2f, 0x3b, 0xa4, 0x1b, 0x63, 0x6b, 0x09, 0xcc, 0x61, 0xdd, 0xaf, | ||
3539 | 0xfa, 0x27, 0xe0, 0x59, 0xf3, 0x9e, 0x51, 0x39, 0x8f, 0x98, 0x19, 0xbc, | ||
3540 | 0x37, 0x6d, 0xe7, 0xfc, 0x22, 0x70, 0x0d, 0xe4, 0x99, 0x59, 0x24, 0xee, | ||
3541 | 0xda, 0x05, 0x39, 0x45, 0x60, 0x23, 0xd4, 0xfd, 0x20, 0x9e, 0x6d, 0xc9, | ||
3542 | 0x57, 0x53, 0xb4, 0x87, 0xc7, 0x20, 0x4b, 0xac, 0x15, 0x0e, 0xf8, 0xf9, | ||
3543 | 0x9a, 0xcc, 0x2d, 0x51, 0x7e, 0x71, 0xd4, 0x96, 0xdc, 0x5b, 0xa2, 0x5d, | ||
3544 | 0xe9, 0xab, 0xeb, 0x46, 0xdb, 0xd9, 0x58, 0xc4, 0xfa, 0x43, 0xc4, 0xd8, | ||
3545 | 0x88, 0xd5, 0x65, 0xf6, 0x06, 0x58, 0x53, 0x1d, 0x80, 0x4e, 0xa6, 0x15, | ||
3546 | 0xe6, 0xce, 0xd4, 0x53, 0x62, 0x9d, 0x62, 0xac, 0x92, 0x44, 0xc8, 0x22, | ||
3547 | 0xbe, 0x17, 0x43, 0x4f, 0xcf, 0xe2, 0x1e, 0xe5, 0xc9, 0x5a, 0x1f, 0xf7, | ||
3548 | 0x57, 0xff, 0xa3, 0xd2, 0x49, 0x08, 0xba, 0xcb, 0xef, 0x67, 0x11, 0x22, | ||
3549 | 0x4b, 0xa1, 0x34, 0x62, 0xe0, 0x18, 0x79, 0x50, 0x7b, 0xa3, 0x9e, 0xa4, | ||
3550 | 0xdf, 0x81, 0x67, 0xd8, 0x46, 0x5b, 0x5d, 0xa9, 0xfe, 0x4a, 0x95, 0x08, | ||
3551 | 0x6c, 0x59, 0x0a, 0x91, 0x34, 0x78, 0x1a, 0xc3, 0x77, 0x38, 0xff, 0x09, | ||
3552 | 0xe8, 0xf3, 0x2c, 0x9e, 0x5f, 0x00, 0x5f, 0x1b, 0x65, 0xd2, 0x9d, 0x4c, | ||
3553 | 0x1c, 0x57, 0xbe, 0x8b, 0x6b, 0x97, 0xb5, 0xcc, 0xd7, 0xe4, 0xbc, 0xe2, | ||
3554 | 0xef, 0x13, 0xac, 0x9d, 0xa1, 0xa7, 0xeb, 0xe1, 0x6f, 0xf2, 0x3a, 0xf9, | ||
3555 | 0xf3, 0xd6, 0x67, 0xce, 0xca, 0x58, 0x09, 0xc9, 0x96, 0x5f, 0x6a, 0x85, | ||
3556 | 0x2d, 0x2b, 0x3e, 0xef, 0xeb, 0x31, 0xeb, 0x46, 0x41, 0x07, 0xfb, 0x00, | ||
3557 | 0xfb, 0x95, 0x2e, 0x41, 0x07, 0x6d, 0xa7, 0x10, 0x4d, 0x3f, 0x2e, 0x2b, | ||
3558 | 0x4b, 0xff, 0x54, 0x6a, 0x4b, 0x05, 0xa9, 0x2f, 0xfd, 0x23, 0x39, 0xb7, | ||
3559 | 0xd4, 0x92, 0x0b, 0x29, 0x15, 0x93, 0xac, 0x0e, 0xe5, 0xcf, 0x72, 0xa3, | ||
3560 | 0x87, 0x07, 0x93, 0xe3, 0x97, 0x20, 0xc0, 0x95, 0xaa, 0x47, 0xfb, 0x54, | ||
3561 | 0x1b, 0xed, 0x17, 0x60, 0x6b, 0xaf, 0x58, 0xa4, 0x7f, 0x4c, 0x6a, 0x65, | ||
3562 | 0xd2, 0xfe, 0xa0, 0xa2, 0xfd, 0xc0, 0x26, 0xed, 0x92, 0x0b, 0x59, 0xa4, | ||
3563 | 0x7f, 0x27, 0xda, 0x81, 0xf3, 0xfb, 0x49, 0x7f, 0x02, 0xcf, 0x7e, 0xd0, | ||
3564 | 0xfe, 0x6a, 0xee, 0x6b, 0xad, 0x8d, 0x72, 0x44, 0xd1, 0x1c, 0x4a, 0x8f, | ||
3565 | 0x41, 0x3e, 0xaf, 0xb5, 0xd6, 0x5d, 0xfa, 0x11, 0xbe, 0xbb, 0xf7, 0x20, | ||
3566 | 0x46, 0xf5, 0x61, 0xaf, 0x5e, 0xc9, 0xcf, 0x46, 0x11, 0x27, 0xc7, 0xa1, | ||
3567 | 0xdb, 0x2e, 0xe5, 0x87, 0x08, 0x17, 0xd0, 0xd9, 0x34, 0xe6, 0x1f, 0xa2, | ||
3568 | 0xbf, 0x29, 0xb9, 0x38, 0x90, 0x4b, 0xb1, 0x9c, 0x8e, 0xa0, 0xfe, 0xc7, | ||
3569 | 0x3e, 0x86, 0x93, 0x73, 0xf9, 0xcc, 0x00, 0x62, 0x1a, 0xff, 0x7f, 0x64, | ||
3570 | 0x7b, 0x28, 0x20, 0xd6, 0x42, 0xe7, 0x3d, 0x90, 0x1f, 0xe8, 0x18, 0x9b, | ||
3571 | 0x41, 0x6e, 0x4d, 0x0e, 0xd7, 0x54, 0x7f, 0x91, 0x71, 0xe5, 0x28, 0xf2, | ||
3572 | 0xe9, 0x21, 0x7c, 0xbc, 0xfd, 0x26, 0x9a, 0xdc, 0x73, 0x3b, 0x4f, 0x45, | ||
3573 | 0x77, 0x7d, 0x2f, 0x01, 0x52, 0xa6, 0xc9, 0x7d, 0x0b, 0x12, 0x4a, 0x87, | ||
3574 | 0xb0, 0x2f, 0xc7, 0x7a, 0x10, 0x63, 0x06, 0xa2, 0xd9, 0xe6, 0xcf, 0x31, | ||
3575 | 0x4e, 0x5f, 0x66, 0x7c, 0x0f, 0x68, 0x1f, 0xc5, 0x9a, 0x8c, 0xbb, 0x63, | ||
3576 | 0xe0, 0x99, 0x35, 0x26, 0xe3, 0x26, 0xf2, 0x48, 0xe3, 0x47, 0xcc, 0x2d, | ||
3577 | 0xf8, 0x3e, 0xe0, 0x7f, 0xe7, 0x7d, 0x89, 0xde, 0x9c, 0x36, 0xab, 0x05, | ||
3578 | 0x31, 0xb1, 0x27, 0x74, 0x6e, 0xc5, 0xa5, 0xd8, 0x30, 0x5f, 0x20, 0x66, | ||
3579 | 0xd4, 0x29, 0x83, 0x35, 0xca, 0x89, 0xfd, 0x27, 0xd4, 0x7f, 0xb5, 0xe7, | ||
3580 | 0x21, 0x8f, 0xa8, 0xec, 0xb5, 0x0e, 0x22, 0xa6, 0x80, 0xfe, 0xca, 0x18, | ||
3581 | 0x78, 0x63, 0x8f, 0x66, 0x10, 0xf9, 0x2b, 0x04, 0x21, 0xa0, 0x96, 0x5a, | ||
3582 | 0x0b, 0xc9, 0xbd, 0xe1, 0x11, 0xa3, 0x28, 0x8f, 0x46, 0x58, 0x36, 0x17, | ||
3583 | 0xd6, 0x98, 0x07, 0xc2, 0xb2, 0xb0, 0x26, 0x72, 0x69, 0x91, 0x71, 0x45, | ||
3584 | 0xfd, 0x41, 0xe6, 0x86, 0x33, 0x8f, 0x3c, 0x5b, 0x5a, 0x62, 0x8c, 0x61, | ||
3585 | 0x9c, 0xb8, 0x01, 0xba, 0x48, 0x7e, 0xe3, 0xab, 0xc8, 0x49, 0xa5, 0xf2, | ||
3586 | 0x20, 0x62, 0xa6, 0xac, 0xeb, 0x90, 0x29, 0x72, 0x19, 0x6b, 0xd4, 0x1d, | ||
3587 | 0xfa, 0x32, 0x41, 0x4f, 0x26, 0x2a, 0xc5, 0x45, 0xf6, 0x63, 0xa2, 0xa0, | ||
3588 | 0x85, 0x35, 0x76, 0x48, 0xd5, 0x3f, 0x37, 0xa8, 0xd8, 0xca, 0xff, 0xe1, | ||
3589 | 0xb6, 0x7d, 0x93, 0x27, 0xf7, 0xe9, 0x8c, 0x63, 0x37, 0x8b, 0x3d, 0x63, | ||
3590 | 0x77, 0x1d, 0xa8, 0x74, 0x48, 0xb5, 0x8f, 0x76, 0x49, 0xfd, 0xbf, 0xa0, | ||
3591 | 0x62, 0xed, 0x02, 0x78, 0x2a, 0x2e, 0x12, 0xe3, 0x86, 0x31, 0x2f, 0xe6, | ||
3592 | 0xcf, 0xa3, 0x5c, 0xff, 0x89, 0xcc, 0xed, 0x7f, 0x17, 0x74, 0x79, 0x71, | ||
3593 | 0x2d, 0xbf, 0x1f, 0xf1, 0x76, 0x46, 0x97, 0x3b, 0xef, 0x1a, 0xc7, 0xb3, | ||
3594 | 0xcc, 0x81, 0xef, 0xf8, 0x78, 0x92, 0x63, 0xec, 0x61, 0x81, 0xbe, 0x15, | ||
3595 | 0x03, 0xff, 0xfb, 0xa4, 0xb0, 0x12, 0x85, 0x1c, 0x90, 0x4b, 0x6b, 0xde, | ||
3596 | 0x5a, 0xac, 0x77, 0x4f, 0x42, 0x47, 0xfa, 0xa9, 0xa8, 0x44, 0x4e, 0xf5, | ||
3597 | 0x49, 0xf8, 0xeb, 0xdd, 0xd2, 0xf1, 0xf5, 0x21, 0x09, 0x7d, 0xdd, 0x64, | ||
3598 | 0x4e, 0x4f, 0x9c, 0x80, 0xbe, 0xe6, 0x65, 0x5c, 0x9e, 0x44, 0xde, 0x62, | ||
3599 | 0x5e, 0x57, 0x76, 0x6a, 0xf4, 0x4b, 0x08, 0x05, 0xab, 0xfe, 0x8c, 0x2d, | ||
3600 | 0x8f, 0xee, 0xff, 0x85, 0xea, 0x33, 0x01, 0xc3, 0x8b, 0xfe, 0xfc, 0x94, | ||
3601 | 0xd8, 0xcd, 0x77, 0x21, 0x6b, 0xc3, 0x79, 0xed, 0xd6, 0xa0, 0xa6, 0x1c, | ||
3602 | 0x56, 0xfd, 0xc2, 0x47, 0xf7, 0x7b, 0x35, 0x25, 0xf0, 0xb8, 0xe6, 0xa8, | ||
3603 | 0x9a, 0x12, 0xf1, 0x35, 0xcc, 0x79, 0xfd, 0xa2, 0x63, 0xaf, 0xbc, 0x0c, | ||
3604 | 0x42, 0x4f, 0xb7, 0x88, 0x7d, 0x08, 0x7e, 0xf1, 0x9c, 0x2c, 0xe9, 0x69, | ||
3605 | 0x4d, 0xad, 0x19, 0x7a, 0x86, 0x71, 0x8a, 0xf1, 0x8b, 0x36, 0x9e, 0x4c, | ||
3606 | 0x14, 0x61, 0x7f, 0xa1, 0xe7, 0x19, 0xa3, 0x3c, 0xdb, 0x9e, 0x68, 0x8b, | ||
3607 | 0x75, 0x0b, 0x95, 0x7b, 0xa0, 0x43, 0xd4, 0xf2, 0x16, 0xe2, 0x9c, 0x81, | ||
3608 | 0x5c, 0x6e, 0xf1, 0xda, 0xeb, 0xe1, 0xe5, 0x63, 0x31, 0x75, 0x5d, 0xac, | ||
3609 | 0x7a, 0x18, 0xdc, 0x5b, 0x9f, 0x75, 0x07, 0x62, 0x4c, 0x93, 0x74, 0x70, | ||
3610 | 0xdf, 0x01, 0x09, 0x3d, 0x17, 0x93, 0xf0, 0x73, 0xb4, 0x3f, 0x33, 0xe1, | ||
3611 | 0x40, 0x7e, 0x0b, 0x16, 0x31, 0xd0, 0x0a, 0xb0, 0xc5, 0xcd, 0xa2, 0xaf, | ||
3612 | 0x0c, 0xc0, 0x77, 0xcc, 0x78, 0x55, 0x92, 0x12, 0xaa, 0x45, 0xe5, 0xad, | ||
3613 | 0x45, 0x33, 0x41, 0x7b, 0x39, 0x6b, 0x61, 0xbc, 0xd9, 0x75, 0x79, 0x5d, | ||
3614 | 0x51, 0xc1, 0xb1, 0x2f, 0x87, 0x80, 0x19, 0x86, 0x6d, 0xbd, 0x47, 0x5e, | ||
3615 | 0x87, 0xbe, 0x73, 0x6a, 0xec, 0x66, 0xac, 0x0b, 0x1a, 0x9e, 0x33, 0xc1, | ||
3616 | 0x03, 0xd7, 0xfd, 0x1e, 0xd6, 0x54, 0xf8, 0xca, 0xd9, 0x60, 0x4d, 0xba, | ||
3617 | 0x48, 0xdb, 0xed, 0x83, 0xdd, 0xe1, 0xba, 0xd9, 0x21, 0xb9, 0xd9, 0x84, | ||
3618 | 0xe8, 0x8b, 0x9f, 0x91, 0xc1, 0xfd, 0xba, 0xc7, 0x8f, 0xe2, 0x91, 0x63, | ||
3619 | 0xec, 0xc7, 0xdd, 0xae, 0xfc, 0x51, 0x5f, 0x83, 0xcd, 0x3c, 0x48, 0x1d, | ||
3620 | 0x23, 0xf7, 0x23, 0x8f, 0x31, 0x8e, 0x85, 0x90, 0xc7, 0xb2, 0x4d, 0x4f, | ||
3621 | 0xef, 0xd5, 0x07, 0xfb, 0xe5, 0xc9, 0xe7, 0x68, 0x4f, 0xb8, 0xb7, 0x69, | ||
3622 | 0x53, 0x41, 0x0f, 0x98, 0xf7, 0x2c, 0x39, 0xf9, 0x6c, 0x50, 0x73, 0xb0, | ||
3623 | 0xbe, 0x32, 0xe3, 0x07, 0xc0, 0x8f, 0x7e, 0x27, 0xe3, 0x81, 0xae, 0x6c, | ||
3624 | 0x37, 0x6f, 0x59, 0x5e, 0xdd, 0x51, 0x49, 0xb0, 0x2f, 0x6e, 0xb0, 0x4e, | ||
3625 | 0xb3, 0xe3, 0x9e, 0xbc, 0x8b, 0x18, 0x2b, 0x35, 0x67, 0x11, 0xa3, 0x23, | ||
3626 | 0x72, 0x71, 0xd6, 0x86, 0xee, 0x3f, 0x0b, 0xba, 0x0e, 0x75, 0x11, 0x23, | ||
3627 | 0x5f, 0x9c, 0x75, 0x70, 0x7d, 0x48, 0xd5, 0x66, 0xa1, 0x3b, 0x61, 0xc7, | ||
3628 | 0xcd, 0x7e, 0xfa, 0x91, 0xaf, 0xa7, 0x84, 0x56, 0x5c, 0x32, 0xb5, 0x12, | ||
3629 | 0x62, 0xf6, 0x64, 0x8a, 0x39, 0xbe, 0x53, 0xf5, 0x4d, 0xd9, 0xaf, 0xc9, | ||
3630 | 0x2b, 0xbc, 0xb0, 0x4f, 0x2b, 0x56, 0x19, 0xe7, 0x0b, 0xf1, 0x0e, 0x21, | ||
3631 | 0x0e, 0x11, 0xad, 0x66, 0x51, 0x27, 0x9a, 0x9c, 0x57, 0xbd, 0x58, 0x11, | ||
3632 | 0xc7, 0x3d, 0x42, 0x19, 0x68, 0xf5, 0xea, 0x3e, 0xad, 0x50, 0x0d, 0xc9, | ||
3633 | 0xc5, 0x18, 0xe9, 0x4e, 0xa8, 0xfa, 0x7d, 0xbf, 0xb2, 0xb5, 0x1e, 0xe4, | ||
3634 | 0x12, 0xd8, 0x4c, 0xea, 0x93, 0xd8, 0x57, 0x8d, 0xc1, 0xa6, 0xa8, 0x7b, | ||
3635 | 0xea, 0x5d, 0xc5, 0x48, 0x5f, 0xf7, 0x3b, 0xe5, 0x4c, 0xd0, 0x51, 0x26, | ||
3636 | 0x7e, 0xef, 0xf4, 0xf1, 0xfb, 0xa2, 0x5f, 0x0f, 0x3d, 0x26, 0xac, 0x53, | ||
3637 | 0x16, 0x2a, 0xa4, 0x05, 0xf1, 0xd6, 0xdd, 0xc9, 0x96, 0x28, 0x47, 0x2f, | ||
3638 | 0xa6, 0x1c, 0x45, 0x1d, 0xa3, 0xaf, 0x19, 0xbe, 0x0d, 0xf0, 0x6f, 0x14, | ||
3639 | 0xf7, 0xbc, 0x5a, 0xaa, 0xd8, 0x8c, 0xc0, 0xdf, 0xa7, 0x21, 0x23, 0xea, | ||
3640 | 0x06, 0xfa, 0x5b, 0xe3, 0x99, 0x0a, 0xf4, 0xb7, 0xf6, 0xf2, 0xfb, 0x76, | ||
3641 | 0x1f, 0x63, 0xde, 0xb0, 0x3c, 0x89, 0xf1, 0x13, 0x67, 0x48, 0xcf, 0xb8, | ||
3642 | 0x8f, 0xc7, 0x12, 0x90, 0x09, 0x63, 0xfc, 0xa8, 0xbc, 0xd5, 0x70, 0x14, | ||
3643 | 0xfe, 0xdb, 0xb7, 0x7f, 0x46, 0xe6, 0xdd, 0x59, 0xe0, 0x3f, 0xc8, 0xdf, | ||
3644 | 0x48, 0xc0, 0x3f, 0xe3, 0x2a, 0x3e, 0x1e, 0xfe, 0x68, 0x35, 0x49, 0xd8, | ||
3645 | 0xcb, 0xd9, 0xf7, 0x5e, 0x67, 0xce, 0xde, 0x0d, 0xfc, 0xf5, 0x91, 0xd6, | ||
3646 | 0x0f, 0x79, 0xeb, 0xff, 0x17, 0xe8, 0xea, 0x73, 0xd8, 0x23, 0x0a, 0xfa, | ||
3647 | 0xfa, 0x29, 0xd3, 0x0f, 0x7b, 0x4e, 0xf7, 0x9e, 0xbb, 0xff, 0x3a, 0xe9, | ||
3648 | 0x32, 0xa4, 0x01, 0x8c, 0x50, 0x50, 0x79, 0x94, 0xb5, 0x62, 0xc4, 0xd7, | ||
3649 | 0xdf, 0x31, 0x60, 0x67, 0xae, 0x1b, 0xc4, 0xde, 0x4e, 0x29, 0xf4, 0x05, | ||
3650 | 0xf5, 0x27, 0x62, 0xf6, 0xe6, 0x78, 0x50, 0xcf, 0xf2, 0xf9, 0x94, 0x93, | ||
3651 | 0x2f, 0xb3, 0x4f, 0xc8, 0x5c, 0xc0, 0x31, 0x65, 0x87, 0x1f, 0x42, 0xb7, | ||
3652 | 0x09, 0xcf, 0x20, 0xdd, 0xf7, 0x29, 0xba, 0x1d, 0x45, 0x37, 0xfd, 0x8b, | ||
3653 | 0x67, 0x3a, 0xec, 0xa3, 0x05, 0x7d, 0x33, 0xae, 0x07, 0x4c, 0x00, 0x7d, | ||
3654 | 0x7f, 0x17, 0x3a, 0xfe, 0x4e, 0x05, 0x98, 0xa0, 0x02, 0x4c, 0x80, 0x3d, | ||
3655 | 0xbe, 0x0d, 0x1d, 0x7f, 0xab, 0x02, 0x4c, 0x50, 0x89, 0xfb, 0x3d, 0x0a, | ||
3656 | 0x9b, 0x98, 0xfe, 0x23, 0xda, 0x6e, 0xd0, 0x93, 0xb9, 0xda, 0x2e, 0x39, | ||
3657 | 0xce, 0xf9, 0x01, 0x36, 0x8e, 0xc2, 0x8e, 0x78, 0x6e, 0x11, 0xf4, 0x3b, | ||
3658 | 0xfc, 0x1c, 0xd1, 0xe0, 0xb9, 0x00, 0x72, 0x44, 0x83, 0xe7, 0x18, 0x23, | ||
3659 | 0xf1, 0x10, 0x30, 0x61, 0x48, 0xe2, 0xc2, 0x5e, 0xef, 0xdc, 0x18, 0xd6, | ||
3660 | 0x1a, 0x1d, 0x84, 0x27, 0x75, 0xa8, 0xbe, 0xd6, 0x71, 0xd5, 0x6f, 0x40, | ||
3661 | 0x5c, 0xa8, 0x06, 0xb5, 0x5b, 0x52, 0x26, 0x96, 0x88, 0x33, 0x65, 0xaf, | ||
3662 | 0x9e, 0x86, 0x0e, 0x5c, 0x62, 0xc3, 0xcd, 0xbe, 0xf4, 0x70, 0x1d, 0x7b, | ||
3663 | 0x16, 0x2d, 0x8f, 0xbe, 0xe3, 0xee, 0xd6, 0x33, 0x07, 0x10, 0x9f, 0xa7, | ||
3664 | 0xca, 0x09, 0x99, 0x2c, 0x7b, 0x98, 0x00, 0xf5, 0xcf, 0x55, 0xfd, 0x51, | ||
3665 | 0x9b, 0x7a, 0x80, 0xfe, 0x36, 0x6d, 0x23, 0x71, 0x3e, 0x45, 0x19, 0x53, | ||
3666 | 0xff, 0xd3, 0xaa, 0x67, 0x7d, 0xa0, 0xee, 0xf5, 0xe5, 0x27, 0x95, 0x2d, | ||
3667 | 0x84, 0x19, 0x67, 0xa8, 0x3f, 0xcf, 0x87, 0x61, 0x17, 0x79, 0x37, 0x90, | ||
3668 | 0x4b, 0x3b, 0x1e, 0xf9, 0xbc, 0x26, 0xd6, 0x4e, 0xe3, 0xb9, 0xb6, 0xf1, | ||
3669 | 0xcd, 0xfb, 0x3e, 0xbd, 0x88, 0x7d, 0x9b, 0x3d, 0x06, 0xc6, 0xa9, 0xad, | ||
3670 | 0xf1, 0x10, 0xea, 0x87, 0xb0, 0xba, 0x8f, 0x18, 0xde, 0x88, 0x49, 0xb6, | ||
3671 | 0x61, 0x89, 0x53, 0xe5, 0x3c, 0xf6, 0x2d, 0x18, 0x8f, 0x9e, 0x90, 0xec, | ||
3672 | 0x52, 0xaf, 0xe4, 0x62, 0x66, 0xca, 0x96, 0xbf, 0x27, 0x1b, 0xcb, 0x85, | ||
3673 | 0x04, 0xcf, 0x0d, 0x0b, 0x33, 0x1a, 0x9e, 0x7b, 0x18, 0xd7, 0xa4, 0xd9, | ||
3674 | 0x92, 0xc3, 0x65, 0xe6, 0x9d, 0x91, 0x78, 0x03, 0xf7, 0x72, 0xb3, 0xec, | ||
3675 | 0xd5, 0x54, 0x61, 0x93, 0x66, 0xa2, 0x8a, 0x78, 0xf0, 0x72, 0x99, 0xfb, | ||
3676 | 0x01, 0x1b, 0x95, 0xd9, 0xcf, 0x09, 0xee, 0x3f, 0x01, 0x1c, 0x88, 0x58, | ||
3677 | 0x1d, 0xf3, 0xe7, 0x28, 0x5e, 0x6d, 0x23, 0x2c, 0x81, 0xae, 0x3b, 0x65, | ||
3678 | 0xdd, 0x8f, 0xbb, 0xb5, 0xb2, 0xd7, 0x47, 0x39, 0x4b, 0x7a, 0xdc, 0xff, | ||
3679 | 0xd5, 0x5a, 0x8f, 0xa1, 0x16, 0xda, 0xe4, 0xf5, 0x8f, 0xb9, 0x8f, 0x81, | ||
3680 | 0xb0, 0x2b, 0x27, 0xdc, 0x40, 0x26, 0xbc, 0xcf, 0x31, 0x9e, 0x8d, 0xb6, | ||
3681 | 0x5a, 0x67, 0xad, 0xf6, 0x9e, 0xdf, 0xf5, 0xf4, 0xcc, 0xde, 0xb8, 0x2d, | ||
3682 | 0x63, 0xbd, 0xe6, 0xa0, 0x26, 0xf6, 0x7b, 0x66, 0x87, 0x46, 0xbc, 0x9e, | ||
3683 | 0xd9, 0xfc, 0xc8, 0xf6, 0x9e, 0xd9, 0xcf, 0x6f, 0xf3, 0x7a, 0x66, 0x17, | ||
3684 | 0x9d, 0x22, 0x3e, 0x5e, 0xcf, 0x6c, 0xf8, 0x76, 0xaf, 0x67, 0xf6, 0xf0, | ||
3685 | 0xed, 0x5e, 0xcf, 0xec, 0x91, 0x11, 0xaf, 0x67, 0xf6, 0xfb, 0xb7, 0x6f, | ||
3686 | 0xef, 0x99, 0x3d, 0x36, 0xb2, 0xbd, 0x67, 0x26, 0x13, 0xc8, 0x77, 0x13, | ||
3687 | 0x5b, 0x3d, 0xb3, 0xf2, 0xc8, 0xb5, 0x7b, 0x66, 0xaf, 0x06, 0x78, 0x1d, | ||
3688 | 0xfc, 0x8c, 0x81, 0x87, 0x14, 0xf0, 0xfa, 0x28, 0xf0, 0xfa, 0xaf, 0xeb, | ||
3689 | 0x59, 0x87, 0xc1, 0xe7, 0xcd, 0x7e, 0x5e, 0xb8, 0x1e, 0xdc, 0x7e, 0xbb, | ||
3690 | 0xff, 0x8c, 0xa0, 0xde, 0x4d, 0xf8, 0xb5, 0x0a, 0xb1, 0xfb, 0x1e, 0xbf, | ||
3691 | 0x66, 0xfb, 0x6b, 0xd1, 0xad, 0xf3, 0xec, 0xf6, 0xff, 0x37, 0xa0, 0xf4, | ||
3692 | 0x0e, 0xf0, 0x3c, 0xf9, 0x79, 0x0d, 0xb5, 0x1f, 0xf9, 0x47, 0xa2, 0xef, | ||
3693 | 0xbe, 0xe8, 0x7c, 0xd5, 0x22, 0xc6, 0x7f, 0x1c, 0xbe, 0x6a, 0xef, 0x0d, | ||
3694 | 0xc9, 0x3a, 0xfc, 0x96, 0x39, 0xea, 0xa4, 0x64, 0x31, 0x3f, 0xab, 0xe6, | ||
3695 | 0x27, 0x26, 0xb6, 0xe6, 0xa7, 0x26, 0xbe, 0xaa, 0x6a, 0x52, 0xf3, 0x5f, | ||
3696 | 0xe3, 0xf3, 0x0d, 0x65, 0xdf, 0x96, 0x87, 0xe1, 0x9d, 0x4a, 0x80, 0xb7, | ||
3697 | 0xc2, 0x3e, 0x76, 0x36, 0x1c, 0xdb, 0x9d, 0xc0, 0x33, 0xe6, 0x8b, 0xb6, | ||
3698 | 0x34, 0x14, 0x7e, 0x0f, 0xa5, 0xcd, 0x17, 0x73, 0xaa, 0x5e, 0x33, 0x9c, | ||
3699 | 0xbc, 0x1b, 0xd4, 0xdf, 0xa8, 0xa1, 0x86, 0x06, 0xd5, 0xf9, 0x9b, 0xbe, | ||
3700 | 0x36, 0x8c, 0x3c, 0xd6, 0x5e, 0x63, 0xb3, 0xae, 0xd6, 0xfd, 0xba, 0xda, | ||
3701 | 0x90, 0xbb, 0xf7, 0xb7, 0x63, 0x73, 0x99, 0xf8, 0x5b, 0x0a, 0x9b, 0xef, | ||
3702 | 0x42, 0x6d, 0x4e, 0xec, 0x4d, 0x1c, 0x43, 0x0c, 0x41, 0x7c, 0xce, 0x7e, | ||
3703 | 0x01, 0xeb, 0x19, 0xe6, 0x46, 0xd6, 0x37, 0x31, 0x7c, 0xf8, 0xbe, 0x41, | ||
3704 | 0x80, 0xd1, 0x3b, 0xfc, 0xf8, 0xce, 0xba, 0x28, 0xc0, 0x2a, 0x77, 0x75, | ||
3705 | 0x7b, 0xb5, 0xd1, 0x2e, 0xcd, 0xab, 0x3f, 0x13, 0xfe, 0x9c, 0xf0, 0x26, | ||
3706 | 0x16, 0x0e, 0x6f, 0x62, 0xe1, 0x6d, 0xe7, 0x30, 0xa2, 0xde, 0x6d, 0x50, | ||
3707 | 0xe7, 0x39, 0x3c, 0xdf, 0x11, 0x4d, 0x4f, 0xf3, 0x8c, 0x07, 0x38, 0xc7, | ||
3708 | 0xe2, 0x99, 0x0f, 0x7d, 0xe9, 0x41, 0x2d, 0x5b, 0x37, 0x10, 0xef, 0x99, | ||
3709 | 0x7f, 0x90, 0x6b, 0xcb, 0xc1, 0xd9, 0x62, 0xa0, 0x27, 0xca, 0x8e, 0x63, | ||
3710 | 0x7f, 0xaa, 0xa1, 0xe6, 0x4d, 0x45, 0xac, 0x43, 0xa0, 0x65, 0x0a, 0xff, | ||
3711 | 0x03, 0x99, 0xde, 0xa3, 0x72, 0x5f, 0x27, 0x6c, 0xf6, 0x78, 0x85, 0xd8, | ||
3712 | 0xf5, 0x71, 0x69, 0xf8, 0xf8, 0x75, 0x65, 0xc9, 0xc3, 0xae, 0xe1, 0xed, | ||
3713 | 0xd8, 0x35, 0xb5, 0x21, 0x1e, 0x8d, 0x07, 0x76, 0xa4, 0xd1, 0x70, 0x5e, | ||
3714 | 0x19, 0x22, 0x66, 0x25, 0x9d, 0xcc, 0x3d, 0xd3, 0x88, 0x81, 0xcc, 0x39, | ||
3715 | 0xcc, 0x37, 0xc4, 0xa5, 0xd7, 0xa2, 0x4f, 0x8d, 0x1d, 0xed, 0xb0, 0xa2, | ||
3716 | 0xf8, 0xcc, 0x83, 0x8e, 0x19, 0x3c, 0x93, 0x96, 0x85, 0xd3, 0x5f, 0xd1, | ||
3717 | 0x9c, 0xfa, 0x3c, 0xe8, 0x99, 0x42, 0xae, 0xa3, 0x2d, 0x15, 0x0c, 0xcf, | ||
3718 | 0x8e, 0xd6, 0x11, 0xf7, 0x5d, 0xc6, 0x02, 0xd4, 0xae, 0xa8, 0x47, 0xca, | ||
3719 | 0x8c, 0xbd, 0x3c, 0xeb, 0x0a, 0x62, 0x2e, 0xfb, 0x26, 0xa8, 0x59, 0x59, | ||
3720 | 0xbb, 0x2e, 0x72, 0xdf, 0xed, 0xba, 0xa8, 0xb9, 0xc4, 0x5d, 0x86, 0xb3, | ||
3721 | 0xbe, 0x46, 0xdc, 0xf8, 0x51, 0x31, 0xa4, 0xe1, 0xbc, 0x3c, 0x44, 0x1c, | ||
3722 | 0x79, 0x3d, 0xf8, 0xd1, 0x84, 0x34, 0xcd, 0x17, 0xd6, 0xf5, 0x76, 0xfc, | ||
3723 | 0xe8, 0x61, 0xc7, 0xcc, 0xda, 0x41, 0xac, 0xc9, 0xda, 0x8c, 0x38, 0xd1, | ||
3724 | 0x44, 0x98, 0x1b, 0xc4, 0xb3, 0x83, 0xe0, 0xc7, 0xc3, 0x8a, 0x59, 0x60, | ||
3725 | 0xc5, 0xbf, 0x03, 0xac, 0x58, 0x92, 0xf7, 0xa2, 0xc4, 0x8a, 0xb6, 0x8f, | ||
3726 | 0x15, 0x1d, 0xd8, 0x71, 0x7e, 0x9b, 0x1d, 0x6b, 0xaa, 0x07, 0xc5, 0x7b, | ||
3727 | 0x79, 0x60, 0xbd, 0xec, 0xa2, 0x79, 0x1d, 0xf8, 0x50, 0x93, 0x98, 0x3a, | ||
3728 | 0xaf, 0x0f, 0xb7, 0xad, 0x19, 0xe0, 0xc0, 0x7d, 0x0a, 0xdf, 0xdd, 0x57, | ||
3729 | 0xd9, 0x85, 0xda, 0x44, 0xe1, 0x3d, 0xff, 0x9c, 0x2f, 0x7c, 0xd5, 0xd9, | ||
3730 | 0x67, 0xb8, 0xed, 0xec, 0x73, 0x0b, 0x17, 0xe2, 0x39, 0xbf, 0xc7, 0x17, | ||
3731 | 0x81, 0xde, 0xfe, 0x07, 0x69, 0x82, 0x5f, 0xd1, 0x07, 0x34, 0xcf, 0x4f, | ||
3732 | 0xb6, 0xe1, 0xc3, 0xff, 0x7a, 0x15, 0x3e, 0x44, 0xce, 0x5a, 0x89, 0x49, | ||
3733 | 0x06, 0xd8, 0xd0, 0x5e, 0xe3, 0x5a, 0xf4, 0xe5, 0x51, 0xe9, 0x00, 0x7f, | ||
3734 | 0x9d, 0x8b, 0x7d, 0xc0, 0x44, 0xdd, 0x12, 0x05, 0x36, 0x8a, 0x28, 0x6c, | ||
3735 | 0x34, 0x44, 0x0c, 0x33, 0x7c, 0x18, 0x98, 0xa6, 0xb1, 0x89, 0x8f, 0xcc, | ||
3736 | 0xd4, 0x0f, 0xa0, 0x97, 0x87, 0x95, 0xad, 0x8c, 0xcb, 0x53, 0x88, 0x9d, | ||
3737 | 0x1d, 0x6b, 0xc0, 0x75, 0x2b, 0x1e, 0x6e, 0x8a, 0x5c, 0x85, 0x9b, 0x8e, | ||
3738 | 0xec, 0x88, 0x9b, 0x54, 0xbf, 0x7e, 0x9c, 0x32, 0x79, 0xdd, 0xf5, 0xfa, | ||
3739 | 0xf5, 0x97, 0x5c, 0xaf, 0x5f, 0xff, 0xba, 0xdb, 0xde, 0xaf, 0xbf, 0x49, | ||
3740 | 0x8a, 0x86, 0x69, 0x5f, 0x94, 0xab, 0xfa, 0xf5, 0x33, 0xec, 0x7f, 0x57, | ||
3741 | 0xbb, 0xbc, 0xbe, 0x7c, 0xb7, 0xdf, 0xaf, 0x37, 0xa5, 0xb8, 0x6d, 0xdc, | ||
3742 | 0x90, 0xb7, 0xad, 0xa0, 0x5f, 0xff, 0x2f, 0x30, 0xd6, 0x83, 0x3d, 0xb6, | ||
3743 | 0xf7, 0xea, 0x2f, 0xb9, 0xec, 0xd5, 0xc7, 0x38, 0xcf, 0xef, 0xd5, 0x73, | ||
3744 | 0x1e, 0x6a, 0x78, 0x97, 0x7d, 0xfa, 0x9b, 0x21, 0x8b, 0x7e, 0xc8, 0xa1, | ||
3745 | 0x4f, 0x3a, 0x9e, 0x8b, 0x73, 0x8e, 0xea, 0xcf, 0x5f, 0x74, 0x63, 0x78, | ||
3746 | 0xce, 0xeb, 0xa3, 0x1f, 0x86, 0x5d, 0x1d, 0xd9, 0xec, 0xcf, 0x7b, 0x7b, | ||
3747 | 0xbc, 0xe1, 0x6e, 0x5f, 0x7f, 0xfb, 0x3a, 0x03, 0xfe, 0x3a, 0x31, 0xac, | ||
3748 | 0x13, 0xbf, 0x6a, 0x9d, 0xad, 0x7e, 0xfc, 0x1b, 0xae, 0xd7, 0x8b, 0x77, | ||
3749 | 0x4e, 0x8b, 0xdd, 0x81, 0x98, 0xfc, 0xe2, 0xd0, 0x8d, 0xfe, 0x1a, 0x9b, | ||
3750 | 0xbd, 0x78, 0xc6, 0x0e, 0xe0, 0x75, 0xc6, 0x0f, 0x3e, 0xff, 0xff, 0xbe, | ||
3751 | 0x17, 0xcf, 0x3e, 0xbc, 0x77, 0x9e, 0x42, 0xff, 0x04, 0x2e, 0x7f, 0xd6, | ||
3752 | 0xeb, 0xc1, 0x4f, 0x54, 0x82, 0xde, 0x3a, 0xeb, 0xc6, 0xe0, 0xbd, 0x8c, | ||
3753 | 0xc1, 0xc4, 0x71, 0xa1, 0xad, 0x90, 0x3e, 0xae, 0xdb, 0x23, 0x73, 0x0a, | ||
3754 | 0x17, 0xc1, 0xa6, 0x92, 0xd7, 0xc6, 0xc6, 0xb5, 0xc5, 0x00, 0x1b, 0xc7, | ||
3755 | 0x14, 0x36, 0xae, 0xad, 0x05, 0xd8, 0x38, 0x73, 0x0d, 0x6c, 0xfc, 0xdf, | ||
3756 | 0xba, 0xbc, 0xf8, 0x1f, 0x95, 0x82, 0xc2, 0xc6, 0xd7, 0x7a, 0xc7, 0x86, | ||
3757 | 0xf7, 0xba, 0x89, 0x03, 0xc4, 0x3b, 0x17, 0xef, 0xbb, 0x86, 0xaf, 0x05, | ||
3758 | 0x78, 0x99, 0xb9, 0xbe, 0x5f, 0x66, 0x9e, 0xdb, 0xc2, 0xcb, 0x1e, 0x26, | ||
3759 | 0x36, 0x13, 0x47, 0x55, 0x2e, 0x04, 0x3e, 0x68, 0xb2, 0xef, 0x7d, 0x48, | ||
3760 | 0xd9, 0x6e, 0xa9, 0x32, 0xab, 0x70, 0x59, 0x1e, 0xb5, 0x6d, 0x51, 0xe1, | ||
3761 | 0x60, 0x62, 0xe0, 0x2e, 0x91, 0xbe, 0x20, 0x17, 0x05, 0x18, 0x33, 0xec, | ||
3762 | 0xc7, 0x67, 0x9e, 0x29, 0xbc, 0x1d, 0xca, 0x10, 0x03, 0xbb, 0x41, 0x8d, | ||
3763 | 0x40, 0x39, 0x0f, 0x23, 0x76, 0x19, 0xbe, 0xac, 0x3c, 0x9f, 0xdd, 0xb7, | ||
3764 | 0xff, 0x87, 0xef, 0xdb, 0x06, 0xe3, 0x5a, 0x80, 0x11, 0x51, 0x03, 0x55, | ||
3765 | 0xc6, 0xd5, 0xbb, 0x0e, 0x1e, 0x46, 0xf4, 0xf0, 0x61, 0xd6, 0x9d, 0x01, | ||
3766 | 0x4e, 0x9e, 0x95, 0x09, 0xe0, 0xf3, 0xf5, 0xdf, 0x65, 0xef, 0x29, 0xc0, | ||
3767 | 0x44, 0x36, 0xfe, 0xb7, 0xf7, 0xa2, 0x78, 0xdd, 0xa1, 0xce, 0xfe, 0xce, | ||
3768 | 0x0f, 0x45, 0xdb, 0xc6, 0xff, 0x3e, 0xe2, 0x37, 0xea, 0xa1, 0x0a, 0x73, | ||
3769 | 0x1d, 0xb1, 0xd0, 0x6f, 0x40, 0x07, 0x63, 0xd7, 0xc0, 0x42, 0x57, 0xe7, | ||
3770 | 0x26, 0xe6, 0xcb, 0xad, 0xbc, 0xe4, 0x6c, 0xe6, 0x25, 0xee, 0xf1, 0xeb, | ||
3771 | 0x72, 0x27, 0xc7, 0x6c, 0x23, 0x62, 0x4d, 0xe1, 0x33, 0x8f, 0x7c, 0xbd, | ||
3772 | 0x3d, 0x37, 0xcd, 0x5d, 0x47, 0x6e, 0x9a, 0x50, 0xb9, 0x89, 0xf4, 0xa2, | ||
3773 | 0x9e, 0x83, 0x4c, 0xbe, 0x0b, 0x59, 0x7e, 0x07, 0xb4, 0xff, 0x11, 0xf8, | ||
3774 | 0xf9, 0x43, 0x60, 0xac, 0x6f, 0x03, 0x63, 0x7d, 0xab, 0xd2, 0xfe, 0x0e, | ||
3775 | 0xc3, 0xb8, 0xb0, 0x0e, 0xf4, 0xea, 0x66, 0x0f, 0xc3, 0x1f, 0x86, 0x57, | ||
3776 | 0x35, 0xca, 0x86, 0x33, 0x57, 0x1e, 0x31, 0xe6, 0xbd, 0xf3, 0xd2, 0x44, | ||
3777 | 0x4e, 0xd2, 0x88, 0x11, 0xcc, 0x15, 0xea, 0x3a, 0xce, 0x7e, 0x25, 0xb1, | ||
3778 | 0x42, 0x5d, 0xd5, 0x93, 0x43, 0x52, 0x6d, 0x78, 0xf8, 0x6a, 0xe1, 0x8c, | ||
3779 | 0xb7, 0xc6, 0x9c, 0x8f, 0xaf, 0xf2, 0x3e, 0xbe, 0xca, 0x35, 0x36, 0x12, | ||
3780 | 0xac, 0xcf, 0x17, 0x52, 0xdb, 0x31, 0xd5, 0x61, 0x1f, 0x53, 0xcd, 0xff, | ||
3781 | 0x15, 0x31, 0x15, 0xf7, 0xca, 0xe3, 0x99, 0xc9, 0xa5, 0x84, 0x1c, 0x80, | ||
3782 | 0x7c, 0x27, 0xca, 0xd4, 0x93, 0x69, 0xc3, 0x6e, 0x3e, 0x44, 0x57, 0x8e, | ||
3783 | 0xd2, 0x4b, 0x28, 0xe9, 0xe9, 0x69, 0x12, 0x7a, 0x9a, 0xf8, 0xb5, 0xf5, | ||
3784 | 0x8d, 0x1a, 0x33, 0xde, 0x1c, 0x8b, 0xe2, 0xf3, 0x7f, 0xaa, 0x23, 0xd2, | ||
3785 | 0x4f, 0x3d, 0x5d, 0x8d, 0xb9, 0xae, 0x07, 0x7b, 0x6d, 0xc7, 0x5d, 0xb6, | ||
3786 | 0xc2, 0x5d, 0x1d, 0xfe, 0x9c, 0x99, 0x89, 0x49, 0xe8, 0xf0, 0xdf, 0x63, | ||
3787 | 0xce, 0x9f, 0xc0, 0xb7, 0x7e, 0x88, 0x78, 0xfd, 0xef, 0xa0, 0x8b, 0x7f, | ||
3788 | 0x8b, 0xda, 0xe0, 0x55, 0xe4, 0x9f, 0x1f, 0x60, 0x6c, 0x0b, 0xc7, 0xa8, | ||
3789 | 0x33, 0xfa, 0xd1, 0x8c, 0x95, 0x98, 0x28, 0xba, 0x89, 0x09, 0x0f, 0x7f, | ||
3790 | 0xfc, 0xea, 0x6f, 0x66, 0xac, 0x29, 0xbe, 0xc3, 0x00, 0xf9, 0xfe, 0xf9, | ||
3791 | 0xdd, 0x73, 0x0a, 0x7b, 0x04, 0x98, 0x23, 0x67, 0x73, 0xff, 0x92, 0x9b, | ||
3792 | 0x9a, 0xa8, 0xe1, 0xe3, 0x61, 0x9b, 0xef, 0xd9, 0x1e, 0xb6, 0x59, 0xfa, | ||
3793 | 0xeb, 0xd4, 0xbb, 0x87, 0x6b, 0x1e, 0x4e, 0xd3, 0xaf, 0xeb, 0xc0, 0x1c, | ||
3794 | 0x35, 0xf8, 0x64, 0xa1, 0x69, 0xab, 0xcf, 0xf1, 0x8a, 0x6d, 0x46, 0x20, | ||
3795 | 0x1f, 0xf6, 0x58, 0x4f, 0xd1, 0x0b, 0x5d, 0xd3, 0x28, 0x13, 0x81, 0xba, | ||
3796 | 0x66, 0xfc, 0x9f, 0xf9, 0xd7, 0x4f, 0xfb, 0xd7, 0x4f, 0xf9, 0xd7, 0x27, | ||
3797 | 0x91, 0x77, 0x9f, 0x54, 0xb9, 0x93, 0xe3, 0x1c, 0x83, 0x72, 0x5d, 0xac, | ||
3798 | 0x85, 0xf5, 0xce, 0x8e, 0xfe, 0xb4, 0x55, 0x8d, 0x79, 0xfe, 0x5c, 0x68, | ||
3799 | 0x3a, 0xf8, 0xfc, 0x63, 0x7c, 0x0e, 0xe2, 0x33, 0x8d, 0xcf, 0x63, 0xf8, | ||
3800 | 0x6c, 0xca, 0x54, 0xcb, 0x56, 0xa8, 0xa3, 0x61, 0xc9, 0x62, 0xbc, 0x88, | ||
3801 | 0x3a, 0x34, 0x93, 0x7a, 0x44, 0x8a, 0xf5, 0x92, 0x94, 0x96, 0x34, 0xe9, | ||
3802 | 0xb6, 0xd2, 0x52, 0xaa, 0x1f, 0x93, 0xe3, 0x4b, 0xde, 0xb9, 0x61, 0x57, | ||
3803 | 0xda, 0xc6, 0xdc, 0x96, 0x3c, 0x9c, 0x7a, 0x5c, 0xf4, 0x3b, 0x8f, 0x61, | ||
3804 | 0x9e, 0xe8, 0xc5, 0xd1, 0xdb, 0xd4, 0xf9, 0x58, 0x3d, 0xe5, 0xc9, 0xf8, | ||
3805 | 0x80, 0x65, 0x9b, 0xc8, 0x5b, 0xc3, 0x4f, 0x62, 0xed, 0x8c, 0x7a, 0x3f, | ||
3806 | 0x30, 0x2d, 0x27, 0x4e, 0x6f, 0xec, 0xf5, 0x62, 0xa9, 0x69, 0xbc, 0x81, | ||
3807 | 0x4d, 0xeb, 0xe0, 0xc3, 0x46, 0xec, 0x9b, 0x82, 0x9d, 0x1f, 0x71, 0xc3, | ||
3808 | 0xda, 0x04, 0x62, 0xe0, 0x84, 0xab, 0x6a, 0x3d, 0xc4, 0x2a, 0xc3, 0x49, | ||
3809 | 0x9e, 0x8a, 0xe1, 0x9a, 0xef, 0xd0, 0x20, 0x0f, 0x2a, 0x5b, 0xd9, 0x00, | ||
3810 | 0x8e, 0xd1, 0x54, 0xbf, 0xaf, 0xb4, 0x79, 0x0e, 0xa4, 0xfa, 0xff, 0x4e, | ||
3811 | 0x32, 0xa9, 0x4b, 0x7e, 0x8c, 0x38, 0xd6, 0x56, 0xb9, 0xa8, 0x51, 0xb6, | ||
3812 | 0x3f, 0xc1, 0xda, 0xf0, 0x75, 0x61, 0x5e, 0xbb, 0x07, 0xf3, 0x06, 0x10, | ||
3813 | 0x7f, 0x71, 0xaf, 0x09, 0x5e, 0x4e, 0x93, 0x57, 0x3e, 0x83, 0xda, 0xb6, | ||
3814 | 0xfa, 0x49, 0xbd, 0xb8, 0xe4, 0xd7, 0x44, 0xaa, 0x76, 0x48, 0x48, 0x7d, | ||
3815 | 0xf3, 0xcc, 0xc9, 0xeb, 0x93, 0xd4, 0xdd, 0x00, 0x3b, 0xf4, 0x60, 0x0e, | ||
3816 | 0xeb, 0x08, 0xc8, 0xc8, 0x3b, 0x27, 0x53, 0x67, 0x64, 0x45, 0xf7, 0x93, | ||
3817 | 0x7a, 0x69, 0x29, 0x83, 0x71, 0xf6, 0xa4, 0xf1, 0xbd, 0xaa, 0x2b, 0xec, | ||
3818 | 0x7f, 0x31, 0x74, 0x58, 0x1a, 0xd5, 0x16, 0xe8, 0x45, 0x8e, 0xdd, 0x7b, | ||
3819 | 0x58, 0x6a, 0xd5, 0x79, 0x79, 0xa1, 0xba, 0xb1, 0x0b, 0xd8, 0x09, 0x32, | ||
3820 | 0x25, 0xfd, 0x3d, 0x3e, 0xfd, 0x54, 0x41, 0x30, 0x0e, 0x79, 0x9e, 0x2e, | ||
3821 | 0xc4, 0xbd, 0xba, 0x96, 0xb8, 0xed, 0x24, 0xdf, 0x1b, 0x8c, 0xf3, 0x3d, | ||
3822 | 0xbe, 0x23, 0xcb, 0xb4, 0xc9, 0x8b, 0xf7, 0x2e, 0x58, 0x9f, 0x92, 0x0b, | ||
3823 | 0xa9, 0x3d, 0xb2, 0x91, 0x52, 0xf5, 0x2f, 0xf1, 0x01, 0x7c, 0xdb, 0x34, | ||
3824 | 0xd6, 0xe5, 0x6e, 0x39, 0x01, 0x3f, 0xbd, 0x90, 0xca, 0xa9, 0xf3, 0x9b, | ||
3825 | 0xe3, 0x4d, 0x62, 0xfb, 0x79, 0xd6, 0x54, 0xb2, 0xae, 0x7a, 0x60, 0xad, | ||
3826 | 0xd6, 0x64, 0x8a, 0xb1, 0xa7, 0x43, 0x36, 0x14, 0xd6, 0xf2, 0x7a, 0xe3, | ||
3827 | 0x1b, 0xb3, 0x9e, 0x6f, 0x84, 0x94, 0xbd, 0xff, 0x1b, 0xd0, 0x71, 0x0c, | ||
3828 | 0x36, 0x1b, 0x51, 0x73, 0x42, 0xe9, 0x4e, 0x7f, 0x8e, 0xc2, 0x66, 0x6d, | ||
3829 | 0x73, 0xc6, 0xc7, 0x33, 0x96, 0xf1, 0xa9, 0x8c, 0x35, 0x36, 0xe1, 0xf5, | ||
3830 | 0x53, 0x4c, 0xc3, 0xd6, 0x2e, 0xb6, 0x82, 0xf7, 0x4d, 0xa6, 0xe0, 0x4f, | ||
3831 | 0x2f, 0x6d, 0x62, 0x63, 0x18, 0xe7, 0xf3, 0x0b, 0xd0, 0x6b, 0x58, 0x3a, | ||
3832 | 0x4e, 0xb5, 0xee, 0x99, 0x4b, 0x8d, 0x24, 0x8e, 0x08, 0xdf, 0x30, 0x62, | ||
3833 | 0xfd, 0x6c, 0x82, 0xda, 0x05, 0xe4, 0xc3, 0x2b, 0xc4, 0x08, 0xc3, 0xe7, | ||
3834 | 0xe5, 0xca, 0x3d, 0x99, 0xd4, 0x7e, 0xad, 0x36, 0x8b, 0xea, 0xe4, 0xf9, | ||
3835 | 0x29, 0xe6, 0xd3, 0xa3, 0xec, 0x7d, 0x86, 0x4e, 0xbd, 0xad, 0x39, 0x65, | ||
3836 | 0xf5, 0x8e, 0x39, 0xf4, 0xd2, 0xd2, 0xe6, 0x21, 0x37, 0x3c, 0x3f, 0xc3, | ||
3837 | 0x04, 0xa8, 0x5b, 0x83, 0x09, 0x47, 0x72, 0xec, 0x71, 0x49, 0x7e, 0x59, | ||
3838 | 0xf6, 0x65, 0x10, 0x47, 0xed, 0x99, 0x0e, 0x99, 0x6f, 0x18, 0xce, 0xe0, | ||
3839 | 0xe2, 0x51, 0xac, 0x31, 0x87, 0xb5, 0xa6, 0x51, 0x83, 0xcc, 0x22, 0x27, | ||
3840 | 0x53, 0xae, 0x8c, 0xd5, 0x0f, 0x43, 0x46, 0x37, 0xf1, 0xcc, 0x78, 0x3c, | ||
3841 | 0x27, 0xe6, 0x4c, 0x41, 0xad, 0xfb, 0x9e, 0x96, 0x1f, 0xfd, 0x18, 0x72, | ||
3842 | 0x5a, 0x58, 0x0e, 0x24, 0x45, 0x9f, 0x4e, 0x86, 0xdf, 0x9f, 0xb3, 0x38, | ||
3843 | 0x16, 0xe5, 0x98, 0x8e, 0xb1, 0xf0, 0xe7, 0x92, 0x51, 0x3d, 0x93, 0x34, | ||
3844 | 0xc7, 0xd9, 0xef, 0x0d, 0x59, 0x73, 0x12, 0x7a, 0xbe, 0xb7, 0x47, 0xba, | ||
3845 | 0xa7, 0xa5, 0x77, 0xd5, 0x1c, 0x7f, 0x1d, 0xb4, 0x84, 0x55, 0x6c, 0x9f, | ||
3846 | 0x13, 0xdd, 0x1f, 0xef, 0xd9, 0x1c, 0x0f, 0xfb, 0xe3, 0xd3, 0xd2, 0xbd, | ||
3847 | 0x3a, 0x62, 0xbc, 0x29, 0x87, 0xb1, 0x66, 0x48, 0x2e, 0xa1, 0xa6, 0xb1, | ||
3848 | 0x86, 0xe6, 0xe0, 0x73, 0x0f, 0x91, 0x96, 0x83, 0xc0, 0x14, 0xf0, 0x09, | ||
3849 | 0xd4, 0xd9, 0xd6, 0x27, 0xe5, 0x4b, 0x46, 0x97, 0xe4, 0x55, 0x4d, 0x1b, | ||
3850 | 0xf6, 0x7a, 0xa5, 0xb0, 0xf3, 0x5b, 0x87, 0xa6, 0x77, 0x7b, 0xfd, 0x00, | ||
3851 | 0x9e, 0x67, 0x8c, 0x62, 0xec, 0x4a, 0x6b, 0xc5, 0xe2, 0x18, 0xef, 0x5d, | ||
3852 | 0x69, 0xd5, 0xad, 0x11, 0x23, 0xab, 0x45, 0xfd, 0x73, 0xed, 0x79, 0xc5, | ||
3853 | 0x7b, 0xa1, 0x3a, 0x68, 0xd4, 0xe4, 0x16, 0x2d, 0x7b, 0x03, 0xf2, 0x83, | ||
3854 | 0xfb, 0x19, 0xcc, 0xbd, 0xd2, 0xca, 0x58, 0xf3, 0xaa, 0x7f, 0x5f, 0x93, | ||
3855 | 0xe0, 0x9a, 0xeb, 0x8c, 0x18, 0x93, 0xea, 0xd9, 0x11, 0xe3, 0x84, 0xd6, | ||
3856 | 0xfe, 0xac, 0xa1, 0x4d, 0x6e, 0x7b, 0xb6, 0x5b, 0xc9, 0x28, 0x64, 0x79, | ||
3857 | 0x73, 0x4a, 0xd5, 0x69, 0x79, 0xda, 0xe5, 0xbc, 0x2b, 0xad, 0xac, 0x15, | ||
3858 | 0xd1, 0x4e, 0xdc, 0xc0, 0x18, 0xc8, 0xb9, 0x97, 0xaf, 0xda, 0x87, 0xd7, | ||
3859 | 0xd7, 0xda, 0xe3, 0x5d, 0xd9, 0xbe, 0xc7, 0x2e, 0x35, 0xe7, 0x82, 0x9a, | ||
3860 | 0x13, 0x56, 0xb2, 0xde, 0xbe, 0xcf, 0xcf, 0x64, 0xfb, 0x3e, 0xdd, 0x9b, | ||
3861 | 0x3c, 0x97, 0xb0, 0xe6, 0x93, 0x98, 0x5b, 0x76, 0x07, 0xe3, 0x75, 0xb9, | ||
3862 | 0xdc, 0xca, 0x5b, 0x17, 0xe5, 0xc2, 0xe6, 0xda, 0xbf, 0xc2, 0x75, 0x3b, | ||
3863 | 0x4d, 0xbf, 0xf2, 0x69, 0xe4, 0x77, 0x8e, 0x3d, 0xaa, 0xe4, 0xbd, 0xdb, | ||
3864 | 0x1a, 0x3c, 0x58, 0xd3, 0xcc, 0xf1, 0x9f, 0x09, 0x75, 0x75, 0x44, 0xc5, | ||
3865 | 0x98, 0xdb, 0xa0, 0xa7, 0x7d, 0xcf, 0xc0, 0x67, 0x47, 0x6d, 0x35, 0xe7, | ||
3866 | 0x92, 0x35, 0x2d, 0xfb, 0x4e, 0x0d, 0x1a, 0x97, 0x10, 0xdb, 0x9c, 0x18, | ||
3867 | 0xaf, 0x51, 0x2b, 0x59, 0x7c, 0x27, 0xfe, 0x4e, 0xd6, 0x01, 0xd0, 0xe5, | ||
3868 | 0xe0, 0xf0, 0xcf, 0xe4, 0xa8, 0x9c, 0xa8, 0x1c, 0x43, 0x2e, 0x9c, 0x93, | ||
3869 | 0xe1, 0x67, 0x90, 0x37, 0x2a, 0x05, 0x3c, 0x49, 0x9f, 0xf5, 0x72, 0xe0, | ||
3870 | 0x9c, 0x7a, 0xcf, 0xfc, 0x24, 0xea, 0x64, 0xd8, 0x6e, 0x79, 0x70, 0x78, | ||
3871 | 0x05, 0xcf, 0xbc, 0xa0, 0x70, 0xa8, 0x2b, 0x0d, 0xf8, 0x40, 0xe2, 0xf9, | ||
3872 | 0x3d, 0xb2, 0xfb, 0x01, 0xda, 0x22, 0x32, 0xfd, 0x6d, 0x11, 0xf5, 0xee, | ||
3873 | 0xbd, 0x6e, 0x75, 0x8a, 0xec, 0xa5, 0xdd, 0x34, 0x61, 0x63, 0x73, 0xde, | ||
3874 | 0x99, 0xd6, 0xb6, 0x6b, 0x73, 0xe6, 0xa2, 0xac, 0x2a, 0xfb, 0xbb, 0x7d, | ||
3875 | 0xd5, 0xfb, 0x3f, 0xba, 0x8a, 0x72, 0x38, 0x39, 0x2d, 0x77, 0xac, 0x7a, | ||
3876 | 0xf6, 0x56, 0x5a, 0x3a, 0xaa, 0xe4, 0x3a, 0xa7, 0xe4, 0xda, 0x92, 0xc3, | ||
3877 | 0x29, 0xca, 0x9c, 0xbc, 0xf0, 0xbd, 0x40, 0x4f, 0x16, 0xf7, 0xfb, 0xf6, | ||
3878 | 0x33, 0xf8, 0x0c, 0x7f, 0x57, 0x42, 0xd9, 0xb0, 0xee, 0xbe, 0x7f, 0x37, | ||
3879 | 0xcf, 0x59, 0xf7, 0xad, 0x92, 0xcf, 0x1b, 0xb7, 0xf1, 0xf9, 0x14, 0x62, | ||
3880 | 0xea, 0xd0, 0x90, 0xc7, 0xeb, 0xab, 0x4b, 0x1f, 0xce, 0xeb, 0x37, 0x37, | ||
3881 | 0x79, 0x0d, 0x49, 0x43, 0xd5, 0xaf, 0x5d, 0xbd, 0xd2, 0x8d, 0xa8, 0x07, | ||
3882 | 0x7b, 0xf8, 0x09, 0xf6, 0x9a, 0x12, 0xd2, 0xe0, 0xed, 0xb7, 0xe1, 0x92, | ||
3883 | 0x96, 0x80, 0x76, 0xd2, 0x73, 0x9f, 0xaf, 0x2f, 0xee, 0x7f, 0x74, 0xc7, | ||
3884 | 0x7b, 0x97, 0xc4, 0x70, 0x86, 0x31, 0xa6, 0x2b, 0x9d, 0x65, 0x7d, 0xff, | ||
3885 | 0x9a, 0x16, 0x5d, 0xe9, 0xcc, 0xde, 0xd4, 0xd9, 0xeb, 0xd0, 0x59, 0x5d, | ||
3886 | 0x7e, 0x13, 0xbc, 0xc0, 0x9f, 0x9f, 0x19, 0x31, 0x0e, 0x13, 0x5b, 0x18, | ||
3887 | 0x5c, 0x0f, 0x31, 0xd4, 0xd7, 0x5d, 0xc7, 0x47, 0xd0, 0xdd, 0x9b, 0xa2, | ||
3888 | 0xf4, 0x07, 0x7e, 0x90, 0x7f, 0xd4, 0xf3, 0x8c, 0x61, 0xe4, 0xa9, 0x43, | ||
3889 | 0xf9, 0x3e, 0x69, 0x53, 0x67, 0xfc, 0x33, 0x9e, 0x3e, 0x95, 0x6f, 0xfb, | ||
3890 | 0xfa, 0xcc, 0xcd, 0x50, 0x67, 0xe6, 0x6e, 0x4f, 0x7f, 0x9d, 0x6a, 0xce, | ||
3891 | 0x62, 0x32, 0xa1, 0xfc, 0xda, 0x1a, 0xba, 0x65, 0x37, 0x75, 0xf8, 0xb4, | ||
3892 | 0xeb, 0xfd, 0x2f, 0xbb, 0xd3, 0xb2, 0xe8, 0x7e, 0x98, 0x1e, 0x3d, 0x1d, | ||
3893 | 0x4e, 0x88, 0xe7, 0x3f, 0x57, 0xeb, 0x4f, 0x5f, 0x0d, 0x2b, 0x5b, 0x9d, | ||
3894 | 0x80, 0xec, 0x4e, 0x56, 0x3e, 0xe6, 0xdb, 0xb7, 0xc7, 0xeb, 0xd0, 0x87, | ||
3895 | 0xf0, 0x7a, 0xb8, 0x3c, 0x68, 0xbc, 0x8d, 0xb5, 0x26, 0x15, 0x86, 0x8b, | ||
3896 | 0x88, 0xe3, 0xf3, 0x9a, 0xd8, 0xe4, 0x35, 0xa0, 0xcd, 0x9b, 0x97, 0x65, | ||
3897 | 0x5d, 0xea, 0x32, 0x3e, 0x3d, 0xaa, 0xde, 0xbf, 0x7f, 0xa3, 0xcc, 0xb8, | ||
3898 | 0x0c, 0xcc, 0x13, 0xeb, 0x93, 0x4b, 0x8d, 0x84, 0x5c, 0x22, 0x96, 0x18, | ||
3899 | 0xc3, 0x7f, 0xf7, 0x98, 0x9f, 0x9b, 0xa3, 0xf2, 0x66, 0xb9, 0xbd, 0x56, | ||
3900 | 0x1c, 0x95, 0xd7, 0xcb, 0x41, 0xbd, 0x48, 0x2c, 0xcb, 0xfc, 0x3f, 0x27, | ||
3901 | 0x6f, 0x2d, 0x0d, 0xca, 0xfa, 0x0c, 0xf2, 0xf8, 0x10, 0x65, 0x30, 0x62, | ||
3902 | 0x7c, 0x46, 0xfd, 0xbe, 0xe2, 0x4a, 0xeb, 0xbc, 0x85, 0x75, 0x97, 0x5b, | ||
3903 | 0x72, 0x84, 0xe7, 0xd0, 0xfc, 0xde, 0xf8, 0x04, 0x56, 0xe1, 0xbc, 0x3e, | ||
3904 | 0xa9, 0x2d, 0xa3, 0x2e, 0x2f, 0x73, 0x5d, 0xca, 0x69, 0x5a, 0x7d, 0x9f, | ||
3905 | 0xc4, 0x3e, 0xf7, 0xf3, 0xbd, 0xf4, 0x18, 0x75, 0x71, 0xa5, 0xb5, 0x61, | ||
3906 | 0xf1, 0x1c, 0x72, 0x4e, 0x1a, 0xd0, 0xd7, 0x97, 0x93, 0x3c, 0x27, 0xcf, | ||
3907 | 0x0b, 0x7f, 0x9f, 0x52, 0x6b, 0xcc, 0xa0, 0x16, 0xb8, 0xd2, 0x5a, 0xb0, | ||
3908 | 0x9e, 0x52, 0x7a, 0x6a, 0x54, 0x1f, 0xf0, 0xc7, 0x79, 0xcd, 0x7b, 0x86, | ||
3909 | 0xb3, 0x6f, 0x88, 0xf5, 0xe7, 0x03, 0xc8, 0xff, 0xac, 0x3d, 0x89, 0xb7, | ||
3910 | 0x28, 0x8b, 0x04, 0x6a, 0x5c, 0xae, 0xc5, 0xdf, 0x04, 0x25, 0x87, 0xf3, | ||
3911 | 0x32, 0x09, 0x7a, 0x80, 0xcb, 0x5c, 0xc6, 0xfd, 0x5b, 0x65, 0x23, 0xe6, | ||
3912 | 0xc5, 0x77, 0xbe, 0xaf, 0xb5, 0x81, 0x98, 0xbf, 0xb1, 0x19, 0xf3, 0xfb, | ||
3913 | 0x71, 0x6d, 0x38, 0xa9, 0xa1, 0xff, 0x84, 0xf5, 0xd9, 0x77, 0x61, 0xcc, | ||
3914 | 0x1f, 0xc7, 0x7c, 0x8e, 0xf5, 0x49, 0x69, 0x59, 0x6c, 0xf6, 0x99, 0x6a, | ||
3915 | 0xc2, 0x77, 0x31, 0x72, 0xb2, 0xd8, 0x18, 0x8c, 0x9f, 0xd7, 0x1c, 0xf5, | ||
3916 | 0xce, 0x46, 0x72, 0x88, 0x7d, 0xb7, 0x3e, 0x69, 0x2c, 0x4b, 0x22, 0x94, | ||
3917 | 0x7e, 0x48, 0xdc, 0x86, 0x87, 0xb9, 0x17, 0x34, 0xf6, 0xdf, 0x6c, 0x69, | ||
3918 | 0x6c, 0x9f, 0x63, 0x84, 0xd2, 0x87, 0xe4, 0x0f, 0xfc, 0x39, 0x8e, 0x9a, | ||
3919 | 0xf3, 0x1f, 0x76, 0xf3, 0xec, 0xab, 0xe1, 0xf6, 0x82, 0x06, 0xd2, 0x76, | ||
3920 | 0x63, 0xfb, 0xbe, 0x89, 0xad, 0x7d, 0xb9, 0x27, 0x6a, 0x98, 0xbd, 0x36, | ||
3921 | 0xf6, 0x7d, 0x15, 0xcf, 0x3c, 0x04, 0x3a, 0xae, 0x84, 0x74, 0xeb, 0x21, | ||
3922 | 0x29, 0x36, 0xae, 0xde, 0xa3, 0x9d, 0x06, 0x3e, 0xc3, 0xf5, 0xb9, 0xcf, | ||
3923 | 0x21, 0xd0, 0x77, 0x45, 0xd3, 0xad, 0x43, 0x90, 0xa5, 0xb7, 0x47, 0xe8, | ||
3924 | 0x39, 0xd3, 0xf8, 0xa1, 0x0c, 0x89, 0xbe, 0xa2, 0x29, 0xf9, 0xeb, 0xb5, | ||
3925 | 0x51, 0x38, 0xc4, 0x94, 0x74, 0xaf, 0xcd, 0x4a, 0x68, 0x8d, 0x3d, 0x00, | ||
3926 | 0xda, 0x22, 0xf5, 0xb8, 0x0b, 0x7e, 0x2c, 0x76, 0xd8, 0x22, 0xde, 0x67, | ||
3927 | 0x1f, 0x77, 0xb5, 0x57, 0x7a, 0x89, 0xf7, 0x59, 0x0f, 0x1c, 0xc4, 0x7f, | ||
3928 | 0xd6, 0x04, 0x2f, 0xb5, 0x32, 0xa9, 0x77, 0x54, 0xde, 0xcc, 0x37, 0x78, | ||
3929 | 0xdf, 0x4c, 0x88, 0xf0, 0x1e, 0xe3, 0x43, 0x9f, 0x44, 0xbe, 0x3e, 0x8c, | ||
3930 | 0x98, 0x90, 0x03, 0x76, 0xc6, 0xba, 0xa7, 0x86, 0x24, 0xec, 0xbd, 0xeb, | ||
3931 | 0xa0, 0xfa, 0x25, 0x6f, 0x2d, 0x9b, 0xfe, 0xef, 0x53, 0x64, 0xdf, 0xf9, | ||
3932 | 0x14, 0x7b, 0x9a, 0x03, 0xb0, 0x53, 0xd6, 0x23, 0xa2, 0x6f, 0xa0, 0xde, | ||
3933 | 0xbc, 0xd4, 0x88, 0xf6, 0xf2, 0x7d, 0xcb, 0xd7, 0x5d, 0x5c, 0x13, 0xbb, | ||
3934 | 0xc7, 0x14, 0x56, 0xf4, 0xef, 0xf1, 0x3b, 0xea, 0xa0, 0x6d, 0x98, 0x32, | ||
3935 | 0x01, 0x4c, 0xc9, 0x3a, 0x69, 0xca, 0x7f, 0xe7, 0xcd, 0x70, 0x4e, 0x6c, | ||
3936 | 0xab, 0x95, 0x86, 0x65, 0x03, 0x38, 0x6b, 0xdd, 0xb5, 0x10, 0x07, 0xdf, | ||
3937 | 0xd6, 0xea, 0x65, 0xf5, 0xbb, 0x34, 0xed, 0x01, 0x60, 0xac, 0x44, 0x9f, | ||
3938 | 0xaa, 0x75, 0x4e, 0x3e, 0x20, 0x9e, 0xbd, 0xc3, 0xca, 0x54, 0xcc, 0x5a, | ||
3939 | 0xaf, 0x7a, 0xb5, 0xc5, 0x46, 0x75, 0x4a, 0xfe, 0xd4, 0x5d, 0x50, 0xbd, | ||
3940 | 0xd2, 0x25, 0xd4, 0x1b, 0xe1, 0x45, 0x55, 0x6b, 0xb5, 0xe1, 0x54, 0xc4, | ||
3941 | 0xb7, 0x67, 0x8f, 0xc0, 0x07, 0x4d, 0xf5, 0x6e, 0x81, 0xbe, 0xd2, 0x6a, | ||
3942 | 0x65, 0x11, 0x2f, 0x74, 0xcb, 0x32, 0x8a, 0xc8, 0x73, 0x59, 0xf5, 0x7e, | ||
3943 | 0x0a, 0xfd, 0xf7, 0xf7, 0x54, 0x1c, 0x96, 0x1a, 0x64, 0xf3, 0x5c, 0x02, | ||
3944 | 0xeb, 0x68, 0xca, 0x3e, 0x43, 0x4a, 0x0f, 0x0f, 0x28, 0xec, 0x1a, 0x5a, | ||
3945 | 0x41, 0x80, 0x5a, 0x1b, 0x12, 0x59, 0x81, 0xbf, 0xc2, 0x77, 0xc3, 0x6b, | ||
3946 | 0xd4, 0x01, 0x65, 0x3b, 0x2b, 0x11, 0xc8, 0x9e, 0x58, 0x22, 0xb4, 0x48, | ||
3947 | 0x19, 0xc7, 0x61, 0x17, 0x5c, 0x07, 0x32, 0xe6, 0xbb, 0x2c, 0xcb, 0x1d, | ||
3948 | 0xf2, 0x4c, 0xc3, 0xf4, 0xdf, 0x3d, 0x7f, 0x89, 0xef, 0xa3, 0xeb, 0x73, | ||
3949 | 0x63, 0x03, 0xc4, 0x4f, 0x52, 0x6a, 0x00, 0x63, 0x9c, 0x66, 0x0d, 0xce, | ||
3950 | 0x18, 0x50, 0x88, 0x47, 0x94, 0xaf, 0xb3, 0x06, 0xf6, 0x7c, 0x9f, 0xf8, | ||
3951 | 0x3a, 0x62, 0x11, 0xdb, 0x8e, 0x62, 0x8f, 0x9d, 0xe4, 0xea, 0xd5, 0x9e, | ||
3952 | 0x93, 0xa0, 0xf3, 0xfc, 0x92, 0x39, 0x55, 0x90, 0x14, 0xdf, 0x71, 0x9e, | ||
3953 | 0xb1, 0xc1, 0xf7, 0x06, 0xe2, 0xe4, 0x42, 0x85, 0xef, 0x33, 0x17, 0xe1, | ||
3954 | 0x59, 0x53, 0x72, 0xbe, 0xcc, 0x1a, 0xf0, 0x76, 0xe8, 0x8b, 0xd7, 0xc5, | ||
3955 | 0xf1, 0x10, 0xfc, 0xff, 0xa2, 0xc1, 0xdf, 0x91, 0xf1, 0x77, 0x41, 0x66, | ||
3956 | 0x2a, 0xa1, 0x1d, 0x84, 0x8e, 0x0b, 0x46, 0xc4, 0xb7, 0x03, 0xa7, 0x4c, | ||
3957 | 0x8c, 0x35, 0x62, 0x9c, 0xc3, 0xf7, 0x97, 0xdd, 0xcb, 0x2d, 0xd6, 0x3f, | ||
3958 | 0x17, 0x10, 0xe7, 0xa6, 0x92, 0x53, 0xb0, 0x9d, 0x42, 0xbc, 0x13, 0xb4, | ||
3959 | 0xfe, 0x5d, 0xdc, 0xcb, 0xbb, 0xdc, 0xc7, 0x4c, 0x5d, 0x94, 0x22, 0x30, | ||
3960 | 0xfd, 0x48, 0xe2, 0x65, 0xd9, 0x83, 0x3a, 0x55, 0x93, 0x37, 0x2d, 0x73, | ||
3961 | 0x5c, 0x34, 0xb5, 0xde, 0xf0, 0x7d, 0xb0, 0xbd, 0x37, 0x10, 0xdf, 0x3a, | ||
3962 | 0xfc, 0xda, 0x3d, 0x5b, 0x26, 0x16, 0x3a, 0xaa, 0xde, 0x05, 0xb8, 0x60, | ||
3963 | 0xb1, 0x7f, 0xc7, 0xdf, 0x44, 0xfe, 0xa5, 0xda, 0x63, 0xeb, 0x8c, 0x8d, | ||
3964 | 0xfd, 0x63, 0xd2, 0xe7, 0xf1, 0x78, 0xc0, 0xf2, 0x68, 0xe4, 0x3a, 0x91, | ||
3965 | 0xb6, 0x75, 0xce, 0xfb, 0xeb, 0x9c, 0xf5, 0xd7, 0xa9, 0xf9, 0xeb, 0x5c, | ||
3966 | 0xd8, 0x5c, 0xe7, 0x6e, 0xe8, 0xbf, 0xd5, 0x7a, 0x0a, 0xf8, 0x21, 0x93, | ||
3967 | 0x6a, 0xb5, 0x1c, 0xd4, 0x59, 0xa5, 0xd1, 0x79, 0x75, 0x46, 0xaa, 0xa7, | ||
3968 | 0xbf, 0x71, 0x6f, 0xc6, 0x2a, 0xc4, 0xc3, 0x0a, 0x7b, 0xa0, 0x92, 0x82, | ||
3969 | 0x1d, 0x16, 0xc4, 0xc3, 0xdc, 0x3c, 0xb7, 0xf3, 0xce, 0xf5, 0xba, 0xa1, | ||
3970 | 0xc3, 0x1c, 0x72, 0x86, 0x91, 0x39, 0x67, 0x49, 0x61, 0xdf, 0x6f, 0xea, | ||
3971 | 0xb0, 0xf3, 0x5e, 0xe4, 0x87, 0x9f, 0xc0, 0x66, 0x8c, 0x4c, 0xbd, 0x91, | ||
3972 | 0x43, 0xbd, 0xc3, 0xf9, 0x77, 0x40, 0x8f, 0x85, 0x4c, 0xad, 0x51, 0xc8, | ||
3973 | 0x9c, 0xe5, 0x79, 0x0e, 0xe6, 0xd5, 0x1a, 0x3d, 0x90, 0x7b, 0x8f, 0xea, | ||
3974 | 0x8b, 0xbc, 0x5c, 0x8e, 0x31, 0x06, 0xc1, 0xd6, 0x63, 0x18, 0x8b, 0xab, | ||
3975 | 0xdf, 0x68, 0xd5, 0xdd, 0x65, 0xf8, 0x74, 0x02, 0xe3, 0xd5, 0xae, 0x49, | ||
3976 | 0x85, 0x47, 0x2d, 0x59, 0x71, 0x7f, 0xa5, 0x15, 0xcb, 0x97, 0xb5, 0x52, | ||
3977 | 0x79, 0x18, 0x73, 0x46, 0xf9, 0x5b, 0x9f, 0x3d, 0xc0, 0x49, 0x53, 0xd5, | ||
3978 | 0x1d, 0x69, 0x4a, 0x80, 0x26, 0xbd, 0x8d, 0xa6, 0x04, 0xe8, 0x41, 0xcc, | ||
3979 | 0x3c, 0xc5, 0xde, 0xf1, 0xa8, 0x9c, 0x28, 0xf3, 0x9d, 0x26, 0xfe, 0x46, | ||
3980 | 0xd5, 0x90, 0x30, 0xb0, 0x65, 0xe4, 0x94, 0x19, 0x5f, 0x57, 0xbd, 0x1a, | ||
3981 | 0x73, 0xb8, 0x2e, 0x23, 0xa9, 0xba, 0xa8, 0xfc, 0x92, 0x38, 0x81, 0x7c, | ||
3982 | 0xf5, 0x86, 0xdb, 0x23, 0x6f, 0xfa, 0x7b, 0x5d, 0x14, 0x9e, 0x33, 0x6e, | ||
3983 | 0xdf, 0xeb, 0xc9, 0x4a, 0x2a, 0xf3, 0x8a, 0x15, 0xf2, 0xf9, 0xea, 0xc3, | ||
3984 | 0x5e, 0x7b, 0x30, 0x37, 0x95, 0x39, 0xdf, 0xd8, 0x69, 0xae, 0x83, 0xb9, | ||
3985 | 0x91, 0xb6, 0xb9, 0x0e, 0xe6, 0xf5, 0x20, 0xef, 0xf5, 0x28, 0x9e, 0x4a, | ||
3986 | 0xa0, 0xeb, 0x52, 0x99, 0x3c, 0xf1, 0x0c, 0x82, 0x7b, 0x1a, 0xc4, 0xc6, | ||
3987 | 0x53, 0xe2, 0x9f, 0xd9, 0xf2, 0xf7, 0x7a, 0x57, 0xf5, 0x6b, 0x94, 0x0d, | ||
3988 | 0x4c, 0x58, 0x3c, 0x9b, 0x99, 0xd1, 0xb2, 0xf5, 0x3c, 0x72, 0xd5, 0x8d, | ||
3989 | 0xc4, 0x43, 0x29, 0x1b, 0xb9, 0x92, 0xe7, 0x3c, 0x8d, 0x72, 0x81, 0xef, | ||
3990 | 0x3d, 0xc3, 0x2e, 0xde, 0x21, 0x5e, 0xbe, 0x31, 0xa4, 0xde, 0x43, 0x70, | ||
3991 | 0xfc, 0x73, 0x20, 0x31, 0x32, 0x63, 0x7c, 0xf7, 0xe0, 0x6e, 0xa9, 0x2f, | ||
3992 | 0x7f, 0x11, 0x63, 0x19, 0xe4, 0xc5, 0x43, 0x5a, 0xe6, 0xdc, 0x24, 0xae, | ||
3993 | 0x1f, 0xc2, 0x35, 0xe2, 0xf0, 0x72, 0x0e, 0xf7, 0x1f, 0xc2, 0xf5, 0xbc, | ||
3994 | 0x96, 0x6d, 0xe6, 0x70, 0xfd, 0x30, 0xae, 0x27, 0x48, 0x9b, 0xf3, 0x8a, | ||
3995 | 0x35, 0xa5, 0xd9, 0x58, 0xcb, 0x3e, 0x37, 0x89, 0x4f, 0xfb, 0x7a, 0xbc, | ||
3996 | 0x07, 0x3d, 0x95, 0x79, 0x3e, 0x96, 0x04, 0x4d, 0x0f, 0x6a, 0x4e, 0xbd, | ||
3997 | 0x1b, 0x6b, 0x0c, 0xe1, 0x79, 0xda, 0x54, 0xfb, 0x39, 0xd4, 0x6d, 0xaa, | ||
3998 | 0x67, 0x14, 0x4a, 0xa7, 0x81, 0x77, 0x1f, 0x41, 0xde, 0xd7, 0xc4, 0xb1, | ||
3999 | 0x1e, 0x97, 0x62, 0x2a, 0x2d, 0x0b, 0xf5, 0x90, 0x64, 0x63, 0x05, 0x7c, | ||
4000 | 0x2f, 0x48, 0x66, 0x1c, 0xf7, 0xeb, 0xb4, 0x05, 0xce, 0x2b, 0x49, 0xb1, | ||
4001 | 0x4a, 0xfc, 0xce, 0x7e, 0xd1, 0x57, 0xc0, 0x37, 0xfb, 0x44, 0x79, 0xc8, | ||
4002 | 0x20, 0x46, 0xfb, 0xdd, 0xa1, 0xa7, 0xe5, 0xbd, 0xd3, 0x8c, 0x7c, 0xac, | ||
4003 | 0x65, 0xea, 0xfe, 0x59, 0x9d, 0xc5, 0xdf, 0x2b, 0xb1, 0x47, 0x25, 0xc5, | ||
4004 | 0x50, 0x9a, 0x7d, 0x0e, 0xd5, 0x17, 0x4f, 0x79, 0x67, 0x7a, 0xed, 0xef, | ||
4005 | 0x90, 0x04, 0xfe, 0xc2, 0x7d, 0xbf, 0x82, 0xe7, 0xbd, 0xbe, 0x54, 0xb6, | ||
4006 | 0xf9, 0x41, 0x5d, 0xf0, 0x5d, 0xfd, 0x15, 0xe8, 0xe2, 0xfc, 0x87, 0xf6, | ||
4007 | 0xb9, 0xd8, 0xe3, 0x9a, 0x47, 0x2c, 0x62, 0x7f, 0x2c, 0x90, 0xdf, 0xd5, | ||
4008 | 0x34, 0x92, 0xbe, 0xc3, 0x58, 0x4b, 0x52, 0x8c, 0xb3, 0xb9, 0x58, 0x42, | ||
4009 | 0xd5, 0xbe, 0x1b, 0x4b, 0xf2, 0xc4, 0x16, 0xbd, 0xa4, 0x95, 0x72, 0x78, | ||
4010 | 0x04, 0xf5, 0x1a, 0x7f, 0xff, 0xf0, 0xb8, 0xe4, 0x53, 0xec, 0xd1, 0x84, | ||
4011 | 0x90, 0x0b, 0x0b, 0xf8, 0xbe, 0x25, 0xb7, 0x92, 0x2f, 0xb7, 0x7c, 0xf5, | ||
4012 | 0x5b, 0x4a, 0x77, 0x35, 0x8b, 0xfb, 0x05, 0xbd, 0x8b, 0x69, 0xa5, 0xb3, | ||
4013 | 0x9a, 0x7a, 0xcf, 0x36, 0xe0, 0x3d, 0xe8, 0xbf, 0xed, 0x6c, 0x73, 0x93, | ||
4014 | 0x16, 0x69, 0xfb, 0x38, 0xdf, 0x5b, 0x18, 0xb6, 0x85, 0xf4, 0x93, 0x0f, | ||
4015 | 0xe6, 0xac, 0xe0, 0x5c, 0x34, 0xe0, 0x21, 0xe0, 0xf3, 0xa3, 0xca, 0x85, | ||
4016 | 0x74, 0xee, 0x31, 0xa4, 0x7b, 0xca, 0x08, 0x59, 0xcc, 0x01, 0x9f, 0xf6, | ||
4017 | 0xfb, 0xf8, 0xff, 0x37, 0xe5, 0xea, 0xf1, 0x1e, 0x86, 0xa8, 0xfc, 0xdf, | ||
4018 | 0x8b, 0xee, 0xa0, 0xf7, 0xab, 0xcf, 0x80, 0x0d, 0xe7, 0xac, 0xb5, 0xc5, | ||
4019 | 0x67, 0x6d, 0x07, 0x3e, 0x6b, 0x3e, 0x9f, 0x1f, 0x7e, 0x4e, 0xea, 0xd1, | ||
4020 | 0x59, 0x5b, 0xb2, 0xc1, 0x23, 0x6d, 0x6a, 0x27, 0x7b, 0xe3, 0x6f, 0x9c, | ||
4021 | 0xd4, 0xef, 0xad, 0xa2, 0xb6, 0x7b, 0xad, 0x5e, 0x27, 0xeb, 0x64, 0xcf, | ||
4022 | 0xee, 0xce, 0x22, 0xd7, 0x55, 0xab, 0x5e, 0xcd, 0x5c, 0x75, 0xd9, 0x6b, | ||
4023 | 0xde, 0x69, 0x6f, 0x0d, 0x34, 0xff, 0x8e, 0x7a, 0xef, 0xa4, 0xe4, 0x7a, | ||
4024 | 0x7d, 0xa9, 0x6a, 0xb5, 0x3d, 0x57, 0xde, 0xc0, 0x3c, 0x39, 0x5c, 0x90, | ||
4025 | 0x19, 0xe8, 0x31, 0x89, 0xeb, 0x9b, 0xe5, 0xe5, 0x65, 0x75, 0x86, 0xe4, | ||
4026 | 0x9f, 0xd5, 0xf0, 0x0c, 0x46, 0x9d, 0x43, 0x23, 0x5e, 0xcd, 0xaa, 0x78, | ||
4027 | 0xbd, 0xb1, 0xac, 0xee, 0xa9, 0xdf, 0x3c, 0xd4, 0xdd, 0x19, 0xc4, 0x73, | ||
4028 | 0xd4, 0x06, 0xd6, 0x6e, 0x29, 0xa2, 0x86, 0x3e, 0x6b, 0xcd, 0x18, 0xc4, | ||
4029 | 0x29, 0x5c, 0x6b, 0x03, 0x6b, 0x9d, 0x5f, 0x96, 0xbd, 0x7c, 0xa7, 0xa3, | ||
4030 | 0xaa, 0xce, 0xbd, 0xbc, 0x7e, 0xf5, 0xbc, 0x04, 0xbf, 0xd7, 0x8d, 0xfa, | ||
4031 | 0x39, 0x8e, 0xef, 0x95, 0xf0, 0xb7, 0xa7, 0x8c, 0x01, 0xa8, 0x6b, 0x66, | ||
4032 | 0x0a, 0x58, 0xaf, 0xd5, 0xf2, 0xfa, 0xd9, 0x2d, 0xd8, 0x7d, 0x84, 0xbf, | ||
4033 | 0x65, 0xc0, 0xdf, 0x23, 0xb0, 0x13, 0xf8, 0xc1, 0xe6, 0x38, 0xaf, 0x59, | ||
4034 | 0x4b, 0x04, 0xd7, 0x4c, 0x58, 0xff, 0x1b, 0xed, 0xcc, 0xfa, 0xa1, 0x98, | ||
4035 | 0x41, 0x00, 0x00, 0x00 }; | ||
4036 | static u32 bnx2_TXP_b09FwData[(0xd0/4) + 1] = { | ||
4037 | 0x00000000, 0x00000014, 0x00000014, 0x00000014, 0x00000014, 0x00000010, | ||
4038 | 0x00000030, 0x00000030, 0x00000000, 0x00000000, 0x00000000, 0x00000010, | ||
4039 | 0x00008000, 0x00000000, 0x00000000, 0x00000000, 0x00008002, 0x00000000, | ||
4040 | 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000, | ||
4041 | 0x00000000, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
4042 | 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, | ||
4043 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, | ||
4044 | 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
4045 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }; | ||
4046 | static u32 bnx2_TXP_b09FwRodata[(0x30/4) + 1] = { | ||
4047 | 0x08003be8, 0x08003c14, 0x08003c5c, 0x08003c5c, 0x08003ae8, 0x08003b14, | ||
4048 | 0x08003b14, 0x08003c5c, 0x08003c5c, 0x08003c5c, 0x08003b7c, 0x00000000, | ||
4049 | 0x00000000 }; | ||
4050 | static u32 bnx2_TXP_b09FwBss[(0xa20/4) + 1] = { 0x0 }; | ||
4051 | static u32 bnx2_TXP_b09FwSbss[(0x80/4) + 1] = { 0x0 }; | ||
4052 | |||
4053 | static struct fw_info bnx2_txp_fw_09 = { | ||
4054 | .ver_major = 0x1, | ||
4055 | .ver_minor = 0x0, | ||
4056 | .ver_fix = 0x0, | ||
4057 | |||
4058 | .start_addr = 0x08000060, | ||
4059 | |||
4060 | .text_addr = 0x08000000, | ||
4061 | .text_len = 0x4194, | ||
4062 | .text_index = 0x0, | ||
4063 | .gz_text = bnx2_TXP_b09FwText, | ||
4064 | .gz_text_len = sizeof(bnx2_TXP_b09FwText), | ||
4065 | |||
4066 | .data_addr = 0x080041e0, | ||
4067 | .data_len = 0xd0, | ||
4068 | .data_index = 0x0, | ||
4069 | .data = bnx2_TXP_b09FwData, | ||
4070 | |||
4071 | .sbss_addr = 0x080042b0, | ||
4072 | .sbss_len = 0x80, | ||
4073 | .sbss_index = 0x0, | ||
4074 | .sbss = bnx2_TXP_b09FwSbss, | ||
4075 | |||
4076 | .bss_addr = 0x08004330, | ||
4077 | .bss_len = 0xa20, | ||
4078 | .bss_index = 0x0, | ||
4079 | .bss = bnx2_TXP_b09FwBss, | ||
4080 | |||
4081 | .rodata_addr = 0x08004198, | ||
4082 | .rodata_len = 0x30, | ||
4083 | .rodata_index = 0x0, | ||
4084 | .rodata = bnx2_TXP_b09FwRodata, | ||
4085 | }; | ||
4086 | |||
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 488d8ed9e740..6482aed4bb7c 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -3684,7 +3684,7 @@ static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd | |||
3684 | mii->val_out = 0; | 3684 | mii->val_out = 0; |
3685 | read_lock_bh(&bond->lock); | 3685 | read_lock_bh(&bond->lock); |
3686 | read_lock(&bond->curr_slave_lock); | 3686 | read_lock(&bond->curr_slave_lock); |
3687 | if (bond->curr_active_slave) { | 3687 | if (netif_carrier_ok(bond->dev)) { |
3688 | mii->val_out = BMSR_LSTATUS; | 3688 | mii->val_out = BMSR_LSTATUS; |
3689 | } | 3689 | } |
3690 | read_unlock(&bond->curr_slave_lock); | 3690 | read_unlock(&bond->curr_slave_lock); |
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c index 521c5b71023c..c8126484c2be 100644 --- a/drivers/net/cassini.c +++ b/drivers/net/cassini.c | |||
@@ -2825,7 +2825,7 @@ static inline int cas_xmit_tx_ringN(struct cas *cp, int ring, | |||
2825 | u64 csum_start_off, csum_stuff_off; | 2825 | u64 csum_start_off, csum_stuff_off; |
2826 | 2826 | ||
2827 | csum_start_off = (u64) (skb->h.raw - skb->data); | 2827 | csum_start_off = (u64) (skb->h.raw - skb->data); |
2828 | csum_stuff_off = (u64) ((skb->h.raw + skb->csum) - skb->data); | 2828 | csum_stuff_off = csum_start_off + skb->csum_offset; |
2829 | 2829 | ||
2830 | ctrl = TX_DESC_CSUM_EN | | 2830 | ctrl = TX_DESC_CSUM_EN | |
2831 | CAS_BASE(TX_DESC_CSUM_START, csum_start_off) | | 2831 | CAS_BASE(TX_DESC_CSUM_START, csum_start_off) | |
@@ -4066,9 +4066,9 @@ static int cas_alloc_rxds(struct cas *cp) | |||
4066 | return 0; | 4066 | return 0; |
4067 | } | 4067 | } |
4068 | 4068 | ||
4069 | static void cas_reset_task(void *data) | 4069 | static void cas_reset_task(struct work_struct *work) |
4070 | { | 4070 | { |
4071 | struct cas *cp = (struct cas *) data; | 4071 | struct cas *cp = container_of(work, struct cas, reset_task); |
4072 | #if 0 | 4072 | #if 0 |
4073 | int pending = atomic_read(&cp->reset_task_pending); | 4073 | int pending = atomic_read(&cp->reset_task_pending); |
4074 | #else | 4074 | #else |
@@ -5006,7 +5006,7 @@ static int __devinit cas_init_one(struct pci_dev *pdev, | |||
5006 | atomic_set(&cp->reset_task_pending_spare, 0); | 5006 | atomic_set(&cp->reset_task_pending_spare, 0); |
5007 | atomic_set(&cp->reset_task_pending_mtu, 0); | 5007 | atomic_set(&cp->reset_task_pending_mtu, 0); |
5008 | #endif | 5008 | #endif |
5009 | INIT_WORK(&cp->reset_task, cas_reset_task, cp); | 5009 | INIT_WORK(&cp->reset_task, cas_reset_task); |
5010 | 5010 | ||
5011 | /* Default link parameters */ | 5011 | /* Default link parameters */ |
5012 | if (link_mode >= 0 && link_mode <= 6) | 5012 | if (link_mode >= 0 && link_mode <= 6) |
diff --git a/drivers/net/chelsio/common.h b/drivers/net/chelsio/common.h index b265941e1372..74758d2c7af8 100644 --- a/drivers/net/chelsio/common.h +++ b/drivers/net/chelsio/common.h | |||
@@ -279,7 +279,7 @@ struct adapter { | |||
279 | struct petp *tp; | 279 | struct petp *tp; |
280 | 280 | ||
281 | struct port_info port[MAX_NPORTS]; | 281 | struct port_info port[MAX_NPORTS]; |
282 | struct work_struct stats_update_task; | 282 | struct delayed_work stats_update_task; |
283 | struct timer_list stats_update_timer; | 283 | struct timer_list stats_update_timer; |
284 | 284 | ||
285 | spinlock_t tpi_lock; | 285 | spinlock_t tpi_lock; |
diff --git a/drivers/net/chelsio/cphy.h b/drivers/net/chelsio/cphy.h index 60901f25014e..cf9143499882 100644 --- a/drivers/net/chelsio/cphy.h +++ b/drivers/net/chelsio/cphy.h | |||
@@ -91,7 +91,7 @@ struct cphy { | |||
91 | int state; /* Link status state machine */ | 91 | int state; /* Link status state machine */ |
92 | adapter_t *adapter; /* associated adapter */ | 92 | adapter_t *adapter; /* associated adapter */ |
93 | 93 | ||
94 | struct work_struct phy_update; | 94 | struct delayed_work phy_update; |
95 | 95 | ||
96 | u16 bmsr; | 96 | u16 bmsr; |
97 | int count; | 97 | int count; |
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c index 53bec6739812..de48eadddbc4 100644 --- a/drivers/net/chelsio/cxgb2.c +++ b/drivers/net/chelsio/cxgb2.c | |||
@@ -953,10 +953,11 @@ static void t1_netpoll(struct net_device *dev) | |||
953 | * Periodic accumulation of MAC statistics. This is used only if the MAC | 953 | * Periodic accumulation of MAC statistics. This is used only if the MAC |
954 | * does not have any other way to prevent stats counter overflow. | 954 | * does not have any other way to prevent stats counter overflow. |
955 | */ | 955 | */ |
956 | static void mac_stats_task(void *data) | 956 | static void mac_stats_task(struct work_struct *work) |
957 | { | 957 | { |
958 | int i; | 958 | int i; |
959 | struct adapter *adapter = data; | 959 | struct adapter *adapter = |
960 | container_of(work, struct adapter, stats_update_task.work); | ||
960 | 961 | ||
961 | for_each_port(adapter, i) { | 962 | for_each_port(adapter, i) { |
962 | struct port_info *p = &adapter->port[i]; | 963 | struct port_info *p = &adapter->port[i]; |
@@ -977,9 +978,10 @@ static void mac_stats_task(void *data) | |||
977 | /* | 978 | /* |
978 | * Processes elmer0 external interrupts in process context. | 979 | * Processes elmer0 external interrupts in process context. |
979 | */ | 980 | */ |
980 | static void ext_intr_task(void *data) | 981 | static void ext_intr_task(struct work_struct *work) |
981 | { | 982 | { |
982 | struct adapter *adapter = data; | 983 | struct adapter *adapter = |
984 | container_of(work, struct adapter, ext_intr_handler_task); | ||
983 | 985 | ||
984 | t1_elmer0_ext_intr_handler(adapter); | 986 | t1_elmer0_ext_intr_handler(adapter); |
985 | 987 | ||
@@ -1113,9 +1115,9 @@ static int __devinit init_one(struct pci_dev *pdev, | |||
1113 | spin_lock_init(&adapter->mac_lock); | 1115 | spin_lock_init(&adapter->mac_lock); |
1114 | 1116 | ||
1115 | INIT_WORK(&adapter->ext_intr_handler_task, | 1117 | INIT_WORK(&adapter->ext_intr_handler_task, |
1116 | ext_intr_task, adapter); | 1118 | ext_intr_task); |
1117 | INIT_WORK(&adapter->stats_update_task, mac_stats_task, | 1119 | INIT_DELAYED_WORK(&adapter->stats_update_task, |
1118 | adapter); | 1120 | mac_stats_task); |
1119 | 1121 | ||
1120 | pci_set_drvdata(pdev, netdev); | 1122 | pci_set_drvdata(pdev, netdev); |
1121 | } | 1123 | } |
diff --git a/drivers/net/chelsio/my3126.c b/drivers/net/chelsio/my3126.c index 0b90014d5b3e..c7731b6f9de3 100644 --- a/drivers/net/chelsio/my3126.c +++ b/drivers/net/chelsio/my3126.c | |||
@@ -93,9 +93,11 @@ static int my3126_interrupt_handler(struct cphy *cphy) | |||
93 | return cphy_cause_link_change; | 93 | return cphy_cause_link_change; |
94 | } | 94 | } |
95 | 95 | ||
96 | static void my3216_poll(void *arg) | 96 | static void my3216_poll(struct work_struct *work) |
97 | { | 97 | { |
98 | my3126_interrupt_handler(arg); | 98 | struct cphy *cphy = container_of(work, struct cphy, phy_update.work); |
99 | |||
100 | my3126_interrupt_handler(cphy); | ||
99 | } | 101 | } |
100 | 102 | ||
101 | static int my3126_set_loopback(struct cphy *cphy, int on) | 103 | static int my3126_set_loopback(struct cphy *cphy, int on) |
@@ -171,7 +173,7 @@ static struct cphy *my3126_phy_create(adapter_t *adapter, | |||
171 | if (cphy) | 173 | if (cphy) |
172 | cphy_init(cphy, adapter, phy_addr, &my3126_ops, mdio_ops); | 174 | cphy_init(cphy, adapter, phy_addr, &my3126_ops, mdio_ops); |
173 | 175 | ||
174 | INIT_WORK(&cphy->phy_update, my3216_poll, cphy); | 176 | INIT_DELAYED_WORK(&cphy->phy_update, my3216_poll); |
175 | cphy->bmsr = 0; | 177 | cphy->bmsr = 0; |
176 | 178 | ||
177 | return (cphy); | 179 | return (cphy); |
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c index dec70c2b374a..4612f71a7106 100644 --- a/drivers/net/cs89x0.c +++ b/drivers/net/cs89x0.c | |||
@@ -1974,7 +1974,7 @@ out: | |||
1974 | return ret; | 1974 | return ret; |
1975 | } | 1975 | } |
1976 | 1976 | ||
1977 | void | 1977 | void __exit |
1978 | cleanup_module(void) | 1978 | cleanup_module(void) |
1979 | { | 1979 | { |
1980 | unregister_netdev(dev_cs89x0); | 1980 | unregister_netdev(dev_cs89x0); |
diff --git a/drivers/net/declance.c b/drivers/net/declance.c index 00e2a8a134d7..4ae0fed7122e 100644 --- a/drivers/net/declance.c +++ b/drivers/net/declance.c | |||
@@ -40,6 +40,10 @@ | |||
40 | * | 40 | * |
41 | * v0.009: Module support fixes, multiple interfaces support, various | 41 | * v0.009: Module support fixes, multiple interfaces support, various |
42 | * bits. macro | 42 | * bits. macro |
43 | * | ||
44 | * v0.010: Fixes for the PMAD mapping of the LANCE buffer and for the | ||
45 | * PMAX requirement to only use halfword accesses to the | ||
46 | * buffer. macro | ||
43 | */ | 47 | */ |
44 | 48 | ||
45 | #include <linux/crc32.h> | 49 | #include <linux/crc32.h> |
@@ -54,6 +58,7 @@ | |||
54 | #include <linux/spinlock.h> | 58 | #include <linux/spinlock.h> |
55 | #include <linux/stddef.h> | 59 | #include <linux/stddef.h> |
56 | #include <linux/string.h> | 60 | #include <linux/string.h> |
61 | #include <linux/types.h> | ||
57 | 62 | ||
58 | #include <asm/addrspace.h> | 63 | #include <asm/addrspace.h> |
59 | #include <asm/system.h> | 64 | #include <asm/system.h> |
@@ -67,7 +72,7 @@ | |||
67 | #include <asm/dec/tc.h> | 72 | #include <asm/dec/tc.h> |
68 | 73 | ||
69 | static char version[] __devinitdata = | 74 | static char version[] __devinitdata = |
70 | "declance.c: v0.009 by Linux MIPS DECstation task force\n"; | 75 | "declance.c: v0.010 by Linux MIPS DECstation task force\n"; |
71 | 76 | ||
72 | MODULE_AUTHOR("Linux MIPS DECstation task force"); | 77 | MODULE_AUTHOR("Linux MIPS DECstation task force"); |
73 | MODULE_DESCRIPTION("DEC LANCE (DECstation onboard, PMAD-xx) driver"); | 78 | MODULE_DESCRIPTION("DEC LANCE (DECstation onboard, PMAD-xx) driver"); |
@@ -110,24 +115,25 @@ MODULE_LICENSE("GPL"); | |||
110 | #define LE_C3_BCON 0x1 /* Byte control */ | 115 | #define LE_C3_BCON 0x1 /* Byte control */ |
111 | 116 | ||
112 | /* Receive message descriptor 1 */ | 117 | /* Receive message descriptor 1 */ |
113 | #define LE_R1_OWN 0x80 /* Who owns the entry */ | 118 | #define LE_R1_OWN 0x8000 /* Who owns the entry */ |
114 | #define LE_R1_ERR 0x40 /* Error: if FRA, OFL, CRC or BUF is set */ | 119 | #define LE_R1_ERR 0x4000 /* Error: if FRA, OFL, CRC or BUF is set */ |
115 | #define LE_R1_FRA 0x20 /* FRA: Frame error */ | 120 | #define LE_R1_FRA 0x2000 /* FRA: Frame error */ |
116 | #define LE_R1_OFL 0x10 /* OFL: Frame overflow */ | 121 | #define LE_R1_OFL 0x1000 /* OFL: Frame overflow */ |
117 | #define LE_R1_CRC 0x08 /* CRC error */ | 122 | #define LE_R1_CRC 0x0800 /* CRC error */ |
118 | #define LE_R1_BUF 0x04 /* BUF: Buffer error */ | 123 | #define LE_R1_BUF 0x0400 /* BUF: Buffer error */ |
119 | #define LE_R1_SOP 0x02 /* Start of packet */ | 124 | #define LE_R1_SOP 0x0200 /* Start of packet */ |
120 | #define LE_R1_EOP 0x01 /* End of packet */ | 125 | #define LE_R1_EOP 0x0100 /* End of packet */ |
121 | #define LE_R1_POK 0x03 /* Packet is complete: SOP + EOP */ | 126 | #define LE_R1_POK 0x0300 /* Packet is complete: SOP + EOP */ |
122 | 127 | ||
123 | #define LE_T1_OWN 0x80 /* Lance owns the packet */ | 128 | /* Transmit message descriptor 1 */ |
124 | #define LE_T1_ERR 0x40 /* Error summary */ | 129 | #define LE_T1_OWN 0x8000 /* Lance owns the packet */ |
125 | #define LE_T1_EMORE 0x10 /* Error: more than one retry needed */ | 130 | #define LE_T1_ERR 0x4000 /* Error summary */ |
126 | #define LE_T1_EONE 0x08 /* Error: one retry needed */ | 131 | #define LE_T1_EMORE 0x1000 /* Error: more than one retry needed */ |
127 | #define LE_T1_EDEF 0x04 /* Error: deferred */ | 132 | #define LE_T1_EONE 0x0800 /* Error: one retry needed */ |
128 | #define LE_T1_SOP 0x02 /* Start of packet */ | 133 | #define LE_T1_EDEF 0x0400 /* Error: deferred */ |
129 | #define LE_T1_EOP 0x01 /* End of packet */ | 134 | #define LE_T1_SOP 0x0200 /* Start of packet */ |
130 | #define LE_T1_POK 0x03 /* Packet is complete: SOP + EOP */ | 135 | #define LE_T1_EOP 0x0100 /* End of packet */ |
136 | #define LE_T1_POK 0x0300 /* Packet is complete: SOP + EOP */ | ||
131 | 137 | ||
132 | #define LE_T3_BUF 0x8000 /* Buffer error */ | 138 | #define LE_T3_BUF 0x8000 /* Buffer error */ |
133 | #define LE_T3_UFL 0x4000 /* Error underflow */ | 139 | #define LE_T3_UFL 0x4000 /* Error underflow */ |
@@ -156,69 +162,57 @@ MODULE_LICENSE("GPL"); | |||
156 | #undef TEST_HITS | 162 | #undef TEST_HITS |
157 | #define ZERO 0 | 163 | #define ZERO 0 |
158 | 164 | ||
159 | /* The DS2000/3000 have a linear 64 KB buffer. | 165 | /* |
160 | 166 | * The DS2100/3100 have a linear 64 kB buffer which supports halfword | |
161 | * The PMAD-AA has 128 kb buffer on-board. | 167 | * accesses only. Each halfword of the buffer is word-aligned in the |
168 | * CPU address space. | ||
162 | * | 169 | * |
163 | * The IOASIC LANCE devices use a shared memory region. This region as seen | 170 | * The PMAD-AA has a 128 kB buffer on-board. |
164 | * from the CPU is (max) 128 KB long and has to be on an 128 KB boundary. | ||
165 | * The LANCE sees this as a 64 KB long continuous memory region. | ||
166 | * | 171 | * |
167 | * The LANCE's DMA address is used as an index in this buffer and DMA takes | 172 | * The IOASIC LANCE devices use a shared memory region. This region |
168 | * place in bursts of eight 16-Bit words which are packed into four 32-Bit words | 173 | * as seen from the CPU is (max) 128 kB long and has to be on an 128 kB |
169 | * by the IOASIC. This leads to a strange padding: 16 bytes of valid data followed | 174 | * boundary. The LANCE sees this as a 64 kB long continuous memory |
170 | * by a 16 byte gap :-(. | 175 | * region. |
176 | * | ||
177 | * The LANCE's DMA address is used as an index in this buffer and DMA | ||
178 | * takes place in bursts of eight 16-bit words which are packed into | ||
179 | * four 32-bit words by the IOASIC. This leads to a strange padding: | ||
180 | * 16 bytes of valid data followed by a 16 byte gap :-(. | ||
171 | */ | 181 | */ |
172 | 182 | ||
173 | struct lance_rx_desc { | 183 | struct lance_rx_desc { |
174 | unsigned short rmd0; /* low address of packet */ | 184 | unsigned short rmd0; /* low address of packet */ |
175 | short gap0; | 185 | unsigned short rmd1; /* high address of packet |
176 | unsigned char rmd1_hadr; /* high address of packet */ | 186 | and descriptor bits */ |
177 | unsigned char rmd1_bits; /* descriptor bits */ | ||
178 | short gap1; | ||
179 | short length; /* 2s complement (negative!) | 187 | short length; /* 2s complement (negative!) |
180 | of buffer length */ | 188 | of buffer length */ |
181 | short gap2; | ||
182 | unsigned short mblength; /* actual number of bytes received */ | 189 | unsigned short mblength; /* actual number of bytes received */ |
183 | short gap3; | ||
184 | }; | 190 | }; |
185 | 191 | ||
186 | struct lance_tx_desc { | 192 | struct lance_tx_desc { |
187 | unsigned short tmd0; /* low address of packet */ | 193 | unsigned short tmd0; /* low address of packet */ |
188 | short gap0; | 194 | unsigned short tmd1; /* high address of packet |
189 | unsigned char tmd1_hadr; /* high address of packet */ | 195 | and descriptor bits */ |
190 | unsigned char tmd1_bits; /* descriptor bits */ | ||
191 | short gap1; | ||
192 | short length; /* 2s complement (negative!) | 196 | short length; /* 2s complement (negative!) |
193 | of buffer length */ | 197 | of buffer length */ |
194 | short gap2; | ||
195 | unsigned short misc; | 198 | unsigned short misc; |
196 | short gap3; | ||
197 | }; | 199 | }; |
198 | 200 | ||
199 | 201 | ||
200 | /* First part of the LANCE initialization block, described in databook. */ | 202 | /* First part of the LANCE initialization block, described in databook. */ |
201 | struct lance_init_block { | 203 | struct lance_init_block { |
202 | unsigned short mode; /* pre-set mode (reg. 15) */ | 204 | unsigned short mode; /* pre-set mode (reg. 15) */ |
203 | short gap0; | ||
204 | 205 | ||
205 | unsigned char phys_addr[12]; /* physical ethernet address | 206 | unsigned short phys_addr[3]; /* physical ethernet address */ |
206 | only 0, 1, 4, 5, 8, 9 are valid | 207 | unsigned short filter[4]; /* multicast filter */ |
207 | 2, 3, 6, 7, 10, 11 are gaps */ | ||
208 | unsigned short filter[8]; /* multicast filter | ||
209 | only 0, 2, 4, 6 are valid | ||
210 | 1, 3, 5, 7 are gaps */ | ||
211 | 208 | ||
212 | /* Receive and transmit ring base, along with extra bits. */ | 209 | /* Receive and transmit ring base, along with extra bits. */ |
213 | unsigned short rx_ptr; /* receive descriptor addr */ | 210 | unsigned short rx_ptr; /* receive descriptor addr */ |
214 | short gap1; | ||
215 | unsigned short rx_len; /* receive len and high addr */ | 211 | unsigned short rx_len; /* receive len and high addr */ |
216 | short gap2; | ||
217 | unsigned short tx_ptr; /* transmit descriptor addr */ | 212 | unsigned short tx_ptr; /* transmit descriptor addr */ |
218 | short gap3; | ||
219 | unsigned short tx_len; /* transmit len and high addr */ | 213 | unsigned short tx_len; /* transmit len and high addr */ |
220 | short gap4; | 214 | |
221 | short gap5[8]; | 215 | short gap[4]; |
222 | 216 | ||
223 | /* The buffer descriptors */ | 217 | /* The buffer descriptors */ |
224 | struct lance_rx_desc brx_ring[RX_RING_SIZE]; | 218 | struct lance_rx_desc brx_ring[RX_RING_SIZE]; |
@@ -226,15 +220,28 @@ struct lance_init_block { | |||
226 | }; | 220 | }; |
227 | 221 | ||
228 | #define BUF_OFFSET_CPU sizeof(struct lance_init_block) | 222 | #define BUF_OFFSET_CPU sizeof(struct lance_init_block) |
229 | #define BUF_OFFSET_LNC (sizeof(struct lance_init_block)>>1) | 223 | #define BUF_OFFSET_LNC sizeof(struct lance_init_block) |
230 | 224 | ||
231 | #define libdesc_offset(rt, elem) \ | 225 | #define shift_off(off, type) \ |
232 | ((__u32)(((unsigned long)(&(((struct lance_init_block *)0)->rt[elem]))))) | 226 | (type == ASIC_LANCE || type == PMAX_LANCE ? off << 1 : off) |
233 | 227 | ||
234 | /* | 228 | #define lib_off(rt, type) \ |
235 | * This works *only* for the ring descriptors | 229 | shift_off(offsetof(struct lance_init_block, rt), type) |
236 | */ | 230 | |
237 | #define LANCE_ADDR(x) (CPHYSADDR(x) >> 1) | 231 | #define lib_ptr(ib, rt, type) \ |
232 | ((volatile u16 *)((u8 *)(ib) + lib_off(rt, type))) | ||
233 | |||
234 | #define rds_off(rt, type) \ | ||
235 | shift_off(offsetof(struct lance_rx_desc, rt), type) | ||
236 | |||
237 | #define rds_ptr(rd, rt, type) \ | ||
238 | ((volatile u16 *)((u8 *)(rd) + rds_off(rt, type))) | ||
239 | |||
240 | #define tds_off(rt, type) \ | ||
241 | shift_off(offsetof(struct lance_tx_desc, rt), type) | ||
242 | |||
243 | #define tds_ptr(td, rt, type) \ | ||
244 | ((volatile u16 *)((u8 *)(td) + tds_off(rt, type))) | ||
238 | 245 | ||
239 | struct lance_private { | 246 | struct lance_private { |
240 | struct net_device *next; | 247 | struct net_device *next; |
@@ -242,7 +249,6 @@ struct lance_private { | |||
242 | int slot; | 249 | int slot; |
243 | int dma_irq; | 250 | int dma_irq; |
244 | volatile struct lance_regs *ll; | 251 | volatile struct lance_regs *ll; |
245 | volatile struct lance_init_block *init_block; | ||
246 | 252 | ||
247 | spinlock_t lock; | 253 | spinlock_t lock; |
248 | 254 | ||
@@ -260,8 +266,8 @@ struct lance_private { | |||
260 | char *tx_buf_ptr_cpu[TX_RING_SIZE]; | 266 | char *tx_buf_ptr_cpu[TX_RING_SIZE]; |
261 | 267 | ||
262 | /* Pointers to the ring buffers as seen from the LANCE */ | 268 | /* Pointers to the ring buffers as seen from the LANCE */ |
263 | char *rx_buf_ptr_lnc[RX_RING_SIZE]; | 269 | uint rx_buf_ptr_lnc[RX_RING_SIZE]; |
264 | char *tx_buf_ptr_lnc[TX_RING_SIZE]; | 270 | uint tx_buf_ptr_lnc[TX_RING_SIZE]; |
265 | }; | 271 | }; |
266 | 272 | ||
267 | #define TX_BUFFS_AVAIL ((lp->tx_old<=lp->tx_new)?\ | 273 | #define TX_BUFFS_AVAIL ((lp->tx_old<=lp->tx_new)?\ |
@@ -294,7 +300,7 @@ static inline void writereg(volatile unsigned short *regptr, short value) | |||
294 | static void load_csrs(struct lance_private *lp) | 300 | static void load_csrs(struct lance_private *lp) |
295 | { | 301 | { |
296 | volatile struct lance_regs *ll = lp->ll; | 302 | volatile struct lance_regs *ll = lp->ll; |
297 | int leptr; | 303 | uint leptr; |
298 | 304 | ||
299 | /* The address space as seen from the LANCE | 305 | /* The address space as seen from the LANCE |
300 | * begins at address 0. HK | 306 | * begins at address 0. HK |
@@ -316,12 +322,14 @@ static void load_csrs(struct lance_private *lp) | |||
316 | * Our specialized copy routines | 322 | * Our specialized copy routines |
317 | * | 323 | * |
318 | */ | 324 | */ |
319 | void cp_to_buf(const int type, void *to, const void *from, int len) | 325 | static void cp_to_buf(const int type, void *to, const void *from, int len) |
320 | { | 326 | { |
321 | unsigned short *tp, *fp, clen; | 327 | unsigned short *tp, *fp, clen; |
322 | unsigned char *rtp, *rfp; | 328 | unsigned char *rtp, *rfp; |
323 | 329 | ||
324 | if (type == PMAX_LANCE) { | 330 | if (type == PMAD_LANCE) { |
331 | memcpy(to, from, len); | ||
332 | } else if (type == PMAX_LANCE) { | ||
325 | clen = len >> 1; | 333 | clen = len >> 1; |
326 | tp = (unsigned short *) to; | 334 | tp = (unsigned short *) to; |
327 | fp = (unsigned short *) from; | 335 | fp = (unsigned short *) from; |
@@ -370,12 +378,14 @@ void cp_to_buf(const int type, void *to, const void *from, int len) | |||
370 | iob(); | 378 | iob(); |
371 | } | 379 | } |
372 | 380 | ||
373 | void cp_from_buf(const int type, void *to, const void *from, int len) | 381 | static void cp_from_buf(const int type, void *to, const void *from, int len) |
374 | { | 382 | { |
375 | unsigned short *tp, *fp, clen; | 383 | unsigned short *tp, *fp, clen; |
376 | unsigned char *rtp, *rfp; | 384 | unsigned char *rtp, *rfp; |
377 | 385 | ||
378 | if (type == PMAX_LANCE) { | 386 | if (type == PMAD_LANCE) { |
387 | memcpy(to, from, len); | ||
388 | } else if (type == PMAX_LANCE) { | ||
379 | clen = len >> 1; | 389 | clen = len >> 1; |
380 | tp = (unsigned short *) to; | 390 | tp = (unsigned short *) to; |
381 | fp = (unsigned short *) from; | 391 | fp = (unsigned short *) from; |
@@ -431,12 +441,10 @@ void cp_from_buf(const int type, void *to, const void *from, int len) | |||
431 | static void lance_init_ring(struct net_device *dev) | 441 | static void lance_init_ring(struct net_device *dev) |
432 | { | 442 | { |
433 | struct lance_private *lp = netdev_priv(dev); | 443 | struct lance_private *lp = netdev_priv(dev); |
434 | volatile struct lance_init_block *ib; | 444 | volatile u16 *ib = (volatile u16 *)dev->mem_start; |
435 | int leptr; | 445 | uint leptr; |
436 | int i; | 446 | int i; |
437 | 447 | ||
438 | ib = (struct lance_init_block *) (dev->mem_start); | ||
439 | |||
440 | /* Lock out other processes while setting up hardware */ | 448 | /* Lock out other processes while setting up hardware */ |
441 | netif_stop_queue(dev); | 449 | netif_stop_queue(dev); |
442 | lp->rx_new = lp->tx_new = 0; | 450 | lp->rx_new = lp->tx_new = 0; |
@@ -445,55 +453,64 @@ static void lance_init_ring(struct net_device *dev) | |||
445 | /* Copy the ethernet address to the lance init block. | 453 | /* Copy the ethernet address to the lance init block. |
446 | * XXX bit 0 of the physical address registers has to be zero | 454 | * XXX bit 0 of the physical address registers has to be zero |
447 | */ | 455 | */ |
448 | ib->phys_addr[0] = dev->dev_addr[0]; | 456 | *lib_ptr(ib, phys_addr[0], lp->type) = (dev->dev_addr[1] << 8) | |
449 | ib->phys_addr[1] = dev->dev_addr[1]; | 457 | dev->dev_addr[0]; |
450 | ib->phys_addr[4] = dev->dev_addr[2]; | 458 | *lib_ptr(ib, phys_addr[1], lp->type) = (dev->dev_addr[3] << 8) | |
451 | ib->phys_addr[5] = dev->dev_addr[3]; | 459 | dev->dev_addr[2]; |
452 | ib->phys_addr[8] = dev->dev_addr[4]; | 460 | *lib_ptr(ib, phys_addr[2], lp->type) = (dev->dev_addr[5] << 8) | |
453 | ib->phys_addr[9] = dev->dev_addr[5]; | 461 | dev->dev_addr[4]; |
454 | /* Setup the initialization block */ | 462 | /* Setup the initialization block */ |
455 | 463 | ||
456 | /* Setup rx descriptor pointer */ | 464 | /* Setup rx descriptor pointer */ |
457 | leptr = LANCE_ADDR(libdesc_offset(brx_ring, 0)); | 465 | leptr = offsetof(struct lance_init_block, brx_ring); |
458 | ib->rx_len = (LANCE_LOG_RX_BUFFERS << 13) | (leptr >> 16); | 466 | *lib_ptr(ib, rx_len, lp->type) = (LANCE_LOG_RX_BUFFERS << 13) | |
459 | ib->rx_ptr = leptr; | 467 | (leptr >> 16); |
468 | *lib_ptr(ib, rx_ptr, lp->type) = leptr; | ||
460 | if (ZERO) | 469 | if (ZERO) |
461 | printk("RX ptr: %8.8x(%8.8x)\n", leptr, libdesc_offset(brx_ring, 0)); | 470 | printk("RX ptr: %8.8x(%8.8x)\n", |
471 | leptr, lib_off(brx_ring, lp->type)); | ||
462 | 472 | ||
463 | /* Setup tx descriptor pointer */ | 473 | /* Setup tx descriptor pointer */ |
464 | leptr = LANCE_ADDR(libdesc_offset(btx_ring, 0)); | 474 | leptr = offsetof(struct lance_init_block, btx_ring); |
465 | ib->tx_len = (LANCE_LOG_TX_BUFFERS << 13) | (leptr >> 16); | 475 | *lib_ptr(ib, tx_len, lp->type) = (LANCE_LOG_TX_BUFFERS << 13) | |
466 | ib->tx_ptr = leptr; | 476 | (leptr >> 16); |
477 | *lib_ptr(ib, tx_ptr, lp->type) = leptr; | ||
467 | if (ZERO) | 478 | if (ZERO) |
468 | printk("TX ptr: %8.8x(%8.8x)\n", leptr, libdesc_offset(btx_ring, 0)); | 479 | printk("TX ptr: %8.8x(%8.8x)\n", |
480 | leptr, lib_off(btx_ring, lp->type)); | ||
469 | 481 | ||
470 | if (ZERO) | 482 | if (ZERO) |
471 | printk("TX rings:\n"); | 483 | printk("TX rings:\n"); |
472 | 484 | ||
473 | /* Setup the Tx ring entries */ | 485 | /* Setup the Tx ring entries */ |
474 | for (i = 0; i < TX_RING_SIZE; i++) { | 486 | for (i = 0; i < TX_RING_SIZE; i++) { |
475 | leptr = (int) lp->tx_buf_ptr_lnc[i]; | 487 | leptr = lp->tx_buf_ptr_lnc[i]; |
476 | ib->btx_ring[i].tmd0 = leptr; | 488 | *lib_ptr(ib, btx_ring[i].tmd0, lp->type) = leptr; |
477 | ib->btx_ring[i].tmd1_hadr = leptr >> 16; | 489 | *lib_ptr(ib, btx_ring[i].tmd1, lp->type) = (leptr >> 16) & |
478 | ib->btx_ring[i].tmd1_bits = 0; | 490 | 0xff; |
479 | ib->btx_ring[i].length = 0xf000; /* The ones required by tmd2 */ | 491 | *lib_ptr(ib, btx_ring[i].length, lp->type) = 0xf000; |
480 | ib->btx_ring[i].misc = 0; | 492 | /* The ones required by tmd2 */ |
493 | *lib_ptr(ib, btx_ring[i].misc, lp->type) = 0; | ||
481 | if (i < 3 && ZERO) | 494 | if (i < 3 && ZERO) |
482 | printk("%d: 0x%8.8x(0x%8.8x)\n", i, leptr, (int) lp->tx_buf_ptr_cpu[i]); | 495 | printk("%d: 0x%8.8x(0x%8.8x)\n", |
496 | i, leptr, (uint)lp->tx_buf_ptr_cpu[i]); | ||
483 | } | 497 | } |
484 | 498 | ||
485 | /* Setup the Rx ring entries */ | 499 | /* Setup the Rx ring entries */ |
486 | if (ZERO) | 500 | if (ZERO) |
487 | printk("RX rings:\n"); | 501 | printk("RX rings:\n"); |
488 | for (i = 0; i < RX_RING_SIZE; i++) { | 502 | for (i = 0; i < RX_RING_SIZE; i++) { |
489 | leptr = (int) lp->rx_buf_ptr_lnc[i]; | 503 | leptr = lp->rx_buf_ptr_lnc[i]; |
490 | ib->brx_ring[i].rmd0 = leptr; | 504 | *lib_ptr(ib, brx_ring[i].rmd0, lp->type) = leptr; |
491 | ib->brx_ring[i].rmd1_hadr = leptr >> 16; | 505 | *lib_ptr(ib, brx_ring[i].rmd1, lp->type) = ((leptr >> 16) & |
492 | ib->brx_ring[i].rmd1_bits = LE_R1_OWN; | 506 | 0xff) | |
493 | ib->brx_ring[i].length = -RX_BUFF_SIZE | 0xf000; | 507 | LE_R1_OWN; |
494 | ib->brx_ring[i].mblength = 0; | 508 | *lib_ptr(ib, brx_ring[i].length, lp->type) = -RX_BUFF_SIZE | |
509 | 0xf000; | ||
510 | *lib_ptr(ib, brx_ring[i].mblength, lp->type) = 0; | ||
495 | if (i < 3 && ZERO) | 511 | if (i < 3 && ZERO) |
496 | printk("%d: 0x%8.8x(0x%8.8x)\n", i, leptr, (int) lp->rx_buf_ptr_cpu[i]); | 512 | printk("%d: 0x%8.8x(0x%8.8x)\n", |
513 | i, leptr, (uint)lp->rx_buf_ptr_cpu[i]); | ||
497 | } | 514 | } |
498 | iob(); | 515 | iob(); |
499 | } | 516 | } |
@@ -511,11 +528,13 @@ static int init_restart_lance(struct lance_private *lp) | |||
511 | udelay(10); | 528 | udelay(10); |
512 | } | 529 | } |
513 | if ((i == 100) || (ll->rdp & LE_C0_ERR)) { | 530 | if ((i == 100) || (ll->rdp & LE_C0_ERR)) { |
514 | printk("LANCE unopened after %d ticks, csr0=%4.4x.\n", i, ll->rdp); | 531 | printk("LANCE unopened after %d ticks, csr0=%4.4x.\n", |
532 | i, ll->rdp); | ||
515 | return -1; | 533 | return -1; |
516 | } | 534 | } |
517 | if ((ll->rdp & LE_C0_ERR)) { | 535 | if ((ll->rdp & LE_C0_ERR)) { |
518 | printk("LANCE unopened after %d ticks, csr0=%4.4x.\n", i, ll->rdp); | 536 | printk("LANCE unopened after %d ticks, csr0=%4.4x.\n", |
537 | i, ll->rdp); | ||
519 | return -1; | 538 | return -1; |
520 | } | 539 | } |
521 | writereg(&ll->rdp, LE_C0_IDON); | 540 | writereg(&ll->rdp, LE_C0_IDON); |
@@ -528,12 +547,11 @@ static int init_restart_lance(struct lance_private *lp) | |||
528 | static int lance_rx(struct net_device *dev) | 547 | static int lance_rx(struct net_device *dev) |
529 | { | 548 | { |
530 | struct lance_private *lp = netdev_priv(dev); | 549 | struct lance_private *lp = netdev_priv(dev); |
531 | volatile struct lance_init_block *ib; | 550 | volatile u16 *ib = (volatile u16 *)dev->mem_start; |
532 | volatile struct lance_rx_desc *rd = 0; | 551 | volatile u16 *rd; |
533 | unsigned char bits; | 552 | unsigned short bits; |
534 | int len = 0; | 553 | int entry, len; |
535 | struct sk_buff *skb = 0; | 554 | struct sk_buff *skb; |
536 | ib = (struct lance_init_block *) (dev->mem_start); | ||
537 | 555 | ||
538 | #ifdef TEST_HITS | 556 | #ifdef TEST_HITS |
539 | { | 557 | { |
@@ -542,19 +560,22 @@ static int lance_rx(struct net_device *dev) | |||
542 | printk("["); | 560 | printk("["); |
543 | for (i = 0; i < RX_RING_SIZE; i++) { | 561 | for (i = 0; i < RX_RING_SIZE; i++) { |
544 | if (i == lp->rx_new) | 562 | if (i == lp->rx_new) |
545 | printk("%s", ib->brx_ring[i].rmd1_bits & | 563 | printk("%s", *lib_ptr(ib, brx_ring[i].rmd1, |
564 | lp->type) & | ||
546 | LE_R1_OWN ? "_" : "X"); | 565 | LE_R1_OWN ? "_" : "X"); |
547 | else | 566 | else |
548 | printk("%s", ib->brx_ring[i].rmd1_bits & | 567 | printk("%s", *lib_ptr(ib, brx_ring[i].rmd1, |
568 | lp->type) & | ||
549 | LE_R1_OWN ? "." : "1"); | 569 | LE_R1_OWN ? "." : "1"); |
550 | } | 570 | } |
551 | printk("]"); | 571 | printk("]"); |
552 | } | 572 | } |
553 | #endif | 573 | #endif |
554 | 574 | ||
555 | for (rd = &ib->brx_ring[lp->rx_new]; | 575 | for (rd = lib_ptr(ib, brx_ring[lp->rx_new], lp->type); |
556 | !((bits = rd->rmd1_bits) & LE_R1_OWN); | 576 | !((bits = *rds_ptr(rd, rmd1, lp->type)) & LE_R1_OWN); |
557 | rd = &ib->brx_ring[lp->rx_new]) { | 577 | rd = lib_ptr(ib, brx_ring[lp->rx_new], lp->type)) { |
578 | entry = lp->rx_new; | ||
558 | 579 | ||
559 | /* We got an incomplete frame? */ | 580 | /* We got an incomplete frame? */ |
560 | if ((bits & LE_R1_POK) != LE_R1_POK) { | 581 | if ((bits & LE_R1_POK) != LE_R1_POK) { |
@@ -575,16 +596,18 @@ static int lance_rx(struct net_device *dev) | |||
575 | if (bits & LE_R1_EOP) | 596 | if (bits & LE_R1_EOP) |
576 | lp->stats.rx_errors++; | 597 | lp->stats.rx_errors++; |
577 | } else { | 598 | } else { |
578 | len = (rd->mblength & 0xfff) - 4; | 599 | len = (*rds_ptr(rd, mblength, lp->type) & 0xfff) - 4; |
579 | skb = dev_alloc_skb(len + 2); | 600 | skb = dev_alloc_skb(len + 2); |
580 | 601 | ||
581 | if (skb == 0) { | 602 | if (skb == 0) { |
582 | printk("%s: Memory squeeze, deferring packet.\n", | 603 | printk("%s: Memory squeeze, deferring packet.\n", |
583 | dev->name); | 604 | dev->name); |
584 | lp->stats.rx_dropped++; | 605 | lp->stats.rx_dropped++; |
585 | rd->mblength = 0; | 606 | *rds_ptr(rd, mblength, lp->type) = 0; |
586 | rd->rmd1_bits = LE_R1_OWN; | 607 | *rds_ptr(rd, rmd1, lp->type) = |
587 | lp->rx_new = (lp->rx_new + 1) & RX_RING_MOD_MASK; | 608 | ((lp->rx_buf_ptr_lnc[entry] >> 16) & |
609 | 0xff) | LE_R1_OWN; | ||
610 | lp->rx_new = (entry + 1) & RX_RING_MOD_MASK; | ||
588 | return 0; | 611 | return 0; |
589 | } | 612 | } |
590 | lp->stats.rx_bytes += len; | 613 | lp->stats.rx_bytes += len; |
@@ -594,8 +617,7 @@ static int lance_rx(struct net_device *dev) | |||
594 | skb_put(skb, len); /* make room */ | 617 | skb_put(skb, len); /* make room */ |
595 | 618 | ||
596 | cp_from_buf(lp->type, skb->data, | 619 | cp_from_buf(lp->type, skb->data, |
597 | (char *)lp->rx_buf_ptr_cpu[lp->rx_new], | 620 | (char *)lp->rx_buf_ptr_cpu[entry], len); |
598 | len); | ||
599 | 621 | ||
600 | skb->protocol = eth_type_trans(skb, dev); | 622 | skb->protocol = eth_type_trans(skb, dev); |
601 | netif_rx(skb); | 623 | netif_rx(skb); |
@@ -604,10 +626,11 @@ static int lance_rx(struct net_device *dev) | |||
604 | } | 626 | } |
605 | 627 | ||
606 | /* Return the packet to the pool */ | 628 | /* Return the packet to the pool */ |
607 | rd->mblength = 0; | 629 | *rds_ptr(rd, mblength, lp->type) = 0; |
608 | rd->length = -RX_BUFF_SIZE | 0xf000; | 630 | *rds_ptr(rd, length, lp->type) = -RX_BUFF_SIZE | 0xf000; |
609 | rd->rmd1_bits = LE_R1_OWN; | 631 | *rds_ptr(rd, rmd1, lp->type) = |
610 | lp->rx_new = (lp->rx_new + 1) & RX_RING_MOD_MASK; | 632 | ((lp->rx_buf_ptr_lnc[entry] >> 16) & 0xff) | LE_R1_OWN; |
633 | lp->rx_new = (entry + 1) & RX_RING_MOD_MASK; | ||
611 | } | 634 | } |
612 | return 0; | 635 | return 0; |
613 | } | 636 | } |
@@ -615,24 +638,24 @@ static int lance_rx(struct net_device *dev) | |||
615 | static void lance_tx(struct net_device *dev) | 638 | static void lance_tx(struct net_device *dev) |
616 | { | 639 | { |
617 | struct lance_private *lp = netdev_priv(dev); | 640 | struct lance_private *lp = netdev_priv(dev); |
618 | volatile struct lance_init_block *ib; | 641 | volatile u16 *ib = (volatile u16 *)dev->mem_start; |
619 | volatile struct lance_regs *ll = lp->ll; | 642 | volatile struct lance_regs *ll = lp->ll; |
620 | volatile struct lance_tx_desc *td; | 643 | volatile u16 *td; |
621 | int i, j; | 644 | int i, j; |
622 | int status; | 645 | int status; |
623 | ib = (struct lance_init_block *) (dev->mem_start); | 646 | |
624 | j = lp->tx_old; | 647 | j = lp->tx_old; |
625 | 648 | ||
626 | spin_lock(&lp->lock); | 649 | spin_lock(&lp->lock); |
627 | 650 | ||
628 | for (i = j; i != lp->tx_new; i = j) { | 651 | for (i = j; i != lp->tx_new; i = j) { |
629 | td = &ib->btx_ring[i]; | 652 | td = lib_ptr(ib, btx_ring[i], lp->type); |
630 | /* If we hit a packet not owned by us, stop */ | 653 | /* If we hit a packet not owned by us, stop */ |
631 | if (td->tmd1_bits & LE_T1_OWN) | 654 | if (*tds_ptr(td, tmd1, lp->type) & LE_T1_OWN) |
632 | break; | 655 | break; |
633 | 656 | ||
634 | if (td->tmd1_bits & LE_T1_ERR) { | 657 | if (*tds_ptr(td, tmd1, lp->type) & LE_T1_ERR) { |
635 | status = td->misc; | 658 | status = *tds_ptr(td, misc, lp->type); |
636 | 659 | ||
637 | lp->stats.tx_errors++; | 660 | lp->stats.tx_errors++; |
638 | if (status & LE_T3_RTY) | 661 | if (status & LE_T3_RTY) |
@@ -667,18 +690,19 @@ static void lance_tx(struct net_device *dev) | |||
667 | init_restart_lance(lp); | 690 | init_restart_lance(lp); |
668 | goto out; | 691 | goto out; |
669 | } | 692 | } |
670 | } else if ((td->tmd1_bits & LE_T1_POK) == LE_T1_POK) { | 693 | } else if ((*tds_ptr(td, tmd1, lp->type) & LE_T1_POK) == |
694 | LE_T1_POK) { | ||
671 | /* | 695 | /* |
672 | * So we don't count the packet more than once. | 696 | * So we don't count the packet more than once. |
673 | */ | 697 | */ |
674 | td->tmd1_bits &= ~(LE_T1_POK); | 698 | *tds_ptr(td, tmd1, lp->type) &= ~(LE_T1_POK); |
675 | 699 | ||
676 | /* One collision before packet was sent. */ | 700 | /* One collision before packet was sent. */ |
677 | if (td->tmd1_bits & LE_T1_EONE) | 701 | if (*tds_ptr(td, tmd1, lp->type) & LE_T1_EONE) |
678 | lp->stats.collisions++; | 702 | lp->stats.collisions++; |
679 | 703 | ||
680 | /* More than one collision, be optimistic. */ | 704 | /* More than one collision, be optimistic. */ |
681 | if (td->tmd1_bits & LE_T1_EMORE) | 705 | if (*tds_ptr(td, tmd1, lp->type) & LE_T1_EMORE) |
682 | lp->stats.collisions += 2; | 706 | lp->stats.collisions += 2; |
683 | 707 | ||
684 | lp->stats.tx_packets++; | 708 | lp->stats.tx_packets++; |
@@ -752,7 +776,7 @@ struct net_device *last_dev = 0; | |||
752 | 776 | ||
753 | static int lance_open(struct net_device *dev) | 777 | static int lance_open(struct net_device *dev) |
754 | { | 778 | { |
755 | volatile struct lance_init_block *ib = (struct lance_init_block *) (dev->mem_start); | 779 | volatile u16 *ib = (volatile u16 *)dev->mem_start; |
756 | struct lance_private *lp = netdev_priv(dev); | 780 | struct lance_private *lp = netdev_priv(dev); |
757 | volatile struct lance_regs *ll = lp->ll; | 781 | volatile struct lance_regs *ll = lp->ll; |
758 | int status = 0; | 782 | int status = 0; |
@@ -769,11 +793,11 @@ static int lance_open(struct net_device *dev) | |||
769 | * | 793 | * |
770 | * BTW it is common bug in all lance drivers! --ANK | 794 | * BTW it is common bug in all lance drivers! --ANK |
771 | */ | 795 | */ |
772 | ib->mode = 0; | 796 | *lib_ptr(ib, mode, lp->type) = 0; |
773 | ib->filter [0] = 0; | 797 | *lib_ptr(ib, filter[0], lp->type) = 0; |
774 | ib->filter [2] = 0; | 798 | *lib_ptr(ib, filter[1], lp->type) = 0; |
775 | ib->filter [4] = 0; | 799 | *lib_ptr(ib, filter[2], lp->type) = 0; |
776 | ib->filter [6] = 0; | 800 | *lib_ptr(ib, filter[3], lp->type) = 0; |
777 | 801 | ||
778 | lance_init_ring(dev); | 802 | lance_init_ring(dev); |
779 | load_csrs(lp); | 803 | load_csrs(lp); |
@@ -874,12 +898,10 @@ static int lance_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
874 | { | 898 | { |
875 | struct lance_private *lp = netdev_priv(dev); | 899 | struct lance_private *lp = netdev_priv(dev); |
876 | volatile struct lance_regs *ll = lp->ll; | 900 | volatile struct lance_regs *ll = lp->ll; |
877 | volatile struct lance_init_block *ib = (struct lance_init_block *) (dev->mem_start); | 901 | volatile u16 *ib = (volatile u16 *)dev->mem_start; |
878 | int entry, skblen, len; | 902 | int entry, len; |
879 | 903 | ||
880 | skblen = skb->len; | 904 | len = skb->len; |
881 | |||
882 | len = skblen; | ||
883 | 905 | ||
884 | if (len < ETH_ZLEN) { | 906 | if (len < ETH_ZLEN) { |
885 | if (skb_padto(skb, ETH_ZLEN)) | 907 | if (skb_padto(skb, ETH_ZLEN)) |
@@ -889,23 +911,17 @@ static int lance_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
889 | 911 | ||
890 | lp->stats.tx_bytes += len; | 912 | lp->stats.tx_bytes += len; |
891 | 913 | ||
892 | entry = lp->tx_new & TX_RING_MOD_MASK; | 914 | entry = lp->tx_new; |
893 | ib->btx_ring[entry].length = (-len); | 915 | *lib_ptr(ib, btx_ring[entry].length, lp->type) = (-len); |
894 | ib->btx_ring[entry].misc = 0; | 916 | *lib_ptr(ib, btx_ring[entry].misc, lp->type) = 0; |
895 | |||
896 | cp_to_buf(lp->type, (char *)lp->tx_buf_ptr_cpu[entry], skb->data, | ||
897 | skblen); | ||
898 | 917 | ||
899 | /* Clear the slack of the packet, do I need this? */ | 918 | cp_to_buf(lp->type, (char *)lp->tx_buf_ptr_cpu[entry], skb->data, len); |
900 | /* For a firewall it's a good idea - AC */ | ||
901 | /* | ||
902 | if (len != skblen) | ||
903 | memset ((char *) &ib->tx_buf [entry][skblen], 0, (len - skblen) << 1); | ||
904 | */ | ||
905 | 919 | ||
906 | /* Now, give the packet to the lance */ | 920 | /* Now, give the packet to the lance */ |
907 | ib->btx_ring[entry].tmd1_bits = (LE_T1_POK | LE_T1_OWN); | 921 | *lib_ptr(ib, btx_ring[entry].tmd1, lp->type) = |
908 | lp->tx_new = (lp->tx_new + 1) & TX_RING_MOD_MASK; | 922 | ((lp->tx_buf_ptr_lnc[entry] >> 16) & 0xff) | |
923 | (LE_T1_POK | LE_T1_OWN); | ||
924 | lp->tx_new = (entry + 1) & TX_RING_MOD_MASK; | ||
909 | 925 | ||
910 | if (TX_BUFFS_AVAIL <= 0) | 926 | if (TX_BUFFS_AVAIL <= 0) |
911 | netif_stop_queue(dev); | 927 | netif_stop_queue(dev); |
@@ -930,8 +946,8 @@ static struct net_device_stats *lance_get_stats(struct net_device *dev) | |||
930 | 946 | ||
931 | static void lance_load_multicast(struct net_device *dev) | 947 | static void lance_load_multicast(struct net_device *dev) |
932 | { | 948 | { |
933 | volatile struct lance_init_block *ib = (struct lance_init_block *) (dev->mem_start); | 949 | struct lance_private *lp = netdev_priv(dev); |
934 | volatile u16 *mcast_table = (u16 *) & ib->filter; | 950 | volatile u16 *ib = (volatile u16 *)dev->mem_start; |
935 | struct dev_mc_list *dmi = dev->mc_list; | 951 | struct dev_mc_list *dmi = dev->mc_list; |
936 | char *addrs; | 952 | char *addrs; |
937 | int i; | 953 | int i; |
@@ -939,17 +955,17 @@ static void lance_load_multicast(struct net_device *dev) | |||
939 | 955 | ||
940 | /* set all multicast bits */ | 956 | /* set all multicast bits */ |
941 | if (dev->flags & IFF_ALLMULTI) { | 957 | if (dev->flags & IFF_ALLMULTI) { |
942 | ib->filter[0] = 0xffff; | 958 | *lib_ptr(ib, filter[0], lp->type) = 0xffff; |
943 | ib->filter[2] = 0xffff; | 959 | *lib_ptr(ib, filter[1], lp->type) = 0xffff; |
944 | ib->filter[4] = 0xffff; | 960 | *lib_ptr(ib, filter[2], lp->type) = 0xffff; |
945 | ib->filter[6] = 0xffff; | 961 | *lib_ptr(ib, filter[3], lp->type) = 0xffff; |
946 | return; | 962 | return; |
947 | } | 963 | } |
948 | /* clear the multicast filter */ | 964 | /* clear the multicast filter */ |
949 | ib->filter[0] = 0; | 965 | *lib_ptr(ib, filter[0], lp->type) = 0; |
950 | ib->filter[2] = 0; | 966 | *lib_ptr(ib, filter[1], lp->type) = 0; |
951 | ib->filter[4] = 0; | 967 | *lib_ptr(ib, filter[2], lp->type) = 0; |
952 | ib->filter[6] = 0; | 968 | *lib_ptr(ib, filter[3], lp->type) = 0; |
953 | 969 | ||
954 | /* Add addresses */ | 970 | /* Add addresses */ |
955 | for (i = 0; i < dev->mc_count; i++) { | 971 | for (i = 0; i < dev->mc_count; i++) { |
@@ -962,7 +978,7 @@ static void lance_load_multicast(struct net_device *dev) | |||
962 | 978 | ||
963 | crc = ether_crc_le(ETH_ALEN, addrs); | 979 | crc = ether_crc_le(ETH_ALEN, addrs); |
964 | crc = crc >> 26; | 980 | crc = crc >> 26; |
965 | mcast_table[2 * (crc >> 4)] |= 1 << (crc & 0xf); | 981 | *lib_ptr(ib, filter[crc >> 4], lp->type) |= 1 << (crc & 0xf); |
966 | } | 982 | } |
967 | return; | 983 | return; |
968 | } | 984 | } |
@@ -970,11 +986,9 @@ static void lance_load_multicast(struct net_device *dev) | |||
970 | static void lance_set_multicast(struct net_device *dev) | 986 | static void lance_set_multicast(struct net_device *dev) |
971 | { | 987 | { |
972 | struct lance_private *lp = netdev_priv(dev); | 988 | struct lance_private *lp = netdev_priv(dev); |
973 | volatile struct lance_init_block *ib; | 989 | volatile u16 *ib = (volatile u16 *)dev->mem_start; |
974 | volatile struct lance_regs *ll = lp->ll; | 990 | volatile struct lance_regs *ll = lp->ll; |
975 | 991 | ||
976 | ib = (struct lance_init_block *) (dev->mem_start); | ||
977 | |||
978 | if (!netif_running(dev)) | 992 | if (!netif_running(dev)) |
979 | return; | 993 | return; |
980 | 994 | ||
@@ -992,9 +1006,9 @@ static void lance_set_multicast(struct net_device *dev) | |||
992 | lance_init_ring(dev); | 1006 | lance_init_ring(dev); |
993 | 1007 | ||
994 | if (dev->flags & IFF_PROMISC) { | 1008 | if (dev->flags & IFF_PROMISC) { |
995 | ib->mode |= LE_MO_PROM; | 1009 | *lib_ptr(ib, mode, lp->type) |= LE_MO_PROM; |
996 | } else { | 1010 | } else { |
997 | ib->mode &= ~LE_MO_PROM; | 1011 | *lib_ptr(ib, mode, lp->type) &= ~LE_MO_PROM; |
998 | lance_load_multicast(dev); | 1012 | lance_load_multicast(dev); |
999 | } | 1013 | } |
1000 | load_csrs(lp); | 1014 | load_csrs(lp); |
@@ -1051,7 +1065,6 @@ static int __init dec_lance_init(const int type, const int slot) | |||
1051 | lp->type = type; | 1065 | lp->type = type; |
1052 | lp->slot = slot; | 1066 | lp->slot = slot; |
1053 | switch (type) { | 1067 | switch (type) { |
1054 | #ifdef CONFIG_TC | ||
1055 | case ASIC_LANCE: | 1068 | case ASIC_LANCE: |
1056 | dev->base_addr = CKSEG1ADDR(dec_kn_slot_base + IOASIC_LANCE); | 1069 | dev->base_addr = CKSEG1ADDR(dec_kn_slot_base + IOASIC_LANCE); |
1057 | 1070 | ||
@@ -1073,20 +1086,20 @@ static int __init dec_lance_init(const int type, const int slot) | |||
1073 | */ | 1086 | */ |
1074 | for (i = 0; i < RX_RING_SIZE; i++) { | 1087 | for (i = 0; i < RX_RING_SIZE; i++) { |
1075 | lp->rx_buf_ptr_cpu[i] = | 1088 | lp->rx_buf_ptr_cpu[i] = |
1076 | (char *)(dev->mem_start + BUF_OFFSET_CPU + | 1089 | (char *)(dev->mem_start + 2 * BUF_OFFSET_CPU + |
1077 | 2 * i * RX_BUFF_SIZE); | 1090 | 2 * i * RX_BUFF_SIZE); |
1078 | lp->rx_buf_ptr_lnc[i] = | 1091 | lp->rx_buf_ptr_lnc[i] = |
1079 | (char *)(BUF_OFFSET_LNC + i * RX_BUFF_SIZE); | 1092 | (BUF_OFFSET_LNC + i * RX_BUFF_SIZE); |
1080 | } | 1093 | } |
1081 | for (i = 0; i < TX_RING_SIZE; i++) { | 1094 | for (i = 0; i < TX_RING_SIZE; i++) { |
1082 | lp->tx_buf_ptr_cpu[i] = | 1095 | lp->tx_buf_ptr_cpu[i] = |
1083 | (char *)(dev->mem_start + BUF_OFFSET_CPU + | 1096 | (char *)(dev->mem_start + 2 * BUF_OFFSET_CPU + |
1084 | 2 * RX_RING_SIZE * RX_BUFF_SIZE + | 1097 | 2 * RX_RING_SIZE * RX_BUFF_SIZE + |
1085 | 2 * i * TX_BUFF_SIZE); | 1098 | 2 * i * TX_BUFF_SIZE); |
1086 | lp->tx_buf_ptr_lnc[i] = | 1099 | lp->tx_buf_ptr_lnc[i] = |
1087 | (char *)(BUF_OFFSET_LNC + | 1100 | (BUF_OFFSET_LNC + |
1088 | RX_RING_SIZE * RX_BUFF_SIZE + | 1101 | RX_RING_SIZE * RX_BUFF_SIZE + |
1089 | i * TX_BUFF_SIZE); | 1102 | i * TX_BUFF_SIZE); |
1090 | } | 1103 | } |
1091 | 1104 | ||
1092 | /* Setup I/O ASIC LANCE DMA. */ | 1105 | /* Setup I/O ASIC LANCE DMA. */ |
@@ -1095,11 +1108,12 @@ static int __init dec_lance_init(const int type, const int slot) | |||
1095 | CPHYSADDR(dev->mem_start) << 3); | 1108 | CPHYSADDR(dev->mem_start) << 3); |
1096 | 1109 | ||
1097 | break; | 1110 | break; |
1098 | 1111 | #ifdef CONFIG_TC | |
1099 | case PMAD_LANCE: | 1112 | case PMAD_LANCE: |
1100 | claim_tc_card(slot); | 1113 | claim_tc_card(slot); |
1101 | 1114 | ||
1102 | dev->mem_start = CKSEG1ADDR(get_tc_base_addr(slot)); | 1115 | dev->mem_start = CKSEG1ADDR(get_tc_base_addr(slot)); |
1116 | dev->mem_end = dev->mem_start + 0x100000; | ||
1103 | dev->base_addr = dev->mem_start + 0x100000; | 1117 | dev->base_addr = dev->mem_start + 0x100000; |
1104 | dev->irq = get_tc_irq_nr(slot); | 1118 | dev->irq = get_tc_irq_nr(slot); |
1105 | esar_base = dev->mem_start + 0x1c0002; | 1119 | esar_base = dev->mem_start + 0x1c0002; |
@@ -1110,7 +1124,7 @@ static int __init dec_lance_init(const int type, const int slot) | |||
1110 | (char *)(dev->mem_start + BUF_OFFSET_CPU + | 1124 | (char *)(dev->mem_start + BUF_OFFSET_CPU + |
1111 | i * RX_BUFF_SIZE); | 1125 | i * RX_BUFF_SIZE); |
1112 | lp->rx_buf_ptr_lnc[i] = | 1126 | lp->rx_buf_ptr_lnc[i] = |
1113 | (char *)(BUF_OFFSET_LNC + i * RX_BUFF_SIZE); | 1127 | (BUF_OFFSET_LNC + i * RX_BUFF_SIZE); |
1114 | } | 1128 | } |
1115 | for (i = 0; i < TX_RING_SIZE; i++) { | 1129 | for (i = 0; i < TX_RING_SIZE; i++) { |
1116 | lp->tx_buf_ptr_cpu[i] = | 1130 | lp->tx_buf_ptr_cpu[i] = |
@@ -1118,18 +1132,18 @@ static int __init dec_lance_init(const int type, const int slot) | |||
1118 | RX_RING_SIZE * RX_BUFF_SIZE + | 1132 | RX_RING_SIZE * RX_BUFF_SIZE + |
1119 | i * TX_BUFF_SIZE); | 1133 | i * TX_BUFF_SIZE); |
1120 | lp->tx_buf_ptr_lnc[i] = | 1134 | lp->tx_buf_ptr_lnc[i] = |
1121 | (char *)(BUF_OFFSET_LNC + | 1135 | (BUF_OFFSET_LNC + |
1122 | RX_RING_SIZE * RX_BUFF_SIZE + | 1136 | RX_RING_SIZE * RX_BUFF_SIZE + |
1123 | i * TX_BUFF_SIZE); | 1137 | i * TX_BUFF_SIZE); |
1124 | } | 1138 | } |
1125 | 1139 | ||
1126 | break; | 1140 | break; |
1127 | #endif | 1141 | #endif |
1128 | |||
1129 | case PMAX_LANCE: | 1142 | case PMAX_LANCE: |
1130 | dev->irq = dec_interrupt[DEC_IRQ_LANCE]; | 1143 | dev->irq = dec_interrupt[DEC_IRQ_LANCE]; |
1131 | dev->base_addr = CKSEG1ADDR(KN01_SLOT_BASE + KN01_LANCE); | 1144 | dev->base_addr = CKSEG1ADDR(KN01_SLOT_BASE + KN01_LANCE); |
1132 | dev->mem_start = CKSEG1ADDR(KN01_SLOT_BASE + KN01_LANCE_MEM); | 1145 | dev->mem_start = CKSEG1ADDR(KN01_SLOT_BASE + KN01_LANCE_MEM); |
1146 | dev->mem_end = dev->mem_start + KN01_SLOT_SIZE; | ||
1133 | esar_base = CKSEG1ADDR(KN01_SLOT_BASE + KN01_ESAR + 1); | 1147 | esar_base = CKSEG1ADDR(KN01_SLOT_BASE + KN01_ESAR + 1); |
1134 | lp->dma_irq = -1; | 1148 | lp->dma_irq = -1; |
1135 | 1149 | ||
@@ -1138,20 +1152,20 @@ static int __init dec_lance_init(const int type, const int slot) | |||
1138 | */ | 1152 | */ |
1139 | for (i = 0; i < RX_RING_SIZE; i++) { | 1153 | for (i = 0; i < RX_RING_SIZE; i++) { |
1140 | lp->rx_buf_ptr_cpu[i] = | 1154 | lp->rx_buf_ptr_cpu[i] = |
1141 | (char *)(dev->mem_start + BUF_OFFSET_CPU + | 1155 | (char *)(dev->mem_start + 2 * BUF_OFFSET_CPU + |
1142 | 2 * i * RX_BUFF_SIZE); | 1156 | 2 * i * RX_BUFF_SIZE); |
1143 | lp->rx_buf_ptr_lnc[i] = | 1157 | lp->rx_buf_ptr_lnc[i] = |
1144 | (char *)(BUF_OFFSET_LNC + i * RX_BUFF_SIZE); | 1158 | (BUF_OFFSET_LNC + i * RX_BUFF_SIZE); |
1145 | } | 1159 | } |
1146 | for (i = 0; i < TX_RING_SIZE; i++) { | 1160 | for (i = 0; i < TX_RING_SIZE; i++) { |
1147 | lp->tx_buf_ptr_cpu[i] = | 1161 | lp->tx_buf_ptr_cpu[i] = |
1148 | (char *)(dev->mem_start + BUF_OFFSET_CPU + | 1162 | (char *)(dev->mem_start + 2 * BUF_OFFSET_CPU + |
1149 | 2 * RX_RING_SIZE * RX_BUFF_SIZE + | 1163 | 2 * RX_RING_SIZE * RX_BUFF_SIZE + |
1150 | 2 * i * TX_BUFF_SIZE); | 1164 | 2 * i * TX_BUFF_SIZE); |
1151 | lp->tx_buf_ptr_lnc[i] = | 1165 | lp->tx_buf_ptr_lnc[i] = |
1152 | (char *)(BUF_OFFSET_LNC + | 1166 | (BUF_OFFSET_LNC + |
1153 | RX_RING_SIZE * RX_BUFF_SIZE + | 1167 | RX_RING_SIZE * RX_BUFF_SIZE + |
1154 | i * TX_BUFF_SIZE); | 1168 | i * TX_BUFF_SIZE); |
1155 | } | 1169 | } |
1156 | 1170 | ||
1157 | break; | 1171 | break; |
@@ -1279,10 +1293,8 @@ static int __init dec_lance_probe(void) | |||
1279 | /* Then handle onboard devices. */ | 1293 | /* Then handle onboard devices. */ |
1280 | if (dec_interrupt[DEC_IRQ_LANCE] >= 0) { | 1294 | if (dec_interrupt[DEC_IRQ_LANCE] >= 0) { |
1281 | if (dec_interrupt[DEC_IRQ_LANCE_MERR] >= 0) { | 1295 | if (dec_interrupt[DEC_IRQ_LANCE_MERR] >= 0) { |
1282 | #ifdef CONFIG_TC | ||
1283 | if (dec_lance_init(ASIC_LANCE, -1) >= 0) | 1296 | if (dec_lance_init(ASIC_LANCE, -1) >= 0) |
1284 | count++; | 1297 | count++; |
1285 | #endif | ||
1286 | } else if (!TURBOCHANNEL) { | 1298 | } else if (!TURBOCHANNEL) { |
1287 | if (dec_lance_init(PMAX_LANCE, -1) >= 0) | 1299 | if (dec_lance_init(PMAX_LANCE, -1) >= 0) |
1288 | count++; | 1300 | count++; |
diff --git a/drivers/net/e100.c b/drivers/net/e100.c index 3a8df479cbda..03bf164f9e8d 100644 --- a/drivers/net/e100.c +++ b/drivers/net/e100.c | |||
@@ -2102,9 +2102,10 @@ static void e100_tx_timeout(struct net_device *netdev) | |||
2102 | schedule_work(&nic->tx_timeout_task); | 2102 | schedule_work(&nic->tx_timeout_task); |
2103 | } | 2103 | } |
2104 | 2104 | ||
2105 | static void e100_tx_timeout_task(struct net_device *netdev) | 2105 | static void e100_tx_timeout_task(struct work_struct *work) |
2106 | { | 2106 | { |
2107 | struct nic *nic = netdev_priv(netdev); | 2107 | struct nic *nic = container_of(work, struct nic, tx_timeout_task); |
2108 | struct net_device *netdev = nic->netdev; | ||
2108 | 2109 | ||
2109 | DPRINTK(TX_ERR, DEBUG, "scb.status=0x%02X\n", | 2110 | DPRINTK(TX_ERR, DEBUG, "scb.status=0x%02X\n", |
2110 | readb(&nic->csr->scb.status)); | 2111 | readb(&nic->csr->scb.status)); |
@@ -2637,8 +2638,7 @@ static int __devinit e100_probe(struct pci_dev *pdev, | |||
2637 | nic->blink_timer.function = e100_blink_led; | 2638 | nic->blink_timer.function = e100_blink_led; |
2638 | nic->blink_timer.data = (unsigned long)nic; | 2639 | nic->blink_timer.data = (unsigned long)nic; |
2639 | 2640 | ||
2640 | INIT_WORK(&nic->tx_timeout_task, | 2641 | INIT_WORK(&nic->tx_timeout_task, e100_tx_timeout_task); |
2641 | (void (*)(void *))e100_tx_timeout_task, netdev); | ||
2642 | 2642 | ||
2643 | if((err = e100_alloc(nic))) { | 2643 | if((err = e100_alloc(nic))) { |
2644 | DPRINTK(PROBE, ERR, "Cannot alloc driver memory, aborting.\n"); | 2644 | DPRINTK(PROBE, ERR, "Cannot alloc driver memory, aborting.\n"); |
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 7a0828869ecf..73f3a85fd238 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -190,7 +190,7 @@ void e1000_set_ethtool_ops(struct net_device *netdev); | |||
190 | static void e1000_enter_82542_rst(struct e1000_adapter *adapter); | 190 | static void e1000_enter_82542_rst(struct e1000_adapter *adapter); |
191 | static void e1000_leave_82542_rst(struct e1000_adapter *adapter); | 191 | static void e1000_leave_82542_rst(struct e1000_adapter *adapter); |
192 | static void e1000_tx_timeout(struct net_device *dev); | 192 | static void e1000_tx_timeout(struct net_device *dev); |
193 | static void e1000_reset_task(struct net_device *dev); | 193 | static void e1000_reset_task(struct work_struct *work); |
194 | static void e1000_smartspeed(struct e1000_adapter *adapter); | 194 | static void e1000_smartspeed(struct e1000_adapter *adapter); |
195 | static int e1000_82547_fifo_workaround(struct e1000_adapter *adapter, | 195 | static int e1000_82547_fifo_workaround(struct e1000_adapter *adapter, |
196 | struct sk_buff *skb); | 196 | struct sk_buff *skb); |
@@ -914,8 +914,7 @@ e1000_probe(struct pci_dev *pdev, | |||
914 | adapter->phy_info_timer.function = &e1000_update_phy_info; | 914 | adapter->phy_info_timer.function = &e1000_update_phy_info; |
915 | adapter->phy_info_timer.data = (unsigned long) adapter; | 915 | adapter->phy_info_timer.data = (unsigned long) adapter; |
916 | 916 | ||
917 | INIT_WORK(&adapter->reset_task, | 917 | INIT_WORK(&adapter->reset_task, e1000_reset_task); |
918 | (void (*)(void *))e1000_reset_task, netdev); | ||
919 | 918 | ||
920 | e1000_check_options(adapter); | 919 | e1000_check_options(adapter); |
921 | 920 | ||
@@ -2826,7 +2825,7 @@ e1000_tx_csum(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | |||
2826 | context_desc = E1000_CONTEXT_DESC(*tx_ring, i); | 2825 | context_desc = E1000_CONTEXT_DESC(*tx_ring, i); |
2827 | 2826 | ||
2828 | context_desc->upper_setup.tcp_fields.tucss = css; | 2827 | context_desc->upper_setup.tcp_fields.tucss = css; |
2829 | context_desc->upper_setup.tcp_fields.tucso = css + skb->csum; | 2828 | context_desc->upper_setup.tcp_fields.tucso = css + skb->csum_offset; |
2830 | context_desc->upper_setup.tcp_fields.tucse = 0; | 2829 | context_desc->upper_setup.tcp_fields.tucse = 0; |
2831 | context_desc->tcp_seg_setup.data = 0; | 2830 | context_desc->tcp_seg_setup.data = 0; |
2832 | context_desc->cmd_and_length = cpu_to_le32(E1000_TXD_CMD_DEXT); | 2831 | context_desc->cmd_and_length = cpu_to_le32(E1000_TXD_CMD_DEXT); |
@@ -3306,9 +3305,10 @@ e1000_tx_timeout(struct net_device *netdev) | |||
3306 | } | 3305 | } |
3307 | 3306 | ||
3308 | static void | 3307 | static void |
3309 | e1000_reset_task(struct net_device *netdev) | 3308 | e1000_reset_task(struct work_struct *work) |
3310 | { | 3309 | { |
3311 | struct e1000_adapter *adapter = netdev_priv(netdev); | 3310 | struct e1000_adapter *adapter = |
3311 | container_of(work, struct e1000_adapter, reset_task); | ||
3312 | 3312 | ||
3313 | e1000_reinit_locked(adapter); | 3313 | e1000_reinit_locked(adapter); |
3314 | } | 3314 | } |
diff --git a/drivers/net/e2100.c b/drivers/net/e2100.c index d39e8480ca56..c62d9c6363c6 100644 --- a/drivers/net/e2100.c +++ b/drivers/net/e2100.c | |||
@@ -463,7 +463,7 @@ static void cleanup_card(struct net_device *dev) | |||
463 | release_region(dev->base_addr, E21_IO_EXTENT); | 463 | release_region(dev->base_addr, E21_IO_EXTENT); |
464 | } | 464 | } |
465 | 465 | ||
466 | void | 466 | void __exit |
467 | cleanup_module(void) | 467 | cleanup_module(void) |
468 | { | 468 | { |
469 | int this_dev; | 469 | int this_dev; |
diff --git a/drivers/net/eepro.c b/drivers/net/eepro.c index a4eb0dc99ecf..b4463094c93a 100644 --- a/drivers/net/eepro.c +++ b/drivers/net/eepro.c | |||
@@ -1827,7 +1827,7 @@ int __init init_module(void) | |||
1827 | return n_eepro ? 0 : -ENODEV; | 1827 | return n_eepro ? 0 : -ENODEV; |
1828 | } | 1828 | } |
1829 | 1829 | ||
1830 | void | 1830 | void __exit |
1831 | cleanup_module(void) | 1831 | cleanup_module(void) |
1832 | { | 1832 | { |
1833 | int i; | 1833 | int i; |
diff --git a/drivers/net/eexpress.c b/drivers/net/eexpress.c index e14be020e562..4a50fcb5ad6b 100644 --- a/drivers/net/eexpress.c +++ b/drivers/net/eexpress.c | |||
@@ -1719,7 +1719,7 @@ int __init init_module(void) | |||
1719 | return -ENXIO; | 1719 | return -ENXIO; |
1720 | } | 1720 | } |
1721 | 1721 | ||
1722 | void cleanup_module(void) | 1722 | void __exit cleanup_module(void) |
1723 | { | 1723 | { |
1724 | int this_dev; | 1724 | int this_dev; |
1725 | 1725 | ||
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c index 6ad696101418..83fa32f72398 100644 --- a/drivers/net/ehea/ehea_main.c +++ b/drivers/net/ehea/ehea_main.c | |||
@@ -2224,11 +2224,12 @@ static int ehea_stop(struct net_device *dev) | |||
2224 | return ret; | 2224 | return ret; |
2225 | } | 2225 | } |
2226 | 2226 | ||
2227 | static void ehea_reset_port(void *data) | 2227 | static void ehea_reset_port(struct work_struct *work) |
2228 | { | 2228 | { |
2229 | int ret; | 2229 | int ret; |
2230 | struct net_device *dev = data; | 2230 | struct ehea_port *port = |
2231 | struct ehea_port *port = netdev_priv(dev); | 2231 | container_of(work, struct ehea_port, reset_task); |
2232 | struct net_device *dev = port->netdev; | ||
2232 | 2233 | ||
2233 | port->resets++; | 2234 | port->resets++; |
2234 | down(&port->port_lock); | 2235 | down(&port->port_lock); |
@@ -2379,7 +2380,7 @@ static int ehea_setup_single_port(struct ehea_port *port, | |||
2379 | dev->tx_timeout = &ehea_tx_watchdog; | 2380 | dev->tx_timeout = &ehea_tx_watchdog; |
2380 | dev->watchdog_timeo = EHEA_WATCH_DOG_TIMEOUT; | 2381 | dev->watchdog_timeo = EHEA_WATCH_DOG_TIMEOUT; |
2381 | 2382 | ||
2382 | INIT_WORK(&port->reset_task, ehea_reset_port, dev); | 2383 | INIT_WORK(&port->reset_task, ehea_reset_port); |
2383 | 2384 | ||
2384 | ehea_set_ethtool_ops(dev); | 2385 | ehea_set_ethtool_ops(dev); |
2385 | 2386 | ||
diff --git a/drivers/net/ehea/ehea_qmr.c b/drivers/net/ehea/ehea_qmr.c index 72ef7bde3346..f143e13b229d 100644 --- a/drivers/net/ehea/ehea_qmr.c +++ b/drivers/net/ehea/ehea_qmr.c | |||
@@ -26,6 +26,7 @@ | |||
26 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 26 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
27 | */ | 27 | */ |
28 | 28 | ||
29 | #include <linux/mm.h> | ||
29 | #include "ehea.h" | 30 | #include "ehea.h" |
30 | #include "ehea_phyp.h" | 31 | #include "ehea_phyp.h" |
31 | #include "ehea_qmr.h" | 32 | #include "ehea_qmr.h" |
diff --git a/drivers/net/es3210.c b/drivers/net/es3210.c index fd7b32a24ea4..2d2ea94a00bb 100644 --- a/drivers/net/es3210.c +++ b/drivers/net/es3210.c | |||
@@ -455,7 +455,7 @@ static void cleanup_card(struct net_device *dev) | |||
455 | iounmap(ei_status.mem); | 455 | iounmap(ei_status.mem); |
456 | } | 456 | } |
457 | 457 | ||
458 | void | 458 | void __exit |
459 | cleanup_module(void) | 459 | cleanup_module(void) |
460 | { | 460 | { |
461 | int this_dev; | 461 | int this_dev; |
diff --git a/drivers/net/eth16i.c b/drivers/net/eth16i.c index b7b8bc2a6307..93283e386f3a 100644 --- a/drivers/net/eth16i.c +++ b/drivers/net/eth16i.c | |||
@@ -1475,7 +1475,7 @@ int __init init_module(void) | |||
1475 | return -ENXIO; | 1475 | return -ENXIO; |
1476 | } | 1476 | } |
1477 | 1477 | ||
1478 | void cleanup_module(void) | 1478 | void __exit cleanup_module(void) |
1479 | { | 1479 | { |
1480 | int this_dev; | 1480 | int this_dev; |
1481 | 1481 | ||
diff --git a/drivers/net/hamradio/baycom_epp.c b/drivers/net/hamradio/baycom_epp.c index 1ed9cccd3c11..3c33d6f6a6a6 100644 --- a/drivers/net/hamradio/baycom_epp.c +++ b/drivers/net/hamradio/baycom_epp.c | |||
@@ -168,8 +168,9 @@ struct baycom_state { | |||
168 | int magic; | 168 | int magic; |
169 | 169 | ||
170 | struct pardevice *pdev; | 170 | struct pardevice *pdev; |
171 | struct net_device *dev; | ||
171 | unsigned int work_running; | 172 | unsigned int work_running; |
172 | struct work_struct run_work; | 173 | struct delayed_work run_work; |
173 | unsigned int modem; | 174 | unsigned int modem; |
174 | unsigned int bitrate; | 175 | unsigned int bitrate; |
175 | unsigned char stat; | 176 | unsigned char stat; |
@@ -659,16 +660,18 @@ static int receive(struct net_device *dev, int cnt) | |||
659 | #define GETTICK(x) | 660 | #define GETTICK(x) |
660 | #endif /* __i386__ */ | 661 | #endif /* __i386__ */ |
661 | 662 | ||
662 | static void epp_bh(struct net_device *dev) | 663 | static void epp_bh(struct work_struct *work) |
663 | { | 664 | { |
665 | struct net_device *dev; | ||
664 | struct baycom_state *bc; | 666 | struct baycom_state *bc; |
665 | struct parport *pp; | 667 | struct parport *pp; |
666 | unsigned char stat; | 668 | unsigned char stat; |
667 | unsigned char tmp[2]; | 669 | unsigned char tmp[2]; |
668 | unsigned int time1 = 0, time2 = 0, time3 = 0; | 670 | unsigned int time1 = 0, time2 = 0, time3 = 0; |
669 | int cnt, cnt2; | 671 | int cnt, cnt2; |
670 | 672 | ||
671 | bc = netdev_priv(dev); | 673 | bc = container_of(work, struct baycom_state, run_work.work); |
674 | dev = bc->dev; | ||
672 | if (!bc->work_running) | 675 | if (!bc->work_running) |
673 | return; | 676 | return; |
674 | baycom_int_freq(bc); | 677 | baycom_int_freq(bc); |
@@ -889,7 +892,7 @@ static int epp_open(struct net_device *dev) | |||
889 | return -EBUSY; | 892 | return -EBUSY; |
890 | } | 893 | } |
891 | dev->irq = /*pp->irq*/ 0; | 894 | dev->irq = /*pp->irq*/ 0; |
892 | INIT_WORK(&bc->run_work, (void *)(void *)epp_bh, dev); | 895 | INIT_DELAYED_WORK(&bc->run_work, epp_bh); |
893 | bc->work_running = 1; | 896 | bc->work_running = 1; |
894 | bc->modem = EPP_CONVENTIONAL; | 897 | bc->modem = EPP_CONVENTIONAL; |
895 | if (eppconfig(bc)) | 898 | if (eppconfig(bc)) |
@@ -1213,6 +1216,7 @@ static void __init baycom_epp_dev_setup(struct net_device *dev) | |||
1213 | /* | 1216 | /* |
1214 | * initialize part of the baycom_state struct | 1217 | * initialize part of the baycom_state struct |
1215 | */ | 1218 | */ |
1219 | bc->dev = dev; | ||
1216 | bc->magic = BAYCOM_MAGIC; | 1220 | bc->magic = BAYCOM_MAGIC; |
1217 | bc->cfg.fclk = 19666600; | 1221 | bc->cfg.fclk = 19666600; |
1218 | bc->cfg.bps = 9600; | 1222 | bc->cfg.bps = 9600; |
diff --git a/drivers/net/hamradio/dmascc.c b/drivers/net/hamradio/dmascc.c index 0f8b9afd55b4..e6e721aff6f6 100644 --- a/drivers/net/hamradio/dmascc.c +++ b/drivers/net/hamradio/dmascc.c | |||
@@ -252,7 +252,7 @@ static inline void z8530_isr(struct scc_info *info); | |||
252 | static irqreturn_t scc_isr(int irq, void *dev_id); | 252 | static irqreturn_t scc_isr(int irq, void *dev_id); |
253 | static void rx_isr(struct scc_priv *priv); | 253 | static void rx_isr(struct scc_priv *priv); |
254 | static void special_condition(struct scc_priv *priv, int rc); | 254 | static void special_condition(struct scc_priv *priv, int rc); |
255 | static void rx_bh(void *arg); | 255 | static void rx_bh(struct work_struct *); |
256 | static void tx_isr(struct scc_priv *priv); | 256 | static void tx_isr(struct scc_priv *priv); |
257 | static void es_isr(struct scc_priv *priv); | 257 | static void es_isr(struct scc_priv *priv); |
258 | static void tm_isr(struct scc_priv *priv); | 258 | static void tm_isr(struct scc_priv *priv); |
@@ -579,7 +579,7 @@ static int __init setup_adapter(int card_base, int type, int n) | |||
579 | priv->param.clocks = TCTRxCP | RCRTxCP; | 579 | priv->param.clocks = TCTRxCP | RCRTxCP; |
580 | priv->param.persist = 256; | 580 | priv->param.persist = 256; |
581 | priv->param.dma = -1; | 581 | priv->param.dma = -1; |
582 | INIT_WORK(&priv->rx_work, rx_bh, priv); | 582 | INIT_WORK(&priv->rx_work, rx_bh); |
583 | dev->priv = priv; | 583 | dev->priv = priv; |
584 | sprintf(dev->name, "dmascc%i", 2 * n + i); | 584 | sprintf(dev->name, "dmascc%i", 2 * n + i); |
585 | dev->base_addr = card_base; | 585 | dev->base_addr = card_base; |
@@ -1272,9 +1272,9 @@ static void special_condition(struct scc_priv *priv, int rc) | |||
1272 | } | 1272 | } |
1273 | 1273 | ||
1274 | 1274 | ||
1275 | static void rx_bh(void *arg) | 1275 | static void rx_bh(struct work_struct *ugli_api) |
1276 | { | 1276 | { |
1277 | struct scc_priv *priv = arg; | 1277 | struct scc_priv *priv = container_of(ugli_api, struct scc_priv, rx_work); |
1278 | int i = priv->rx_tail; | 1278 | int i = priv->rx_tail; |
1279 | int cb; | 1279 | int cb; |
1280 | unsigned long flags; | 1280 | unsigned long flags; |
diff --git a/drivers/net/hp-plus.c b/drivers/net/hp-plus.c index 6abcfd2a4b28..99a36cc3f8df 100644 --- a/drivers/net/hp-plus.c +++ b/drivers/net/hp-plus.c | |||
@@ -482,7 +482,7 @@ static void cleanup_card(struct net_device *dev) | |||
482 | release_region(dev->base_addr - NIC_OFFSET, HP_IO_EXTENT); | 482 | release_region(dev->base_addr - NIC_OFFSET, HP_IO_EXTENT); |
483 | } | 483 | } |
484 | 484 | ||
485 | void | 485 | void __exit |
486 | cleanup_module(void) | 486 | cleanup_module(void) |
487 | { | 487 | { |
488 | int this_dev; | 488 | int this_dev; |
diff --git a/drivers/net/hp.c b/drivers/net/hp.c index 29470970aa27..635b13c2e2aa 100644 --- a/drivers/net/hp.c +++ b/drivers/net/hp.c | |||
@@ -444,7 +444,7 @@ static void cleanup_card(struct net_device *dev) | |||
444 | release_region(dev->base_addr - NIC_OFFSET, HP_IO_EXTENT); | 444 | release_region(dev->base_addr - NIC_OFFSET, HP_IO_EXTENT); |
445 | } | 445 | } |
446 | 446 | ||
447 | void | 447 | void __exit |
448 | cleanup_module(void) | 448 | cleanup_module(void) |
449 | { | 449 | { |
450 | int this_dev; | 450 | int this_dev; |
diff --git a/drivers/net/ibm_emac/ibm_emac_mal.h b/drivers/net/ibm_emac/ibm_emac_mal.h index f73f10a0a562..407d2acbf7c7 100644 --- a/drivers/net/ibm_emac/ibm_emac_mal.h +++ b/drivers/net/ibm_emac/ibm_emac_mal.h | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/netdevice.h> | 24 | #include <linux/netdevice.h> |
25 | 25 | ||
26 | #include <asm/io.h> | 26 | #include <asm/io.h> |
27 | #include <asm/dcr.h> | ||
27 | 28 | ||
28 | /* | 29 | /* |
29 | * These MAL "versions" probably aren't the real versions IBM uses for these | 30 | * These MAL "versions" probably aren't the real versions IBM uses for these |
@@ -191,6 +192,7 @@ struct mal_commac { | |||
191 | 192 | ||
192 | struct ibm_ocp_mal { | 193 | struct ibm_ocp_mal { |
193 | int dcrbase; | 194 | int dcrbase; |
195 | dcr_host_t dcrhost; | ||
194 | 196 | ||
195 | struct list_head poll_list; | 197 | struct list_head poll_list; |
196 | struct net_device poll_dev; | 198 | struct net_device poll_dev; |
@@ -207,12 +209,12 @@ struct ibm_ocp_mal { | |||
207 | 209 | ||
208 | static inline u32 get_mal_dcrn(struct ibm_ocp_mal *mal, int reg) | 210 | static inline u32 get_mal_dcrn(struct ibm_ocp_mal *mal, int reg) |
209 | { | 211 | { |
210 | return mfdcr(mal->dcrbase + reg); | 212 | return dcr_read(mal->dcrhost, mal->dcrbase + reg); |
211 | } | 213 | } |
212 | 214 | ||
213 | static inline void set_mal_dcrn(struct ibm_ocp_mal *mal, int reg, u32 val) | 215 | static inline void set_mal_dcrn(struct ibm_ocp_mal *mal, int reg, u32 val) |
214 | { | 216 | { |
215 | mtdcr(mal->dcrbase + reg, val); | 217 | dcr_write(mal->dcrhost, mal->dcrbase + reg, val); |
216 | } | 218 | } |
217 | 219 | ||
218 | /* Register MAL devices */ | 220 | /* Register MAL devices */ |
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c index 44c9f993dcc4..99343b5836b8 100644 --- a/drivers/net/ibmveth.c +++ b/drivers/net/ibmveth.c | |||
@@ -50,7 +50,6 @@ | |||
50 | #include <asm/semaphore.h> | 50 | #include <asm/semaphore.h> |
51 | #include <asm/hvcall.h> | 51 | #include <asm/hvcall.h> |
52 | #include <asm/atomic.h> | 52 | #include <asm/atomic.h> |
53 | #include <asm/iommu.h> | ||
54 | #include <asm/vio.h> | 53 | #include <asm/vio.h> |
55 | #include <asm/uaccess.h> | 54 | #include <asm/uaccess.h> |
56 | #include <linux/seq_file.h> | 55 | #include <linux/seq_file.h> |
@@ -1000,8 +999,6 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_ | |||
1000 | adapter->mac_addr = 0; | 999 | adapter->mac_addr = 0; |
1001 | memcpy(&adapter->mac_addr, mac_addr_p, 6); | 1000 | memcpy(&adapter->mac_addr, mac_addr_p, 6); |
1002 | 1001 | ||
1003 | adapter->liobn = dev->iommu_table->it_index; | ||
1004 | |||
1005 | netdev->irq = dev->irq; | 1002 | netdev->irq = dev->irq; |
1006 | netdev->open = ibmveth_open; | 1003 | netdev->open = ibmveth_open; |
1007 | netdev->poll = ibmveth_poll; | 1004 | netdev->poll = ibmveth_poll; |
@@ -1115,7 +1112,6 @@ static int ibmveth_seq_show(struct seq_file *seq, void *v) | |||
1115 | seq_printf(seq, "%s %s\n\n", ibmveth_driver_string, ibmveth_driver_version); | 1112 | seq_printf(seq, "%s %s\n\n", ibmveth_driver_string, ibmveth_driver_version); |
1116 | 1113 | ||
1117 | seq_printf(seq, "Unit Address: 0x%x\n", adapter->vdev->unit_address); | 1114 | seq_printf(seq, "Unit Address: 0x%x\n", adapter->vdev->unit_address); |
1118 | seq_printf(seq, "LIOBN: 0x%lx\n", adapter->liobn); | ||
1119 | seq_printf(seq, "Current MAC: %02X:%02X:%02X:%02X:%02X:%02X\n", | 1115 | seq_printf(seq, "Current MAC: %02X:%02X:%02X:%02X:%02X:%02X\n", |
1120 | current_mac[0], current_mac[1], current_mac[2], | 1116 | current_mac[0], current_mac[1], current_mac[2], |
1121 | current_mac[3], current_mac[4], current_mac[5]); | 1117 | current_mac[3], current_mac[4], current_mac[5]); |
diff --git a/drivers/net/ibmveth.h b/drivers/net/ibmveth.h index f5b25bff1540..bb69ccae8ace 100644 --- a/drivers/net/ibmveth.h +++ b/drivers/net/ibmveth.h | |||
@@ -118,7 +118,6 @@ struct ibmveth_adapter { | |||
118 | struct net_device_stats stats; | 118 | struct net_device_stats stats; |
119 | unsigned int mcastFilterSize; | 119 | unsigned int mcastFilterSize; |
120 | unsigned long mac_addr; | 120 | unsigned long mac_addr; |
121 | unsigned long liobn; | ||
122 | void * buffer_list_addr; | 121 | void * buffer_list_addr; |
123 | void * filter_list_addr; | 122 | void * filter_list_addr; |
124 | dma_addr_t buffer_list_dma; | 123 | dma_addr_t buffer_list_dma; |
diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c index f56b00ee385e..f0d30cf67b5f 100644 --- a/drivers/net/ioc3-eth.c +++ b/drivers/net/ioc3-eth.c | |||
@@ -57,7 +57,6 @@ | |||
57 | #include <net/ip.h> | 57 | #include <net/ip.h> |
58 | 58 | ||
59 | #include <asm/byteorder.h> | 59 | #include <asm/byteorder.h> |
60 | #include <asm/checksum.h> | ||
61 | #include <asm/io.h> | 60 | #include <asm/io.h> |
62 | #include <asm/pgtable.h> | 61 | #include <asm/pgtable.h> |
63 | #include <asm/uaccess.h> | 62 | #include <asm/uaccess.h> |
diff --git a/drivers/net/irda/mcs7780.c b/drivers/net/irda/mcs7780.c index b32c52ed19d7..f0c61f3b2a82 100644 --- a/drivers/net/irda/mcs7780.c +++ b/drivers/net/irda/mcs7780.c | |||
@@ -560,9 +560,9 @@ static inline int mcs_find_endpoints(struct mcs_cb *mcs, | |||
560 | return ret; | 560 | return ret; |
561 | } | 561 | } |
562 | 562 | ||
563 | static void mcs_speed_work(void *arg) | 563 | static void mcs_speed_work(struct work_struct *work) |
564 | { | 564 | { |
565 | struct mcs_cb *mcs = arg; | 565 | struct mcs_cb *mcs = container_of(work, struct mcs_cb, work); |
566 | struct net_device *netdev = mcs->netdev; | 566 | struct net_device *netdev = mcs->netdev; |
567 | 567 | ||
568 | mcs_speed_change(mcs); | 568 | mcs_speed_change(mcs); |
@@ -927,7 +927,7 @@ static int mcs_probe(struct usb_interface *intf, | |||
927 | irda_qos_bits_to_value(&mcs->qos); | 927 | irda_qos_bits_to_value(&mcs->qos); |
928 | 928 | ||
929 | /* Speed change work initialisation*/ | 929 | /* Speed change work initialisation*/ |
930 | INIT_WORK(&mcs->work, mcs_speed_work, mcs); | 930 | INIT_WORK(&mcs->work, mcs_speed_work); |
931 | 931 | ||
932 | /* Override the network functions we need to use */ | 932 | /* Override the network functions we need to use */ |
933 | ndev->hard_start_xmit = mcs_hard_xmit; | 933 | ndev->hard_start_xmit = mcs_hard_xmit; |
diff --git a/drivers/net/irda/sir-dev.h b/drivers/net/irda/sir-dev.h index 9fa294a546d6..2a57bc67ce35 100644 --- a/drivers/net/irda/sir-dev.h +++ b/drivers/net/irda/sir-dev.h | |||
@@ -22,7 +22,7 @@ | |||
22 | 22 | ||
23 | struct sir_fsm { | 23 | struct sir_fsm { |
24 | struct semaphore sem; | 24 | struct semaphore sem; |
25 | struct work_struct work; | 25 | struct delayed_work work; |
26 | unsigned state, substate; | 26 | unsigned state, substate; |
27 | int param; | 27 | int param; |
28 | int result; | 28 | int result; |
diff --git a/drivers/net/irda/sir_dev.c b/drivers/net/irda/sir_dev.c index 3b5854d10c17..17b0c3ab6201 100644 --- a/drivers/net/irda/sir_dev.c +++ b/drivers/net/irda/sir_dev.c | |||
@@ -100,9 +100,9 @@ static int sirdev_tx_complete_fsm(struct sir_dev *dev) | |||
100 | * Both must be unlocked/restarted on completion - but only on final exit. | 100 | * Both must be unlocked/restarted on completion - but only on final exit. |
101 | */ | 101 | */ |
102 | 102 | ||
103 | static void sirdev_config_fsm(void *data) | 103 | static void sirdev_config_fsm(struct work_struct *work) |
104 | { | 104 | { |
105 | struct sir_dev *dev = data; | 105 | struct sir_dev *dev = container_of(work, struct sir_dev, fsm.work.work); |
106 | struct sir_fsm *fsm = &dev->fsm; | 106 | struct sir_fsm *fsm = &dev->fsm; |
107 | int next_state; | 107 | int next_state; |
108 | int ret = -1; | 108 | int ret = -1; |
@@ -309,8 +309,8 @@ int sirdev_schedule_request(struct sir_dev *dev, int initial_state, unsigned par | |||
309 | fsm->param = param; | 309 | fsm->param = param; |
310 | fsm->result = 0; | 310 | fsm->result = 0; |
311 | 311 | ||
312 | INIT_WORK(&fsm->work, sirdev_config_fsm, dev); | 312 | INIT_DELAYED_WORK(&fsm->work, sirdev_config_fsm); |
313 | queue_work(irda_sir_wq, &fsm->work); | 313 | queue_delayed_work(irda_sir_wq, &fsm->work, 0); |
314 | return 0; | 314 | return 0; |
315 | } | 315 | } |
316 | 316 | ||
diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c index 2284e2ce1692..d6f4f185bf37 100644 --- a/drivers/net/iseries_veth.c +++ b/drivers/net/iseries_veth.c | |||
@@ -166,7 +166,7 @@ struct veth_msg { | |||
166 | 166 | ||
167 | struct veth_lpar_connection { | 167 | struct veth_lpar_connection { |
168 | HvLpIndex remote_lp; | 168 | HvLpIndex remote_lp; |
169 | struct work_struct statemachine_wq; | 169 | struct delayed_work statemachine_wq; |
170 | struct veth_msg *msgs; | 170 | struct veth_msg *msgs; |
171 | int num_events; | 171 | int num_events; |
172 | struct veth_cap_data local_caps; | 172 | struct veth_cap_data local_caps; |
@@ -456,7 +456,7 @@ static struct kobj_type veth_port_ktype = { | |||
456 | 456 | ||
457 | static inline void veth_kick_statemachine(struct veth_lpar_connection *cnx) | 457 | static inline void veth_kick_statemachine(struct veth_lpar_connection *cnx) |
458 | { | 458 | { |
459 | schedule_work(&cnx->statemachine_wq); | 459 | schedule_delayed_work(&cnx->statemachine_wq, 0); |
460 | } | 460 | } |
461 | 461 | ||
462 | static void veth_take_cap(struct veth_lpar_connection *cnx, | 462 | static void veth_take_cap(struct veth_lpar_connection *cnx, |
@@ -638,9 +638,11 @@ static int veth_process_caps(struct veth_lpar_connection *cnx) | |||
638 | } | 638 | } |
639 | 639 | ||
640 | /* FIXME: The gotos here are a bit dubious */ | 640 | /* FIXME: The gotos here are a bit dubious */ |
641 | static void veth_statemachine(void *p) | 641 | static void veth_statemachine(struct work_struct *work) |
642 | { | 642 | { |
643 | struct veth_lpar_connection *cnx = (struct veth_lpar_connection *)p; | 643 | struct veth_lpar_connection *cnx = |
644 | container_of(work, struct veth_lpar_connection, | ||
645 | statemachine_wq.work); | ||
644 | int rlp = cnx->remote_lp; | 646 | int rlp = cnx->remote_lp; |
645 | int rc; | 647 | int rc; |
646 | 648 | ||
@@ -827,7 +829,7 @@ static int veth_init_connection(u8 rlp) | |||
827 | 829 | ||
828 | cnx->remote_lp = rlp; | 830 | cnx->remote_lp = rlp; |
829 | spin_lock_init(&cnx->lock); | 831 | spin_lock_init(&cnx->lock); |
830 | INIT_WORK(&cnx->statemachine_wq, veth_statemachine, cnx); | 832 | INIT_DELAYED_WORK(&cnx->statemachine_wq, veth_statemachine); |
831 | 833 | ||
832 | init_timer(&cnx->ack_timer); | 834 | init_timer(&cnx->ack_timer); |
833 | cnx->ack_timer.function = veth_timed_ack; | 835 | cnx->ack_timer.function = veth_timed_ack; |
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c index e09f575a3a38..e628126c9c49 100644 --- a/drivers/net/ixgb/ixgb_main.c +++ b/drivers/net/ixgb/ixgb_main.c | |||
@@ -106,7 +106,7 @@ static boolean_t ixgb_clean_rx_irq(struct ixgb_adapter *adapter); | |||
106 | static void ixgb_alloc_rx_buffers(struct ixgb_adapter *adapter); | 106 | static void ixgb_alloc_rx_buffers(struct ixgb_adapter *adapter); |
107 | void ixgb_set_ethtool_ops(struct net_device *netdev); | 107 | void ixgb_set_ethtool_ops(struct net_device *netdev); |
108 | static void ixgb_tx_timeout(struct net_device *dev); | 108 | static void ixgb_tx_timeout(struct net_device *dev); |
109 | static void ixgb_tx_timeout_task(struct net_device *dev); | 109 | static void ixgb_tx_timeout_task(struct work_struct *work); |
110 | static void ixgb_vlan_rx_register(struct net_device *netdev, | 110 | static void ixgb_vlan_rx_register(struct net_device *netdev, |
111 | struct vlan_group *grp); | 111 | struct vlan_group *grp); |
112 | static void ixgb_vlan_rx_add_vid(struct net_device *netdev, uint16_t vid); | 112 | static void ixgb_vlan_rx_add_vid(struct net_device *netdev, uint16_t vid); |
@@ -489,8 +489,7 @@ ixgb_probe(struct pci_dev *pdev, | |||
489 | adapter->watchdog_timer.function = &ixgb_watchdog; | 489 | adapter->watchdog_timer.function = &ixgb_watchdog; |
490 | adapter->watchdog_timer.data = (unsigned long)adapter; | 490 | adapter->watchdog_timer.data = (unsigned long)adapter; |
491 | 491 | ||
492 | INIT_WORK(&adapter->tx_timeout_task, | 492 | INIT_WORK(&adapter->tx_timeout_task, ixgb_tx_timeout_task); |
493 | (void (*)(void *))ixgb_tx_timeout_task, netdev); | ||
494 | 493 | ||
495 | strcpy(netdev->name, "eth%d"); | 494 | strcpy(netdev->name, "eth%d"); |
496 | if((err = register_netdev(netdev))) | 495 | if((err = register_netdev(netdev))) |
@@ -1249,7 +1248,7 @@ ixgb_tx_csum(struct ixgb_adapter *adapter, struct sk_buff *skb) | |||
1249 | if(likely(skb->ip_summed == CHECKSUM_PARTIAL)) { | 1248 | if(likely(skb->ip_summed == CHECKSUM_PARTIAL)) { |
1250 | struct ixgb_buffer *buffer_info; | 1249 | struct ixgb_buffer *buffer_info; |
1251 | css = skb->h.raw - skb->data; | 1250 | css = skb->h.raw - skb->data; |
1252 | cso = (skb->h.raw + skb->csum) - skb->data; | 1251 | cso = css + skb->csum_offset; |
1253 | 1252 | ||
1254 | i = adapter->tx_ring.next_to_use; | 1253 | i = adapter->tx_ring.next_to_use; |
1255 | context_desc = IXGB_CONTEXT_DESC(adapter->tx_ring, i); | 1254 | context_desc = IXGB_CONTEXT_DESC(adapter->tx_ring, i); |
@@ -1493,9 +1492,10 @@ ixgb_tx_timeout(struct net_device *netdev) | |||
1493 | } | 1492 | } |
1494 | 1493 | ||
1495 | static void | 1494 | static void |
1496 | ixgb_tx_timeout_task(struct net_device *netdev) | 1495 | ixgb_tx_timeout_task(struct work_struct *work) |
1497 | { | 1496 | { |
1498 | struct ixgb_adapter *adapter = netdev_priv(netdev); | 1497 | struct ixgb_adapter *adapter = |
1498 | container_of(work, struct ixgb_adapter, tx_timeout_task); | ||
1499 | 1499 | ||
1500 | adapter->tx_timeout_count++; | 1500 | adapter->tx_timeout_count++; |
1501 | ixgb_down(adapter, TRUE); | 1501 | ixgb_down(adapter, TRUE); |
diff --git a/drivers/net/lance.c b/drivers/net/lance.c index 6efbd499d752..a3843320dbe1 100644 --- a/drivers/net/lance.c +++ b/drivers/net/lance.c | |||
@@ -57,6 +57,7 @@ static const char version[] = "lance.c:v1.16 2006/11/09 dplatt@3do.com, becker@c | |||
57 | #include <linux/netdevice.h> | 57 | #include <linux/netdevice.h> |
58 | #include <linux/etherdevice.h> | 58 | #include <linux/etherdevice.h> |
59 | #include <linux/skbuff.h> | 59 | #include <linux/skbuff.h> |
60 | #include <linux/mm.h> | ||
60 | #include <linux/bitops.h> | 61 | #include <linux/bitops.h> |
61 | 62 | ||
62 | #include <asm/io.h> | 63 | #include <asm/io.h> |
@@ -367,7 +368,7 @@ static void cleanup_card(struct net_device *dev) | |||
367 | kfree(lp); | 368 | kfree(lp); |
368 | } | 369 | } |
369 | 370 | ||
370 | void cleanup_module(void) | 371 | void __exit cleanup_module(void) |
371 | { | 372 | { |
372 | int this_dev; | 373 | int this_dev; |
373 | 374 | ||
diff --git a/drivers/net/lne390.c b/drivers/net/lne390.c index 5795ee116205..0a08d0c4e7b4 100644 --- a/drivers/net/lne390.c +++ b/drivers/net/lne390.c | |||
@@ -440,7 +440,7 @@ static void cleanup_card(struct net_device *dev) | |||
440 | iounmap(ei_status.mem); | 440 | iounmap(ei_status.mem); |
441 | } | 441 | } |
442 | 442 | ||
443 | void cleanup_module(void) | 443 | void __exit cleanup_module(void) |
444 | { | 444 | { |
445 | int this_dev; | 445 | int this_dev; |
446 | 446 | ||
diff --git a/drivers/net/meth.c b/drivers/net/meth.c index c1aa60b9a982..e1d97cdf649e 100644 --- a/drivers/net/meth.c +++ b/drivers/net/meth.c | |||
@@ -33,7 +33,6 @@ | |||
33 | #include <asm/ip32/ip32_ints.h> | 33 | #include <asm/ip32/ip32_ints.h> |
34 | 34 | ||
35 | #include <asm/io.h> | 35 | #include <asm/io.h> |
36 | #include <asm/checksum.h> | ||
37 | #include <asm/scatterlist.h> | 36 | #include <asm/scatterlist.h> |
38 | #include <linux/dma-mapping.h> | 37 | #include <linux/dma-mapping.h> |
39 | 38 | ||
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index 9997081c6dae..c41ae4286eea 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c | |||
@@ -277,9 +277,11 @@ static void mv643xx_eth_tx_timeout(struct net_device *dev) | |||
277 | * | 277 | * |
278 | * Actual routine to reset the adapter when a timeout on Tx has occurred | 278 | * Actual routine to reset the adapter when a timeout on Tx has occurred |
279 | */ | 279 | */ |
280 | static void mv643xx_eth_tx_timeout_task(struct net_device *dev) | 280 | static void mv643xx_eth_tx_timeout_task(struct work_struct *ugly) |
281 | { | 281 | { |
282 | struct mv643xx_private *mp = netdev_priv(dev); | 282 | struct mv643xx_private *mp = container_of(ugly, struct mv643xx_private, |
283 | tx_timeout_task); | ||
284 | struct net_device *dev = mp->mii.dev; /* yuck */ | ||
283 | 285 | ||
284 | if (!netif_running(dev)) | 286 | if (!netif_running(dev)) |
285 | return; | 287 | return; |
@@ -1098,7 +1100,7 @@ static void eth_tx_fill_frag_descs(struct mv643xx_private *mp, | |||
1098 | ETH_TX_ENABLE_INTERRUPT; | 1100 | ETH_TX_ENABLE_INTERRUPT; |
1099 | mp->tx_skb[tx_index] = skb; | 1101 | mp->tx_skb[tx_index] = skb; |
1100 | } else | 1102 | } else |
1101 | mp->tx_skb[tx_index] = 0; | 1103 | mp->tx_skb[tx_index] = NULL; |
1102 | 1104 | ||
1103 | desc = &mp->p_tx_desc_area[tx_index]; | 1105 | desc = &mp->p_tx_desc_area[tx_index]; |
1104 | desc->l4i_chk = 0; | 1106 | desc->l4i_chk = 0; |
@@ -1134,7 +1136,7 @@ static void eth_tx_submit_descs_for_skb(struct mv643xx_private *mp, | |||
1134 | eth_tx_fill_frag_descs(mp, skb); | 1136 | eth_tx_fill_frag_descs(mp, skb); |
1135 | 1137 | ||
1136 | length = skb_headlen(skb); | 1138 | length = skb_headlen(skb); |
1137 | mp->tx_skb[tx_index] = 0; | 1139 | mp->tx_skb[tx_index] = NULL; |
1138 | } else { | 1140 | } else { |
1139 | cmd_sts |= ETH_ZERO_PADDING | | 1141 | cmd_sts |= ETH_ZERO_PADDING | |
1140 | ETH_TX_LAST_DESC | | 1142 | ETH_TX_LAST_DESC | |
@@ -1360,8 +1362,7 @@ static int mv643xx_eth_probe(struct platform_device *pdev) | |||
1360 | #endif | 1362 | #endif |
1361 | 1363 | ||
1362 | /* Configure the timeout task */ | 1364 | /* Configure the timeout task */ |
1363 | INIT_WORK(&mp->tx_timeout_task, | 1365 | INIT_WORK(&mp->tx_timeout_task, mv643xx_eth_tx_timeout_task); |
1364 | (void (*)(void *))mv643xx_eth_tx_timeout_task, dev); | ||
1365 | 1366 | ||
1366 | spin_lock_init(&mp->lock); | 1367 | spin_lock_init(&mp->lock); |
1367 | 1368 | ||
diff --git a/drivers/net/mvme147.c b/drivers/net/mvme147.c index 56a82d8ee8f5..e246d00bba6d 100644 --- a/drivers/net/mvme147.c +++ b/drivers/net/mvme147.c | |||
@@ -184,7 +184,7 @@ static int m147lance_close(struct net_device *dev) | |||
184 | MODULE_LICENSE("GPL"); | 184 | MODULE_LICENSE("GPL"); |
185 | 185 | ||
186 | static struct net_device *dev_mvme147_lance; | 186 | static struct net_device *dev_mvme147_lance; |
187 | int init_module(void) | 187 | int __init init_module(void) |
188 | { | 188 | { |
189 | dev_mvme147_lance = mvme147lance_probe(-1); | 189 | dev_mvme147_lance = mvme147lance_probe(-1); |
190 | if (IS_ERR(dev_mvme147_lance)) | 190 | if (IS_ERR(dev_mvme147_lance)) |
@@ -192,7 +192,7 @@ int init_module(void) | |||
192 | return 0; | 192 | return 0; |
193 | } | 193 | } |
194 | 194 | ||
195 | void cleanup_module(void) | 195 | void __exit cleanup_module(void) |
196 | { | 196 | { |
197 | struct m147lance_private *lp = dev_mvme147_lance->priv; | 197 | struct m147lance_private *lp = dev_mvme147_lance->priv; |
198 | unregister_netdev(dev_mvme147_lance); | 198 | unregister_netdev(dev_mvme147_lance); |
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index 806081b59733..81f127a78afa 100644 --- a/drivers/net/myri10ge/myri10ge.c +++ b/drivers/net/myri10ge/myri10ge.c | |||
@@ -89,7 +89,7 @@ MODULE_LICENSE("Dual BSD/GPL"); | |||
89 | #define MYRI10GE_EEPROM_STRINGS_SIZE 256 | 89 | #define MYRI10GE_EEPROM_STRINGS_SIZE 256 |
90 | #define MYRI10GE_MAX_SEND_DESC_TSO ((65536 / 2048) * 2) | 90 | #define MYRI10GE_MAX_SEND_DESC_TSO ((65536 / 2048) * 2) |
91 | 91 | ||
92 | #define MYRI10GE_NO_CONFIRM_DATA 0xffffffff | 92 | #define MYRI10GE_NO_CONFIRM_DATA htonl(0xffffffff) |
93 | #define MYRI10GE_NO_RESPONSE_RESULT 0xffffffff | 93 | #define MYRI10GE_NO_RESPONSE_RESULT 0xffffffff |
94 | 94 | ||
95 | struct myri10ge_rx_buffer_state { | 95 | struct myri10ge_rx_buffer_state { |
@@ -156,8 +156,8 @@ struct myri10ge_priv { | |||
156 | int sram_size; | 156 | int sram_size; |
157 | unsigned long board_span; | 157 | unsigned long board_span; |
158 | unsigned long iomem_base; | 158 | unsigned long iomem_base; |
159 | u32 __iomem *irq_claim; | 159 | __be32 __iomem *irq_claim; |
160 | u32 __iomem *irq_deassert; | 160 | __be32 __iomem *irq_deassert; |
161 | char *mac_addr_string; | 161 | char *mac_addr_string; |
162 | struct mcp_cmd_response *cmd; | 162 | struct mcp_cmd_response *cmd; |
163 | dma_addr_t cmd_bus; | 163 | dma_addr_t cmd_bus; |
@@ -165,10 +165,10 @@ struct myri10ge_priv { | |||
165 | dma_addr_t fw_stats_bus; | 165 | dma_addr_t fw_stats_bus; |
166 | struct pci_dev *pdev; | 166 | struct pci_dev *pdev; |
167 | int msi_enabled; | 167 | int msi_enabled; |
168 | unsigned int link_state; | 168 | __be32 link_state; |
169 | unsigned int rdma_tags_available; | 169 | unsigned int rdma_tags_available; |
170 | int intr_coal_delay; | 170 | int intr_coal_delay; |
171 | u32 __iomem *intr_coal_delay_ptr; | 171 | __be32 __iomem *intr_coal_delay_ptr; |
172 | int mtrr; | 172 | int mtrr; |
173 | int wake_queue; | 173 | int wake_queue; |
174 | int stop_queue; | 174 | int stop_queue; |
@@ -273,6 +273,11 @@ MODULE_PARM_DESC(myri10ge_debug, "Debug level (0=none,...,16=all)"); | |||
273 | 273 | ||
274 | #define myri10ge_pio_copy(to,from,size) __iowrite64_copy(to,from,size/8) | 274 | #define myri10ge_pio_copy(to,from,size) __iowrite64_copy(to,from,size/8) |
275 | 275 | ||
276 | static inline void put_be32(__be32 val, __be32 __iomem *p) | ||
277 | { | ||
278 | __raw_writel((__force __u32)val, (__force void __iomem *)p); | ||
279 | } | ||
280 | |||
276 | static int | 281 | static int |
277 | myri10ge_send_cmd(struct myri10ge_priv *mgp, u32 cmd, | 282 | myri10ge_send_cmd(struct myri10ge_priv *mgp, u32 cmd, |
278 | struct myri10ge_cmd *data, int atomic) | 283 | struct myri10ge_cmd *data, int atomic) |
@@ -296,7 +301,7 @@ myri10ge_send_cmd(struct myri10ge_priv *mgp, u32 cmd, | |||
296 | 301 | ||
297 | buf->response_addr.low = htonl(dma_low); | 302 | buf->response_addr.low = htonl(dma_low); |
298 | buf->response_addr.high = htonl(dma_high); | 303 | buf->response_addr.high = htonl(dma_high); |
299 | response->result = MYRI10GE_NO_RESPONSE_RESULT; | 304 | response->result = htonl(MYRI10GE_NO_RESPONSE_RESULT); |
300 | mb(); | 305 | mb(); |
301 | myri10ge_pio_copy(cmd_addr, buf, sizeof(*buf)); | 306 | myri10ge_pio_copy(cmd_addr, buf, sizeof(*buf)); |
302 | 307 | ||
@@ -311,14 +316,14 @@ myri10ge_send_cmd(struct myri10ge_priv *mgp, u32 cmd, | |||
311 | * (1ms will be enough for those commands) */ | 316 | * (1ms will be enough for those commands) */ |
312 | for (sleep_total = 0; | 317 | for (sleep_total = 0; |
313 | sleep_total < 1000 | 318 | sleep_total < 1000 |
314 | && response->result == MYRI10GE_NO_RESPONSE_RESULT; | 319 | && response->result == htonl(MYRI10GE_NO_RESPONSE_RESULT); |
315 | sleep_total += 10) | 320 | sleep_total += 10) |
316 | udelay(10); | 321 | udelay(10); |
317 | } else { | 322 | } else { |
318 | /* use msleep for most command */ | 323 | /* use msleep for most command */ |
319 | for (sleep_total = 0; | 324 | for (sleep_total = 0; |
320 | sleep_total < 15 | 325 | sleep_total < 15 |
321 | && response->result == MYRI10GE_NO_RESPONSE_RESULT; | 326 | && response->result == htonl(MYRI10GE_NO_RESPONSE_RESULT); |
322 | sleep_total++) | 327 | sleep_total++) |
323 | msleep(1); | 328 | msleep(1); |
324 | } | 329 | } |
@@ -393,7 +398,7 @@ abort: | |||
393 | static void myri10ge_dummy_rdma(struct myri10ge_priv *mgp, int enable) | 398 | static void myri10ge_dummy_rdma(struct myri10ge_priv *mgp, int enable) |
394 | { | 399 | { |
395 | char __iomem *submit; | 400 | char __iomem *submit; |
396 | u32 buf[16]; | 401 | __be32 buf[16]; |
397 | u32 dma_low, dma_high; | 402 | u32 dma_low, dma_high; |
398 | int i; | 403 | int i; |
399 | 404 | ||
@@ -410,7 +415,7 @@ static void myri10ge_dummy_rdma(struct myri10ge_priv *mgp, int enable) | |||
410 | 415 | ||
411 | buf[0] = htonl(dma_high); /* confirm addr MSW */ | 416 | buf[0] = htonl(dma_high); /* confirm addr MSW */ |
412 | buf[1] = htonl(dma_low); /* confirm addr LSW */ | 417 | buf[1] = htonl(dma_low); /* confirm addr LSW */ |
413 | buf[2] = htonl(MYRI10GE_NO_CONFIRM_DATA); /* confirm data */ | 418 | buf[2] = MYRI10GE_NO_CONFIRM_DATA; /* confirm data */ |
414 | buf[3] = htonl(dma_high); /* dummy addr MSW */ | 419 | buf[3] = htonl(dma_high); /* dummy addr MSW */ |
415 | buf[4] = htonl(dma_low); /* dummy addr LSW */ | 420 | buf[4] = htonl(dma_low); /* dummy addr LSW */ |
416 | buf[5] = htonl(enable); /* enable? */ | 421 | buf[5] = htonl(enable); /* enable? */ |
@@ -479,7 +484,7 @@ static int myri10ge_load_hotplug_firmware(struct myri10ge_priv *mgp, u32 * size) | |||
479 | } | 484 | } |
480 | 485 | ||
481 | /* check id */ | 486 | /* check id */ |
482 | hdr_offset = ntohl(*(u32 *) (fw->data + MCP_HEADER_PTR_OFFSET)); | 487 | hdr_offset = ntohl(*(__be32 *) (fw->data + MCP_HEADER_PTR_OFFSET)); |
483 | if ((hdr_offset & 3) || hdr_offset + sizeof(*hdr) > fw->size) { | 488 | if ((hdr_offset & 3) || hdr_offset + sizeof(*hdr) > fw->size) { |
484 | dev_err(dev, "Bad firmware file\n"); | 489 | dev_err(dev, "Bad firmware file\n"); |
485 | status = -EINVAL; | 490 | status = -EINVAL; |
@@ -550,7 +555,7 @@ static int myri10ge_adopt_running_firmware(struct myri10ge_priv *mgp) | |||
550 | static int myri10ge_load_firmware(struct myri10ge_priv *mgp) | 555 | static int myri10ge_load_firmware(struct myri10ge_priv *mgp) |
551 | { | 556 | { |
552 | char __iomem *submit; | 557 | char __iomem *submit; |
553 | u32 buf[16]; | 558 | __be32 buf[16]; |
554 | u32 dma_low, dma_high, size; | 559 | u32 dma_low, dma_high, size; |
555 | int status, i; | 560 | int status, i; |
556 | 561 | ||
@@ -600,7 +605,7 @@ static int myri10ge_load_firmware(struct myri10ge_priv *mgp) | |||
600 | 605 | ||
601 | buf[0] = htonl(dma_high); /* confirm addr MSW */ | 606 | buf[0] = htonl(dma_high); /* confirm addr MSW */ |
602 | buf[1] = htonl(dma_low); /* confirm addr LSW */ | 607 | buf[1] = htonl(dma_low); /* confirm addr LSW */ |
603 | buf[2] = htonl(MYRI10GE_NO_CONFIRM_DATA); /* confirm data */ | 608 | buf[2] = MYRI10GE_NO_CONFIRM_DATA; /* confirm data */ |
604 | 609 | ||
605 | /* FIX: All newest firmware should un-protect the bottom of | 610 | /* FIX: All newest firmware should un-protect the bottom of |
606 | * the sram before handoff. However, the very first interfaces | 611 | * the sram before handoff. However, the very first interfaces |
@@ -705,21 +710,21 @@ static int myri10ge_reset(struct myri10ge_priv *mgp) | |||
705 | 710 | ||
706 | status |= | 711 | status |= |
707 | myri10ge_send_cmd(mgp, MXGEFW_CMD_GET_IRQ_ACK_OFFSET, &cmd, 0); | 712 | myri10ge_send_cmd(mgp, MXGEFW_CMD_GET_IRQ_ACK_OFFSET, &cmd, 0); |
708 | mgp->irq_claim = (__iomem u32 *) (mgp->sram + cmd.data0); | 713 | mgp->irq_claim = (__iomem __be32 *) (mgp->sram + cmd.data0); |
709 | if (!mgp->msi_enabled) { | 714 | if (!mgp->msi_enabled) { |
710 | status |= myri10ge_send_cmd | 715 | status |= myri10ge_send_cmd |
711 | (mgp, MXGEFW_CMD_GET_IRQ_DEASSERT_OFFSET, &cmd, 0); | 716 | (mgp, MXGEFW_CMD_GET_IRQ_DEASSERT_OFFSET, &cmd, 0); |
712 | mgp->irq_deassert = (__iomem u32 *) (mgp->sram + cmd.data0); | 717 | mgp->irq_deassert = (__iomem __be32 *) (mgp->sram + cmd.data0); |
713 | 718 | ||
714 | } | 719 | } |
715 | status |= myri10ge_send_cmd | 720 | status |= myri10ge_send_cmd |
716 | (mgp, MXGEFW_CMD_GET_INTR_COAL_DELAY_OFFSET, &cmd, 0); | 721 | (mgp, MXGEFW_CMD_GET_INTR_COAL_DELAY_OFFSET, &cmd, 0); |
717 | mgp->intr_coal_delay_ptr = (__iomem u32 *) (mgp->sram + cmd.data0); | 722 | mgp->intr_coal_delay_ptr = (__iomem __be32 *) (mgp->sram + cmd.data0); |
718 | if (status != 0) { | 723 | if (status != 0) { |
719 | dev_err(&mgp->pdev->dev, "failed set interrupt parameters\n"); | 724 | dev_err(&mgp->pdev->dev, "failed set interrupt parameters\n"); |
720 | return status; | 725 | return status; |
721 | } | 726 | } |
722 | __raw_writel(htonl(mgp->intr_coal_delay), mgp->intr_coal_delay_ptr); | 727 | put_be32(htonl(mgp->intr_coal_delay), mgp->intr_coal_delay_ptr); |
723 | 728 | ||
724 | /* Run a small DMA test. | 729 | /* Run a small DMA test. |
725 | * The magic multipliers to the length tell the firmware | 730 | * The magic multipliers to the length tell the firmware |
@@ -786,14 +791,16 @@ static inline void | |||
786 | myri10ge_submit_8rx(struct mcp_kreq_ether_recv __iomem * dst, | 791 | myri10ge_submit_8rx(struct mcp_kreq_ether_recv __iomem * dst, |
787 | struct mcp_kreq_ether_recv *src) | 792 | struct mcp_kreq_ether_recv *src) |
788 | { | 793 | { |
789 | u32 low; | 794 | __be32 low; |
790 | 795 | ||
791 | low = src->addr_low; | 796 | low = src->addr_low; |
792 | src->addr_low = DMA_32BIT_MASK; | 797 | src->addr_low = htonl(DMA_32BIT_MASK); |
793 | myri10ge_pio_copy(dst, src, 8 * sizeof(*src)); | 798 | myri10ge_pio_copy(dst, src, 4 * sizeof(*src)); |
799 | mb(); | ||
800 | myri10ge_pio_copy(dst + 4, src + 4, 4 * sizeof(*src)); | ||
794 | mb(); | 801 | mb(); |
795 | src->addr_low = low; | 802 | src->addr_low = low; |
796 | __raw_writel(low, &dst->addr_low); | 803 | put_be32(low, &dst->addr_low); |
797 | mb(); | 804 | mb(); |
798 | } | 805 | } |
799 | 806 | ||
@@ -939,11 +946,11 @@ done: | |||
939 | return retval; | 946 | return retval; |
940 | } | 947 | } |
941 | 948 | ||
942 | static inline void myri10ge_vlan_ip_csum(struct sk_buff *skb, u16 hw_csum) | 949 | static inline void myri10ge_vlan_ip_csum(struct sk_buff *skb, __wsum hw_csum) |
943 | { | 950 | { |
944 | struct vlan_hdr *vh = (struct vlan_hdr *)(skb->data); | 951 | struct vlan_hdr *vh = (struct vlan_hdr *)(skb->data); |
945 | 952 | ||
946 | if ((skb->protocol == ntohs(ETH_P_8021Q)) && | 953 | if ((skb->protocol == htons(ETH_P_8021Q)) && |
947 | (vh->h_vlan_encapsulated_proto == htons(ETH_P_IP) || | 954 | (vh->h_vlan_encapsulated_proto == htons(ETH_P_IP) || |
948 | vh->h_vlan_encapsulated_proto == htons(ETH_P_IPV6))) { | 955 | vh->h_vlan_encapsulated_proto == htons(ETH_P_IPV6))) { |
949 | skb->csum = hw_csum; | 956 | skb->csum = hw_csum; |
@@ -953,7 +960,7 @@ static inline void myri10ge_vlan_ip_csum(struct sk_buff *skb, u16 hw_csum) | |||
953 | 960 | ||
954 | static inline unsigned long | 961 | static inline unsigned long |
955 | myri10ge_rx_done(struct myri10ge_priv *mgp, struct myri10ge_rx_buf *rx, | 962 | myri10ge_rx_done(struct myri10ge_priv *mgp, struct myri10ge_rx_buf *rx, |
956 | int bytes, int len, int csum) | 963 | int bytes, int len, __wsum csum) |
957 | { | 964 | { |
958 | dma_addr_t bus; | 965 | dma_addr_t bus; |
959 | struct sk_buff *skb; | 966 | struct sk_buff *skb; |
@@ -986,12 +993,12 @@ myri10ge_rx_done(struct myri10ge_priv *mgp, struct myri10ge_rx_buf *rx, | |||
986 | 993 | ||
987 | skb->protocol = eth_type_trans(skb, mgp->dev); | 994 | skb->protocol = eth_type_trans(skb, mgp->dev); |
988 | if (mgp->csum_flag) { | 995 | if (mgp->csum_flag) { |
989 | if ((skb->protocol == ntohs(ETH_P_IP)) || | 996 | if ((skb->protocol == htons(ETH_P_IP)) || |
990 | (skb->protocol == ntohs(ETH_P_IPV6))) { | 997 | (skb->protocol == htons(ETH_P_IPV6))) { |
991 | skb->csum = ntohs((u16) csum); | 998 | skb->csum = csum; |
992 | skb->ip_summed = CHECKSUM_COMPLETE; | 999 | skb->ip_summed = CHECKSUM_COMPLETE; |
993 | } else | 1000 | } else |
994 | myri10ge_vlan_ip_csum(skb, ntohs((u16) csum)); | 1001 | myri10ge_vlan_ip_csum(skb, csum); |
995 | } | 1002 | } |
996 | 1003 | ||
997 | netif_receive_skb(skb); | 1004 | netif_receive_skb(skb); |
@@ -1060,12 +1067,12 @@ static inline void myri10ge_clean_rx_done(struct myri10ge_priv *mgp, int *limit) | |||
1060 | int idx = rx_done->idx; | 1067 | int idx = rx_done->idx; |
1061 | int cnt = rx_done->cnt; | 1068 | int cnt = rx_done->cnt; |
1062 | u16 length; | 1069 | u16 length; |
1063 | u16 checksum; | 1070 | __wsum checksum; |
1064 | 1071 | ||
1065 | while (rx_done->entry[idx].length != 0 && *limit != 0) { | 1072 | while (rx_done->entry[idx].length != 0 && *limit != 0) { |
1066 | length = ntohs(rx_done->entry[idx].length); | 1073 | length = ntohs(rx_done->entry[idx].length); |
1067 | rx_done->entry[idx].length = 0; | 1074 | rx_done->entry[idx].length = 0; |
1068 | checksum = ntohs(rx_done->entry[idx].checksum); | 1075 | checksum = csum_unfold(rx_done->entry[idx].checksum); |
1069 | if (length <= mgp->small_bytes) | 1076 | if (length <= mgp->small_bytes) |
1070 | rx_ok = myri10ge_rx_done(mgp, &mgp->rx_small, | 1077 | rx_ok = myri10ge_rx_done(mgp, &mgp->rx_small, |
1071 | mgp->small_bytes, | 1078 | mgp->small_bytes, |
@@ -1142,7 +1149,7 @@ static int myri10ge_poll(struct net_device *netdev, int *budget) | |||
1142 | 1149 | ||
1143 | if (rx_done->entry[rx_done->idx].length == 0 || !netif_running(netdev)) { | 1150 | if (rx_done->entry[rx_done->idx].length == 0 || !netif_running(netdev)) { |
1144 | netif_rx_complete(netdev); | 1151 | netif_rx_complete(netdev); |
1145 | __raw_writel(htonl(3), mgp->irq_claim); | 1152 | put_be32(htonl(3), mgp->irq_claim); |
1146 | return 0; | 1153 | return 0; |
1147 | } | 1154 | } |
1148 | return 1; | 1155 | return 1; |
@@ -1166,7 +1173,7 @@ static irqreturn_t myri10ge_intr(int irq, void *arg) | |||
1166 | netif_rx_schedule(mgp->dev); | 1173 | netif_rx_schedule(mgp->dev); |
1167 | 1174 | ||
1168 | if (!mgp->msi_enabled) { | 1175 | if (!mgp->msi_enabled) { |
1169 | __raw_writel(0, mgp->irq_deassert); | 1176 | put_be32(0, mgp->irq_deassert); |
1170 | if (!myri10ge_deassert_wait) | 1177 | if (!myri10ge_deassert_wait) |
1171 | stats->valid = 0; | 1178 | stats->valid = 0; |
1172 | mb(); | 1179 | mb(); |
@@ -1195,7 +1202,7 @@ static irqreturn_t myri10ge_intr(int irq, void *arg) | |||
1195 | 1202 | ||
1196 | myri10ge_check_statblock(mgp); | 1203 | myri10ge_check_statblock(mgp); |
1197 | 1204 | ||
1198 | __raw_writel(htonl(3), mgp->irq_claim + 1); | 1205 | put_be32(htonl(3), mgp->irq_claim + 1); |
1199 | return (IRQ_HANDLED); | 1206 | return (IRQ_HANDLED); |
1200 | } | 1207 | } |
1201 | 1208 | ||
@@ -1233,7 +1240,7 @@ myri10ge_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *coal) | |||
1233 | struct myri10ge_priv *mgp = netdev_priv(netdev); | 1240 | struct myri10ge_priv *mgp = netdev_priv(netdev); |
1234 | 1241 | ||
1235 | mgp->intr_coal_delay = coal->rx_coalesce_usecs; | 1242 | mgp->intr_coal_delay = coal->rx_coalesce_usecs; |
1236 | __raw_writel(htonl(mgp->intr_coal_delay), mgp->intr_coal_delay_ptr); | 1243 | put_be32(htonl(mgp->intr_coal_delay), mgp->intr_coal_delay_ptr); |
1237 | return 0; | 1244 | return 0; |
1238 | } | 1245 | } |
1239 | 1246 | ||
@@ -1748,7 +1755,7 @@ static int myri10ge_open(struct net_device *dev) | |||
1748 | goto abort_with_rings; | 1755 | goto abort_with_rings; |
1749 | } | 1756 | } |
1750 | 1757 | ||
1751 | mgp->link_state = -1; | 1758 | mgp->link_state = htonl(~0U); |
1752 | mgp->rdma_tags_available = 15; | 1759 | mgp->rdma_tags_available = 15; |
1753 | 1760 | ||
1754 | netif_poll_enable(mgp->dev); /* must happen prior to any irq */ | 1761 | netif_poll_enable(mgp->dev); /* must happen prior to any irq */ |
@@ -1876,7 +1883,7 @@ myri10ge_submit_req(struct myri10ge_tx_buf *tx, struct mcp_kreq_ether_send *src, | |||
1876 | 1883 | ||
1877 | /* re-write the last 32-bits with the valid flags */ | 1884 | /* re-write the last 32-bits with the valid flags */ |
1878 | src->flags = last_flags; | 1885 | src->flags = last_flags; |
1879 | __raw_writel(*((u32 *) src + 3), (u32 __iomem *) dst + 3); | 1886 | put_be32(*((__be32 *) src + 3), (__be32 __iomem *) dst + 3); |
1880 | tx->req += cnt; | 1887 | tx->req += cnt; |
1881 | mb(); | 1888 | mb(); |
1882 | } | 1889 | } |
@@ -1919,7 +1926,8 @@ static int myri10ge_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1919 | struct myri10ge_tx_buf *tx = &mgp->tx; | 1926 | struct myri10ge_tx_buf *tx = &mgp->tx; |
1920 | struct skb_frag_struct *frag; | 1927 | struct skb_frag_struct *frag; |
1921 | dma_addr_t bus; | 1928 | dma_addr_t bus; |
1922 | u32 low, high_swapped; | 1929 | u32 low; |
1930 | __be32 high_swapped; | ||
1923 | unsigned int len; | 1931 | unsigned int len; |
1924 | int idx, last_idx, avail, frag_cnt, frag_idx, count, mss, max_segments; | 1932 | int idx, last_idx, avail, frag_cnt, frag_idx, count, mss, max_segments; |
1925 | u16 pseudo_hdr_offset, cksum_offset; | 1933 | u16 pseudo_hdr_offset, cksum_offset; |
@@ -1955,7 +1963,7 @@ again: | |||
1955 | flags = (MXGEFW_FLAGS_NO_TSO | MXGEFW_FLAGS_FIRST); | 1963 | flags = (MXGEFW_FLAGS_NO_TSO | MXGEFW_FLAGS_FIRST); |
1956 | if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) { | 1964 | if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) { |
1957 | cksum_offset = (skb->h.raw - skb->data); | 1965 | cksum_offset = (skb->h.raw - skb->data); |
1958 | pseudo_hdr_offset = (skb->h.raw + skb->csum) - skb->data; | 1966 | pseudo_hdr_offset = cksum_offset + skb->csum_offset; |
1959 | /* If the headers are excessively large, then we must | 1967 | /* If the headers are excessively large, then we must |
1960 | * fall back to a software checksum */ | 1968 | * fall back to a software checksum */ |
1961 | if (unlikely(cksum_offset > 255 || pseudo_hdr_offset > 127)) { | 1969 | if (unlikely(cksum_offset > 255 || pseudo_hdr_offset > 127)) { |
@@ -1964,7 +1972,6 @@ again: | |||
1964 | cksum_offset = 0; | 1972 | cksum_offset = 0; |
1965 | pseudo_hdr_offset = 0; | 1973 | pseudo_hdr_offset = 0; |
1966 | } else { | 1974 | } else { |
1967 | pseudo_hdr_offset = htons(pseudo_hdr_offset); | ||
1968 | odd_flag = MXGEFW_FLAGS_ALIGN_ODD; | 1975 | odd_flag = MXGEFW_FLAGS_ALIGN_ODD; |
1969 | flags |= MXGEFW_FLAGS_CKSUM; | 1976 | flags |= MXGEFW_FLAGS_CKSUM; |
1970 | } | 1977 | } |
@@ -1986,7 +1993,7 @@ again: | |||
1986 | /* for TSO, pseudo_hdr_offset holds mss. | 1993 | /* for TSO, pseudo_hdr_offset holds mss. |
1987 | * The firmware figures out where to put | 1994 | * The firmware figures out where to put |
1988 | * the checksum by parsing the header. */ | 1995 | * the checksum by parsing the header. */ |
1989 | pseudo_hdr_offset = htons(mss); | 1996 | pseudo_hdr_offset = mss; |
1990 | } else | 1997 | } else |
1991 | #endif /*NETIF_F_TSO */ | 1998 | #endif /*NETIF_F_TSO */ |
1992 | /* Mark small packets, and pad out tiny packets */ | 1999 | /* Mark small packets, and pad out tiny packets */ |
@@ -2086,7 +2093,7 @@ again: | |||
2086 | #endif /* NETIF_F_TSO */ | 2093 | #endif /* NETIF_F_TSO */ |
2087 | req->addr_high = high_swapped; | 2094 | req->addr_high = high_swapped; |
2088 | req->addr_low = htonl(low); | 2095 | req->addr_low = htonl(low); |
2089 | req->pseudo_hdr_offset = pseudo_hdr_offset; | 2096 | req->pseudo_hdr_offset = htons(pseudo_hdr_offset); |
2090 | req->pad = 0; /* complete solid 16-byte block; does this matter? */ | 2097 | req->pad = 0; /* complete solid 16-byte block; does this matter? */ |
2091 | req->rdma_count = 1; | 2098 | req->rdma_count = 1; |
2092 | req->length = htons(seglen); | 2099 | req->length = htons(seglen); |
@@ -2199,6 +2206,7 @@ static void myri10ge_set_multicast_list(struct net_device *dev) | |||
2199 | struct myri10ge_cmd cmd; | 2206 | struct myri10ge_cmd cmd; |
2200 | struct myri10ge_priv *mgp; | 2207 | struct myri10ge_priv *mgp; |
2201 | struct dev_mc_list *mc_list; | 2208 | struct dev_mc_list *mc_list; |
2209 | __be32 data[2] = {0, 0}; | ||
2202 | int err; | 2210 | int err; |
2203 | 2211 | ||
2204 | mgp = netdev_priv(dev); | 2212 | mgp = netdev_priv(dev); |
@@ -2237,10 +2245,9 @@ static void myri10ge_set_multicast_list(struct net_device *dev) | |||
2237 | 2245 | ||
2238 | /* Walk the multicast list, and add each address */ | 2246 | /* Walk the multicast list, and add each address */ |
2239 | for (mc_list = dev->mc_list; mc_list != NULL; mc_list = mc_list->next) { | 2247 | for (mc_list = dev->mc_list; mc_list != NULL; mc_list = mc_list->next) { |
2240 | memcpy(&cmd.data0, &mc_list->dmi_addr, 4); | 2248 | memcpy(data, &mc_list->dmi_addr, 6); |
2241 | memcpy(&cmd.data1, ((char *)&mc_list->dmi_addr) + 4, 2); | 2249 | cmd.data0 = ntohl(data[0]); |
2242 | cmd.data0 = htonl(cmd.data0); | 2250 | cmd.data1 = ntohl(data[1]); |
2243 | cmd.data1 = htonl(cmd.data1); | ||
2244 | err = myri10ge_send_cmd(mgp, MXGEFW_JOIN_MULTICAST_GROUP, | 2251 | err = myri10ge_send_cmd(mgp, MXGEFW_JOIN_MULTICAST_GROUP, |
2245 | &cmd, 1); | 2252 | &cmd, 1); |
2246 | 2253 | ||
@@ -2615,9 +2622,10 @@ static u32 myri10ge_read_reboot(struct myri10ge_priv *mgp) | |||
2615 | * This watchdog is used to check whether the board has suffered | 2622 | * This watchdog is used to check whether the board has suffered |
2616 | * from a parity error and needs to be recovered. | 2623 | * from a parity error and needs to be recovered. |
2617 | */ | 2624 | */ |
2618 | static void myri10ge_watchdog(void *arg) | 2625 | static void myri10ge_watchdog(struct work_struct *work) |
2619 | { | 2626 | { |
2620 | struct myri10ge_priv *mgp = arg; | 2627 | struct myri10ge_priv *mgp = |
2628 | container_of(work, struct myri10ge_priv, watchdog_work); | ||
2621 | u32 reboot; | 2629 | u32 reboot; |
2622 | int status; | 2630 | int status; |
2623 | u16 cmd, vendor; | 2631 | u16 cmd, vendor; |
@@ -2887,7 +2895,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2887 | (unsigned long)mgp); | 2895 | (unsigned long)mgp); |
2888 | 2896 | ||
2889 | SET_ETHTOOL_OPS(netdev, &myri10ge_ethtool_ops); | 2897 | SET_ETHTOOL_OPS(netdev, &myri10ge_ethtool_ops); |
2890 | INIT_WORK(&mgp->watchdog_work, myri10ge_watchdog, mgp); | 2898 | INIT_WORK(&mgp->watchdog_work, myri10ge_watchdog); |
2891 | status = register_netdev(netdev); | 2899 | status = register_netdev(netdev); |
2892 | if (status != 0) { | 2900 | if (status != 0) { |
2893 | dev_err(&pdev->dev, "register_netdev failed: %d\n", status); | 2901 | dev_err(&pdev->dev, "register_netdev failed: %d\n", status); |
diff --git a/drivers/net/myri10ge/myri10ge_mcp.h b/drivers/net/myri10ge/myri10ge_mcp.h index 9519ae7cd5ec..29463b301a84 100644 --- a/drivers/net/myri10ge/myri10ge_mcp.h +++ b/drivers/net/myri10ge/myri10ge_mcp.h | |||
@@ -6,23 +6,23 @@ | |||
6 | 6 | ||
7 | /* 8 Bytes */ | 7 | /* 8 Bytes */ |
8 | struct mcp_dma_addr { | 8 | struct mcp_dma_addr { |
9 | u32 high; | 9 | __be32 high; |
10 | u32 low; | 10 | __be32 low; |
11 | }; | 11 | }; |
12 | 12 | ||
13 | /* 4 Bytes */ | 13 | /* 4 Bytes */ |
14 | struct mcp_slot { | 14 | struct mcp_slot { |
15 | u16 checksum; | 15 | __sum16 checksum; |
16 | u16 length; | 16 | __be16 length; |
17 | }; | 17 | }; |
18 | 18 | ||
19 | /* 64 Bytes */ | 19 | /* 64 Bytes */ |
20 | struct mcp_cmd { | 20 | struct mcp_cmd { |
21 | u32 cmd; | 21 | __be32 cmd; |
22 | u32 data0; /* will be low portion if data > 32 bits */ | 22 | __be32 data0; /* will be low portion if data > 32 bits */ |
23 | /* 8 */ | 23 | /* 8 */ |
24 | u32 data1; /* will be high portion if data > 32 bits */ | 24 | __be32 data1; /* will be high portion if data > 32 bits */ |
25 | u32 data2; /* currently unused.. */ | 25 | __be32 data2; /* currently unused.. */ |
26 | /* 16 */ | 26 | /* 16 */ |
27 | struct mcp_dma_addr response_addr; | 27 | struct mcp_dma_addr response_addr; |
28 | /* 24 */ | 28 | /* 24 */ |
@@ -31,8 +31,8 @@ struct mcp_cmd { | |||
31 | 31 | ||
32 | /* 8 Bytes */ | 32 | /* 8 Bytes */ |
33 | struct mcp_cmd_response { | 33 | struct mcp_cmd_response { |
34 | u32 data; | 34 | __be32 data; |
35 | u32 result; | 35 | __be32 result; |
36 | }; | 36 | }; |
37 | 37 | ||
38 | /* | 38 | /* |
@@ -73,10 +73,10 @@ union mcp_pso_or_cumlen { | |||
73 | 73 | ||
74 | /* 16 Bytes */ | 74 | /* 16 Bytes */ |
75 | struct mcp_kreq_ether_send { | 75 | struct mcp_kreq_ether_send { |
76 | u32 addr_high; | 76 | __be32 addr_high; |
77 | u32 addr_low; | 77 | __be32 addr_low; |
78 | u16 pseudo_hdr_offset; | 78 | __be16 pseudo_hdr_offset; |
79 | u16 length; | 79 | __be16 length; |
80 | u8 pad; | 80 | u8 pad; |
81 | u8 rdma_count; | 81 | u8 rdma_count; |
82 | u8 cksum_offset; /* where to start computing cksum */ | 82 | u8 cksum_offset; /* where to start computing cksum */ |
@@ -85,8 +85,8 @@ struct mcp_kreq_ether_send { | |||
85 | 85 | ||
86 | /* 8 Bytes */ | 86 | /* 8 Bytes */ |
87 | struct mcp_kreq_ether_recv { | 87 | struct mcp_kreq_ether_recv { |
88 | u32 addr_high; | 88 | __be32 addr_high; |
89 | u32 addr_low; | 89 | __be32 addr_low; |
90 | }; | 90 | }; |
91 | 91 | ||
92 | /* Commands */ | 92 | /* Commands */ |
@@ -219,19 +219,19 @@ enum myri10ge_mcp_cmd_status { | |||
219 | 219 | ||
220 | struct mcp_irq_data { | 220 | struct mcp_irq_data { |
221 | /* add new counters at the beginning */ | 221 | /* add new counters at the beginning */ |
222 | u32 future_use[5]; | 222 | __be32 future_use[5]; |
223 | u32 dropped_multicast_filtered; | 223 | __be32 dropped_multicast_filtered; |
224 | /* 40 Bytes */ | 224 | /* 40 Bytes */ |
225 | u32 send_done_count; | 225 | __be32 send_done_count; |
226 | 226 | ||
227 | u32 link_up; | 227 | __be32 link_up; |
228 | u32 dropped_link_overflow; | 228 | __be32 dropped_link_overflow; |
229 | u32 dropped_link_error_or_filtered; | 229 | __be32 dropped_link_error_or_filtered; |
230 | u32 dropped_runt; | 230 | __be32 dropped_runt; |
231 | u32 dropped_overrun; | 231 | __be32 dropped_overrun; |
232 | u32 dropped_no_small_buffer; | 232 | __be32 dropped_no_small_buffer; |
233 | u32 dropped_no_big_buffer; | 233 | __be32 dropped_no_big_buffer; |
234 | u32 rdma_tags_available; | 234 | __be32 rdma_tags_available; |
235 | 235 | ||
236 | u8 tx_stopped; | 236 | u8 tx_stopped; |
237 | u8 link_down; | 237 | u8 link_down; |
diff --git a/drivers/net/myri10ge/myri10ge_mcp_gen_header.h b/drivers/net/myri10ge/myri10ge_mcp_gen_header.h index 487f7792fd46..16a810dd6d51 100644 --- a/drivers/net/myri10ge/myri10ge_mcp_gen_header.h +++ b/drivers/net/myri10ge/myri10ge_mcp_gen_header.h | |||
@@ -36,7 +36,7 @@ | |||
36 | struct mcp_gen_header { | 36 | struct mcp_gen_header { |
37 | /* the first 4 fields are filled at compile time */ | 37 | /* the first 4 fields are filled at compile time */ |
38 | unsigned header_length; | 38 | unsigned header_length; |
39 | unsigned mcp_type; | 39 | __be32 mcp_type; |
40 | char version[128]; | 40 | char version[128]; |
41 | unsigned mcp_globals; /* pointer to mcp-type specific structure */ | 41 | unsigned mcp_globals; /* pointer to mcp-type specific structure */ |
42 | 42 | ||
diff --git a/drivers/net/myri_sbus.c b/drivers/net/myri_sbus.c index 7747bfd99f91..ee26ef52289f 100644 --- a/drivers/net/myri_sbus.c +++ b/drivers/net/myri_sbus.c | |||
@@ -39,7 +39,6 @@ static char version[] = | |||
39 | #include <asm/auxio.h> | 39 | #include <asm/auxio.h> |
40 | #include <asm/pgtable.h> | 40 | #include <asm/pgtable.h> |
41 | #include <asm/irq.h> | 41 | #include <asm/irq.h> |
42 | #include <asm/checksum.h> | ||
43 | 42 | ||
44 | #include "myri_sbus.h" | 43 | #include "myri_sbus.h" |
45 | #include "myri_code.h" | 44 | #include "myri_code.h" |
diff --git a/drivers/net/ne.c b/drivers/net/ne.c index 787aa4221528..a5c4199e2754 100644 --- a/drivers/net/ne.c +++ b/drivers/net/ne.c | |||
@@ -867,7 +867,7 @@ static void cleanup_card(struct net_device *dev) | |||
867 | release_region(dev->base_addr, NE_IO_EXTENT); | 867 | release_region(dev->base_addr, NE_IO_EXTENT); |
868 | } | 868 | } |
869 | 869 | ||
870 | void cleanup_module(void) | 870 | void __exit cleanup_module(void) |
871 | { | 871 | { |
872 | int this_dev; | 872 | int this_dev; |
873 | 873 | ||
diff --git a/drivers/net/ne2.c b/drivers/net/ne2.c index 5fccfea66d87..089b5bb702fc 100644 --- a/drivers/net/ne2.c +++ b/drivers/net/ne2.c | |||
@@ -813,7 +813,7 @@ static void cleanup_card(struct net_device *dev) | |||
813 | release_region(dev->base_addr, NE_IO_EXTENT); | 813 | release_region(dev->base_addr, NE_IO_EXTENT); |
814 | } | 814 | } |
815 | 815 | ||
816 | void cleanup_module(void) | 816 | void __exit cleanup_module(void) |
817 | { | 817 | { |
818 | int this_dev; | 818 | int this_dev; |
819 | 819 | ||
diff --git a/drivers/net/ne3210.c b/drivers/net/ne3210.c index d66328975425..1a6fed76d4cc 100644 --- a/drivers/net/ne3210.c +++ b/drivers/net/ne3210.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <linux/interrupt.h> | 36 | #include <linux/interrupt.h> |
37 | #include <linux/netdevice.h> | 37 | #include <linux/netdevice.h> |
38 | #include <linux/etherdevice.h> | 38 | #include <linux/etherdevice.h> |
39 | #include <linux/mm.h> | ||
39 | 40 | ||
40 | #include <asm/io.h> | 41 | #include <asm/io.h> |
41 | #include <asm/system.h> | 42 | #include <asm/system.h> |
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index bf58db29e2ed..69233f6aa05c 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c | |||
@@ -60,7 +60,6 @@ static struct netpoll np = { | |||
60 | .local_port = 6665, | 60 | .local_port = 6665, |
61 | .remote_port = 6666, | 61 | .remote_port = 6666, |
62 | .remote_mac = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, | 62 | .remote_mac = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, |
63 | .drop = netpoll_queue, | ||
64 | }; | 63 | }; |
65 | static int configured = 0; | 64 | static int configured = 0; |
66 | 65 | ||
@@ -102,6 +101,8 @@ __setup("netconsole=", option_setup); | |||
102 | 101 | ||
103 | static int init_netconsole(void) | 102 | static int init_netconsole(void) |
104 | { | 103 | { |
104 | int err; | ||
105 | |||
105 | if(strlen(config)) | 106 | if(strlen(config)) |
106 | option_setup(config); | 107 | option_setup(config); |
107 | 108 | ||
@@ -110,8 +111,9 @@ static int init_netconsole(void) | |||
110 | return 0; | 111 | return 0; |
111 | } | 112 | } |
112 | 113 | ||
113 | if(netpoll_setup(&np)) | 114 | err = netpoll_setup(&np); |
114 | return -EINVAL; | 115 | if (err) |
116 | return err; | ||
115 | 117 | ||
116 | register_console(&netconsole); | 118 | register_console(&netconsole); |
117 | printk(KERN_INFO "netconsole: network logging started\n"); | 119 | printk(KERN_INFO "netconsole: network logging started\n"); |
diff --git a/drivers/net/netxen/netxen_nic.h b/drivers/net/netxen/netxen_nic.h index d925053fe597..b5410bee5f21 100644 --- a/drivers/net/netxen/netxen_nic.h +++ b/drivers/net/netxen/netxen_nic.h | |||
@@ -1,25 +1,25 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2003 - 2006 NetXen, Inc. | 2 | * Copyright (C) 2003 - 2006 NetXen, Inc. |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
8 | * of the License, or (at your option) any later version. | 8 | * of the License, or (at your option) any later version. |
9 | * | 9 | * |
10 | * This program is distributed in the hope that it will be useful, but | 10 | * This program is distributed in the hope that it will be useful, but |
11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | * GNU General Public License for more details. | 13 | * GNU General Public License for more details. |
14 | * | 14 | * |
15 | * You should have received a copy of the GNU General Public License | 15 | * You should have received a copy of the GNU General Public License |
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
18 | * MA 02111-1307, USA. | 18 | * MA 02111-1307, USA. |
19 | * | 19 | * |
20 | * The full GNU General Public License is included in this distribution | 20 | * The full GNU General Public License is included in this distribution |
21 | * in the file called LICENSE. | 21 | * in the file called LICENSE. |
22 | * | 22 | * |
23 | * Contact Information: | 23 | * Contact Information: |
24 | * info@netxen.com | 24 | * info@netxen.com |
25 | * NetXen, | 25 | * NetXen, |
@@ -63,40 +63,68 @@ | |||
63 | 63 | ||
64 | #include "netxen_nic_hw.h" | 64 | #include "netxen_nic_hw.h" |
65 | 65 | ||
66 | #define NETXEN_NIC_BUILD_NO "5" | 66 | #define NETXEN_NIC_BUILD_NO "1" |
67 | #define _NETXEN_NIC_LINUX_MAJOR 2 | 67 | #define _NETXEN_NIC_LINUX_MAJOR 3 |
68 | #define _NETXEN_NIC_LINUX_MINOR 3 | 68 | #define _NETXEN_NIC_LINUX_MINOR 3 |
69 | #define _NETXEN_NIC_LINUX_SUBVERSION 59 | 69 | #define _NETXEN_NIC_LINUX_SUBVERSION 2 |
70 | #define NETXEN_NIC_LINUX_VERSIONID "2.3.59" "-" NETXEN_NIC_BUILD_NO | 70 | #define NETXEN_NIC_LINUX_VERSIONID "3.3.2" "-" NETXEN_NIC_BUILD_NO |
71 | #define NETXEN_NIC_FW_VERSIONID "2.3.59" | 71 | #define NETXEN_NIC_FW_VERSIONID "3.3.2" |
72 | 72 | ||
73 | #define RCV_DESC_RINGSIZE \ | 73 | #define RCV_DESC_RINGSIZE \ |
74 | (sizeof(struct rcv_desc) * adapter->max_rx_desc_count) | 74 | (sizeof(struct rcv_desc) * adapter->max_rx_desc_count) |
75 | #define STATUS_DESC_RINGSIZE \ | 75 | #define STATUS_DESC_RINGSIZE \ |
76 | (sizeof(struct status_desc)* adapter->max_rx_desc_count) | 76 | (sizeof(struct status_desc)* adapter->max_rx_desc_count) |
77 | #define LRO_DESC_RINGSIZE \ | ||
78 | (sizeof(rcvDesc_t) * adapter->max_lro_rx_desc_count) | ||
77 | #define TX_RINGSIZE \ | 79 | #define TX_RINGSIZE \ |
78 | (sizeof(struct netxen_cmd_buffer) * adapter->max_tx_desc_count) | 80 | (sizeof(struct netxen_cmd_buffer) * adapter->max_tx_desc_count) |
79 | #define RCV_BUFFSIZE \ | 81 | #define RCV_BUFFSIZE \ |
80 | (sizeof(struct netxen_rx_buffer) * rcv_desc->max_rx_desc_count) | 82 | (sizeof(struct netxen_rx_buffer) * rcv_desc->max_rx_desc_count) |
81 | #define find_diff_among(a,b,range) ((a)<(b)?((b)-(a)):((b)+(range)-(a))) | 83 | #define find_diff_among(a,b,range) ((a)<(b)?((b)-(a)):((b)+(range)-(a))) |
82 | 84 | ||
83 | #define NETXEN_NETDEV_STATUS 0x1 | 85 | #define NETXEN_NETDEV_STATUS 0x1 |
86 | #define NETXEN_RCV_PRODUCER_OFFSET 0 | ||
87 | #define NETXEN_RCV_PEG_DB_ID 2 | ||
88 | #define NETXEN_HOST_DUMMY_DMA_SIZE 1024 | ||
84 | 89 | ||
85 | #define ADDR_IN_WINDOW1(off) \ | 90 | #define ADDR_IN_WINDOW1(off) \ |
86 | ((off > NETXEN_CRB_PCIX_HOST2) && (off < NETXEN_CRB_MAX)) ? 1 : 0 | 91 | ((off > NETXEN_CRB_PCIX_HOST2) && (off < NETXEN_CRB_MAX)) ? 1 : 0 |
92 | /* | ||
93 | * In netxen_nic_down(), we must wait for any pending callback requests into | ||
94 | * netxen_watchdog_task() to complete; eg otherwise the watchdog_timer could be | ||
95 | * reenabled right after it is deleted in netxen_nic_down(). FLUSH_SCHEDULED_WORK() | ||
96 | * does this synchronization. | ||
97 | * | ||
98 | * Normally, schedule_work()/flush_scheduled_work() could have worked, but | ||
99 | * netxen_nic_close() is invoked with kernel rtnl lock held. netif_carrier_off() | ||
100 | * call in netxen_nic_close() triggers a schedule_work(&linkwatch_work), and a | ||
101 | * subsequent call to flush_scheduled_work() in netxen_nic_down() would cause | ||
102 | * linkwatch_event() to be executed which also attempts to acquire the rtnl | ||
103 | * lock thus causing a deadlock. | ||
104 | */ | ||
105 | |||
106 | #define SCHEDULE_WORK(tp) queue_work(netxen_workq, tp) | ||
107 | #define FLUSH_SCHEDULED_WORK() flush_workqueue(netxen_workq) | ||
108 | extern struct workqueue_struct *netxen_workq; | ||
87 | 109 | ||
88 | /* | 110 | /* |
89 | * normalize a 64MB crb address to 32MB PCI window | 111 | * normalize a 64MB crb address to 32MB PCI window |
90 | * To use NETXEN_CRB_NORMALIZE, window _must_ be set to 1 | 112 | * To use NETXEN_CRB_NORMALIZE, window _must_ be set to 1 |
91 | */ | 113 | */ |
92 | #define NETXEN_CRB_NORMAL(reg) \ | 114 | #define NETXEN_CRB_NORMAL(reg) \ |
93 | (reg) - NETXEN_CRB_PCIX_HOST2 + NETXEN_CRB_PCIX_HOST | 115 | ((reg) - NETXEN_CRB_PCIX_HOST2 + NETXEN_CRB_PCIX_HOST) |
94 | 116 | ||
95 | #define NETXEN_CRB_NORMALIZE(adapter, reg) \ | 117 | #define NETXEN_CRB_NORMALIZE(adapter, reg) \ |
96 | pci_base_offset(adapter, NETXEN_CRB_NORMAL(reg)) | 118 | pci_base_offset(adapter, NETXEN_CRB_NORMAL(reg)) |
97 | 119 | ||
120 | #define DB_NORMALIZE(adapter, off) \ | ||
121 | (adapter->ahw.db_base + (off)) | ||
122 | |||
123 | #define NX_P2_C0 0x24 | ||
124 | #define NX_P2_C1 0x25 | ||
125 | |||
98 | #define FIRST_PAGE_GROUP_START 0 | 126 | #define FIRST_PAGE_GROUP_START 0 |
99 | #define FIRST_PAGE_GROUP_END 0x400000 | 127 | #define FIRST_PAGE_GROUP_END 0x100000 |
100 | 128 | ||
101 | #define SECOND_PAGE_GROUP_START 0x4000000 | 129 | #define SECOND_PAGE_GROUP_START 0x4000000 |
102 | #define SECOND_PAGE_GROUP_END 0x66BC000 | 130 | #define SECOND_PAGE_GROUP_END 0x66BC000 |
@@ -108,11 +136,13 @@ | |||
108 | #define SECOND_PAGE_GROUP_SIZE SECOND_PAGE_GROUP_END - SECOND_PAGE_GROUP_START | 136 | #define SECOND_PAGE_GROUP_SIZE SECOND_PAGE_GROUP_END - SECOND_PAGE_GROUP_START |
109 | #define THIRD_PAGE_GROUP_SIZE THIRD_PAGE_GROUP_END - THIRD_PAGE_GROUP_START | 137 | #define THIRD_PAGE_GROUP_SIZE THIRD_PAGE_GROUP_END - THIRD_PAGE_GROUP_START |
110 | 138 | ||
111 | #define MAX_RX_BUFFER_LENGTH 2000 | 139 | #define MAX_RX_BUFFER_LENGTH 1760 |
112 | #define MAX_RX_JUMBO_BUFFER_LENGTH 9046 | 140 | #define MAX_RX_JUMBO_BUFFER_LENGTH 9046 |
113 | #define RX_DMA_MAP_LEN (MAX_RX_BUFFER_LENGTH - NET_IP_ALIGN) | 141 | #define MAX_RX_LRO_BUFFER_LENGTH ((48*1024)-512) |
142 | #define RX_DMA_MAP_LEN (MAX_RX_BUFFER_LENGTH - 2) | ||
114 | #define RX_JUMBO_DMA_MAP_LEN \ | 143 | #define RX_JUMBO_DMA_MAP_LEN \ |
115 | (MAX_RX_JUMBO_BUFFER_LENGTH - NET_IP_ALIGN) | 144 | (MAX_RX_JUMBO_BUFFER_LENGTH - 2) |
145 | #define RX_LRO_DMA_MAP_LEN (MAX_RX_LRO_BUFFER_LENGTH - 2) | ||
116 | #define NETXEN_ROM_ROUNDUP 0x80000000ULL | 146 | #define NETXEN_ROM_ROUNDUP 0x80000000ULL |
117 | 147 | ||
118 | /* | 148 | /* |
@@ -151,30 +181,38 @@ enum { | |||
151 | /* Host writes the following to notify that it has done the init-handshake */ | 181 | /* Host writes the following to notify that it has done the init-handshake */ |
152 | #define PHAN_INITIALIZE_ACK 0xf00f | 182 | #define PHAN_INITIALIZE_ACK 0xf00f |
153 | 183 | ||
154 | #define NUM_RCV_DESC_RINGS 2 /* No of Rcv Descriptor contexts */ | 184 | #define NUM_RCV_DESC_RINGS 3 /* No of Rcv Descriptor contexts */ |
155 | 185 | ||
156 | /* descriptor types */ | 186 | /* descriptor types */ |
157 | #define RCV_DESC_NORMAL 0x01 | 187 | #define RCV_DESC_NORMAL 0x01 |
158 | #define RCV_DESC_JUMBO 0x02 | 188 | #define RCV_DESC_JUMBO 0x02 |
189 | #define RCV_DESC_LRO 0x04 | ||
159 | #define RCV_DESC_NORMAL_CTXID 0 | 190 | #define RCV_DESC_NORMAL_CTXID 0 |
160 | #define RCV_DESC_JUMBO_CTXID 1 | 191 | #define RCV_DESC_JUMBO_CTXID 1 |
192 | #define RCV_DESC_LRO_CTXID 2 | ||
161 | 193 | ||
162 | #define RCV_DESC_TYPE(ID) \ | 194 | #define RCV_DESC_TYPE(ID) \ |
163 | ((ID == RCV_DESC_JUMBO_CTXID) ? RCV_DESC_JUMBO : RCV_DESC_NORMAL) | 195 | ((ID == RCV_DESC_JUMBO_CTXID) \ |
196 | ? RCV_DESC_JUMBO \ | ||
197 | : ((ID == RCV_DESC_LRO_CTXID) \ | ||
198 | ? RCV_DESC_LRO : \ | ||
199 | (RCV_DESC_NORMAL))) | ||
164 | 200 | ||
165 | #define MAX_CMD_DESCRIPTORS 1024 | 201 | #define MAX_CMD_DESCRIPTORS 1024 |
166 | #define MAX_RCV_DESCRIPTORS 32768 | 202 | #define MAX_RCV_DESCRIPTORS 32768 |
167 | #define MAX_JUMBO_RCV_DESCRIPTORS 1024 | 203 | #define MAX_JUMBO_RCV_DESCRIPTORS 4096 |
204 | #define MAX_LRO_RCV_DESCRIPTORS 2048 | ||
168 | #define MAX_RCVSTATUS_DESCRIPTORS MAX_RCV_DESCRIPTORS | 205 | #define MAX_RCVSTATUS_DESCRIPTORS MAX_RCV_DESCRIPTORS |
169 | #define MAX_JUMBO_RCV_DESC MAX_JUMBO_RCV_DESCRIPTORS | 206 | #define MAX_JUMBO_RCV_DESC MAX_JUMBO_RCV_DESCRIPTORS |
170 | #define MAX_RCV_DESC MAX_RCV_DESCRIPTORS | 207 | #define MAX_RCV_DESC MAX_RCV_DESCRIPTORS |
171 | #define MAX_RCVSTATUS_DESC MAX_RCV_DESCRIPTORS | 208 | #define MAX_RCVSTATUS_DESC MAX_RCV_DESCRIPTORS |
172 | #define NUM_RCV_DESC (MAX_RCV_DESC + MAX_JUMBO_RCV_DESCRIPTORS) | ||
173 | #define MAX_EPG_DESCRIPTORS (MAX_CMD_DESCRIPTORS * 8) | 209 | #define MAX_EPG_DESCRIPTORS (MAX_CMD_DESCRIPTORS * 8) |
174 | 210 | #define NUM_RCV_DESC (MAX_RCV_DESC + MAX_JUMBO_RCV_DESCRIPTORS + \ | |
211 | MAX_LRO_RCV_DESCRIPTORS) | ||
175 | #define MIN_TX_COUNT 4096 | 212 | #define MIN_TX_COUNT 4096 |
176 | #define MIN_RX_COUNT 4096 | 213 | #define MIN_RX_COUNT 4096 |
177 | 214 | #define NETXEN_CTX_SIGNATURE 0xdee0 | |
215 | #define NETXEN_RCV_PRODUCER(ringid) (ringid) | ||
178 | #define MAX_FRAME_SIZE 0x10000 /* 64K MAX size for LSO */ | 216 | #define MAX_FRAME_SIZE 0x10000 /* 64K MAX size for LSO */ |
179 | 217 | ||
180 | #define PHAN_PEG_RCV_INITIALIZED 0xff01 | 218 | #define PHAN_PEG_RCV_INITIALIZED 0xff01 |
@@ -186,6 +224,67 @@ enum { | |||
186 | #define get_index_range(index,length,count) \ | 224 | #define get_index_range(index,length,count) \ |
187 | (((index) + (count)) & ((length) - 1)) | 225 | (((index) + (count)) & ((length) - 1)) |
188 | 226 | ||
227 | #define MPORT_SINGLE_FUNCTION_MODE 0x1111 | ||
228 | |||
229 | extern unsigned long long netxen_dma_mask; | ||
230 | |||
231 | /* | ||
232 | * NetXen host-peg signal message structure | ||
233 | * | ||
234 | * Bit 0-1 : peg_id => 0x2 for tx and 01 for rx | ||
235 | * Bit 2 : priv_id => must be 1 | ||
236 | * Bit 3-17 : count => for doorbell | ||
237 | * Bit 18-27 : ctx_id => Context id | ||
238 | * Bit 28-31 : opcode | ||
239 | */ | ||
240 | |||
241 | typedef u32 netxen_ctx_msg; | ||
242 | |||
243 | #define _netxen_set_bits(config_word, start, bits, val) {\ | ||
244 | unsigned long long mask = (((1ULL << (bits)) - 1) << (start)); \ | ||
245 | unsigned long long value = (val); \ | ||
246 | (config_word) &= ~mask; \ | ||
247 | (config_word) |= (((value) << (start)) & mask); \ | ||
248 | } | ||
249 | |||
250 | #define netxen_set_msg_peg_id(config_word, val) \ | ||
251 | _netxen_set_bits(config_word, 0, 2, val) | ||
252 | #define netxen_set_msg_privid(config_word) \ | ||
253 | set_bit(2, (unsigned long*)&config_word) | ||
254 | #define netxen_set_msg_count(config_word, val) \ | ||
255 | _netxen_set_bits(config_word, 3, 15, val) | ||
256 | #define netxen_set_msg_ctxid(config_word, val) \ | ||
257 | _netxen_set_bits(config_word, 18, 10, val) | ||
258 | #define netxen_set_msg_opcode(config_word, val) \ | ||
259 | _netxen_set_bits(config_word, 28, 4, val) | ||
260 | |||
261 | struct netxen_rcv_context { | ||
262 | u32 rcv_ring_addr_lo; | ||
263 | u32 rcv_ring_addr_hi; | ||
264 | u32 rcv_ring_size; | ||
265 | u32 rsrvd; | ||
266 | }; | ||
267 | |||
268 | struct netxen_ring_ctx { | ||
269 | |||
270 | /* one command ring */ | ||
271 | u64 cmd_consumer_offset; | ||
272 | u32 cmd_ring_addr_lo; | ||
273 | u32 cmd_ring_addr_hi; | ||
274 | u32 cmd_ring_size; | ||
275 | u32 rsrvd; | ||
276 | |||
277 | /* three receive rings */ | ||
278 | struct netxen_rcv_context rcv_ctx[3]; | ||
279 | |||
280 | /* one status ring */ | ||
281 | u32 sts_ring_addr_lo; | ||
282 | u32 sts_ring_addr_hi; | ||
283 | u32 sts_ring_size; | ||
284 | |||
285 | u32 ctx_id; | ||
286 | } __attribute__ ((aligned(64))); | ||
287 | |||
189 | /* | 288 | /* |
190 | * Following data structures describe the descriptors that will be used. | 289 | * Following data structures describe the descriptors that will be used. |
191 | * Added fileds of tcpHdrSize and ipHdrSize, The driver needs to do it only when | 290 | * Added fileds of tcpHdrSize and ipHdrSize, The driver needs to do it only when |
@@ -203,22 +302,32 @@ enum { | |||
203 | #define FLAGS_IPSEC_SA_DELETE 0x08 | 302 | #define FLAGS_IPSEC_SA_DELETE 0x08 |
204 | #define FLAGS_VLAN_TAGGED 0x10 | 303 | #define FLAGS_VLAN_TAGGED 0x10 |
205 | 304 | ||
206 | #define CMD_DESC_TOTAL_LENGTH(cmd_desc) \ | 305 | #define netxen_set_cmd_desc_port(cmd_desc, var) \ |
207 | ((cmd_desc)->length_tcp_hdr & 0x00FFFFFF) | 306 | ((cmd_desc)->port_ctxid |= ((var) & 0x0F)) |
208 | #define CMD_DESC_TCP_HDR_OFFSET(cmd_desc) \ | ||
209 | (((cmd_desc)->length_tcp_hdr >> 24) & 0x0FF) | ||
210 | #define CMD_DESC_PORT(cmd_desc) ((cmd_desc)->port_ctxid & 0x0F) | ||
211 | #define CMD_DESC_CTX_ID(cmd_desc) (((cmd_desc)->port_ctxid >> 4) & 0x0F) | ||
212 | 307 | ||
213 | #define CMD_DESC_TOTAL_LENGTH_WRT(cmd_desc, var) \ | 308 | #define netxen_set_cmd_desc_flags(cmd_desc, val) \ |
214 | ((cmd_desc)->length_tcp_hdr |= ((var) & 0x00FFFFFF)) | 309 | _netxen_set_bits((cmd_desc)->flags_opcode, 0, 7, val) |
215 | #define CMD_DESC_TCP_HDR_OFFSET_WRT(cmd_desc, var) \ | 310 | #define netxen_set_cmd_desc_opcode(cmd_desc, val) \ |
216 | ((cmd_desc)->length_tcp_hdr |= (((var) << 24) & 0xFF000000)) | 311 | _netxen_set_bits((cmd_desc)->flags_opcode, 7, 6, val) |
217 | #define CMD_DESC_PORT_WRT(cmd_desc, var) \ | 312 | |
218 | ((cmd_desc)->port_ctxid |= ((var) & 0x0F)) | 313 | #define netxen_set_cmd_desc_num_of_buff(cmd_desc, val) \ |
314 | _netxen_set_bits((cmd_desc)->num_of_buffers_total_length, 0, 8, val); | ||
315 | #define netxen_set_cmd_desc_totallength(cmd_desc, val) \ | ||
316 | _netxen_set_bits((cmd_desc)->num_of_buffers_total_length, 8, 24, val); | ||
317 | |||
318 | #define netxen_get_cmd_desc_opcode(cmd_desc) \ | ||
319 | (((cmd_desc)->flags_opcode >> 7) & 0x003F) | ||
320 | #define netxen_get_cmd_desc_totallength(cmd_desc) \ | ||
321 | (((cmd_desc)->num_of_buffers_total_length >> 8) & 0x0FFFFFF) | ||
219 | 322 | ||
220 | struct cmd_desc_type0 { | 323 | struct cmd_desc_type0 { |
221 | u64 netxen_next; /* for fragments handled by Phantom */ | 324 | u8 tcp_hdr_offset; /* For LSO only */ |
325 | u8 ip_hdr_offset; /* For LSO only */ | ||
326 | /* Bit pattern: 0-6 flags, 7-12 opcode, 13-15 unused */ | ||
327 | u16 flags_opcode; | ||
328 | /* Bit pattern: 0-7 total number of segments, | ||
329 | 8-31 Total size of the packet */ | ||
330 | u32 num_of_buffers_total_length; | ||
222 | union { | 331 | union { |
223 | struct { | 332 | struct { |
224 | u32 addr_low_part2; | 333 | u32 addr_low_part2; |
@@ -227,13 +336,6 @@ struct cmd_desc_type0 { | |||
227 | u64 addr_buffer2; | 336 | u64 addr_buffer2; |
228 | }; | 337 | }; |
229 | 338 | ||
230 | /* Bit pattern: 0-23 total length, 24-32 tcp header offset */ | ||
231 | u32 length_tcp_hdr; | ||
232 | u8 ip_hdr_offset; /* For LSO only */ | ||
233 | u8 num_of_buffers; /* total number of segments */ | ||
234 | u8 flags; /* as defined above */ | ||
235 | u8 opcode; | ||
236 | |||
237 | u16 reference_handle; /* changed to u16 to add mss */ | 339 | u16 reference_handle; /* changed to u16 to add mss */ |
238 | u16 mss; /* passed by NDIS_PACKET for LSO */ | 340 | u16 mss; /* passed by NDIS_PACKET for LSO */ |
239 | /* Bit pattern 0-3 port, 0-3 ctx id */ | 341 | /* Bit pattern 0-3 port, 0-3 ctx id */ |
@@ -248,7 +350,6 @@ struct cmd_desc_type0 { | |||
248 | }; | 350 | }; |
249 | u64 addr_buffer3; | 351 | u64 addr_buffer3; |
250 | }; | 352 | }; |
251 | |||
252 | union { | 353 | union { |
253 | struct { | 354 | struct { |
254 | u32 addr_low_part1; | 355 | u32 addr_low_part1; |
@@ -270,6 +371,8 @@ struct cmd_desc_type0 { | |||
270 | u64 addr_buffer4; | 371 | u64 addr_buffer4; |
271 | }; | 372 | }; |
272 | 373 | ||
374 | u64 unused; | ||
375 | |||
273 | } __attribute__ ((aligned(64))); | 376 | } __attribute__ ((aligned(64))); |
274 | 377 | ||
275 | /* Note: sizeof(rcv_desc) should always be a mutliple of 2 */ | 378 | /* Note: sizeof(rcv_desc) should always be a mutliple of 2 */ |
@@ -296,22 +399,49 @@ struct rcv_desc { | |||
296 | #define NETXEN_PROT_UNKNOWN (0) | 399 | #define NETXEN_PROT_UNKNOWN (0) |
297 | 400 | ||
298 | /* Note: sizeof(status_desc) should always be a mutliple of 2 */ | 401 | /* Note: sizeof(status_desc) should always be a mutliple of 2 */ |
299 | #define STATUS_DESC_PORT(status_desc) \ | 402 | |
300 | ((status_desc)->port_status_type_op & 0x0F) | 403 | #define netxen_get_sts_desc_lro_cnt(status_desc) \ |
301 | #define STATUS_DESC_STATUS(status_desc) \ | 404 | ((status_desc)->lro & 0x7F) |
302 | (((status_desc)->port_status_type_op >> 4) & 0x0F) | 405 | #define netxen_get_sts_desc_lro_last_frag(status_desc) \ |
303 | #define STATUS_DESC_TYPE(status_desc) \ | 406 | (((status_desc)->lro & 0x80) >> 7) |
304 | (((status_desc)->port_status_type_op >> 8) & 0x0F) | 407 | |
305 | #define STATUS_DESC_OPCODE(status_desc) \ | 408 | #define netxen_get_sts_port(status_desc) \ |
306 | (((status_desc)->port_status_type_op >> 12) & 0x0F) | 409 | ((status_desc)->status_desc_data & 0x0F) |
410 | #define netxen_get_sts_status(status_desc) \ | ||
411 | (((status_desc)->status_desc_data >> 4) & 0x0F) | ||
412 | #define netxen_get_sts_type(status_desc) \ | ||
413 | (((status_desc)->status_desc_data >> 8) & 0x0F) | ||
414 | #define netxen_get_sts_totallength(status_desc) \ | ||
415 | (((status_desc)->status_desc_data >> 12) & 0xFFFF) | ||
416 | #define netxen_get_sts_refhandle(status_desc) \ | ||
417 | (((status_desc)->status_desc_data >> 28) & 0xFFFF) | ||
418 | #define netxen_get_sts_prot(status_desc) \ | ||
419 | (((status_desc)->status_desc_data >> 44) & 0x0F) | ||
420 | #define netxen_get_sts_owner(status_desc) \ | ||
421 | (((status_desc)->status_desc_data >> 56) & 0x03) | ||
422 | #define netxen_get_sts_opcode(status_desc) \ | ||
423 | (((status_desc)->status_desc_data >> 58) & 0x03F) | ||
424 | |||
425 | #define netxen_clear_sts_owner(status_desc) \ | ||
426 | ((status_desc)->status_desc_data &= \ | ||
427 | ~(((unsigned long long)3) << 56 )) | ||
428 | #define netxen_set_sts_owner(status_desc, val) \ | ||
429 | ((status_desc)->status_desc_data |= \ | ||
430 | (((unsigned long long)((val) & 0x3)) << 56 )) | ||
307 | 431 | ||
308 | struct status_desc { | 432 | struct status_desc { |
309 | /* Bit pattern: 0-3 port, 4-7 status, 8-11 type, 12-15 opcode */ | 433 | /* Bit pattern: 0-3 port, 4-7 status, 8-11 type, 12-27 total_length |
310 | u16 port_status_type_op; | 434 | 28-43 reference_handle, 44-47 protocol, 48-52 unused |
311 | u16 total_length; /* NIC mode */ | 435 | 53-55 desc_cnt, 56-57 owner, 58-63 opcode |
312 | u16 reference_handle; /* handle for the associated packet */ | 436 | */ |
313 | /* Bit pattern: 0-1 owner, 2-5 protocol */ | 437 | u64 status_desc_data; |
314 | u16 owner; /* Owner of the descriptor */ | 438 | u32 hash_value; |
439 | u8 hash_type; | ||
440 | u8 msg_type; | ||
441 | u8 unused; | ||
442 | /* Bit pattern: 0-6 lro_count indicates frag sequence, | ||
443 | 7 last_frag indicates last frag */ | ||
444 | u8 lro; | ||
315 | } __attribute__ ((aligned(8))); | 445 | } __attribute__ ((aligned(8))); |
316 | 446 | ||
317 | enum { | 447 | enum { |
@@ -559,11 +689,12 @@ typedef enum { | |||
559 | #define PRIMARY_START (BOOTLD_START) | 689 | #define PRIMARY_START (BOOTLD_START) |
560 | #define FLASH_CRBINIT_SIZE (0x4000) | 690 | #define FLASH_CRBINIT_SIZE (0x4000) |
561 | #define FLASH_BRDCFG_SIZE (sizeof(struct netxen_board_info)) | 691 | #define FLASH_BRDCFG_SIZE (sizeof(struct netxen_board_info)) |
562 | #define FLASH_USER_SIZE (sizeof(netxen_user_info)/sizeof(u32)) | 692 | #define FLASH_USER_SIZE (sizeof(struct netxen_user_info)/sizeof(u32)) |
563 | #define FLASH_SECONDARY_SIZE (USER_START-SECONDARY_START) | 693 | #define FLASH_SECONDARY_SIZE (USER_START-SECONDARY_START) |
564 | #define NUM_PRIMARY_SECTORS (0x20) | 694 | #define NUM_PRIMARY_SECTORS (0x20) |
565 | #define NUM_CONFIG_SECTORS (1) | 695 | #define NUM_CONFIG_SECTORS (1) |
566 | #define PFX "netxen: " | 696 | #define PFX "NetXen: " |
697 | extern char netxen_nic_driver_name[]; | ||
567 | 698 | ||
568 | /* Note: Make sure to not call this before adapter->port is valid */ | 699 | /* Note: Make sure to not call this before adapter->port is valid */ |
569 | #if !defined(NETXEN_DEBUG) | 700 | #if !defined(NETXEN_DEBUG) |
@@ -572,7 +703,7 @@ typedef enum { | |||
572 | #else | 703 | #else |
573 | #define DPRINTK(klevel, fmt, args...) do { \ | 704 | #define DPRINTK(klevel, fmt, args...) do { \ |
574 | printk(KERN_##klevel PFX "%s: %s: " fmt, __FUNCTION__,\ | 705 | printk(KERN_##klevel PFX "%s: %s: " fmt, __FUNCTION__,\ |
575 | (adapter != NULL && adapter->port != NULL && \ | 706 | (adapter != NULL && \ |
576 | adapter->port[0] != NULL && \ | 707 | adapter->port[0] != NULL && \ |
577 | adapter->port[0]->netdev != NULL) ? \ | 708 | adapter->port[0]->netdev != NULL) ? \ |
578 | adapter->port[0]->netdev->name : NULL, \ | 709 | adapter->port[0]->netdev->name : NULL, \ |
@@ -609,7 +740,6 @@ struct netxen_cmd_buffer { | |||
609 | u8 frag_count; | 740 | u8 frag_count; |
610 | unsigned long time_stamp; | 741 | unsigned long time_stamp; |
611 | u32 state; | 742 | u32 state; |
612 | u32 no_of_descriptors; | ||
613 | }; | 743 | }; |
614 | 744 | ||
615 | /* In rx_buffer, we do not need multiple fragments as is a single buffer */ | 745 | /* In rx_buffer, we do not need multiple fragments as is a single buffer */ |
@@ -618,6 +748,9 @@ struct netxen_rx_buffer { | |||
618 | u64 dma; | 748 | u64 dma; |
619 | u16 ref_handle; | 749 | u16 ref_handle; |
620 | u16 state; | 750 | u16 state; |
751 | u32 lro_expected_frags; | ||
752 | u32 lro_current_frags; | ||
753 | u32 lro_length; | ||
621 | }; | 754 | }; |
622 | 755 | ||
623 | /* Board types */ | 756 | /* Board types */ |
@@ -633,6 +766,8 @@ struct netxen_hardware_context { | |||
633 | void __iomem *pci_base0; | 766 | void __iomem *pci_base0; |
634 | void __iomem *pci_base1; | 767 | void __iomem *pci_base1; |
635 | void __iomem *pci_base2; | 768 | void __iomem *pci_base2; |
769 | void __iomem *db_base; | ||
770 | unsigned long db_len; | ||
636 | 771 | ||
637 | u8 revision_id; | 772 | u8 revision_id; |
638 | u16 board_type; | 773 | u16 board_type; |
@@ -642,14 +777,13 @@ struct netxen_hardware_context { | |||
642 | u32 qg_linksup; | 777 | u32 qg_linksup; |
643 | /* Address of cmd ring in Phantom */ | 778 | /* Address of cmd ring in Phantom */ |
644 | struct cmd_desc_type0 *cmd_desc_head; | 779 | struct cmd_desc_type0 *cmd_desc_head; |
645 | char *pauseaddr; | ||
646 | struct pci_dev *cmd_desc_pdev; | 780 | struct pci_dev *cmd_desc_pdev; |
647 | dma_addr_t cmd_desc_phys_addr; | 781 | dma_addr_t cmd_desc_phys_addr; |
648 | dma_addr_t pause_physaddr; | ||
649 | struct pci_dev *pause_pdev; | ||
650 | struct netxen_adapter *adapter; | 782 | struct netxen_adapter *adapter; |
651 | }; | 783 | }; |
652 | 784 | ||
785 | #define RCV_RING_LRO RCV_DESC_LRO | ||
786 | |||
653 | #define MINIMUM_ETHERNET_FRAME_SIZE 64 /* With FCS */ | 787 | #define MINIMUM_ETHERNET_FRAME_SIZE 64 /* With FCS */ |
654 | #define ETHERNET_FCS_SIZE 4 | 788 | #define ETHERNET_FCS_SIZE 4 |
655 | 789 | ||
@@ -702,8 +836,13 @@ struct netxen_recv_context { | |||
702 | }; | 836 | }; |
703 | 837 | ||
704 | #define NETXEN_NIC_MSI_ENABLED 0x02 | 838 | #define NETXEN_NIC_MSI_ENABLED 0x02 |
839 | #define NETXEN_DMA_MASK 0xfffffffe | ||
840 | #define NETXEN_DB_MAPSIZE_BYTES 0x1000 | ||
705 | 841 | ||
706 | struct netxen_drvops; | 842 | struct netxen_dummy_dma { |
843 | void *addr; | ||
844 | dma_addr_t phys_addr; | ||
845 | }; | ||
707 | 846 | ||
708 | struct netxen_adapter { | 847 | struct netxen_adapter { |
709 | struct netxen_hardware_context ahw; | 848 | struct netxen_hardware_context ahw; |
@@ -714,17 +853,19 @@ struct netxen_adapter { | |||
714 | spinlock_t lock; | 853 | spinlock_t lock; |
715 | struct work_struct watchdog_task; | 854 | struct work_struct watchdog_task; |
716 | struct work_struct tx_timeout_task; | 855 | struct work_struct tx_timeout_task; |
856 | struct net_device *netdev; | ||
717 | struct timer_list watchdog_timer; | 857 | struct timer_list watchdog_timer; |
718 | 858 | ||
719 | u32 curr_window; | 859 | u32 curr_window; |
720 | 860 | ||
721 | u32 cmd_producer; | 861 | u32 cmd_producer; |
722 | u32 cmd_consumer; | 862 | u32 *cmd_consumer; |
723 | 863 | ||
724 | u32 last_cmd_consumer; | 864 | u32 last_cmd_consumer; |
725 | u32 max_tx_desc_count; | 865 | u32 max_tx_desc_count; |
726 | u32 max_rx_desc_count; | 866 | u32 max_rx_desc_count; |
727 | u32 max_jumbo_rx_desc_count; | 867 | u32 max_jumbo_rx_desc_count; |
868 | u32 max_lro_rx_desc_count; | ||
728 | /* Num of instances active on cmd buffer ring */ | 869 | /* Num of instances active on cmd buffer ring */ |
729 | u32 proc_cmd_buf_counter; | 870 | u32 proc_cmd_buf_counter; |
730 | 871 | ||
@@ -746,8 +887,27 @@ struct netxen_adapter { | |||
746 | struct netxen_recv_context recv_ctx[MAX_RCV_CTX]; | 887 | struct netxen_recv_context recv_ctx[MAX_RCV_CTX]; |
747 | 888 | ||
748 | int is_up; | 889 | int is_up; |
749 | int work_done; | 890 | int number; |
750 | struct netxen_drvops *ops; | 891 | struct netxen_dummy_dma dummy_dma; |
892 | |||
893 | /* Context interface shared between card and host */ | ||
894 | struct netxen_ring_ctx *ctx_desc; | ||
895 | struct pci_dev *ctx_desc_pdev; | ||
896 | dma_addr_t ctx_desc_phys_addr; | ||
897 | int (*enable_phy_interrupts) (struct netxen_adapter *, int); | ||
898 | int (*disable_phy_interrupts) (struct netxen_adapter *, int); | ||
899 | void (*handle_phy_intr) (struct netxen_adapter *); | ||
900 | int (*macaddr_set) (struct netxen_port *, netxen_ethernet_macaddr_t); | ||
901 | int (*set_mtu) (struct netxen_port *, int); | ||
902 | int (*set_promisc) (struct netxen_adapter *, int, | ||
903 | netxen_niu_prom_mode_t); | ||
904 | int (*unset_promisc) (struct netxen_adapter *, int, | ||
905 | netxen_niu_prom_mode_t); | ||
906 | int (*phy_read) (struct netxen_adapter *, long phy, long reg, u32 *); | ||
907 | int (*phy_write) (struct netxen_adapter *, long phy, long reg, u32 val); | ||
908 | int (*init_port) (struct netxen_adapter *, int); | ||
909 | void (*init_niu) (struct netxen_adapter *); | ||
910 | int (*stop_port) (struct netxen_adapter *, int); | ||
751 | }; /* netxen_adapter structure */ | 911 | }; /* netxen_adapter structure */ |
752 | 912 | ||
753 | /* Max number of xmit producer threads that can run simultaneously */ | 913 | /* Max number of xmit producer threads that can run simultaneously */ |
@@ -829,25 +989,6 @@ static inline void __iomem *pci_base(struct netxen_adapter *adapter, | |||
829 | return NULL; | 989 | return NULL; |
830 | } | 990 | } |
831 | 991 | ||
832 | struct netxen_drvops { | ||
833 | int (*enable_phy_interrupts) (struct netxen_adapter *, int); | ||
834 | int (*disable_phy_interrupts) (struct netxen_adapter *, int); | ||
835 | void (*handle_phy_intr) (struct netxen_adapter *); | ||
836 | int (*macaddr_set) (struct netxen_port *, netxen_ethernet_macaddr_t); | ||
837 | int (*set_mtu) (struct netxen_port *, int); | ||
838 | int (*set_promisc) (struct netxen_adapter *, int, | ||
839 | netxen_niu_prom_mode_t); | ||
840 | int (*unset_promisc) (struct netxen_adapter *, int, | ||
841 | netxen_niu_prom_mode_t); | ||
842 | int (*phy_read) (struct netxen_adapter *, long phy, long reg, u32 *); | ||
843 | int (*phy_write) (struct netxen_adapter *, long phy, long reg, u32 val); | ||
844 | int (*init_port) (struct netxen_adapter *, int); | ||
845 | void (*init_niu) (struct netxen_adapter *); | ||
846 | int (*stop_port) (struct netxen_adapter *, int); | ||
847 | }; | ||
848 | |||
849 | extern char netxen_nic_driver_name[]; | ||
850 | |||
851 | int netxen_niu_xgbe_enable_phy_interrupts(struct netxen_adapter *adapter, | 992 | int netxen_niu_xgbe_enable_phy_interrupts(struct netxen_adapter *adapter, |
852 | int port); | 993 | int port); |
853 | int netxen_niu_gbe_enable_phy_interrupts(struct netxen_adapter *adapter, | 994 | int netxen_niu_gbe_enable_phy_interrupts(struct netxen_adapter *adapter, |
@@ -886,10 +1027,20 @@ int netxen_nic_hw_read_wx(struct netxen_adapter *adapter, u64 off, void *data, | |||
886 | int len); | 1027 | int len); |
887 | int netxen_nic_hw_write_wx(struct netxen_adapter *adapter, u64 off, void *data, | 1028 | int netxen_nic_hw_write_wx(struct netxen_adapter *adapter, u64 off, void *data, |
888 | int len); | 1029 | int len); |
1030 | int netxen_nic_hw_read_ioctl(struct netxen_adapter *adapter, u64 off, | ||
1031 | void *data, int len); | ||
1032 | int netxen_nic_hw_write_ioctl(struct netxen_adapter *adapter, u64 off, | ||
1033 | void *data, int len); | ||
1034 | int netxen_nic_pci_mem_write_ioctl(struct netxen_adapter *adapter, | ||
1035 | u64 off, void *data, int size); | ||
1036 | int netxen_nic_pci_mem_read_ioctl(struct netxen_adapter *adapter, | ||
1037 | u64 off, void *data, int size); | ||
889 | void netxen_crb_writelit_adapter(struct netxen_adapter *adapter, | 1038 | void netxen_crb_writelit_adapter(struct netxen_adapter *adapter, |
890 | unsigned long off, int data); | 1039 | unsigned long off, int data); |
891 | 1040 | ||
892 | /* Functions from netxen_nic_init.c */ | 1041 | /* Functions from netxen_nic_init.c */ |
1042 | void netxen_free_adapter_offload(struct netxen_adapter *adapter); | ||
1043 | int netxen_initialize_adapter_offload(struct netxen_adapter *adapter); | ||
893 | void netxen_phantom_init(struct netxen_adapter *adapter, int pegtune_val); | 1044 | void netxen_phantom_init(struct netxen_adapter *adapter, int pegtune_val); |
894 | void netxen_load_firmware(struct netxen_adapter *adapter); | 1045 | void netxen_load_firmware(struct netxen_adapter *adapter); |
895 | int netxen_pinit_from_rom(struct netxen_adapter *adapter, int verbose); | 1046 | int netxen_pinit_from_rom(struct netxen_adapter *adapter, int verbose); |
@@ -921,10 +1072,12 @@ netxen_nic_do_ioctl(struct netxen_adapter *adapter, void *u_data, | |||
921 | struct netxen_port *port); | 1072 | struct netxen_port *port); |
922 | int netxen_nic_rx_has_work(struct netxen_adapter *adapter); | 1073 | int netxen_nic_rx_has_work(struct netxen_adapter *adapter); |
923 | int netxen_nic_tx_has_work(struct netxen_adapter *adapter); | 1074 | int netxen_nic_tx_has_work(struct netxen_adapter *adapter); |
924 | void netxen_watchdog_task(unsigned long v); | 1075 | void netxen_watchdog_task(struct work_struct *work); |
925 | void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx, | 1076 | void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx, |
926 | u32 ringid); | 1077 | u32 ringid); |
927 | void netxen_process_cmd_ring(unsigned long data); | 1078 | void netxen_post_rx_buffers_nodb(struct netxen_adapter *adapter, u32 ctx, |
1079 | u32 ringid); | ||
1080 | int netxen_process_cmd_ring(unsigned long data); | ||
928 | u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max); | 1081 | u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max); |
929 | void netxen_nic_set_multi(struct net_device *netdev); | 1082 | void netxen_nic_set_multi(struct net_device *netdev); |
930 | int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); | 1083 | int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu); |
@@ -1018,7 +1171,6 @@ static inline void get_brd_name_by_type(u32 type, char *name) | |||
1018 | 1171 | ||
1019 | int netxen_is_flash_supported(struct netxen_adapter *adapter); | 1172 | int netxen_is_flash_supported(struct netxen_adapter *adapter); |
1020 | int netxen_get_flash_mac_addr(struct netxen_adapter *adapter, u64 mac[]); | 1173 | int netxen_get_flash_mac_addr(struct netxen_adapter *adapter, u64 mac[]); |
1021 | |||
1022 | extern void netxen_change_ringparam(struct netxen_adapter *adapter); | 1174 | extern void netxen_change_ringparam(struct netxen_adapter *adapter); |
1023 | extern int netxen_rom_fast_read(struct netxen_adapter *adapter, int addr, | 1175 | extern int netxen_rom_fast_read(struct netxen_adapter *adapter, int addr, |
1024 | int *valp); | 1176 | int *valp); |
diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c index 9a914aeba5bc..2ab4885cc950 100644 --- a/drivers/net/netxen/netxen_nic_ethtool.c +++ b/drivers/net/netxen/netxen_nic_ethtool.c | |||
@@ -1,25 +1,25 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2003 - 2006 NetXen, Inc. | 2 | * Copyright (C) 2003 - 2006 NetXen, Inc. |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
8 | * of the License, or (at your option) any later version. | 8 | * of the License, or (at your option) any later version. |
9 | * | 9 | * |
10 | * This program is distributed in the hope that it will be useful, but | 10 | * This program is distributed in the hope that it will be useful, but |
11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | * GNU General Public License for more details. | 13 | * GNU General Public License for more details. |
14 | * | 14 | * |
15 | * You should have received a copy of the GNU General Public License | 15 | * You should have received a copy of the GNU General Public License |
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
18 | * MA 02111-1307, USA. | 18 | * MA 02111-1307, USA. |
19 | * | 19 | * |
20 | * The full GNU General Public License is included in this distribution | 20 | * The full GNU General Public License is included in this distribution |
21 | * in the file called LICENSE. | 21 | * in the file called LICENSE. |
22 | * | 22 | * |
23 | * Contact Information: | 23 | * Contact Information: |
24 | * info@netxen.com | 24 | * info@netxen.com |
25 | * NetXen, | 25 | * NetXen, |
@@ -118,7 +118,7 @@ netxen_nic_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *drvinfo) | |||
118 | u32 fw_minor = 0; | 118 | u32 fw_minor = 0; |
119 | u32 fw_build = 0; | 119 | u32 fw_build = 0; |
120 | 120 | ||
121 | strncpy(drvinfo->driver, "netxen_nic", 32); | 121 | strncpy(drvinfo->driver, netxen_nic_driver_name, 32); |
122 | strncpy(drvinfo->version, NETXEN_NIC_LINUX_VERSIONID, 32); | 122 | strncpy(drvinfo->version, NETXEN_NIC_LINUX_VERSIONID, 32); |
123 | fw_major = readl(NETXEN_CRB_NORMALIZE(adapter, | 123 | fw_major = readl(NETXEN_CRB_NORMALIZE(adapter, |
124 | NETXEN_FW_VERSION_MAJOR)); | 124 | NETXEN_FW_VERSION_MAJOR)); |
@@ -210,7 +210,6 @@ netxen_nic_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd) | |||
210 | printk(KERN_ERR "netxen-nic: Unsupported board model %d\n", | 210 | printk(KERN_ERR "netxen-nic: Unsupported board model %d\n", |
211 | (netxen_brdtype_t) boardinfo->board_type); | 211 | (netxen_brdtype_t) boardinfo->board_type); |
212 | return -EIO; | 212 | return -EIO; |
213 | |||
214 | } | 213 | } |
215 | 214 | ||
216 | return 0; | 215 | return 0; |
@@ -226,18 +225,18 @@ netxen_nic_set_settings(struct net_device *dev, struct ethtool_cmd *ecmd) | |||
226 | /* read which mode */ | 225 | /* read which mode */ |
227 | if (adapter->ahw.board_type == NETXEN_NIC_GBE) { | 226 | if (adapter->ahw.board_type == NETXEN_NIC_GBE) { |
228 | /* autonegotiation */ | 227 | /* autonegotiation */ |
229 | if (adapter->ops->phy_write | 228 | if (adapter->phy_write |
230 | && adapter->ops->phy_write(adapter, port->portnum, | 229 | && adapter->phy_write(adapter, port->portnum, |
231 | NETXEN_NIU_GB_MII_MGMT_ADDR_AUTONEG, | 230 | NETXEN_NIU_GB_MII_MGMT_ADDR_AUTONEG, |
232 | (__le32) ecmd->autoneg) != 0) | 231 | (__le32) ecmd->autoneg) != 0) |
233 | return -EIO; | 232 | return -EIO; |
234 | else | 233 | else |
235 | port->link_autoneg = ecmd->autoneg; | 234 | port->link_autoneg = ecmd->autoneg; |
236 | 235 | ||
237 | if (adapter->ops->phy_read | 236 | if (adapter->phy_read |
238 | && adapter->ops->phy_read(adapter, port->portnum, | 237 | && adapter->phy_read(adapter, port->portnum, |
239 | NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, | 238 | NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, |
240 | &status) != 0) | 239 | &status) != 0) |
241 | return -EIO; | 240 | return -EIO; |
242 | 241 | ||
243 | /* speed */ | 242 | /* speed */ |
@@ -257,10 +256,10 @@ netxen_nic_set_settings(struct net_device *dev, struct ethtool_cmd *ecmd) | |||
257 | netxen_clear_phy_duplex(status); | 256 | netxen_clear_phy_duplex(status); |
258 | if (ecmd->duplex == DUPLEX_FULL) | 257 | if (ecmd->duplex == DUPLEX_FULL) |
259 | netxen_set_phy_duplex(status); | 258 | netxen_set_phy_duplex(status); |
260 | if (adapter->ops->phy_write | 259 | if (adapter->phy_write |
261 | && adapter->ops->phy_write(adapter, port->portnum, | 260 | && adapter->phy_write(adapter, port->portnum, |
262 | NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, | 261 | NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, |
263 | *((int *)&status)) != 0) | 262 | *((int *)&status)) != 0) |
264 | return -EIO; | 263 | return -EIO; |
265 | else { | 264 | else { |
266 | port->link_speed = ecmd->speed; | 265 | port->link_speed = ecmd->speed; |
@@ -422,10 +421,10 @@ static u32 netxen_nic_get_link(struct net_device *dev) | |||
422 | 421 | ||
423 | /* read which mode */ | 422 | /* read which mode */ |
424 | if (adapter->ahw.board_type == NETXEN_NIC_GBE) { | 423 | if (adapter->ahw.board_type == NETXEN_NIC_GBE) { |
425 | if (adapter->ops->phy_read | 424 | if (adapter->phy_read |
426 | && adapter->ops->phy_read(adapter, port->portnum, | 425 | && adapter->phy_read(adapter, port->portnum, |
427 | NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, | 426 | NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, |
428 | &status) != 0) | 427 | &status) != 0) |
429 | return -EIO; | 428 | return -EIO; |
430 | else | 429 | else |
431 | return (netxen_get_phy_link(status)); | 430 | return (netxen_get_phy_link(status)); |
@@ -460,20 +459,22 @@ netxen_nic_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ring) | |||
460 | { | 459 | { |
461 | struct netxen_port *port = netdev_priv(dev); | 460 | struct netxen_port *port = netdev_priv(dev); |
462 | struct netxen_adapter *adapter = port->adapter; | 461 | struct netxen_adapter *adapter = port->adapter; |
463 | int i, j; | 462 | int i; |
464 | 463 | ||
465 | ring->rx_pending = 0; | 464 | ring->rx_pending = 0; |
465 | ring->rx_jumbo_pending = 0; | ||
466 | for (i = 0; i < MAX_RCV_CTX; ++i) { | 466 | for (i = 0; i < MAX_RCV_CTX; ++i) { |
467 | for (j = 0; j < NUM_RCV_DESC_RINGS; j++) | 467 | ring->rx_pending += adapter->recv_ctx[i]. |
468 | ring->rx_pending += | 468 | rcv_desc[RCV_DESC_NORMAL_CTXID].rcv_pending; |
469 | adapter->recv_ctx[i].rcv_desc[j].rcv_pending; | 469 | ring->rx_jumbo_pending += adapter->recv_ctx[i]. |
470 | rcv_desc[RCV_DESC_JUMBO_CTXID].rcv_pending; | ||
470 | } | 471 | } |
471 | 472 | ||
472 | ring->rx_max_pending = adapter->max_rx_desc_count; | 473 | ring->rx_max_pending = adapter->max_rx_desc_count; |
473 | ring->tx_max_pending = adapter->max_tx_desc_count; | 474 | ring->tx_max_pending = adapter->max_tx_desc_count; |
475 | ring->rx_jumbo_max_pending = adapter->max_jumbo_rx_desc_count; | ||
474 | ring->rx_mini_max_pending = 0; | 476 | ring->rx_mini_max_pending = 0; |
475 | ring->rx_mini_pending = 0; | 477 | ring->rx_mini_pending = 0; |
476 | ring->rx_jumbo_max_pending = 0; | ||
477 | ring->rx_jumbo_pending = 0; | 478 | ring->rx_jumbo_pending = 0; |
478 | } | 479 | } |
479 | 480 | ||
@@ -526,10 +527,10 @@ netxen_nic_set_pauseparam(struct net_device *dev, | |||
526 | *(u32 *) (&val)); | 527 | *(u32 *) (&val)); |
527 | /* set autoneg */ | 528 | /* set autoneg */ |
528 | autoneg = pause->autoneg; | 529 | autoneg = pause->autoneg; |
529 | if (adapter->ops->phy_write | 530 | if (adapter->phy_write |
530 | && adapter->ops->phy_write(adapter, port->portnum, | 531 | && adapter->phy_write(adapter, port->portnum, |
531 | NETXEN_NIU_GB_MII_MGMT_ADDR_AUTONEG, | 532 | NETXEN_NIU_GB_MII_MGMT_ADDR_AUTONEG, |
532 | (__le32) autoneg) != 0) | 533 | (__le32) autoneg) != 0) |
533 | return -EIO; | 534 | return -EIO; |
534 | else { | 535 | else { |
535 | port->link_autoneg = pause->autoneg; | 536 | port->link_autoneg = pause->autoneg; |
diff --git a/drivers/net/netxen/netxen_nic_hdr.h b/drivers/net/netxen/netxen_nic_hdr.h index 72c6ec4ee2a0..fe8b675f9e72 100644 --- a/drivers/net/netxen/netxen_nic_hdr.h +++ b/drivers/net/netxen/netxen_nic_hdr.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2003 - 2006 NetXen, Inc. | 2 | * Copyright (C) 2003 - 2006 NetXen, Inc. |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
@@ -16,10 +16,10 @@ | |||
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
18 | * MA 02111-1307, USA. | 18 | * MA 02111-1307, USA. |
19 | * | 19 | * |
20 | * The full GNU General Public License is included in this distribution | 20 | * The full GNU General Public License is included in this distribution |
21 | * in the file called LICENSE. | 21 | * in the file called LICENSE. |
22 | * | 22 | * |
23 | * Contact Information: | 23 | * Contact Information: |
24 | * info@netxen.com | 24 | * info@netxen.com |
25 | * NetXen, | 25 | * NetXen, |
diff --git a/drivers/net/netxen/netxen_nic_hw.c b/drivers/net/netxen/netxen_nic_hw.c index 105c24f0ad4c..9147b6048dfb 100644 --- a/drivers/net/netxen/netxen_nic_hw.c +++ b/drivers/net/netxen/netxen_nic_hw.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2003 - 2006 NetXen, Inc. | 2 | * Copyright (C) 2003 - 2006 NetXen, Inc. |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
@@ -16,10 +16,10 @@ | |||
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
18 | * MA 02111-1307, USA. | 18 | * MA 02111-1307, USA. |
19 | * | 19 | * |
20 | * The full GNU General Public License is included in this distribution | 20 | * The full GNU General Public License is included in this distribution |
21 | * in the file called LICENSE. | 21 | * in the file called LICENSE. |
22 | * | 22 | * |
23 | * Contact Information: | 23 | * Contact Information: |
24 | * info@netxen.com | 24 | * info@netxen.com |
25 | * NetXen, | 25 | * NetXen, |
@@ -42,7 +42,7 @@ | |||
42 | 42 | ||
43 | #define NETXEN_FLASH_BASE (BOOTLD_START) | 43 | #define NETXEN_FLASH_BASE (BOOTLD_START) |
44 | #define NETXEN_PHANTOM_MEM_BASE (NETXEN_FLASH_BASE) | 44 | #define NETXEN_PHANTOM_MEM_BASE (NETXEN_FLASH_BASE) |
45 | #define NETXEN_MAX_MTU 8000 | 45 | #define NETXEN_MAX_MTU 8000 + NETXEN_ENET_HEADER_SIZE + NETXEN_ETH_FCS_SIZE |
46 | #define NETXEN_MIN_MTU 64 | 46 | #define NETXEN_MIN_MTU 64 |
47 | #define NETXEN_ETH_FCS_SIZE 4 | 47 | #define NETXEN_ETH_FCS_SIZE 4 |
48 | #define NETXEN_ENET_HEADER_SIZE 14 | 48 | #define NETXEN_ENET_HEADER_SIZE 14 |
@@ -81,8 +81,8 @@ int netxen_nic_set_mac(struct net_device *netdev, void *p) | |||
81 | DPRINTK(INFO, "valid ether addr\n"); | 81 | DPRINTK(INFO, "valid ether addr\n"); |
82 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); | 82 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); |
83 | 83 | ||
84 | if (adapter->ops->macaddr_set) | 84 | if (adapter->macaddr_set) |
85 | adapter->ops->macaddr_set(port, addr->sa_data); | 85 | adapter->macaddr_set(port, addr->sa_data); |
86 | 86 | ||
87 | return 0; | 87 | return 0; |
88 | } | 88 | } |
@@ -99,17 +99,17 @@ void netxen_nic_set_multi(struct net_device *netdev) | |||
99 | 99 | ||
100 | mc_ptr = netdev->mc_list; | 100 | mc_ptr = netdev->mc_list; |
101 | if (netdev->flags & IFF_PROMISC) { | 101 | if (netdev->flags & IFF_PROMISC) { |
102 | if (adapter->ops->set_promisc) | 102 | if (adapter->set_promisc) |
103 | adapter->ops->set_promisc(adapter, | 103 | adapter->set_promisc(adapter, |
104 | port->portnum, | 104 | port->portnum, |
105 | NETXEN_NIU_PROMISC_MODE); | 105 | NETXEN_NIU_PROMISC_MODE); |
106 | } else { | 106 | } else { |
107 | if (adapter->ops->unset_promisc && | 107 | if (adapter->unset_promisc && |
108 | adapter->ahw.boardcfg.board_type | 108 | adapter->ahw.boardcfg.board_type |
109 | != NETXEN_BRDTYPE_P2_SB31_10G_IMEZ) | 109 | != NETXEN_BRDTYPE_P2_SB31_10G_IMEZ) |
110 | adapter->ops->unset_promisc(adapter, | 110 | adapter->unset_promisc(adapter, |
111 | port->portnum, | 111 | port->portnum, |
112 | NETXEN_NIU_NON_PROMISC_MODE); | 112 | NETXEN_NIU_NON_PROMISC_MODE); |
113 | } | 113 | } |
114 | if (adapter->ahw.board_type == NETXEN_NIC_XGBE) { | 114 | if (adapter->ahw.board_type == NETXEN_NIC_XGBE) { |
115 | netxen_nic_mcr_set_mode_select(netxen_mac_addr_cntl_data, 0x03); | 115 | netxen_nic_mcr_set_mode_select(netxen_mac_addr_cntl_data, 0x03); |
@@ -160,8 +160,8 @@ int netxen_nic_change_mtu(struct net_device *netdev, int mtu) | |||
160 | return -EINVAL; | 160 | return -EINVAL; |
161 | } | 161 | } |
162 | 162 | ||
163 | if (adapter->ops->set_mtu) | 163 | if (adapter->set_mtu) |
164 | adapter->ops->set_mtu(port, mtu); | 164 | adapter->set_mtu(port, mtu); |
165 | netdev->mtu = mtu; | 165 | netdev->mtu = mtu; |
166 | 166 | ||
167 | return 0; | 167 | return 0; |
@@ -176,22 +176,18 @@ int netxen_nic_hw_resources(struct netxen_adapter *adapter) | |||
176 | struct netxen_hardware_context *hw = &adapter->ahw; | 176 | struct netxen_hardware_context *hw = &adapter->ahw; |
177 | u32 state = 0; | 177 | u32 state = 0; |
178 | void *addr; | 178 | void *addr; |
179 | void *pause_addr; | ||
180 | int loops = 0, err = 0; | 179 | int loops = 0, err = 0; |
181 | int ctx, ring; | 180 | int ctx, ring; |
182 | u32 card_cmdring = 0; | 181 | u32 card_cmdring = 0; |
183 | struct netxen_rcv_desc_crb *rcv_desc_crb = NULL; | ||
184 | struct netxen_recv_context *recv_ctx; | 182 | struct netxen_recv_context *recv_ctx; |
185 | struct netxen_rcv_desc_ctx *rcv_desc; | 183 | struct netxen_rcv_desc_ctx *rcv_desc; |
186 | 184 | ||
187 | DPRINTK(INFO, "crb_base: %lx %lx", NETXEN_PCI_CRBSPACE, | 185 | DPRINTK(INFO, "crb_base: %lx %x", NETXEN_PCI_CRBSPACE, |
188 | PCI_OFFSET_SECOND_RANGE(adapter, NETXEN_PCI_CRBSPACE)); | 186 | PCI_OFFSET_SECOND_RANGE(adapter, NETXEN_PCI_CRBSPACE)); |
189 | DPRINTK(INFO, "cam base: %lx %lx", NETXEN_CRB_CAM, | 187 | DPRINTK(INFO, "cam base: %lx %x", NETXEN_CRB_CAM, |
190 | pci_base_offset(adapter, NETXEN_CRB_CAM)); | 188 | pci_base_offset(adapter, NETXEN_CRB_CAM)); |
191 | DPRINTK(INFO, "cam RAM: %lx %lx", NETXEN_CAM_RAM_BASE, | 189 | DPRINTK(INFO, "cam RAM: %lx %x", NETXEN_CAM_RAM_BASE, |
192 | pci_base_offset(adapter, NETXEN_CAM_RAM_BASE)); | 190 | pci_base_offset(adapter, NETXEN_CAM_RAM_BASE)); |
193 | DPRINTK(INFO, "NIC base:%lx %lx\n", NIC_CRB_BASE_PORT1, | ||
194 | pci_base_offset(adapter, NIC_CRB_BASE_PORT1)); | ||
195 | 191 | ||
196 | /* Window 1 call */ | 192 | /* Window 1 call */ |
197 | card_cmdring = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_CMDRING)); | 193 | card_cmdring = readl(NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_CMDRING)); |
@@ -226,33 +222,42 @@ int netxen_nic_hw_resources(struct netxen_adapter *adapter) | |||
226 | DPRINTK(INFO, "Recieve Peg ready too. starting stuff\n"); | 222 | DPRINTK(INFO, "Recieve Peg ready too. starting stuff\n"); |
227 | 223 | ||
228 | addr = netxen_alloc(adapter->ahw.pdev, | 224 | addr = netxen_alloc(adapter->ahw.pdev, |
229 | sizeof(struct cmd_desc_type0) * | 225 | sizeof(struct netxen_ring_ctx) + |
230 | adapter->max_tx_desc_count, | 226 | sizeof(uint32_t), |
231 | &hw->cmd_desc_phys_addr, &hw->cmd_desc_pdev); | 227 | (dma_addr_t *) & adapter->ctx_desc_phys_addr, |
228 | &adapter->ctx_desc_pdev); | ||
232 | 229 | ||
230 | printk("ctx_desc_phys_addr: 0x%llx\n", | ||
231 | (u64) adapter->ctx_desc_phys_addr); | ||
233 | if (addr == NULL) { | 232 | if (addr == NULL) { |
234 | DPRINTK(ERR, "bad return from pci_alloc_consistent\n"); | 233 | DPRINTK(ERR, "bad return from pci_alloc_consistent\n"); |
235 | return -ENOMEM; | 234 | err = -ENOMEM; |
235 | return err; | ||
236 | } | 236 | } |
237 | memset(addr, 0, sizeof(struct netxen_ring_ctx)); | ||
238 | adapter->ctx_desc = (struct netxen_ring_ctx *)addr; | ||
239 | adapter->ctx_desc->cmd_consumer_offset = adapter->ctx_desc_phys_addr | ||
240 | + sizeof(struct netxen_ring_ctx); | ||
241 | adapter->cmd_consumer = (uint32_t *) (((char *)addr) + | ||
242 | sizeof(struct netxen_ring_ctx)); | ||
243 | |||
244 | addr = pci_alloc_consistent(adapter->ahw.pdev, | ||
245 | sizeof(struct cmd_desc_type0) * | ||
246 | adapter->max_tx_desc_count, | ||
247 | (dma_addr_t *) & hw->cmd_desc_phys_addr); | ||
248 | printk("cmd_desc_phys_addr: 0x%llx\n", (u64) hw->cmd_desc_phys_addr); | ||
237 | 249 | ||
238 | pause_addr = netxen_alloc(adapter->ahw.pdev, 512, | 250 | if (addr == NULL) { |
239 | (dma_addr_t *) & hw->pause_physaddr, | 251 | DPRINTK(ERR, "bad return from pci_alloc_consistent\n"); |
240 | &hw->pause_pdev); | 252 | netxen_free_hw_resources(adapter); |
241 | if (pause_addr == NULL) { | ||
242 | DPRINTK(1, ERR, "bad return from pci_alloc_consistent\n"); | ||
243 | return -ENOMEM; | 253 | return -ENOMEM; |
244 | } | 254 | } |
245 | 255 | ||
246 | hw->pauseaddr = (char *)pause_addr; | 256 | adapter->ctx_desc->cmd_ring_addr_lo = |
247 | { | 257 | hw->cmd_desc_phys_addr & 0xffffffffUL; |
248 | u64 *ptr = (u64 *) pause_addr; | 258 | adapter->ctx_desc->cmd_ring_addr_hi = |
249 | *ptr++ = NETXEN_NIC_ZERO_PAUSE_ADDR; | 259 | ((u64) hw->cmd_desc_phys_addr >> 32); |
250 | *ptr++ = NETXEN_NIC_ZERO_PAUSE_ADDR; | 260 | adapter->ctx_desc->cmd_ring_size = adapter->max_tx_desc_count; |
251 | *ptr++ = NETXEN_NIC_UNIT_PAUSE_ADDR; | ||
252 | *ptr++ = NETXEN_NIC_ZERO_PAUSE_ADDR; | ||
253 | *ptr++ = NETXEN_NIC_EPG_PAUSE_ADDR1; | ||
254 | *ptr++ = NETXEN_NIC_EPG_PAUSE_ADDR2; | ||
255 | } | ||
256 | 261 | ||
257 | hw->cmd_desc_head = (struct cmd_desc_type0 *)addr; | 262 | hw->cmd_desc_head = (struct cmd_desc_type0 *)addr; |
258 | 263 | ||
@@ -273,6 +278,12 @@ int netxen_nic_hw_resources(struct netxen_adapter *adapter) | |||
273 | return err; | 278 | return err; |
274 | } | 279 | } |
275 | rcv_desc->desc_head = (struct rcv_desc *)addr; | 280 | rcv_desc->desc_head = (struct rcv_desc *)addr; |
281 | adapter->ctx_desc->rcv_ctx[ring].rcv_ring_addr_lo = | ||
282 | rcv_desc->phys_addr & 0xffffffffUL; | ||
283 | adapter->ctx_desc->rcv_ctx[ring].rcv_ring_addr_hi = | ||
284 | ((u64) rcv_desc->phys_addr >> 32); | ||
285 | adapter->ctx_desc->rcv_ctx[ring].rcv_ring_size = | ||
286 | rcv_desc->max_rx_desc_count; | ||
276 | } | 287 | } |
277 | 288 | ||
278 | addr = netxen_alloc(adapter->ahw.pdev, STATUS_DESC_RINGSIZE, | 289 | addr = netxen_alloc(adapter->ahw.pdev, STATUS_DESC_RINGSIZE, |
@@ -286,47 +297,21 @@ int netxen_nic_hw_resources(struct netxen_adapter *adapter) | |||
286 | return err; | 297 | return err; |
287 | } | 298 | } |
288 | recv_ctx->rcv_status_desc_head = (struct status_desc *)addr; | 299 | recv_ctx->rcv_status_desc_head = (struct status_desc *)addr; |
289 | for (ring = 0; ring < NUM_RCV_DESC_RINGS; ring++) { | 300 | adapter->ctx_desc->sts_ring_addr_lo = |
290 | rcv_desc = &recv_ctx->rcv_desc[ring]; | 301 | recv_ctx->rcv_status_desc_phys_addr & 0xffffffffUL; |
291 | rcv_desc_crb = | 302 | adapter->ctx_desc->sts_ring_addr_hi = |
292 | &recv_crb_registers[ctx].rcv_desc_crb[ring]; | 303 | ((u64) recv_ctx->rcv_status_desc_phys_addr >> 32); |
293 | DPRINTK(INFO, "ring #%d crb global ring reg 0x%x\n", | 304 | adapter->ctx_desc->sts_ring_size = adapter->max_rx_desc_count; |
294 | ring, rcv_desc_crb->crb_globalrcv_ring); | ||
295 | /* Window = 1 */ | ||
296 | writel(lower32(rcv_desc->phys_addr), | ||
297 | NETXEN_CRB_NORMALIZE(adapter, | ||
298 | rcv_desc_crb-> | ||
299 | crb_globalrcv_ring)); | ||
300 | DPRINTK(INFO, "GLOBAL_RCV_RING ctx %d, addr 0x%x" | ||
301 | " val 0x%llx," | ||
302 | " virt %p\n", ctx, | ||
303 | rcv_desc_crb->crb_globalrcv_ring, | ||
304 | (unsigned long long)rcv_desc->phys_addr, | ||
305 | +rcv_desc->desc_head); | ||
306 | } | ||
307 | 305 | ||
308 | /* Window = 1 */ | ||
309 | writel(lower32(recv_ctx->rcv_status_desc_phys_addr), | ||
310 | NETXEN_CRB_NORMALIZE(adapter, | ||
311 | recv_crb_registers[ctx]. | ||
312 | crb_rcvstatus_ring)); | ||
313 | DPRINTK(INFO, "RCVSTATUS_RING, ctx %d, addr 0x%x," | ||
314 | " val 0x%x,virt%p\n", | ||
315 | ctx, | ||
316 | recv_crb_registers[ctx].crb_rcvstatus_ring, | ||
317 | (unsigned long long)recv_ctx->rcv_status_desc_phys_addr, | ||
318 | recv_ctx->rcv_status_desc_head); | ||
319 | } | 306 | } |
320 | /* Window = 1 */ | 307 | /* Window = 1 */ |
321 | writel(lower32(hw->pause_physaddr), | 308 | |
322 | NETXEN_CRB_NORMALIZE(adapter, CRB_PAUSE_ADDR_LO)); | 309 | writel(lower32(adapter->ctx_desc_phys_addr), |
323 | writel(upper32(hw->pause_physaddr), | 310 | NETXEN_CRB_NORMALIZE(adapter, CRB_CTX_ADDR_REG_LO)); |
324 | NETXEN_CRB_NORMALIZE(adapter, CRB_PAUSE_ADDR_HI)); | 311 | writel(upper32(adapter->ctx_desc_phys_addr), |
325 | 312 | NETXEN_CRB_NORMALIZE(adapter, CRB_CTX_ADDR_REG_HI)); | |
326 | writel(lower32(hw->cmd_desc_phys_addr), | 313 | writel(NETXEN_CTX_SIGNATURE, |
327 | NETXEN_CRB_NORMALIZE(adapter, CRB_HOST_CMD_ADDR_LO)); | 314 | NETXEN_CRB_NORMALIZE(adapter, CRB_CTX_SIGNATURE_REG)); |
328 | writel(upper32(hw->cmd_desc_phys_addr), | ||
329 | NETXEN_CRB_NORMALIZE(adapter, CRB_HOST_CMD_ADDR_HI)); | ||
330 | return err; | 315 | return err; |
331 | } | 316 | } |
332 | 317 | ||
@@ -336,6 +321,15 @@ void netxen_free_hw_resources(struct netxen_adapter *adapter) | |||
336 | struct netxen_rcv_desc_ctx *rcv_desc; | 321 | struct netxen_rcv_desc_ctx *rcv_desc; |
337 | int ctx, ring; | 322 | int ctx, ring; |
338 | 323 | ||
324 | if (adapter->ctx_desc != NULL) { | ||
325 | pci_free_consistent(adapter->ctx_desc_pdev, | ||
326 | sizeof(struct netxen_ring_ctx) + | ||
327 | sizeof(uint32_t), | ||
328 | adapter->ctx_desc, | ||
329 | adapter->ctx_desc_phys_addr); | ||
330 | adapter->ctx_desc = NULL; | ||
331 | } | ||
332 | |||
339 | if (adapter->ahw.cmd_desc_head != NULL) { | 333 | if (adapter->ahw.cmd_desc_head != NULL) { |
340 | pci_free_consistent(adapter->ahw.cmd_desc_pdev, | 334 | pci_free_consistent(adapter->ahw.cmd_desc_pdev, |
341 | sizeof(struct cmd_desc_type0) * | 335 | sizeof(struct cmd_desc_type0) * |
@@ -344,11 +338,9 @@ void netxen_free_hw_resources(struct netxen_adapter *adapter) | |||
344 | adapter->ahw.cmd_desc_phys_addr); | 338 | adapter->ahw.cmd_desc_phys_addr); |
345 | adapter->ahw.cmd_desc_head = NULL; | 339 | adapter->ahw.cmd_desc_head = NULL; |
346 | } | 340 | } |
347 | if (adapter->ahw.pauseaddr != NULL) { | 341 | /* Special handling: there are 2 ports on this board */ |
348 | pci_free_consistent(adapter->ahw.pause_pdev, 512, | 342 | if (adapter->ahw.boardcfg.board_type == NETXEN_BRDTYPE_P2_SB31_10G_IMEZ) { |
349 | adapter->ahw.pauseaddr, | 343 | adapter->ahw.max_ports = 2; |
350 | adapter->ahw.pause_physaddr); | ||
351 | adapter->ahw.pauseaddr = NULL; | ||
352 | } | 344 | } |
353 | 345 | ||
354 | for (ctx = 0; ctx < MAX_RCV_CTX; ++ctx) { | 346 | for (ctx = 0; ctx < MAX_RCV_CTX; ++ctx) { |
@@ -383,19 +375,22 @@ void netxen_tso_check(struct netxen_adapter *adapter, | |||
383 | desc->total_hdr_length = sizeof(struct ethhdr) + | 375 | desc->total_hdr_length = sizeof(struct ethhdr) + |
384 | ((skb->nh.iph)->ihl * sizeof(u32)) + | 376 | ((skb->nh.iph)->ihl * sizeof(u32)) + |
385 | ((skb->h.th)->doff * sizeof(u32)); | 377 | ((skb->h.th)->doff * sizeof(u32)); |
386 | desc->opcode = TX_TCP_LSO; | 378 | netxen_set_cmd_desc_opcode(desc, TX_TCP_LSO); |
387 | } else if (skb->ip_summed == CHECKSUM_COMPLETE) { | 379 | } else if (skb->ip_summed == CHECKSUM_COMPLETE) { |
388 | if (skb->nh.iph->protocol == IPPROTO_TCP) { | 380 | if (skb->nh.iph->protocol == IPPROTO_TCP) { |
389 | desc->opcode = TX_TCP_PKT; | 381 | netxen_set_cmd_desc_opcode(desc, TX_TCP_PKT); |
390 | } else if (skb->nh.iph->protocol == IPPROTO_UDP) { | 382 | } else if (skb->nh.iph->protocol == IPPROTO_UDP) { |
391 | desc->opcode = TX_UDP_PKT; | 383 | netxen_set_cmd_desc_opcode(desc, TX_UDP_PKT); |
392 | } else { | 384 | } else { |
393 | return; | 385 | return; |
394 | } | 386 | } |
395 | } | 387 | } |
396 | adapter->stats.xmitcsummed++; | 388 | adapter->stats.xmitcsummed++; |
397 | CMD_DESC_TCP_HDR_OFFSET_WRT(desc, skb->h.raw - skb->data); | 389 | desc->tcp_hdr_offset = skb->h.raw - skb->data; |
398 | desc->length_tcp_hdr = cpu_to_le32(desc->length_tcp_hdr); | 390 | netxen_set_cmd_desc_totallength(desc, |
391 | cpu_to_le32 | ||
392 | (netxen_get_cmd_desc_totallength | ||
393 | (desc))); | ||
399 | desc->ip_hdr_offset = skb->nh.raw - skb->data; | 394 | desc->ip_hdr_offset = skb->nh.raw - skb->data; |
400 | } | 395 | } |
401 | 396 | ||
@@ -648,7 +643,7 @@ void netxen_nic_reg_write(struct netxen_adapter *adapter, u64 off, u32 val) | |||
648 | 643 | ||
649 | addr = NETXEN_CRB_NORMALIZE(adapter, off); | 644 | addr = NETXEN_CRB_NORMALIZE(adapter, off); |
650 | DPRINTK(INFO, "writing to base %lx offset %llx addr %p data %x\n", | 645 | DPRINTK(INFO, "writing to base %lx offset %llx addr %p data %x\n", |
651 | pci_base(adapter, off), off, addr); | 646 | pci_base(adapter, off), off, addr, val); |
652 | writel(val, addr); | 647 | writel(val, addr); |
653 | 648 | ||
654 | } | 649 | } |
@@ -660,7 +655,7 @@ int netxen_nic_reg_read(struct netxen_adapter *adapter, u64 off) | |||
660 | 655 | ||
661 | addr = NETXEN_CRB_NORMALIZE(adapter, off); | 656 | addr = NETXEN_CRB_NORMALIZE(adapter, off); |
662 | DPRINTK(INFO, "reading from base %lx offset %llx addr %p\n", | 657 | DPRINTK(INFO, "reading from base %lx offset %llx addr %p\n", |
663 | adapter->ahw.pci_base, off, addr); | 658 | pci_base(adapter, off), off, addr); |
664 | val = readl(addr); | 659 | val = readl(addr); |
665 | writel(val, addr); | 660 | writel(val, addr); |
666 | 661 | ||
@@ -848,8 +843,8 @@ void netxen_nic_stop_all_ports(struct netxen_adapter *adapter) | |||
848 | 843 | ||
849 | for (port_nr = 0; port_nr < adapter->ahw.max_ports; port_nr++) { | 844 | for (port_nr = 0; port_nr < adapter->ahw.max_ports; port_nr++) { |
850 | port = adapter->port[port_nr]; | 845 | port = adapter->port[port_nr]; |
851 | if (adapter->ops->stop_port) | 846 | if (adapter->stop_port) |
852 | adapter->ops->stop_port(adapter, port->portnum); | 847 | adapter->stop_port(adapter, port->portnum); |
853 | } | 848 | } |
854 | } | 849 | } |
855 | 850 | ||
@@ -873,13 +868,13 @@ void netxen_nic_set_link_parameters(struct netxen_port *port) | |||
873 | { | 868 | { |
874 | struct netxen_adapter *adapter = port->adapter; | 869 | struct netxen_adapter *adapter = port->adapter; |
875 | __le32 status; | 870 | __le32 status; |
876 | u16 autoneg; | 871 | __le32 autoneg; |
877 | __le32 mode; | 872 | __le32 mode; |
878 | 873 | ||
879 | netxen_nic_read_w0(adapter, NETXEN_NIU_MODE, &mode); | 874 | netxen_nic_read_w0(adapter, NETXEN_NIU_MODE, &mode); |
880 | if (netxen_get_niu_enable_ge(mode)) { /* Gb 10/100/1000 Mbps mode */ | 875 | if (netxen_get_niu_enable_ge(mode)) { /* Gb 10/100/1000 Mbps mode */ |
881 | if (adapter->ops->phy_read | 876 | if (adapter->phy_read |
882 | && adapter->ops-> | 877 | && adapter-> |
883 | phy_read(adapter, port->portnum, | 878 | phy_read(adapter, port->portnum, |
884 | NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, | 879 | NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, |
885 | &status) == 0) { | 880 | &status) == 0) { |
@@ -909,11 +904,11 @@ void netxen_nic_set_link_parameters(struct netxen_port *port) | |||
909 | port->link_duplex = -1; | 904 | port->link_duplex = -1; |
910 | break; | 905 | break; |
911 | } | 906 | } |
912 | if (adapter->ops->phy_read | 907 | if (adapter->phy_read |
913 | && adapter->ops-> | 908 | && adapter-> |
914 | phy_read(adapter, port->portnum, | 909 | phy_read(adapter, port->portnum, |
915 | NETXEN_NIU_GB_MII_MGMT_ADDR_AUTONEG, | 910 | NETXEN_NIU_GB_MII_MGMT_ADDR_AUTONEG, |
916 | (__le32 *) & autoneg) != 0) | 911 | &autoneg) != 0) |
917 | port->link_autoneg = autoneg; | 912 | port->link_autoneg = autoneg; |
918 | } else | 913 | } else |
919 | goto link_down; | 914 | goto link_down; |
@@ -1008,3 +1003,291 @@ int netxen_crb_read_val(struct netxen_adapter *adapter, unsigned long off) | |||
1008 | netxen_nic_hw_read_wx(adapter, off, &data, 4); | 1003 | netxen_nic_hw_read_wx(adapter, off, &data, 4); |
1009 | return data; | 1004 | return data; |
1010 | } | 1005 | } |
1006 | |||
1007 | int netxen_nic_hw_write_ioctl(struct netxen_adapter *adapter, u64 off, | ||
1008 | void *data, int len) | ||
1009 | { | ||
1010 | void *addr; | ||
1011 | u64 offset = off; | ||
1012 | u8 *mem_ptr = NULL; | ||
1013 | unsigned long mem_base; | ||
1014 | unsigned long mem_page; | ||
1015 | |||
1016 | if (ADDR_IN_WINDOW1(off)) { | ||
1017 | addr = NETXEN_CRB_NORMALIZE(adapter, off); | ||
1018 | if (!addr) { | ||
1019 | mem_base = pci_resource_start(adapter->ahw.pdev, 0); | ||
1020 | offset = NETXEN_CRB_NORMAL(off); | ||
1021 | mem_page = offset & PAGE_MASK; | ||
1022 | if (mem_page != ((offset + len - 1) & PAGE_MASK)) | ||
1023 | mem_ptr = | ||
1024 | ioremap(mem_base + mem_page, PAGE_SIZE * 2); | ||
1025 | else | ||
1026 | mem_ptr = | ||
1027 | ioremap(mem_base + mem_page, PAGE_SIZE); | ||
1028 | if (mem_ptr == 0UL) { | ||
1029 | return 1; | ||
1030 | } | ||
1031 | addr = mem_ptr; | ||
1032 | addr += offset & (PAGE_SIZE - 1); | ||
1033 | } | ||
1034 | } else { | ||
1035 | addr = pci_base_offset(adapter, off); | ||
1036 | if (!addr) { | ||
1037 | mem_base = pci_resource_start(adapter->ahw.pdev, 0); | ||
1038 | mem_page = off & PAGE_MASK; | ||
1039 | if (mem_page != ((off + len - 1) & PAGE_MASK)) | ||
1040 | mem_ptr = | ||
1041 | ioremap(mem_base + mem_page, PAGE_SIZE * 2); | ||
1042 | else | ||
1043 | mem_ptr = | ||
1044 | ioremap(mem_base + mem_page, PAGE_SIZE); | ||
1045 | if (mem_ptr == 0UL) { | ||
1046 | return 1; | ||
1047 | } | ||
1048 | addr = mem_ptr; | ||
1049 | addr += off & (PAGE_SIZE - 1); | ||
1050 | } | ||
1051 | netxen_nic_pci_change_crbwindow(adapter, 0); | ||
1052 | } | ||
1053 | switch (len) { | ||
1054 | case 1: | ||
1055 | writeb(*(u8 *) data, addr); | ||
1056 | break; | ||
1057 | case 2: | ||
1058 | writew(*(u16 *) data, addr); | ||
1059 | break; | ||
1060 | case 4: | ||
1061 | writel(*(u32 *) data, addr); | ||
1062 | break; | ||
1063 | case 8: | ||
1064 | writeq(*(u64 *) data, addr); | ||
1065 | break; | ||
1066 | default: | ||
1067 | DPRINTK(INFO, | ||
1068 | "writing data %lx to offset %llx, num words=%d\n", | ||
1069 | *(unsigned long *)data, off, (len >> 3)); | ||
1070 | |||
1071 | netxen_nic_hw_block_write64((u64 __iomem *) data, addr, | ||
1072 | (len >> 3)); | ||
1073 | break; | ||
1074 | } | ||
1075 | |||
1076 | if (!ADDR_IN_WINDOW1(off)) | ||
1077 | netxen_nic_pci_change_crbwindow(adapter, 1); | ||
1078 | if (mem_ptr) | ||
1079 | iounmap(mem_ptr); | ||
1080 | return 0; | ||
1081 | } | ||
1082 | |||
1083 | int netxen_nic_hw_read_ioctl(struct netxen_adapter *adapter, u64 off, | ||
1084 | void *data, int len) | ||
1085 | { | ||
1086 | void *addr; | ||
1087 | u64 offset; | ||
1088 | u8 *mem_ptr = NULL; | ||
1089 | unsigned long mem_base; | ||
1090 | unsigned long mem_page; | ||
1091 | |||
1092 | if (ADDR_IN_WINDOW1(off)) { | ||
1093 | addr = NETXEN_CRB_NORMALIZE(adapter, off); | ||
1094 | if (!addr) { | ||
1095 | mem_base = pci_resource_start(adapter->ahw.pdev, 0); | ||
1096 | offset = NETXEN_CRB_NORMAL(off); | ||
1097 | mem_page = offset & PAGE_MASK; | ||
1098 | if (mem_page != ((offset + len - 1) & PAGE_MASK)) | ||
1099 | mem_ptr = | ||
1100 | ioremap(mem_base + mem_page, PAGE_SIZE * 2); | ||
1101 | else | ||
1102 | mem_ptr = | ||
1103 | ioremap(mem_base + mem_page, PAGE_SIZE); | ||
1104 | if (mem_ptr == 0UL) { | ||
1105 | *(u8 *) data = 0; | ||
1106 | return 1; | ||
1107 | } | ||
1108 | addr = mem_ptr; | ||
1109 | addr += offset & (PAGE_SIZE - 1); | ||
1110 | } | ||
1111 | } else { | ||
1112 | addr = pci_base_offset(adapter, off); | ||
1113 | if (!addr) { | ||
1114 | mem_base = pci_resource_start(adapter->ahw.pdev, 0); | ||
1115 | mem_page = off & PAGE_MASK; | ||
1116 | if (mem_page != ((off + len - 1) & PAGE_MASK)) | ||
1117 | mem_ptr = | ||
1118 | ioremap(mem_base + mem_page, PAGE_SIZE * 2); | ||
1119 | else | ||
1120 | mem_ptr = | ||
1121 | ioremap(mem_base + mem_page, PAGE_SIZE); | ||
1122 | if (mem_ptr == 0UL) | ||
1123 | return 1; | ||
1124 | addr = mem_ptr; | ||
1125 | addr += off & (PAGE_SIZE - 1); | ||
1126 | } | ||
1127 | netxen_nic_pci_change_crbwindow(adapter, 0); | ||
1128 | } | ||
1129 | switch (len) { | ||
1130 | case 1: | ||
1131 | *(u8 *) data = readb(addr); | ||
1132 | break; | ||
1133 | case 2: | ||
1134 | *(u16 *) data = readw(addr); | ||
1135 | break; | ||
1136 | case 4: | ||
1137 | *(u32 *) data = readl(addr); | ||
1138 | break; | ||
1139 | case 8: | ||
1140 | *(u64 *) data = readq(addr); | ||
1141 | break; | ||
1142 | default: | ||
1143 | netxen_nic_hw_block_read64((u64 __iomem *) data, addr, | ||
1144 | (len >> 3)); | ||
1145 | break; | ||
1146 | } | ||
1147 | if (!ADDR_IN_WINDOW1(off)) | ||
1148 | netxen_nic_pci_change_crbwindow(adapter, 1); | ||
1149 | if (mem_ptr) | ||
1150 | iounmap(mem_ptr); | ||
1151 | return 0; | ||
1152 | } | ||
1153 | |||
1154 | int netxen_nic_pci_mem_write_ioctl(struct netxen_adapter *adapter, u64 off, | ||
1155 | void *data, int size) | ||
1156 | { | ||
1157 | void *addr; | ||
1158 | int ret = 0; | ||
1159 | u8 *mem_ptr = NULL; | ||
1160 | unsigned long mem_base; | ||
1161 | unsigned long mem_page; | ||
1162 | |||
1163 | if (data == NULL || off > (128 * 1024 * 1024)) { | ||
1164 | printk(KERN_ERR "%s: data: %p off:%llx\n", | ||
1165 | netxen_nic_driver_name, data, off); | ||
1166 | return 1; | ||
1167 | } | ||
1168 | off = netxen_nic_pci_set_window(adapter, off); | ||
1169 | /* Corner case : Malicious user tried to break the driver by reading | ||
1170 | last few bytes in ranges and tries to read further addresses. | ||
1171 | */ | ||
1172 | if (!pci_base(adapter, off + size - 1) && pci_base(adapter, off)) { | ||
1173 | printk(KERN_ERR "%s: Invalid access to memory address range" | ||
1174 | " 0x%llx - 0x%llx\n", netxen_nic_driver_name, off, | ||
1175 | off + size); | ||
1176 | return 1; | ||
1177 | } | ||
1178 | addr = pci_base_offset(adapter, off); | ||
1179 | DPRINTK(INFO, "writing data %llx to offset %llx\n", | ||
1180 | *(unsigned long long *)data, off); | ||
1181 | if (!addr) { | ||
1182 | mem_base = pci_resource_start(adapter->ahw.pdev, 0); | ||
1183 | mem_page = off & PAGE_MASK; | ||
1184 | /* Map two pages whenever user tries to access addresses in two | ||
1185 | consecutive pages. | ||
1186 | */ | ||
1187 | if (mem_page != ((off + size - 1) & PAGE_MASK)) | ||
1188 | mem_ptr = ioremap(mem_base + mem_page, PAGE_SIZE * 2); | ||
1189 | else | ||
1190 | mem_ptr = ioremap(mem_base + mem_page, PAGE_SIZE); | ||
1191 | if (mem_ptr == 0UL) { | ||
1192 | return 1; | ||
1193 | } | ||
1194 | addr = mem_ptr; | ||
1195 | addr += off & (PAGE_SIZE - 1); | ||
1196 | } | ||
1197 | switch (size) { | ||
1198 | case 1: | ||
1199 | writeb(*(u8 *) data, addr); | ||
1200 | break; | ||
1201 | case 2: | ||
1202 | writew(*(u16 *) data, addr); | ||
1203 | break; | ||
1204 | case 4: | ||
1205 | writel(*(u32 *) data, addr); | ||
1206 | break; | ||
1207 | case 8: | ||
1208 | writeq(*(u64 *) data, addr); | ||
1209 | break; | ||
1210 | default: | ||
1211 | DPRINTK(INFO, | ||
1212 | "writing data %lx to offset %llx, num words=%d\n", | ||
1213 | *(unsigned long *)data, off, (size >> 3)); | ||
1214 | |||
1215 | netxen_nic_hw_block_write64((u64 __iomem *) data, addr, | ||
1216 | (size >> 3)); | ||
1217 | break; | ||
1218 | } | ||
1219 | |||
1220 | if (mem_ptr) | ||
1221 | iounmap(mem_ptr); | ||
1222 | DPRINTK(INFO, "wrote %llx\n", *(unsigned long long *)data); | ||
1223 | |||
1224 | return ret; | ||
1225 | } | ||
1226 | |||
1227 | int netxen_nic_pci_mem_read_ioctl(struct netxen_adapter *adapter, | ||
1228 | u64 off, void *data, int size) | ||
1229 | { | ||
1230 | void *addr; | ||
1231 | int ret = 0; | ||
1232 | u8 *mem_ptr = NULL; | ||
1233 | unsigned long mem_base; | ||
1234 | unsigned long mem_page; | ||
1235 | |||
1236 | if (data == NULL || off > (128 * 1024 * 1024)) { | ||
1237 | printk(KERN_ERR "%s: data: %p off:%llx\n", | ||
1238 | netxen_nic_driver_name, data, off); | ||
1239 | return 1; | ||
1240 | } | ||
1241 | off = netxen_nic_pci_set_window(adapter, off); | ||
1242 | /* Corner case : Malicious user tried to break the driver by reading | ||
1243 | last few bytes in ranges and tries to read further addresses. | ||
1244 | */ | ||
1245 | if (!pci_base(adapter, off + size - 1) && pci_base(adapter, off)) { | ||
1246 | printk(KERN_ERR "%s: Invalid access to memory address range" | ||
1247 | " 0x%llx - 0x%llx\n", netxen_nic_driver_name, off, | ||
1248 | off + size); | ||
1249 | return 1; | ||
1250 | } | ||
1251 | addr = pci_base_offset(adapter, off); | ||
1252 | if (!addr) { | ||
1253 | mem_base = pci_resource_start(adapter->ahw.pdev, 0); | ||
1254 | mem_page = off & PAGE_MASK; | ||
1255 | /* Map two pages whenever user tries to access addresses in two | ||
1256 | consecutive pages. | ||
1257 | */ | ||
1258 | if (mem_page != ((off + size - 1) & PAGE_MASK)) | ||
1259 | mem_ptr = ioremap(mem_base + mem_page, PAGE_SIZE * 2); | ||
1260 | else | ||
1261 | mem_ptr = ioremap(mem_base + mem_page, PAGE_SIZE); | ||
1262 | if (mem_ptr == 0UL) { | ||
1263 | *(u8 *) data = 0; | ||
1264 | return 1; | ||
1265 | } | ||
1266 | addr = mem_ptr; | ||
1267 | addr += off & (PAGE_SIZE - 1); | ||
1268 | } | ||
1269 | switch (size) { | ||
1270 | case 1: | ||
1271 | *(u8 *) data = readb(addr); | ||
1272 | break; | ||
1273 | case 2: | ||
1274 | *(u16 *) data = readw(addr); | ||
1275 | break; | ||
1276 | case 4: | ||
1277 | *(u32 *) data = readl(addr); | ||
1278 | break; | ||
1279 | case 8: | ||
1280 | *(u64 *) data = readq(addr); | ||
1281 | break; | ||
1282 | default: | ||
1283 | netxen_nic_hw_block_read64((u64 __iomem *) data, addr, | ||
1284 | (size >> 3)); | ||
1285 | break; | ||
1286 | } | ||
1287 | |||
1288 | if (mem_ptr) | ||
1289 | iounmap(mem_ptr); | ||
1290 | DPRINTK(INFO, "read %llx\n", *(unsigned long long *)data); | ||
1291 | |||
1292 | return ret; | ||
1293 | } | ||
diff --git a/drivers/net/netxen/netxen_nic_hw.h b/drivers/net/netxen/netxen_nic_hw.h index 201a636b7ab8..0685633a9c1e 100644 --- a/drivers/net/netxen/netxen_nic_hw.h +++ b/drivers/net/netxen/netxen_nic_hw.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2003 - 2006 NetXen, Inc. | 2 | * Copyright (C) 2003 - 2006 NetXen, Inc. |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
@@ -16,10 +16,10 @@ | |||
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
18 | * MA 02111-1307, USA. | 18 | * MA 02111-1307, USA. |
19 | * | 19 | * |
20 | * The full GNU General Public License is included in this distribution | 20 | * The full GNU General Public License is included in this distribution |
21 | * in the file called LICENSE. | 21 | * in the file called LICENSE. |
22 | * | 22 | * |
23 | * Contact Information: | 23 | * Contact Information: |
24 | * info@netxen.com | 24 | * info@netxen.com |
25 | * NetXen, | 25 | * NetXen, |
@@ -83,8 +83,8 @@ struct netxen_adapter; | |||
83 | #define NETXEN_PCI_MAPSIZE_BYTES (NETXEN_PCI_MAPSIZE << 20) | 83 | #define NETXEN_PCI_MAPSIZE_BYTES (NETXEN_PCI_MAPSIZE << 20) |
84 | 84 | ||
85 | #define NETXEN_NIC_LOCKED_READ_REG(X, Y) \ | 85 | #define NETXEN_NIC_LOCKED_READ_REG(X, Y) \ |
86 | addr = pci_base_offset(adapter, (X)); \ | 86 | addr = pci_base_offset(adapter, X); \ |
87 | *(u32 *)Y = readl(addr); | 87 | *(u32 *)Y = readl((void __iomem*) addr); |
88 | 88 | ||
89 | struct netxen_port; | 89 | struct netxen_port; |
90 | void netxen_nic_set_link_parameters(struct netxen_port *port); | 90 | void netxen_nic_set_link_parameters(struct netxen_port *port); |
diff --git a/drivers/net/netxen/netxen_nic_init.c b/drivers/net/netxen/netxen_nic_init.c index 0dca029bc3e5..290145ec08e7 100644 --- a/drivers/net/netxen/netxen_nic_init.c +++ b/drivers/net/netxen/netxen_nic_init.c | |||
@@ -1,25 +1,25 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2003 - 2006 NetXen, Inc. | 2 | * Copyright (C) 2003 - 2006 NetXen, Inc. |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
8 | * of the License, or (at your option) any later version. | 8 | * of the License, or (at your option) any later version. |
9 | * | 9 | * |
10 | * This program is distributed in the hope that it will be useful, but | 10 | * This program is distributed in the hope that it will be useful, but |
11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | * GNU General Public License for more details. | 13 | * GNU General Public License for more details. |
14 | * | 14 | * |
15 | * You should have received a copy of the GNU General Public License | 15 | * You should have received a copy of the GNU General Public License |
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
18 | * MA 02111-1307, USA. | 18 | * MA 02111-1307, USA. |
19 | * | 19 | * |
20 | * The full GNU General Public License is included in this distribution | 20 | * The full GNU General Public License is included in this distribution |
21 | * in the file called LICENSE. | 21 | * in the file called LICENSE. |
22 | * | 22 | * |
23 | * Contact Information: | 23 | * Contact Information: |
24 | * info@netxen.com | 24 | * info@netxen.com |
25 | * NetXen, | 25 | * NetXen, |
@@ -137,6 +137,8 @@ int netxen_init_firmware(struct netxen_adapter *adapter) | |||
137 | return err; | 137 | return err; |
138 | } | 138 | } |
139 | /* Window 1 call */ | 139 | /* Window 1 call */ |
140 | writel(MPORT_SINGLE_FUNCTION_MODE, | ||
141 | NETXEN_CRB_NORMALIZE(adapter, CRB_MPORT_MODE)); | ||
140 | writel(PHAN_INITIALIZE_ACK, | 142 | writel(PHAN_INITIALIZE_ACK, |
141 | NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)); | 143 | NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE)); |
142 | 144 | ||
@@ -184,15 +186,12 @@ void netxen_initialize_adapter_sw(struct netxen_adapter *adapter) | |||
184 | for (i = 0; i < num_rx_bufs; i++) { | 186 | for (i = 0; i < num_rx_bufs; i++) { |
185 | rx_buf->ref_handle = i; | 187 | rx_buf->ref_handle = i; |
186 | rx_buf->state = NETXEN_BUFFER_FREE; | 188 | rx_buf->state = NETXEN_BUFFER_FREE; |
187 | |||
188 | DPRINTK(INFO, "Rx buf:ctx%d i(%d) rx_buf:" | 189 | DPRINTK(INFO, "Rx buf:ctx%d i(%d) rx_buf:" |
189 | "%p\n", ctxid, i, rx_buf); | 190 | "%p\n", ctxid, i, rx_buf); |
190 | rx_buf++; | 191 | rx_buf++; |
191 | } | 192 | } |
192 | } | 193 | } |
193 | } | 194 | } |
194 | DPRINTK(INFO, "initialized buffers for %s and %s\n", | ||
195 | "adapter->free_cmd_buf_list", "adapter->free_rxbuf"); | ||
196 | } | 195 | } |
197 | 196 | ||
198 | void netxen_initialize_adapter_hw(struct netxen_adapter *adapter) | 197 | void netxen_initialize_adapter_hw(struct netxen_adapter *adapter) |
@@ -212,37 +211,36 @@ void netxen_initialize_adapter_hw(struct netxen_adapter *adapter) | |||
212 | 211 | ||
213 | void netxen_initialize_adapter_ops(struct netxen_adapter *adapter) | 212 | void netxen_initialize_adapter_ops(struct netxen_adapter *adapter) |
214 | { | 213 | { |
215 | struct netxen_drvops *ops = adapter->ops; | ||
216 | switch (adapter->ahw.board_type) { | 214 | switch (adapter->ahw.board_type) { |
217 | case NETXEN_NIC_GBE: | 215 | case NETXEN_NIC_GBE: |
218 | ops->enable_phy_interrupts = | 216 | adapter->enable_phy_interrupts = |
219 | netxen_niu_gbe_enable_phy_interrupts; | 217 | netxen_niu_gbe_enable_phy_interrupts; |
220 | ops->disable_phy_interrupts = | 218 | adapter->disable_phy_interrupts = |
221 | netxen_niu_gbe_disable_phy_interrupts; | 219 | netxen_niu_gbe_disable_phy_interrupts; |
222 | ops->handle_phy_intr = netxen_nic_gbe_handle_phy_intr; | 220 | adapter->handle_phy_intr = netxen_nic_gbe_handle_phy_intr; |
223 | ops->macaddr_set = netxen_niu_macaddr_set; | 221 | adapter->macaddr_set = netxen_niu_macaddr_set; |
224 | ops->set_mtu = netxen_nic_set_mtu_gb; | 222 | adapter->set_mtu = netxen_nic_set_mtu_gb; |
225 | ops->set_promisc = netxen_niu_set_promiscuous_mode; | 223 | adapter->set_promisc = netxen_niu_set_promiscuous_mode; |
226 | ops->unset_promisc = netxen_niu_set_promiscuous_mode; | 224 | adapter->unset_promisc = netxen_niu_set_promiscuous_mode; |
227 | ops->phy_read = netxen_niu_gbe_phy_read; | 225 | adapter->phy_read = netxen_niu_gbe_phy_read; |
228 | ops->phy_write = netxen_niu_gbe_phy_write; | 226 | adapter->phy_write = netxen_niu_gbe_phy_write; |
229 | ops->init_port = netxen_niu_gbe_init_port; | 227 | adapter->init_port = netxen_niu_gbe_init_port; |
230 | ops->init_niu = netxen_nic_init_niu_gb; | 228 | adapter->init_niu = netxen_nic_init_niu_gb; |
231 | ops->stop_port = netxen_niu_disable_gbe_port; | 229 | adapter->stop_port = netxen_niu_disable_gbe_port; |
232 | break; | 230 | break; |
233 | 231 | ||
234 | case NETXEN_NIC_XGBE: | 232 | case NETXEN_NIC_XGBE: |
235 | ops->enable_phy_interrupts = | 233 | adapter->enable_phy_interrupts = |
236 | netxen_niu_xgbe_enable_phy_interrupts; | 234 | netxen_niu_xgbe_enable_phy_interrupts; |
237 | ops->disable_phy_interrupts = | 235 | adapter->disable_phy_interrupts = |
238 | netxen_niu_xgbe_disable_phy_interrupts; | 236 | netxen_niu_xgbe_disable_phy_interrupts; |
239 | ops->handle_phy_intr = netxen_nic_xgbe_handle_phy_intr; | 237 | adapter->handle_phy_intr = netxen_nic_xgbe_handle_phy_intr; |
240 | ops->macaddr_set = netxen_niu_xg_macaddr_set; | 238 | adapter->macaddr_set = netxen_niu_xg_macaddr_set; |
241 | ops->set_mtu = netxen_nic_set_mtu_xgb; | 239 | adapter->set_mtu = netxen_nic_set_mtu_xgb; |
242 | ops->init_port = netxen_niu_xg_init_port; | 240 | adapter->init_port = netxen_niu_xg_init_port; |
243 | ops->set_promisc = netxen_niu_xg_set_promiscuous_mode; | 241 | adapter->set_promisc = netxen_niu_xg_set_promiscuous_mode; |
244 | ops->unset_promisc = netxen_niu_xg_set_promiscuous_mode; | 242 | adapter->unset_promisc = netxen_niu_xg_set_promiscuous_mode; |
245 | ops->stop_port = netxen_niu_disable_xg_port; | 243 | adapter->stop_port = netxen_niu_disable_xg_port; |
246 | break; | 244 | break; |
247 | 245 | ||
248 | default: | 246 | default: |
@@ -383,8 +381,8 @@ int netxen_rom_wip_poll(struct netxen_adapter *adapter) | |||
383 | return 0; | 381 | return 0; |
384 | } | 382 | } |
385 | 383 | ||
386 | static inline int do_rom_fast_write(struct netxen_adapter *adapter, | 384 | static inline int do_rom_fast_write(struct netxen_adapter *adapter, int addr, |
387 | int addr, int data) | 385 | int data) |
388 | { | 386 | { |
389 | if (netxen_rom_wren(adapter)) { | 387 | if (netxen_rom_wren(adapter)) { |
390 | return -1; | 388 | return -1; |
@@ -622,6 +620,43 @@ int netxen_pinit_from_rom(struct netxen_adapter *adapter, int verbose) | |||
622 | return 0; | 620 | return 0; |
623 | } | 621 | } |
624 | 622 | ||
623 | int netxen_initialize_adapter_offload(struct netxen_adapter *adapter) | ||
624 | { | ||
625 | uint64_t addr; | ||
626 | uint32_t hi; | ||
627 | uint32_t lo; | ||
628 | |||
629 | adapter->dummy_dma.addr = | ||
630 | pci_alloc_consistent(adapter->ahw.pdev, | ||
631 | NETXEN_HOST_DUMMY_DMA_SIZE, | ||
632 | &adapter->dummy_dma.phys_addr); | ||
633 | if (adapter->dummy_dma.addr == NULL) { | ||
634 | printk("%s: ERROR: Could not allocate dummy DMA memory\n", | ||
635 | __FUNCTION__); | ||
636 | return -ENOMEM; | ||
637 | } | ||
638 | |||
639 | addr = (uint64_t) adapter->dummy_dma.phys_addr; | ||
640 | hi = (addr >> 32) & 0xffffffff; | ||
641 | lo = addr & 0xffffffff; | ||
642 | |||
643 | writel(hi, NETXEN_CRB_NORMALIZE(adapter, CRB_HOST_DUMMY_BUF_ADDR_HI)); | ||
644 | writel(lo, NETXEN_CRB_NORMALIZE(adapter, CRB_HOST_DUMMY_BUF_ADDR_LO)); | ||
645 | |||
646 | return 0; | ||
647 | } | ||
648 | |||
649 | void netxen_free_adapter_offload(struct netxen_adapter *adapter) | ||
650 | { | ||
651 | if (adapter->dummy_dma.addr) { | ||
652 | pci_free_consistent(adapter->ahw.pdev, | ||
653 | NETXEN_HOST_DUMMY_DMA_SIZE, | ||
654 | adapter->dummy_dma.addr, | ||
655 | adapter->dummy_dma.phys_addr); | ||
656 | adapter->dummy_dma.addr = NULL; | ||
657 | } | ||
658 | } | ||
659 | |||
625 | void netxen_phantom_init(struct netxen_adapter *adapter, int pegtune_val) | 660 | void netxen_phantom_init(struct netxen_adapter *adapter, int pegtune_val) |
626 | { | 661 | { |
627 | u32 val = 0; | 662 | u32 val = 0; |
@@ -656,7 +691,8 @@ int netxen_nic_rx_has_work(struct netxen_adapter *adapter) | |||
656 | desc_head = recv_ctx->rcv_status_desc_head; | 691 | desc_head = recv_ctx->rcv_status_desc_head; |
657 | desc = &desc_head[consumer]; | 692 | desc = &desc_head[consumer]; |
658 | 693 | ||
659 | if (((le16_to_cpu(desc->owner)) & STATUS_OWNER_HOST)) | 694 | if (((le16_to_cpu(netxen_get_sts_owner(desc))) |
695 | & STATUS_OWNER_HOST)) | ||
660 | return 1; | 696 | return 1; |
661 | } | 697 | } |
662 | 698 | ||
@@ -710,12 +746,13 @@ static inline int netxen_nic_check_temp(struct netxen_adapter *adapter) | |||
710 | return rv; | 746 | return rv; |
711 | } | 747 | } |
712 | 748 | ||
713 | void netxen_watchdog_task(unsigned long v) | 749 | void netxen_watchdog_task(struct work_struct *work) |
714 | { | 750 | { |
715 | int port_num; | 751 | int port_num; |
716 | struct netxen_port *port; | 752 | struct netxen_port *port; |
717 | struct net_device *netdev; | 753 | struct net_device *netdev; |
718 | struct netxen_adapter *adapter = (struct netxen_adapter *)v; | 754 | struct netxen_adapter *adapter = |
755 | container_of(work, struct netxen_adapter, watchdog_task); | ||
719 | 756 | ||
720 | if (netxen_nic_check_temp(adapter)) | 757 | if (netxen_nic_check_temp(adapter)) |
721 | return; | 758 | return; |
@@ -734,8 +771,8 @@ void netxen_watchdog_task(unsigned long v) | |||
734 | netif_wake_queue(netdev); | 771 | netif_wake_queue(netdev); |
735 | } | 772 | } |
736 | 773 | ||
737 | if (adapter->ops->handle_phy_intr) | 774 | if (adapter->handle_phy_intr) |
738 | adapter->ops->handle_phy_intr(adapter); | 775 | adapter->handle_phy_intr(adapter); |
739 | mod_timer(&adapter->watchdog_timer, jiffies + 2 * HZ); | 776 | mod_timer(&adapter->watchdog_timer, jiffies + 2 * HZ); |
740 | } | 777 | } |
741 | 778 | ||
@@ -748,19 +785,19 @@ void | |||
748 | netxen_process_rcv(struct netxen_adapter *adapter, int ctxid, | 785 | netxen_process_rcv(struct netxen_adapter *adapter, int ctxid, |
749 | struct status_desc *desc) | 786 | struct status_desc *desc) |
750 | { | 787 | { |
751 | struct netxen_port *port = adapter->port[STATUS_DESC_PORT(desc)]; | 788 | struct netxen_port *port = adapter->port[netxen_get_sts_port(desc)]; |
752 | struct pci_dev *pdev = port->pdev; | 789 | struct pci_dev *pdev = port->pdev; |
753 | struct net_device *netdev = port->netdev; | 790 | struct net_device *netdev = port->netdev; |
754 | int index = le16_to_cpu(desc->reference_handle); | 791 | int index = le16_to_cpu(netxen_get_sts_refhandle(desc)); |
755 | struct netxen_recv_context *recv_ctx = &(adapter->recv_ctx[ctxid]); | 792 | struct netxen_recv_context *recv_ctx = &(adapter->recv_ctx[ctxid]); |
756 | struct netxen_rx_buffer *buffer; | 793 | struct netxen_rx_buffer *buffer; |
757 | struct sk_buff *skb; | 794 | struct sk_buff *skb; |
758 | u32 length = le16_to_cpu(desc->total_length); | 795 | u32 length = le16_to_cpu(netxen_get_sts_totallength(desc)); |
759 | u32 desc_ctx; | 796 | u32 desc_ctx; |
760 | struct netxen_rcv_desc_ctx *rcv_desc; | 797 | struct netxen_rcv_desc_ctx *rcv_desc; |
761 | int ret; | 798 | int ret; |
762 | 799 | ||
763 | desc_ctx = STATUS_DESC_TYPE(desc); | 800 | desc_ctx = netxen_get_sts_type(desc); |
764 | if (unlikely(desc_ctx >= NUM_RCV_DESC_RINGS)) { | 801 | if (unlikely(desc_ctx >= NUM_RCV_DESC_RINGS)) { |
765 | printk("%s: %s Bad Rcv descriptor ring\n", | 802 | printk("%s: %s Bad Rcv descriptor ring\n", |
766 | netxen_nic_driver_name, netdev->name); | 803 | netxen_nic_driver_name, netdev->name); |
@@ -768,20 +805,49 @@ netxen_process_rcv(struct netxen_adapter *adapter, int ctxid, | |||
768 | } | 805 | } |
769 | 806 | ||
770 | rcv_desc = &recv_ctx->rcv_desc[desc_ctx]; | 807 | rcv_desc = &recv_ctx->rcv_desc[desc_ctx]; |
808 | if (unlikely(index > rcv_desc->max_rx_desc_count)) { | ||
809 | DPRINTK(ERR, "Got a buffer index:%x Max is %x\n", | ||
810 | index, rcv_desc->max_rx_desc_count); | ||
811 | return; | ||
812 | } | ||
771 | buffer = &rcv_desc->rx_buf_arr[index]; | 813 | buffer = &rcv_desc->rx_buf_arr[index]; |
814 | if (desc_ctx == RCV_DESC_LRO_CTXID) { | ||
815 | buffer->lro_current_frags++; | ||
816 | if (netxen_get_sts_desc_lro_last_frag(desc)) { | ||
817 | buffer->lro_expected_frags = | ||
818 | netxen_get_sts_desc_lro_cnt(desc); | ||
819 | buffer->lro_length = length; | ||
820 | } | ||
821 | if (buffer->lro_current_frags != buffer->lro_expected_frags) { | ||
822 | if (buffer->lro_expected_frags != 0) { | ||
823 | printk("LRO: (refhandle:%x) recv frag." | ||
824 | "wait for last. flags: %x expected:%d" | ||
825 | "have:%d\n", index, | ||
826 | netxen_get_sts_desc_lro_last_frag(desc), | ||
827 | buffer->lro_expected_frags, | ||
828 | buffer->lro_current_frags); | ||
829 | } | ||
830 | return; | ||
831 | } | ||
832 | } | ||
772 | 833 | ||
773 | pci_unmap_single(pdev, buffer->dma, rcv_desc->dma_size, | 834 | pci_unmap_single(pdev, buffer->dma, rcv_desc->dma_size, |
774 | PCI_DMA_FROMDEVICE); | 835 | PCI_DMA_FROMDEVICE); |
775 | 836 | ||
776 | skb = (struct sk_buff *)buffer->skb; | 837 | skb = (struct sk_buff *)buffer->skb; |
777 | 838 | ||
778 | if (likely(STATUS_DESC_STATUS(desc) == STATUS_CKSUM_OK)) { | 839 | if (likely(netxen_get_sts_status(desc) == STATUS_CKSUM_OK)) { |
779 | port->stats.csummed++; | 840 | port->stats.csummed++; |
780 | skb->ip_summed = CHECKSUM_UNNECESSARY; | 841 | skb->ip_summed = CHECKSUM_UNNECESSARY; |
781 | } else | 842 | } |
782 | skb->ip_summed = CHECKSUM_NONE; | ||
783 | skb->dev = netdev; | 843 | skb->dev = netdev; |
784 | skb_put(skb, length); | 844 | if (desc_ctx == RCV_DESC_LRO_CTXID) { |
845 | /* True length was only available on the last pkt */ | ||
846 | skb_put(skb, buffer->lro_length); | ||
847 | } else { | ||
848 | skb_put(skb, length); | ||
849 | } | ||
850 | |||
785 | skb->protocol = eth_type_trans(skb, netdev); | 851 | skb->protocol = eth_type_trans(skb, netdev); |
786 | 852 | ||
787 | ret = netif_receive_skb(skb); | 853 | ret = netif_receive_skb(skb); |
@@ -827,6 +893,8 @@ netxen_process_rcv(struct netxen_adapter *adapter, int ctxid, | |||
827 | adapter->stats.post_called++; | 893 | adapter->stats.post_called++; |
828 | buffer->skb = NULL; | 894 | buffer->skb = NULL; |
829 | buffer->state = NETXEN_BUFFER_FREE; | 895 | buffer->state = NETXEN_BUFFER_FREE; |
896 | buffer->lro_current_frags = 0; | ||
897 | buffer->lro_expected_frags = 0; | ||
830 | 898 | ||
831 | port->stats.no_rcv++; | 899 | port->stats.no_rcv++; |
832 | port->stats.rxbytes += length; | 900 | port->stats.rxbytes += length; |
@@ -839,6 +907,7 @@ u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctxid, int max) | |||
839 | struct status_desc *desc_head = recv_ctx->rcv_status_desc_head; | 907 | struct status_desc *desc_head = recv_ctx->rcv_status_desc_head; |
840 | struct status_desc *desc; /* used to read status desc here */ | 908 | struct status_desc *desc; /* used to read status desc here */ |
841 | u32 consumer = recv_ctx->status_rx_consumer; | 909 | u32 consumer = recv_ctx->status_rx_consumer; |
910 | u32 producer = 0; | ||
842 | int count = 0, ring; | 911 | int count = 0, ring; |
843 | 912 | ||
844 | DPRINTK(INFO, "procesing receive\n"); | 913 | DPRINTK(INFO, "procesing receive\n"); |
@@ -850,18 +919,22 @@ u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctxid, int max) | |||
850 | */ | 919 | */ |
851 | while (count < max) { | 920 | while (count < max) { |
852 | desc = &desc_head[consumer]; | 921 | desc = &desc_head[consumer]; |
853 | if (!((le16_to_cpu(desc->owner)) & STATUS_OWNER_HOST)) { | 922 | if (! |
854 | DPRINTK(ERR, "desc %p ownedby %x\n", desc, desc->owner); | 923 | (le16_to_cpu(netxen_get_sts_owner(desc)) & |
924 | STATUS_OWNER_HOST)) { | ||
925 | DPRINTK(ERR, "desc %p ownedby %x\n", desc, | ||
926 | netxen_get_sts_owner(desc)); | ||
855 | break; | 927 | break; |
856 | } | 928 | } |
857 | netxen_process_rcv(adapter, ctxid, desc); | 929 | netxen_process_rcv(adapter, ctxid, desc); |
858 | desc->owner = STATUS_OWNER_PHANTOM; | 930 | netxen_clear_sts_owner(desc); |
931 | netxen_set_sts_owner(desc, STATUS_OWNER_PHANTOM); | ||
859 | consumer = (consumer + 1) & (adapter->max_rx_desc_count - 1); | 932 | consumer = (consumer + 1) & (adapter->max_rx_desc_count - 1); |
860 | count++; | 933 | count++; |
861 | } | 934 | } |
862 | if (count) { | 935 | if (count) { |
863 | for (ring = 0; ring < NUM_RCV_DESC_RINGS; ring++) { | 936 | for (ring = 0; ring < NUM_RCV_DESC_RINGS; ring++) { |
864 | netxen_post_rx_buffers(adapter, ctxid, ring); | 937 | netxen_post_rx_buffers_nodb(adapter, ctxid, ring); |
865 | } | 938 | } |
866 | } | 939 | } |
867 | 940 | ||
@@ -869,6 +942,7 @@ u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctxid, int max) | |||
869 | if (count) { | 942 | if (count) { |
870 | adapter->stats.process_rcv++; | 943 | adapter->stats.process_rcv++; |
871 | recv_ctx->status_rx_consumer = consumer; | 944 | recv_ctx->status_rx_consumer = consumer; |
945 | recv_ctx->status_rx_producer = producer; | ||
872 | 946 | ||
873 | /* Window = 1 */ | 947 | /* Window = 1 */ |
874 | writel(consumer, | 948 | writel(consumer, |
@@ -881,12 +955,13 @@ u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctxid, int max) | |||
881 | } | 955 | } |
882 | 956 | ||
883 | /* Process Command status ring */ | 957 | /* Process Command status ring */ |
884 | void netxen_process_cmd_ring(unsigned long data) | 958 | int netxen_process_cmd_ring(unsigned long data) |
885 | { | 959 | { |
886 | u32 last_consumer; | 960 | u32 last_consumer; |
887 | u32 consumer; | 961 | u32 consumer; |
888 | struct netxen_adapter *adapter = (struct netxen_adapter *)data; | 962 | struct netxen_adapter *adapter = (struct netxen_adapter *)data; |
889 | int count = 0; | 963 | int count1 = 0; |
964 | int count2 = 0; | ||
890 | struct netxen_cmd_buffer *buffer; | 965 | struct netxen_cmd_buffer *buffer; |
891 | struct netxen_port *port; /* port #1 */ | 966 | struct netxen_port *port; /* port #1 */ |
892 | struct netxen_port *nport; | 967 | struct netxen_port *nport; |
@@ -895,6 +970,7 @@ void netxen_process_cmd_ring(unsigned long data) | |||
895 | u32 i; | 970 | u32 i; |
896 | struct sk_buff *skb = NULL; | 971 | struct sk_buff *skb = NULL; |
897 | int p; | 972 | int p; |
973 | int done; | ||
898 | 974 | ||
899 | spin_lock(&adapter->tx_lock); | 975 | spin_lock(&adapter->tx_lock); |
900 | last_consumer = adapter->last_cmd_consumer; | 976 | last_consumer = adapter->last_cmd_consumer; |
@@ -904,14 +980,13 @@ void netxen_process_cmd_ring(unsigned long data) | |||
904 | * number as part of the descriptor. This way we will be able to get | 980 | * number as part of the descriptor. This way we will be able to get |
905 | * the netdev which is associated with that device. | 981 | * the netdev which is associated with that device. |
906 | */ | 982 | */ |
907 | consumer = | ||
908 | readl(NETXEN_CRB_NORMALIZE(adapter, CRB_CMD_CONSUMER_OFFSET)); | ||
909 | 983 | ||
984 | consumer = *(adapter->cmd_consumer); | ||
910 | if (last_consumer == consumer) { /* Ring is empty */ | 985 | if (last_consumer == consumer) { /* Ring is empty */ |
911 | DPRINTK(INFO, "last_consumer %d == consumer %d\n", | 986 | DPRINTK(INFO, "last_consumer %d == consumer %d\n", |
912 | last_consumer, consumer); | 987 | last_consumer, consumer); |
913 | spin_unlock(&adapter->tx_lock); | 988 | spin_unlock(&adapter->tx_lock); |
914 | return; | 989 | return 1; |
915 | } | 990 | } |
916 | 991 | ||
917 | adapter->proc_cmd_buf_counter++; | 992 | adapter->proc_cmd_buf_counter++; |
@@ -922,7 +997,7 @@ void netxen_process_cmd_ring(unsigned long data) | |||
922 | */ | 997 | */ |
923 | spin_unlock(&adapter->tx_lock); | 998 | spin_unlock(&adapter->tx_lock); |
924 | 999 | ||
925 | while ((last_consumer != consumer) && (count < MAX_STATUS_HANDLE)) { | 1000 | while ((last_consumer != consumer) && (count1 < MAX_STATUS_HANDLE)) { |
926 | buffer = &adapter->cmd_buf_arr[last_consumer]; | 1001 | buffer = &adapter->cmd_buf_arr[last_consumer]; |
927 | port = adapter->port[buffer->port]; | 1002 | port = adapter->port[buffer->port]; |
928 | pdev = port->pdev; | 1003 | pdev = port->pdev; |
@@ -948,24 +1023,25 @@ void netxen_process_cmd_ring(unsigned long data) | |||
948 | && netif_carrier_ok(port->netdev)) | 1023 | && netif_carrier_ok(port->netdev)) |
949 | && ((jiffies - port->netdev->trans_start) > | 1024 | && ((jiffies - port->netdev->trans_start) > |
950 | port->netdev->watchdog_timeo)) { | 1025 | port->netdev->watchdog_timeo)) { |
951 | schedule_work(&port->adapter->tx_timeout_task); | 1026 | SCHEDULE_WORK(port->adapter->tx_timeout_task |
1027 | + port->portnum); | ||
952 | } | 1028 | } |
953 | 1029 | ||
954 | last_consumer = get_next_index(last_consumer, | 1030 | last_consumer = get_next_index(last_consumer, |
955 | adapter->max_tx_desc_count); | 1031 | adapter->max_tx_desc_count); |
956 | count++; | 1032 | count1++; |
957 | } | 1033 | } |
958 | adapter->stats.noxmitdone += count; | 1034 | adapter->stats.noxmitdone += count1; |
959 | 1035 | ||
960 | count = 0; | 1036 | count2 = 0; |
961 | spin_lock(&adapter->tx_lock); | 1037 | spin_lock(&adapter->tx_lock); |
962 | if ((--adapter->proc_cmd_buf_counter) == 0) { | 1038 | if ((--adapter->proc_cmd_buf_counter) == 0) { |
963 | adapter->last_cmd_consumer = last_consumer; | 1039 | adapter->last_cmd_consumer = last_consumer; |
964 | while ((adapter->last_cmd_consumer != consumer) | 1040 | while ((adapter->last_cmd_consumer != consumer) |
965 | && (count < MAX_STATUS_HANDLE)) { | 1041 | && (count2 < MAX_STATUS_HANDLE)) { |
966 | buffer = | 1042 | buffer = |
967 | &adapter->cmd_buf_arr[adapter->last_cmd_consumer]; | 1043 | &adapter->cmd_buf_arr[adapter->last_cmd_consumer]; |
968 | count++; | 1044 | count2++; |
969 | if (buffer->skb) | 1045 | if (buffer->skb) |
970 | break; | 1046 | break; |
971 | else | 1047 | else |
@@ -974,7 +1050,7 @@ void netxen_process_cmd_ring(unsigned long data) | |||
974 | adapter->max_tx_desc_count); | 1050 | adapter->max_tx_desc_count); |
975 | } | 1051 | } |
976 | } | 1052 | } |
977 | if (count) { | 1053 | if (count1 || count2) { |
978 | for (p = 0; p < adapter->ahw.max_ports; p++) { | 1054 | for (p = 0; p < adapter->ahw.max_ports; p++) { |
979 | nport = adapter->port[p]; | 1055 | nport = adapter->port[p]; |
980 | if (netif_queue_stopped(nport->netdev) | 1056 | if (netif_queue_stopped(nport->netdev) |
@@ -984,10 +1060,30 @@ void netxen_process_cmd_ring(unsigned long data) | |||
984 | } | 1060 | } |
985 | } | 1061 | } |
986 | } | 1062 | } |
1063 | /* | ||
1064 | * If everything is freed up to consumer then check if the ring is full | ||
1065 | * If the ring is full then check if more needs to be freed and | ||
1066 | * schedule the call back again. | ||
1067 | * | ||
1068 | * This happens when there are 2 CPUs. One could be freeing and the | ||
1069 | * other filling it. If the ring is full when we get out of here and | ||
1070 | * the card has already interrupted the host then the host can miss the | ||
1071 | * interrupt. | ||
1072 | * | ||
1073 | * There is still a possible race condition and the host could miss an | ||
1074 | * interrupt. The card has to take care of this. | ||
1075 | */ | ||
1076 | if (adapter->last_cmd_consumer == consumer && | ||
1077 | (((adapter->cmd_producer + 1) % | ||
1078 | adapter->max_tx_desc_count) == adapter->last_cmd_consumer)) { | ||
1079 | consumer = *(adapter->cmd_consumer); | ||
1080 | } | ||
1081 | done = (adapter->last_cmd_consumer == consumer); | ||
987 | 1082 | ||
988 | spin_unlock(&adapter->tx_lock); | 1083 | spin_unlock(&adapter->tx_lock); |
989 | DPRINTK(INFO, "last consumer is %d in %s\n", last_consumer, | 1084 | DPRINTK(INFO, "last consumer is %d in %s\n", last_consumer, |
990 | __FUNCTION__); | 1085 | __FUNCTION__); |
1086 | return (done); | ||
991 | } | 1087 | } |
992 | 1088 | ||
993 | /* | 1089 | /* |
@@ -999,17 +1095,16 @@ void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx, u32 ringid) | |||
999 | struct sk_buff *skb; | 1095 | struct sk_buff *skb; |
1000 | struct netxen_recv_context *recv_ctx = &(adapter->recv_ctx[ctx]); | 1096 | struct netxen_recv_context *recv_ctx = &(adapter->recv_ctx[ctx]); |
1001 | struct netxen_rcv_desc_ctx *rcv_desc = NULL; | 1097 | struct netxen_rcv_desc_ctx *rcv_desc = NULL; |
1002 | struct netxen_recv_crb *crbarea = &recv_crb_registers[ctx]; | 1098 | uint producer; |
1003 | struct netxen_rcv_desc_crb *rcv_desc_crb = NULL; | ||
1004 | u32 producer; | ||
1005 | struct rcv_desc *pdesc; | 1099 | struct rcv_desc *pdesc; |
1006 | struct netxen_rx_buffer *buffer; | 1100 | struct netxen_rx_buffer *buffer; |
1007 | int count = 0; | 1101 | int count = 0; |
1008 | int index = 0; | 1102 | int index = 0; |
1103 | netxen_ctx_msg msg = 0; | ||
1104 | dma_addr_t dma; | ||
1009 | 1105 | ||
1010 | adapter->stats.post_called++; | 1106 | adapter->stats.post_called++; |
1011 | rcv_desc = &recv_ctx->rcv_desc[ringid]; | 1107 | rcv_desc = &recv_ctx->rcv_desc[ringid]; |
1012 | rcv_desc_crb = &crbarea->rcv_desc_crb[ringid]; | ||
1013 | 1108 | ||
1014 | producer = rcv_desc->producer; | 1109 | producer = rcv_desc->producer; |
1015 | index = rcv_desc->begin_alloc; | 1110 | index = rcv_desc->begin_alloc; |
@@ -1019,6 +1114,7 @@ void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx, u32 ringid) | |||
1019 | skb = dev_alloc_skb(rcv_desc->skb_size); | 1114 | skb = dev_alloc_skb(rcv_desc->skb_size); |
1020 | if (unlikely(!skb)) { | 1115 | if (unlikely(!skb)) { |
1021 | /* | 1116 | /* |
1117 | * TODO | ||
1022 | * We need to schedule the posting of buffers to the pegs. | 1118 | * We need to schedule the posting of buffers to the pegs. |
1023 | */ | 1119 | */ |
1024 | rcv_desc->begin_alloc = index; | 1120 | rcv_desc->begin_alloc = index; |
@@ -1026,9 +1122,105 @@ void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx, u32 ringid) | |||
1026 | " allocated only %d buffers\n", count); | 1122 | " allocated only %d buffers\n", count); |
1027 | break; | 1123 | break; |
1028 | } | 1124 | } |
1125 | |||
1029 | count++; /* now there should be no failure */ | 1126 | count++; /* now there should be no failure */ |
1030 | pdesc = &rcv_desc->desc_head[producer]; | 1127 | pdesc = &rcv_desc->desc_head[producer]; |
1031 | skb_reserve(skb, NET_IP_ALIGN); | 1128 | |
1129 | #if defined(XGB_DEBUG) | ||
1130 | *(unsigned long *)(skb->head) = 0xc0debabe; | ||
1131 | if (skb_is_nonlinear(skb)) { | ||
1132 | printk("Allocated SKB @%p is nonlinear\n"); | ||
1133 | } | ||
1134 | #endif | ||
1135 | skb_reserve(skb, 2); | ||
1136 | /* This will be setup when we receive the | ||
1137 | * buffer after it has been filled FSL TBD TBD | ||
1138 | * skb->dev = netdev; | ||
1139 | */ | ||
1140 | dma = pci_map_single(pdev, skb->data, rcv_desc->dma_size, | ||
1141 | PCI_DMA_FROMDEVICE); | ||
1142 | pdesc->addr_buffer = dma; | ||
1143 | buffer->skb = skb; | ||
1144 | buffer->state = NETXEN_BUFFER_BUSY; | ||
1145 | buffer->dma = dma; | ||
1146 | /* make a rcv descriptor */ | ||
1147 | pdesc->reference_handle = buffer->ref_handle; | ||
1148 | pdesc->buffer_length = rcv_desc->dma_size; | ||
1149 | DPRINTK(INFO, "done writing descripter\n"); | ||
1150 | producer = | ||
1151 | get_next_index(producer, rcv_desc->max_rx_desc_count); | ||
1152 | index = get_next_index(index, rcv_desc->max_rx_desc_count); | ||
1153 | buffer = &rcv_desc->rx_buf_arr[index]; | ||
1154 | } | ||
1155 | /* if we did allocate buffers, then write the count to Phantom */ | ||
1156 | if (count) { | ||
1157 | rcv_desc->begin_alloc = index; | ||
1158 | rcv_desc->rcv_pending += count; | ||
1159 | adapter->stats.lastposted = count; | ||
1160 | adapter->stats.posted += count; | ||
1161 | rcv_desc->producer = producer; | ||
1162 | if (rcv_desc->rcv_free >= 32) { | ||
1163 | rcv_desc->rcv_free = 0; | ||
1164 | /* Window = 1 */ | ||
1165 | writel((producer - 1) & | ||
1166 | (rcv_desc->max_rx_desc_count - 1), | ||
1167 | NETXEN_CRB_NORMALIZE(adapter, | ||
1168 | recv_crb_registers[0]. | ||
1169 | rcv_desc_crb[ringid]. | ||
1170 | crb_rcv_producer_offset)); | ||
1171 | /* | ||
1172 | * Write a doorbell msg to tell phanmon of change in | ||
1173 | * receive ring producer | ||
1174 | */ | ||
1175 | netxen_set_msg_peg_id(msg, NETXEN_RCV_PEG_DB_ID); | ||
1176 | netxen_set_msg_privid(msg); | ||
1177 | netxen_set_msg_count(msg, | ||
1178 | ((producer - | ||
1179 | 1) & (rcv_desc-> | ||
1180 | max_rx_desc_count - 1))); | ||
1181 | netxen_set_msg_ctxid(msg, 0); | ||
1182 | netxen_set_msg_opcode(msg, NETXEN_RCV_PRODUCER(ringid)); | ||
1183 | writel(msg, | ||
1184 | DB_NORMALIZE(adapter, | ||
1185 | NETXEN_RCV_PRODUCER_OFFSET)); | ||
1186 | } | ||
1187 | } | ||
1188 | } | ||
1189 | |||
1190 | void netxen_post_rx_buffers_nodb(struct netxen_adapter *adapter, uint32_t ctx, | ||
1191 | uint32_t ringid) | ||
1192 | { | ||
1193 | struct pci_dev *pdev = adapter->ahw.pdev; | ||
1194 | struct sk_buff *skb; | ||
1195 | struct netxen_recv_context *recv_ctx = &(adapter->recv_ctx[ctx]); | ||
1196 | struct netxen_rcv_desc_ctx *rcv_desc = NULL; | ||
1197 | u32 producer; | ||
1198 | struct rcv_desc *pdesc; | ||
1199 | struct netxen_rx_buffer *buffer; | ||
1200 | int count = 0; | ||
1201 | int index = 0; | ||
1202 | |||
1203 | adapter->stats.post_called++; | ||
1204 | rcv_desc = &recv_ctx->rcv_desc[ringid]; | ||
1205 | |||
1206 | producer = rcv_desc->producer; | ||
1207 | index = rcv_desc->begin_alloc; | ||
1208 | buffer = &rcv_desc->rx_buf_arr[index]; | ||
1209 | /* We can start writing rx descriptors into the phantom memory. */ | ||
1210 | while (buffer->state == NETXEN_BUFFER_FREE) { | ||
1211 | skb = dev_alloc_skb(rcv_desc->skb_size); | ||
1212 | if (unlikely(!skb)) { | ||
1213 | /* | ||
1214 | * We need to schedule the posting of buffers to the pegs. | ||
1215 | */ | ||
1216 | rcv_desc->begin_alloc = index; | ||
1217 | DPRINTK(ERR, "netxen_post_rx_buffers_nodb: " | ||
1218 | " allocated only %d buffers\n", count); | ||
1219 | break; | ||
1220 | } | ||
1221 | count++; /* now there should be no failure */ | ||
1222 | pdesc = &rcv_desc->desc_head[producer]; | ||
1223 | skb_reserve(skb, 2); | ||
1032 | /* | 1224 | /* |
1033 | * This will be setup when we receive the | 1225 | * This will be setup when we receive the |
1034 | * buffer after it has been filled | 1226 | * buffer after it has been filled |
@@ -1039,6 +1231,7 @@ void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx, u32 ringid) | |||
1039 | buffer->dma = pci_map_single(pdev, skb->data, | 1231 | buffer->dma = pci_map_single(pdev, skb->data, |
1040 | rcv_desc->dma_size, | 1232 | rcv_desc->dma_size, |
1041 | PCI_DMA_FROMDEVICE); | 1233 | PCI_DMA_FROMDEVICE); |
1234 | |||
1042 | /* make a rcv descriptor */ | 1235 | /* make a rcv descriptor */ |
1043 | pdesc->reference_handle = le16_to_cpu(buffer->ref_handle); | 1236 | pdesc->reference_handle = le16_to_cpu(buffer->ref_handle); |
1044 | pdesc->buffer_length = le16_to_cpu(rcv_desc->dma_size); | 1237 | pdesc->buffer_length = le16_to_cpu(rcv_desc->dma_size); |
@@ -1063,7 +1256,8 @@ void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx, u32 ringid) | |||
1063 | writel((producer - 1) & | 1256 | writel((producer - 1) & |
1064 | (rcv_desc->max_rx_desc_count - 1), | 1257 | (rcv_desc->max_rx_desc_count - 1), |
1065 | NETXEN_CRB_NORMALIZE(adapter, | 1258 | NETXEN_CRB_NORMALIZE(adapter, |
1066 | rcv_desc_crb-> | 1259 | recv_crb_registers[0]. |
1260 | rcv_desc_crb[ringid]. | ||
1067 | crb_rcv_producer_offset)); | 1261 | crb_rcv_producer_offset)); |
1068 | wmb(); | 1262 | wmb(); |
1069 | } | 1263 | } |
@@ -1196,8 +1390,8 @@ netxen_nic_do_ioctl(struct netxen_adapter *adapter, void *u_data, | |||
1196 | 1390 | ||
1197 | switch (data.cmd) { | 1391 | switch (data.cmd) { |
1198 | case netxen_nic_cmd_pci_read: | 1392 | case netxen_nic_cmd_pci_read: |
1199 | if ((retval = netxen_nic_hw_read_wx(adapter, data.off, | 1393 | if ((retval = netxen_nic_hw_read_ioctl(adapter, data.off, |
1200 | &(data.u), data.size))) | 1394 | &(data.u), data.size))) |
1201 | goto error_out; | 1395 | goto error_out; |
1202 | if (copy_to_user | 1396 | if (copy_to_user |
1203 | ((void __user *)&(up_data->u), &(data.u), data.size)) { | 1397 | ((void __user *)&(up_data->u), &(data.u), data.size)) { |
@@ -1210,8 +1404,35 @@ netxen_nic_do_ioctl(struct netxen_adapter *adapter, void *u_data, | |||
1210 | break; | 1404 | break; |
1211 | 1405 | ||
1212 | case netxen_nic_cmd_pci_write: | 1406 | case netxen_nic_cmd_pci_write: |
1213 | data.rv = netxen_nic_hw_write_wx(adapter, data.off, &(data.u), | 1407 | if ((retval = netxen_nic_hw_write_ioctl(adapter, data.off, |
1214 | data.size); | 1408 | &(data.u), data.size))) |
1409 | goto error_out; | ||
1410 | data.rv = 0; | ||
1411 | break; | ||
1412 | |||
1413 | case netxen_nic_cmd_pci_mem_read: | ||
1414 | if (netxen_nic_pci_mem_read_ioctl(adapter, data.off, &(data.u), | ||
1415 | data.size)) { | ||
1416 | DPRINTK(ERR, "Failed to read the data.\n"); | ||
1417 | retval = -EFAULT; | ||
1418 | goto error_out; | ||
1419 | } | ||
1420 | if (copy_to_user | ||
1421 | ((void __user *)&(up_data->u), &(data.u), data.size)) { | ||
1422 | DPRINTK(ERR, "bad copy to userland: %d\n", | ||
1423 | (int)sizeof(data)); | ||
1424 | retval = -EFAULT; | ||
1425 | goto error_out; | ||
1426 | } | ||
1427 | data.rv = 0; | ||
1428 | break; | ||
1429 | |||
1430 | case netxen_nic_cmd_pci_mem_write: | ||
1431 | if ((retval = netxen_nic_pci_mem_write_ioctl(adapter, data.off, | ||
1432 | &(data.u), | ||
1433 | data.size))) | ||
1434 | goto error_out; | ||
1435 | data.rv = 0; | ||
1215 | break; | 1436 | break; |
1216 | 1437 | ||
1217 | case netxen_nic_cmd_pci_config_read: | 1438 | case netxen_nic_cmd_pci_config_read: |
@@ -1296,7 +1517,7 @@ netxen_nic_do_ioctl(struct netxen_adapter *adapter, void *u_data, | |||
1296 | retval = -EOPNOTSUPP; | 1517 | retval = -EOPNOTSUPP; |
1297 | goto error_out; | 1518 | goto error_out; |
1298 | } | 1519 | } |
1299 | put_user(data.rv, (u16 __user *) (&(up_data->rv))); | 1520 | put_user(data.rv, (&(up_data->rv))); |
1300 | DPRINTK(INFO, "done ioctl for %p well.\n", adapter); | 1521 | DPRINTK(INFO, "done ioctl for %p well.\n", adapter); |
1301 | 1522 | ||
1302 | error_out: | 1523 | error_out: |
diff --git a/drivers/net/netxen/netxen_nic_ioctl.h b/drivers/net/netxen/netxen_nic_ioctl.h index 23e53adbf123..1221fa527552 100644 --- a/drivers/net/netxen/netxen_nic_ioctl.h +++ b/drivers/net/netxen/netxen_nic_ioctl.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2003 - 2006 NetXen, Inc. | 2 | * Copyright (C) 2003 - 2006 NetXen, Inc. |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
@@ -16,10 +16,10 @@ | |||
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
18 | * MA 02111-1307, USA. | 18 | * MA 02111-1307, USA. |
19 | * | 19 | * |
20 | * The full GNU General Public License is included in this distribution | 20 | * The full GNU General Public License is included in this distribution |
21 | * in the file called LICENSE. | 21 | * in the file called LICENSE. |
22 | * | 22 | * |
23 | * Contact Information: | 23 | * Contact Information: |
24 | * info@netxen.com | 24 | * info@netxen.com |
25 | * NetXen, | 25 | * NetXen, |
@@ -36,7 +36,7 @@ | |||
36 | #define NETXEN_NIC_CMD (NETXEN_CMD_START + 1) | 36 | #define NETXEN_NIC_CMD (NETXEN_CMD_START + 1) |
37 | #define NETXEN_NIC_NAME (NETXEN_CMD_START + 2) | 37 | #define NETXEN_NIC_NAME (NETXEN_CMD_START + 2) |
38 | #define NETXEN_NIC_NAME_LEN 16 | 38 | #define NETXEN_NIC_NAME_LEN 16 |
39 | #define NETXEN_NIC_NAME_RSP "NETXEN" | 39 | #define NETXEN_NIC_NAME_RSP "NETXEN-UNM" |
40 | 40 | ||
41 | typedef enum { | 41 | typedef enum { |
42 | netxen_nic_cmd_none = 0, | 42 | netxen_nic_cmd_none = 0, |
diff --git a/drivers/net/netxen/netxen_nic_isr.c b/drivers/net/netxen/netxen_nic_isr.c index ae180fee8008..1b45f50fa6aa 100644 --- a/drivers/net/netxen/netxen_nic_isr.c +++ b/drivers/net/netxen/netxen_nic_isr.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2003 - 2006 NetXen, Inc. | 2 | * Copyright (C) 2003 - 2006 NetXen, Inc. |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
@@ -16,10 +16,10 @@ | |||
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
18 | * MA 02111-1307, USA. | 18 | * MA 02111-1307, USA. |
19 | * | 19 | * |
20 | * The full GNU General Public License is included in this distribution | 20 | * The full GNU General Public License is included in this distribution |
21 | * in the file called LICENSE. | 21 | * in the file called LICENSE. |
22 | * | 22 | * |
23 | * Contact Information: | 23 | * Contact Information: |
24 | * info@netxen.com | 24 | * info@netxen.com |
25 | * NetXen, | 25 | * NetXen, |
@@ -68,8 +68,7 @@ struct net_device_stats *netxen_nic_get_stats(struct net_device *netdev) | |||
68 | void netxen_indicate_link_status(struct netxen_adapter *adapter, u32 portno, | 68 | void netxen_indicate_link_status(struct netxen_adapter *adapter, u32 portno, |
69 | u32 link) | 69 | u32 link) |
70 | { | 70 | { |
71 | struct netxen_port *pport = adapter->port[portno]; | 71 | struct net_device *netdev = (adapter->port[portno])->netdev; |
72 | struct net_device *netdev = pport->netdev; | ||
73 | 72 | ||
74 | if (link) | 73 | if (link) |
75 | netif_carrier_on(netdev); | 74 | netif_carrier_on(netdev); |
@@ -84,46 +83,41 @@ void netxen_handle_port_int(struct netxen_adapter *adapter, u32 portno, | |||
84 | struct netxen_port *port; | 83 | struct netxen_port *port; |
85 | 84 | ||
86 | /* This should clear the interrupt source */ | 85 | /* This should clear the interrupt source */ |
87 | if (adapter->ops->phy_read) | 86 | if (adapter->phy_read) |
88 | adapter->ops->phy_read(adapter, portno, | 87 | adapter->phy_read(adapter, portno, |
89 | NETXEN_NIU_GB_MII_MGMT_ADDR_INT_STATUS, | 88 | NETXEN_NIU_GB_MII_MGMT_ADDR_INT_STATUS, |
90 | &int_src); | 89 | &int_src); |
91 | if (int_src == 0) { | 90 | if (int_src == 0) { |
92 | DPRINTK(INFO, "No phy interrupts for port #%d\n", portno); | 91 | DPRINTK(INFO, "No phy interrupts for port #%d\n", portno); |
93 | return; | 92 | return; |
94 | } | 93 | } |
95 | if (adapter->ops->disable_phy_interrupts) | 94 | if (adapter->disable_phy_interrupts) |
96 | adapter->ops->disable_phy_interrupts(adapter, portno); | 95 | adapter->disable_phy_interrupts(adapter, portno); |
97 | 96 | ||
98 | port = adapter->port[portno]; | 97 | port = adapter->port[portno]; |
99 | 98 | ||
100 | if (netxen_get_phy_int_jabber(int_src)) | 99 | if (netxen_get_phy_int_jabber(int_src)) |
101 | DPRINTK(INFO, "NetXen: %s Jabber interrupt \n", | 100 | DPRINTK(INFO, "Jabber interrupt \n"); |
102 | port->netdev->name); | ||
103 | 101 | ||
104 | if (netxen_get_phy_int_polarity_changed(int_src)) | 102 | if (netxen_get_phy_int_polarity_changed(int_src)) |
105 | DPRINTK(INFO, "NetXen: %s POLARITY CHANGED int \n", | 103 | DPRINTK(INFO, "POLARITY CHANGED int \n"); |
106 | port->netdev->name); | ||
107 | 104 | ||
108 | if (netxen_get_phy_int_energy_detect(int_src)) | 105 | if (netxen_get_phy_int_energy_detect(int_src)) |
109 | DPRINTK(INFO, "NetXen: %s ENERGY DETECT INT \n", | 106 | DPRINTK(INFO, "ENERGY DETECT INT \n"); |
110 | port->netdev->name); | ||
111 | 107 | ||
112 | if (netxen_get_phy_int_downshift(int_src)) | 108 | if (netxen_get_phy_int_downshift(int_src)) |
113 | DPRINTK(INFO, "NetXen: %s DOWNSHIFT INT \n", | 109 | DPRINTK(INFO, "DOWNSHIFT INT \n"); |
114 | port->netdev->name); | ||
115 | /* write it down later.. */ | 110 | /* write it down later.. */ |
116 | if ((netxen_get_phy_int_speed_changed(int_src)) | 111 | if ((netxen_get_phy_int_speed_changed(int_src)) |
117 | || (netxen_get_phy_int_link_status_changed(int_src))) { | 112 | || (netxen_get_phy_int_link_status_changed(int_src))) { |
118 | __le32 status; | 113 | __le32 status; |
119 | 114 | ||
120 | DPRINTK(INFO, "NetXen: %s SPEED CHANGED OR" | 115 | DPRINTK(INFO, "SPEED CHANGED OR LINK STATUS CHANGED \n"); |
121 | " LINK STATUS CHANGED \n", port->netdev->name); | ||
122 | 116 | ||
123 | if (adapter->ops->phy_read | 117 | if (adapter->phy_read |
124 | && adapter->ops->phy_read(adapter, portno, | 118 | && adapter->phy_read(adapter, portno, |
125 | NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, | 119 | NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, |
126 | &status) == 0) { | 120 | &status) == 0) { |
127 | if (netxen_get_phy_int_link_status_changed(int_src)) { | 121 | if (netxen_get_phy_int_link_status_changed(int_src)) { |
128 | if (netxen_get_phy_link(status)) { | 122 | if (netxen_get_phy_link(status)) { |
129 | netxen_niu_gbe_init_port(adapter, | 123 | netxen_niu_gbe_init_port(adapter, |
@@ -143,8 +137,8 @@ void netxen_handle_port_int(struct netxen_adapter *adapter, u32 portno, | |||
143 | } | 137 | } |
144 | } | 138 | } |
145 | } | 139 | } |
146 | if (adapter->ops->enable_phy_interrupts) | 140 | if (adapter->enable_phy_interrupts) |
147 | adapter->ops->enable_phy_interrupts(adapter, portno); | 141 | adapter->enable_phy_interrupts(adapter, portno); |
148 | } | 142 | } |
149 | 143 | ||
150 | void netxen_nic_isr_other(struct netxen_adapter *adapter) | 144 | void netxen_nic_isr_other(struct netxen_adapter *adapter) |
@@ -159,8 +153,7 @@ void netxen_nic_isr_other(struct netxen_adapter *adapter) | |||
159 | 153 | ||
160 | qg_linksup = adapter->ahw.qg_linksup; | 154 | qg_linksup = adapter->ahw.qg_linksup; |
161 | adapter->ahw.qg_linksup = val; | 155 | adapter->ahw.qg_linksup = val; |
162 | DPRINTK(1, INFO, "%s: link update 0x%08x\n", netxen_nic_driver_name, | 156 | DPRINTK(INFO, "link update 0x%08x\n", val); |
163 | val); | ||
164 | for (portno = 0; portno < NETXEN_NIU_MAX_GBE_PORTS; portno++) { | 157 | for (portno = 0; portno < NETXEN_NIU_MAX_GBE_PORTS; portno++) { |
165 | linkup = val & 1; | 158 | linkup = val & 1; |
166 | if (linkup != (qg_linksup & 1)) { | 159 | if (linkup != (qg_linksup & 1)) { |
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index 1cb662d5bd76..913e8147114f 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c | |||
@@ -1,25 +1,25 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2003 - 2006 NetXen, Inc. | 2 | * Copyright (C) 2003 - 2006 NetXen, Inc. |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
8 | * of the License, or (at your option) any later version. | 8 | * of the License, or (at your option) any later version. |
9 | * | 9 | * |
10 | * This program is distributed in the hope that it will be useful, but | 10 | * This program is distributed in the hope that it will be useful, but |
11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | * GNU General Public License for more details. | 13 | * GNU General Public License for more details. |
14 | * | 14 | * |
15 | * You should have received a copy of the GNU General Public License | 15 | * You should have received a copy of the GNU General Public License |
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
18 | * MA 02111-1307, USA. | 18 | * MA 02111-1307, USA. |
19 | * | 19 | * |
20 | * The full GNU General Public License is included in this distribution | 20 | * The full GNU General Public License is included in this distribution |
21 | * in the file called LICENSE. | 21 | * in the file called LICENSE. |
22 | * | 22 | * |
23 | * Contact Information: | 23 | * Contact Information: |
24 | * info@netxen.com | 24 | * info@netxen.com |
25 | * NetXen, | 25 | * NetXen, |
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | 33 | ||
34 | #include <linux/vmalloc.h> | 34 | #include <linux/vmalloc.h> |
35 | #include <linux/highmem.h> | ||
35 | #include "netxen_nic_hw.h" | 36 | #include "netxen_nic_hw.h" |
36 | 37 | ||
37 | #include "netxen_nic.h" | 38 | #include "netxen_nic.h" |
@@ -48,14 +49,21 @@ MODULE_DESCRIPTION("NetXen Multi port (1/10) Gigabit Network Driver"); | |||
48 | MODULE_LICENSE("GPL"); | 49 | MODULE_LICENSE("GPL"); |
49 | MODULE_VERSION(NETXEN_NIC_LINUX_VERSIONID); | 50 | MODULE_VERSION(NETXEN_NIC_LINUX_VERSIONID); |
50 | 51 | ||
51 | char netxen_nic_driver_name[] = "netxen"; | 52 | char netxen_nic_driver_name[] = "netxen-nic"; |
52 | static char netxen_nic_driver_string[] = "NetXen Network Driver version " | 53 | static char netxen_nic_driver_string[] = "NetXen Network Driver version " |
53 | NETXEN_NIC_LINUX_VERSIONID; | 54 | NETXEN_NIC_LINUX_VERSIONID; |
54 | 55 | ||
56 | struct netxen_adapter *g_adapter = NULL; | ||
57 | |||
55 | #define NETXEN_NETDEV_WEIGHT 120 | 58 | #define NETXEN_NETDEV_WEIGHT 120 |
56 | #define NETXEN_ADAPTER_UP_MAGIC 777 | 59 | #define NETXEN_ADAPTER_UP_MAGIC 777 |
57 | #define NETXEN_NIC_PEG_TUNE 0 | 60 | #define NETXEN_NIC_PEG_TUNE 0 |
58 | 61 | ||
62 | u8 nx_p2_id = NX_P2_C0; | ||
63 | |||
64 | #define DMA_32BIT_MASK 0x00000000ffffffffULL | ||
65 | #define DMA_35BIT_MASK 0x00000007ffffffffULL | ||
66 | |||
59 | /* Local functions to NetXen NIC driver */ | 67 | /* Local functions to NetXen NIC driver */ |
60 | static int __devinit netxen_nic_probe(struct pci_dev *pdev, | 68 | static int __devinit netxen_nic_probe(struct pci_dev *pdev, |
61 | const struct pci_device_id *ent); | 69 | const struct pci_device_id *ent); |
@@ -64,7 +72,7 @@ static int netxen_nic_open(struct net_device *netdev); | |||
64 | static int netxen_nic_close(struct net_device *netdev); | 72 | static int netxen_nic_close(struct net_device *netdev); |
65 | static int netxen_nic_xmit_frame(struct sk_buff *, struct net_device *); | 73 | static int netxen_nic_xmit_frame(struct sk_buff *, struct net_device *); |
66 | static void netxen_tx_timeout(struct net_device *netdev); | 74 | static void netxen_tx_timeout(struct net_device *netdev); |
67 | static void netxen_tx_timeout_task(struct net_device *netdev); | 75 | static void netxen_tx_timeout_task(struct work_struct *work); |
68 | static void netxen_watchdog(unsigned long); | 76 | static void netxen_watchdog(unsigned long); |
69 | static int netxen_handle_int(struct netxen_adapter *, struct net_device *); | 77 | static int netxen_handle_int(struct netxen_adapter *, struct net_device *); |
70 | static int netxen_nic_ioctl(struct net_device *netdev, | 78 | static int netxen_nic_ioctl(struct net_device *netdev, |
@@ -87,6 +95,9 @@ static struct pci_device_id netxen_pci_tbl[] __devinitdata = { | |||
87 | 95 | ||
88 | MODULE_DEVICE_TABLE(pci, netxen_pci_tbl); | 96 | MODULE_DEVICE_TABLE(pci, netxen_pci_tbl); |
89 | 97 | ||
98 | struct workqueue_struct *netxen_workq; | ||
99 | static void netxen_watchdog(unsigned long); | ||
100 | |||
90 | /* | 101 | /* |
91 | * netxen_nic_probe() | 102 | * netxen_nic_probe() |
92 | * | 103 | * |
@@ -105,20 +116,28 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
105 | struct net_device *netdev = NULL; | 116 | struct net_device *netdev = NULL; |
106 | struct netxen_adapter *adapter = NULL; | 117 | struct netxen_adapter *adapter = NULL; |
107 | struct netxen_port *port = NULL; | 118 | struct netxen_port *port = NULL; |
108 | u8 *mem_ptr0 = NULL; | 119 | void __iomem *mem_ptr0 = NULL; |
109 | u8 *mem_ptr1 = NULL; | 120 | void __iomem *mem_ptr1 = NULL; |
110 | u8 *mem_ptr2 = NULL; | 121 | void __iomem *mem_ptr2 = NULL; |
111 | 122 | ||
112 | unsigned long mem_base, mem_len; | 123 | u8 *db_ptr = NULL; |
124 | unsigned long mem_base, mem_len, db_base, db_len; | ||
113 | int pci_using_dac, i, err; | 125 | int pci_using_dac, i, err; |
114 | int ring; | 126 | int ring; |
115 | struct netxen_recv_context *recv_ctx = NULL; | 127 | struct netxen_recv_context *recv_ctx = NULL; |
116 | struct netxen_rcv_desc_ctx *rcv_desc = NULL; | 128 | struct netxen_rcv_desc_ctx *rcv_desc = NULL; |
117 | struct netxen_cmd_buffer *cmd_buf_arr = NULL; | 129 | struct netxen_cmd_buffer *cmd_buf_arr = NULL; |
118 | u64 mac_addr[FLASH_NUM_PORTS + 1]; | 130 | u64 mac_addr[FLASH_NUM_PORTS + 1]; |
119 | int valid_mac; | 131 | int valid_mac = 0; |
132 | static int netxen_cards_found = 0; | ||
120 | 133 | ||
121 | printk(KERN_INFO "%s \n", netxen_nic_driver_string); | 134 | printk(KERN_INFO "%s \n", netxen_nic_driver_string); |
135 | /* In current scheme, we use only PCI function 0 */ | ||
136 | if (PCI_FUNC(pdev->devfn) != 0) { | ||
137 | DPRINTK(ERR, "NetXen function %d will not be enabled.\n", | ||
138 | PCI_FUNC(pdev->devfn)); | ||
139 | return -ENODEV; | ||
140 | } | ||
122 | if ((err = pci_enable_device(pdev))) | 141 | if ((err = pci_enable_device(pdev))) |
123 | return err; | 142 | return err; |
124 | if (!(pci_resource_flags(pdev, 0) & IORESOURCE_MEM)) { | 143 | if (!(pci_resource_flags(pdev, 0) & IORESOURCE_MEM)) { |
@@ -130,10 +149,12 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
130 | goto err_out_disable_pdev; | 149 | goto err_out_disable_pdev; |
131 | 150 | ||
132 | pci_set_master(pdev); | 151 | pci_set_master(pdev); |
133 | if ((pci_set_dma_mask(pdev, DMA_64BIT_MASK) == 0) && | 152 | pci_read_config_byte(pdev, PCI_REVISION_ID, &nx_p2_id); |
134 | (pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK) == 0)) | 153 | if (nx_p2_id == NX_P2_C1 && |
154 | (pci_set_dma_mask(pdev, DMA_35BIT_MASK) == 0) && | ||
155 | (pci_set_consistent_dma_mask(pdev, DMA_35BIT_MASK) == 0)) { | ||
135 | pci_using_dac = 1; | 156 | pci_using_dac = 1; |
136 | else { | 157 | } else { |
137 | if ((err = pci_set_dma_mask(pdev, DMA_32BIT_MASK)) || | 158 | if ((err = pci_set_dma_mask(pdev, DMA_32BIT_MASK)) || |
138 | (err = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK))) | 159 | (err = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK))) |
139 | goto err_out_free_res; | 160 | goto err_out_free_res; |
@@ -153,21 +174,34 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
153 | ioremap(mem_base + THIRD_PAGE_GROUP_START, THIRD_PAGE_GROUP_SIZE); | 174 | ioremap(mem_base + THIRD_PAGE_GROUP_START, THIRD_PAGE_GROUP_SIZE); |
154 | 175 | ||
155 | if ((mem_ptr0 == 0UL) || (mem_ptr1 == 0UL) || (mem_ptr2 == 0UL)) { | 176 | if ((mem_ptr0 == 0UL) || (mem_ptr1 == 0UL) || (mem_ptr2 == 0UL)) { |
156 | DPRINTK(1, ERR, | 177 | DPRINTK(ERR, |
157 | "Cannot remap adapter memory aborting.:" | 178 | "Cannot remap adapter memory aborting.:" |
158 | "0 -> %p, 1 -> %p, 2 -> %p\n", | 179 | "0 -> %p, 1 -> %p, 2 -> %p\n", |
159 | mem_ptr0, mem_ptr1, mem_ptr2); | 180 | mem_ptr0, mem_ptr1, mem_ptr2); |
160 | 181 | ||
161 | err = -EIO; | 182 | err = -EIO; |
162 | if (mem_ptr0) | 183 | goto err_out_iounmap; |
163 | iounmap(mem_ptr0); | 184 | } |
164 | if (mem_ptr1) | 185 | db_base = pci_resource_start(pdev, 4); /* doorbell is on bar 4 */ |
165 | iounmap(mem_ptr1); | 186 | db_len = pci_resource_len(pdev, 4); |
166 | if (mem_ptr2) | 187 | |
167 | iounmap(mem_ptr2); | 188 | if (db_len == 0) { |
168 | 189 | printk(KERN_ERR "%s: doorbell is disabled\n", | |
169 | goto err_out_free_res; | 190 | netxen_nic_driver_name); |
191 | err = -EIO; | ||
192 | goto err_out_iounmap; | ||
193 | } | ||
194 | DPRINTK(INFO, "doorbell ioremap from %lx a size of %lx\n", db_base, | ||
195 | db_len); | ||
196 | |||
197 | db_ptr = ioremap(db_base, NETXEN_DB_MAPSIZE_BYTES); | ||
198 | if (db_ptr == 0UL) { | ||
199 | printk(KERN_ERR "%s: Failed to allocate doorbell map.", | ||
200 | netxen_nic_driver_name); | ||
201 | err = -EIO; | ||
202 | goto err_out_iounmap; | ||
170 | } | 203 | } |
204 | DPRINTK(INFO, "doorbell ioremaped at %p\n", db_ptr); | ||
171 | 205 | ||
172 | /* | 206 | /* |
173 | * Allocate a adapter structure which will manage all the initialization | 207 | * Allocate a adapter structure which will manage all the initialization |
@@ -183,17 +217,24 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
183 | netxen_nic_driver_name, | 217 | netxen_nic_driver_name, |
184 | (int)sizeof(struct netxen_adapter)); | 218 | (int)sizeof(struct netxen_adapter)); |
185 | err = -ENOMEM; | 219 | err = -ENOMEM; |
186 | goto err_out_iounmap; | 220 | goto err_out_dbunmap; |
187 | } | 221 | } |
188 | 222 | ||
223 | if (netxen_cards_found == 0) { | ||
224 | g_adapter = adapter; | ||
225 | } | ||
189 | adapter->max_tx_desc_count = MAX_CMD_DESCRIPTORS; | 226 | adapter->max_tx_desc_count = MAX_CMD_DESCRIPTORS; |
190 | adapter->max_rx_desc_count = MAX_RCV_DESCRIPTORS; | 227 | adapter->max_rx_desc_count = MAX_RCV_DESCRIPTORS; |
191 | adapter->max_jumbo_rx_desc_count = MAX_JUMBO_RCV_DESCRIPTORS; | 228 | adapter->max_jumbo_rx_desc_count = MAX_JUMBO_RCV_DESCRIPTORS; |
229 | adapter->max_lro_rx_desc_count = MAX_LRO_RCV_DESCRIPTORS; | ||
192 | 230 | ||
193 | pci_set_drvdata(pdev, adapter); | 231 | pci_set_drvdata(pdev, adapter); |
194 | 232 | ||
195 | cmd_buf_arr = (struct netxen_cmd_buffer *)vmalloc(TX_RINGSIZE); | 233 | cmd_buf_arr = (struct netxen_cmd_buffer *)vmalloc(TX_RINGSIZE); |
196 | if (cmd_buf_arr == NULL) { | 234 | if (cmd_buf_arr == NULL) { |
235 | printk(KERN_ERR | ||
236 | "%s: Could not allocate cmd_buf_arr memory:%d\n", | ||
237 | netxen_nic_driver_name, (int)TX_RINGSIZE); | ||
197 | err = -ENOMEM; | 238 | err = -ENOMEM; |
198 | goto err_out_free_adapter; | 239 | goto err_out_free_adapter; |
199 | } | 240 | } |
@@ -220,11 +261,23 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
220 | rcv_desc->skb_size = MAX_RX_JUMBO_BUFFER_LENGTH; | 261 | rcv_desc->skb_size = MAX_RX_JUMBO_BUFFER_LENGTH; |
221 | break; | 262 | break; |
222 | 263 | ||
264 | case RCV_RING_LRO: | ||
265 | rcv_desc->max_rx_desc_count = | ||
266 | adapter->max_lro_rx_desc_count; | ||
267 | rcv_desc->flags = RCV_DESC_LRO; | ||
268 | rcv_desc->dma_size = RX_LRO_DMA_MAP_LEN; | ||
269 | rcv_desc->skb_size = MAX_RX_LRO_BUFFER_LENGTH; | ||
270 | break; | ||
271 | |||
223 | } | 272 | } |
224 | rcv_desc->rx_buf_arr = (struct netxen_rx_buffer *) | 273 | rcv_desc->rx_buf_arr = (struct netxen_rx_buffer *) |
225 | vmalloc(RCV_BUFFSIZE); | 274 | vmalloc(RCV_BUFFSIZE); |
226 | 275 | ||
227 | if (rcv_desc->rx_buf_arr == NULL) { | 276 | if (rcv_desc->rx_buf_arr == NULL) { |
277 | printk(KERN_ERR "%s: Could not allocate" | ||
278 | "rcv_desc->rx_buf_arr memory:%d\n", | ||
279 | netxen_nic_driver_name, | ||
280 | (int)RCV_BUFFSIZE); | ||
228 | err = -ENOMEM; | 281 | err = -ENOMEM; |
229 | goto err_out_free_rx_buffer; | 282 | goto err_out_free_rx_buffer; |
230 | } | 283 | } |
@@ -233,30 +286,21 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
233 | 286 | ||
234 | } | 287 | } |
235 | 288 | ||
236 | adapter->ops = kzalloc(sizeof(struct netxen_drvops), GFP_KERNEL); | ||
237 | if (adapter->ops == NULL) { | ||
238 | printk(KERN_ERR | ||
239 | "%s: Could not allocate memory for adapter->ops:%d\n", | ||
240 | netxen_nic_driver_name, | ||
241 | (int)sizeof(struct netxen_adapter)); | ||
242 | err = -ENOMEM; | ||
243 | goto err_out_free_rx_buffer; | ||
244 | } | ||
245 | |||
246 | adapter->cmd_buf_arr = cmd_buf_arr; | 289 | adapter->cmd_buf_arr = cmd_buf_arr; |
247 | adapter->ahw.pci_base0 = mem_ptr0; | 290 | adapter->ahw.pci_base0 = mem_ptr0; |
248 | adapter->ahw.pci_base1 = mem_ptr1; | 291 | adapter->ahw.pci_base1 = mem_ptr1; |
249 | adapter->ahw.pci_base2 = mem_ptr2; | 292 | adapter->ahw.pci_base2 = mem_ptr2; |
293 | adapter->ahw.db_base = db_ptr; | ||
294 | adapter->ahw.db_len = db_len; | ||
250 | spin_lock_init(&adapter->tx_lock); | 295 | spin_lock_init(&adapter->tx_lock); |
251 | spin_lock_init(&adapter->lock); | 296 | spin_lock_init(&adapter->lock); |
297 | netxen_initialize_adapter_sw(adapter); /* initialize the buffers in adapter */ | ||
252 | #ifdef CONFIG_IA64 | 298 | #ifdef CONFIG_IA64 |
253 | netxen_pinit_from_rom(adapter, 0); | 299 | netxen_pinit_from_rom(adapter, 0); |
254 | udelay(500); | 300 | udelay(500); |
255 | netxen_load_firmware(adapter); | 301 | netxen_load_firmware(adapter); |
256 | #endif | 302 | #endif |
257 | 303 | ||
258 | /* initialize the buffers in adapter */ | ||
259 | netxen_initialize_adapter_sw(adapter); | ||
260 | /* | 304 | /* |
261 | * Set the CRB window to invalid. If any register in window 0 is | 305 | * Set the CRB window to invalid. If any register in window 0 is |
262 | * accessed it should set the window to 0 and then reset it to 1. | 306 | * accessed it should set the window to 0 and then reset it to 1. |
@@ -274,11 +318,10 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
274 | adapter->ahw.xg_linkup = 0; | 318 | adapter->ahw.xg_linkup = 0; |
275 | adapter->watchdog_timer.function = &netxen_watchdog; | 319 | adapter->watchdog_timer.function = &netxen_watchdog; |
276 | adapter->watchdog_timer.data = (unsigned long)adapter; | 320 | adapter->watchdog_timer.data = (unsigned long)adapter; |
277 | INIT_WORK(&adapter->watchdog_task, | 321 | INIT_WORK(&adapter->watchdog_task, netxen_watchdog_task); |
278 | (void (*)(void *))netxen_watchdog_task, adapter); | ||
279 | adapter->ahw.pdev = pdev; | 322 | adapter->ahw.pdev = pdev; |
280 | adapter->proc_cmd_buf_counter = 0; | 323 | adapter->proc_cmd_buf_counter = 0; |
281 | pci_read_config_byte(pdev, PCI_REVISION_ID, &adapter->ahw.revision_id); | 324 | adapter->ahw.revision_id = nx_p2_id; |
282 | 325 | ||
283 | if (pci_enable_msi(pdev)) { | 326 | if (pci_enable_msi(pdev)) { |
284 | adapter->flags &= ~NETXEN_NIC_MSI_ENABLED; | 327 | adapter->flags &= ~NETXEN_NIC_MSI_ENABLED; |
@@ -300,6 +343,12 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
300 | writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMD_CONSUMER_OFFSET)); | 343 | writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMD_CONSUMER_OFFSET)); |
301 | writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_HOST_CMD_ADDR_LO)); | 344 | writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_HOST_CMD_ADDR_LO)); |
302 | 345 | ||
346 | /* do this before waking up pegs so that we have valid dummy dma addr */ | ||
347 | err = netxen_initialize_adapter_offload(adapter); | ||
348 | if (err) { | ||
349 | goto err_out_free_dev; | ||
350 | } | ||
351 | |||
303 | /* Unlock the HW, prompting the boot sequence */ | 352 | /* Unlock the HW, prompting the boot sequence */ |
304 | writel(1, | 353 | writel(1, |
305 | NETXEN_CRB_NORMALIZE(adapter, NETXEN_ROMUSB_GLB_PEGTUNE_DONE)); | 354 | NETXEN_CRB_NORMALIZE(adapter, NETXEN_ROMUSB_GLB_PEGTUNE_DONE)); |
@@ -308,6 +357,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
308 | netxen_phantom_init(adapter, NETXEN_NIC_PEG_TUNE); | 357 | netxen_phantom_init(adapter, NETXEN_NIC_PEG_TUNE); |
309 | 358 | ||
310 | /* initialize the all the ports */ | 359 | /* initialize the all the ports */ |
360 | adapter->active_ports = 0; | ||
311 | 361 | ||
312 | for (i = 0; i < adapter->ahw.max_ports; i++) { | 362 | for (i = 0; i < adapter->ahw.max_ports; i++) { |
313 | netdev = alloc_etherdev(sizeof(struct netxen_port)); | 363 | netdev = alloc_etherdev(sizeof(struct netxen_port)); |
@@ -373,14 +423,13 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
373 | netdev->dev_addr[4], | 423 | netdev->dev_addr[4], |
374 | netdev->dev_addr[5]); | 424 | netdev->dev_addr[5]); |
375 | } else { | 425 | } else { |
376 | if (adapter->ops->macaddr_set) | 426 | if (adapter->macaddr_set) |
377 | adapter->ops->macaddr_set(port, | 427 | adapter->macaddr_set(port, |
378 | netdev-> | 428 | netdev->dev_addr); |
379 | dev_addr); | ||
380 | } | 429 | } |
381 | } | 430 | } |
382 | INIT_WORK(&adapter->tx_timeout_task, | 431 | adapter->netdev = netdev; |
383 | (void (*)(void *))netxen_tx_timeout_task, netdev); | 432 | INIT_WORK(&adapter->tx_timeout_task, netxen_tx_timeout_task); |
384 | netif_carrier_off(netdev); | 433 | netif_carrier_off(netdev); |
385 | netif_stop_queue(netdev); | 434 | netif_stop_queue(netdev); |
386 | 435 | ||
@@ -392,7 +441,6 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
392 | goto err_out_free_dev; | 441 | goto err_out_free_dev; |
393 | } | 442 | } |
394 | adapter->port_count++; | 443 | adapter->port_count++; |
395 | adapter->active_ports = 0; | ||
396 | adapter->port[i] = port; | 444 | adapter->port[i] = port; |
397 | } | 445 | } |
398 | 446 | ||
@@ -413,6 +461,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
413 | break; | 461 | break; |
414 | } | 462 | } |
415 | 463 | ||
464 | adapter->number = netxen_cards_found; | ||
416 | adapter->driver_mismatch = 0; | 465 | adapter->driver_mismatch = 0; |
417 | 466 | ||
418 | return 0; | 467 | return 0; |
@@ -427,7 +476,8 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
427 | free_netdev(port->netdev); | 476 | free_netdev(port->netdev); |
428 | } | 477 | } |
429 | } | 478 | } |
430 | kfree(adapter->ops); | 479 | |
480 | netxen_free_adapter_offload(adapter); | ||
431 | 481 | ||
432 | err_out_free_rx_buffer: | 482 | err_out_free_rx_buffer: |
433 | for (i = 0; i < MAX_RCV_CTX; ++i) { | 483 | for (i = 0; i < MAX_RCV_CTX; ++i) { |
@@ -440,19 +490,23 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
440 | } | 490 | } |
441 | } | 491 | } |
442 | } | 492 | } |
443 | |||
444 | vfree(cmd_buf_arr); | 493 | vfree(cmd_buf_arr); |
445 | 494 | ||
446 | kfree(adapter->port); | ||
447 | |||
448 | err_out_free_adapter: | 495 | err_out_free_adapter: |
449 | pci_set_drvdata(pdev, NULL); | 496 | pci_set_drvdata(pdev, NULL); |
450 | kfree(adapter); | 497 | kfree(adapter); |
451 | 498 | ||
499 | err_out_dbunmap: | ||
500 | if (db_ptr) | ||
501 | iounmap(db_ptr); | ||
502 | |||
452 | err_out_iounmap: | 503 | err_out_iounmap: |
453 | iounmap(mem_ptr0); | 504 | if (mem_ptr0) |
454 | iounmap(mem_ptr1); | 505 | iounmap(mem_ptr0); |
455 | iounmap(mem_ptr2); | 506 | if (mem_ptr1) |
507 | iounmap(mem_ptr1); | ||
508 | if (mem_ptr2) | ||
509 | iounmap(mem_ptr2); | ||
456 | 510 | ||
457 | err_out_free_res: | 511 | err_out_free_res: |
458 | pci_release_regions(pdev); | 512 | pci_release_regions(pdev); |
@@ -477,12 +531,8 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev) | |||
477 | 531 | ||
478 | netxen_nic_stop_all_ports(adapter); | 532 | netxen_nic_stop_all_ports(adapter); |
479 | /* leave the hw in the same state as reboot */ | 533 | /* leave the hw in the same state as reboot */ |
480 | netxen_pinit_from_rom(adapter, 0); | ||
481 | udelay(500); | ||
482 | netxen_load_firmware(adapter); | 534 | netxen_load_firmware(adapter); |
483 | 535 | netxen_free_adapter_offload(adapter); | |
484 | if ((adapter->flags & NETXEN_NIC_MSI_ENABLED)) | ||
485 | netxen_nic_disable_int(adapter); | ||
486 | 536 | ||
487 | udelay(500); /* Delay for a while to drain the DMA engines */ | 537 | udelay(500); /* Delay for a while to drain the DMA engines */ |
488 | for (i = 0; i < adapter->port_count; i++) { | 538 | for (i = 0; i < adapter->port_count; i++) { |
@@ -499,6 +549,7 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev) | |||
499 | if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC) | 549 | if (adapter->is_up == NETXEN_ADAPTER_UP_MAGIC) |
500 | netxen_free_hw_resources(adapter); | 550 | netxen_free_hw_resources(adapter); |
501 | 551 | ||
552 | iounmap(adapter->ahw.db_base); | ||
502 | iounmap(adapter->ahw.pci_base0); | 553 | iounmap(adapter->ahw.pci_base0); |
503 | iounmap(adapter->ahw.pci_base1); | 554 | iounmap(adapter->ahw.pci_base1); |
504 | iounmap(adapter->ahw.pci_base2); | 555 | iounmap(adapter->ahw.pci_base2); |
@@ -525,7 +576,6 @@ static void __devexit netxen_nic_remove(struct pci_dev *pdev) | |||
525 | } | 576 | } |
526 | 577 | ||
527 | vfree(adapter->cmd_buf_arr); | 578 | vfree(adapter->cmd_buf_arr); |
528 | kfree(adapter->ops); | ||
529 | kfree(adapter); | 579 | kfree(adapter); |
530 | } | 580 | } |
531 | 581 | ||
@@ -547,6 +597,8 @@ static int netxen_nic_open(struct net_device *netdev) | |||
547 | return -EIO; | 597 | return -EIO; |
548 | } | 598 | } |
549 | netxen_nic_flash_print(adapter); | 599 | netxen_nic_flash_print(adapter); |
600 | if (adapter->init_niu) | ||
601 | adapter->init_niu(adapter); | ||
550 | 602 | ||
551 | /* setup all the resources for the Phantom... */ | 603 | /* setup all the resources for the Phantom... */ |
552 | /* this include the descriptors for rcv, tx, and status */ | 604 | /* this include the descriptors for rcv, tx, and status */ |
@@ -557,32 +609,31 @@ static int netxen_nic_open(struct net_device *netdev) | |||
557 | err); | 609 | err); |
558 | return err; | 610 | return err; |
559 | } | 611 | } |
560 | if (adapter->ops->init_port | 612 | if (adapter->init_port |
561 | && adapter->ops->init_port(adapter, port->portnum) != 0) { | 613 | && adapter->init_port(adapter, port->portnum) != 0) { |
562 | printk(KERN_ERR "%s: Failed to initialize port %d\n", | 614 | printk(KERN_ERR "%s: Failed to initialize port %d\n", |
563 | netxen_nic_driver_name, port->portnum); | 615 | netxen_nic_driver_name, port->portnum); |
564 | netxen_free_hw_resources(adapter); | 616 | netxen_free_hw_resources(adapter); |
565 | return -EIO; | 617 | return -EIO; |
566 | } | 618 | } |
567 | if (adapter->ops->init_niu) | ||
568 | adapter->ops->init_niu(adapter); | ||
569 | for (ctx = 0; ctx < MAX_RCV_CTX; ++ctx) { | 619 | for (ctx = 0; ctx < MAX_RCV_CTX; ++ctx) { |
570 | for (ring = 0; ring < NUM_RCV_DESC_RINGS; ring++) | 620 | for (ring = 0; ring < NUM_RCV_DESC_RINGS; ring++) |
571 | netxen_post_rx_buffers(adapter, ctx, ring); | 621 | netxen_post_rx_buffers(adapter, ctx, ring); |
572 | } | 622 | } |
573 | adapter->is_up = NETXEN_ADAPTER_UP_MAGIC; | 623 | adapter->irq = adapter->ahw.pdev->irq; |
574 | } | ||
575 | adapter->active_ports++; | ||
576 | if (adapter->active_ports == 1) { | ||
577 | err = request_irq(adapter->ahw.pdev->irq, &netxen_intr, | 624 | err = request_irq(adapter->ahw.pdev->irq, &netxen_intr, |
578 | SA_SHIRQ | SA_SAMPLE_RANDOM, netdev->name, | 625 | SA_SHIRQ | SA_SAMPLE_RANDOM, netdev->name, |
579 | adapter); | 626 | adapter); |
580 | if (err) { | 627 | if (err) { |
581 | printk(KERN_ERR "request_irq failed with: %d\n", err); | 628 | printk(KERN_ERR "request_irq failed with: %d\n", err); |
582 | adapter->active_ports--; | 629 | netxen_free_hw_resources(adapter); |
583 | return err; | 630 | return err; |
584 | } | 631 | } |
585 | adapter->irq = adapter->ahw.pdev->irq; | 632 | |
633 | adapter->is_up = NETXEN_ADAPTER_UP_MAGIC; | ||
634 | } | ||
635 | adapter->active_ports++; | ||
636 | if (adapter->active_ports == 1) { | ||
586 | if (!adapter->driver_mismatch) | 637 | if (!adapter->driver_mismatch) |
587 | mod_timer(&adapter->watchdog_timer, jiffies); | 638 | mod_timer(&adapter->watchdog_timer, jiffies); |
588 | 639 | ||
@@ -591,11 +642,14 @@ static int netxen_nic_open(struct net_device *netdev) | |||
591 | 642 | ||
592 | /* Done here again so that even if phantom sw overwrote it, | 643 | /* Done here again so that even if phantom sw overwrote it, |
593 | * we set it */ | 644 | * we set it */ |
594 | if (adapter->ops->macaddr_set) | 645 | if (adapter->macaddr_set) |
595 | adapter->ops->macaddr_set(port, netdev->dev_addr); | 646 | adapter->macaddr_set(port, netdev->dev_addr); |
596 | netxen_nic_set_link_parameters(port); | 647 | netxen_nic_set_link_parameters(port); |
597 | 648 | ||
598 | netxen_nic_set_multi(netdev); | 649 | netxen_nic_set_multi(netdev); |
650 | if (adapter->set_mtu) | ||
651 | adapter->set_mtu(port, netdev->mtu); | ||
652 | |||
599 | if (!adapter->driver_mismatch) | 653 | if (!adapter->driver_mismatch) |
600 | netif_start_queue(netdev); | 654 | netif_start_queue(netdev); |
601 | 655 | ||
@@ -648,6 +702,7 @@ static int netxen_nic_close(struct net_device *netdev) | |||
648 | } | 702 | } |
649 | cmd_buff++; | 703 | cmd_buff++; |
650 | } | 704 | } |
705 | FLUSH_SCHEDULED_WORK(); | ||
651 | del_timer_sync(&adapter->watchdog_timer); | 706 | del_timer_sync(&adapter->watchdog_timer); |
652 | } | 707 | } |
653 | 708 | ||
@@ -668,7 +723,6 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
668 | struct cmd_desc_type0 *hwdesc; | 723 | struct cmd_desc_type0 *hwdesc; |
669 | int k; | 724 | int k; |
670 | struct netxen_cmd_buffer *pbuf = NULL; | 725 | struct netxen_cmd_buffer *pbuf = NULL; |
671 | unsigned int tries = 0; | ||
672 | static int dropped_packet = 0; | 726 | static int dropped_packet = 0; |
673 | int frag_count; | 727 | int frag_count; |
674 | u32 local_producer = 0; | 728 | u32 local_producer = 0; |
@@ -730,7 +784,7 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
730 | if (((skb->nh.iph)->ihl * sizeof(u32)) + | 784 | if (((skb->nh.iph)->ihl * sizeof(u32)) + |
731 | ((skb->h.th)->doff * sizeof(u32)) + | 785 | ((skb->h.th)->doff * sizeof(u32)) + |
732 | sizeof(struct ethhdr) > | 786 | sizeof(struct ethhdr) > |
733 | (sizeof(struct cmd_desc_type0) - NET_IP_ALIGN)) { | 787 | (sizeof(struct cmd_desc_type0) - 2)) { |
734 | no_of_desc++; | 788 | no_of_desc++; |
735 | } | 789 | } |
736 | } | 790 | } |
@@ -741,27 +795,17 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
741 | if ((k + no_of_desc) >= | 795 | if ((k + no_of_desc) >= |
742 | ((last_cmd_consumer <= k) ? last_cmd_consumer + max_tx_desc_count : | 796 | ((last_cmd_consumer <= k) ? last_cmd_consumer + max_tx_desc_count : |
743 | last_cmd_consumer)) { | 797 | last_cmd_consumer)) { |
798 | port->stats.nocmddescriptor++; | ||
799 | DPRINTK(ERR, "No command descriptors available," | ||
800 | " producer = %d, consumer = %d count=%llu," | ||
801 | " dropping packet\n", producer, | ||
802 | adapter->last_cmd_consumer, | ||
803 | port->stats.nocmddescriptor); | ||
804 | |||
805 | netif_stop_queue(netdev); | ||
806 | port->flags |= NETXEN_NETDEV_STATUS; | ||
744 | spin_unlock_bh(&adapter->tx_lock); | 807 | spin_unlock_bh(&adapter->tx_lock); |
745 | if (tries == 0) { | 808 | return NETDEV_TX_BUSY; |
746 | local_bh_disable(); | ||
747 | netxen_process_cmd_ring((unsigned long)adapter); | ||
748 | local_bh_enable(); | ||
749 | ++tries; | ||
750 | goto retry_getting_window; | ||
751 | } else { | ||
752 | port->stats.nocmddescriptor++; | ||
753 | DPRINTK(ERR, "No command descriptors available," | ||
754 | " producer = %d, consumer = %d count=%llu," | ||
755 | " dropping packet\n", producer, | ||
756 | adapter->last_cmd_consumer, | ||
757 | port->stats.nocmddescriptor); | ||
758 | |||
759 | spin_lock_bh(&adapter->tx_lock); | ||
760 | netif_stop_queue(netdev); | ||
761 | port->flags |= NETXEN_NETDEV_STATUS; | ||
762 | spin_unlock_bh(&adapter->tx_lock); | ||
763 | return NETDEV_TX_BUSY; | ||
764 | } | ||
765 | } | 809 | } |
766 | k = get_index_range(k, max_tx_desc_count, no_of_desc); | 810 | k = get_index_range(k, max_tx_desc_count, no_of_desc); |
767 | adapter->cmd_producer = k; | 811 | adapter->cmd_producer = k; |
@@ -783,7 +827,6 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
783 | pbuf->mss = 0; | 827 | pbuf->mss = 0; |
784 | hwdesc->mss = 0; | 828 | hwdesc->mss = 0; |
785 | } | 829 | } |
786 | pbuf->no_of_descriptors = no_of_desc; | ||
787 | pbuf->total_length = skb->len; | 830 | pbuf->total_length = skb->len; |
788 | pbuf->skb = skb; | 831 | pbuf->skb = skb; |
789 | pbuf->cmd = TX_ETHER_PKT; | 832 | pbuf->cmd = TX_ETHER_PKT; |
@@ -793,11 +836,11 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
793 | buffrag->dma = pci_map_single(port->pdev, skb->data, first_seg_len, | 836 | buffrag->dma = pci_map_single(port->pdev, skb->data, first_seg_len, |
794 | PCI_DMA_TODEVICE); | 837 | PCI_DMA_TODEVICE); |
795 | buffrag->length = first_seg_len; | 838 | buffrag->length = first_seg_len; |
796 | CMD_DESC_TOTAL_LENGTH_WRT(hwdesc, skb->len); | 839 | netxen_set_cmd_desc_totallength(hwdesc, skb->len); |
797 | hwdesc->num_of_buffers = frag_count; | 840 | netxen_set_cmd_desc_num_of_buff(hwdesc, frag_count); |
798 | hwdesc->opcode = TX_ETHER_PKT; | 841 | netxen_set_cmd_desc_opcode(hwdesc, TX_ETHER_PKT); |
799 | 842 | ||
800 | CMD_DESC_PORT_WRT(hwdesc, port->portnum); | 843 | netxen_set_cmd_desc_port(hwdesc, port->portnum); |
801 | hwdesc->buffer1_length = cpu_to_le16(first_seg_len); | 844 | hwdesc->buffer1_length = cpu_to_le16(first_seg_len); |
802 | hwdesc->addr_buffer1 = cpu_to_le64(buffrag->dma); | 845 | hwdesc->addr_buffer1 = cpu_to_le64(buffrag->dma); |
803 | 846 | ||
@@ -856,12 +899,12 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
856 | /* For LSO, we need to copy the MAC/IP/TCP headers into | 899 | /* For LSO, we need to copy the MAC/IP/TCP headers into |
857 | * the descriptor ring | 900 | * the descriptor ring |
858 | */ | 901 | */ |
859 | if (hw->cmd_desc_head[saved_producer].opcode == TX_TCP_LSO) { | 902 | if (netxen_get_cmd_desc_opcode(&hw->cmd_desc_head[saved_producer]) |
903 | == TX_TCP_LSO) { | ||
860 | int hdr_len, first_hdr_len, more_hdr; | 904 | int hdr_len, first_hdr_len, more_hdr; |
861 | hdr_len = hw->cmd_desc_head[saved_producer].total_hdr_length; | 905 | hdr_len = hw->cmd_desc_head[saved_producer].total_hdr_length; |
862 | if (hdr_len > (sizeof(struct cmd_desc_type0) - NET_IP_ALIGN)) { | 906 | if (hdr_len > (sizeof(struct cmd_desc_type0) - 2)) { |
863 | first_hdr_len = | 907 | first_hdr_len = sizeof(struct cmd_desc_type0) - 2; |
864 | sizeof(struct cmd_desc_type0) - NET_IP_ALIGN; | ||
865 | more_hdr = 1; | 908 | more_hdr = 1; |
866 | } else { | 909 | } else { |
867 | first_hdr_len = hdr_len; | 910 | first_hdr_len = hdr_len; |
@@ -871,7 +914,7 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
871 | hwdesc = &hw->cmd_desc_head[producer]; | 914 | hwdesc = &hw->cmd_desc_head[producer]; |
872 | 915 | ||
873 | /* copy the first 64 bytes */ | 916 | /* copy the first 64 bytes */ |
874 | memcpy(((void *)hwdesc) + NET_IP_ALIGN, | 917 | memcpy(((void *)hwdesc) + 2, |
875 | (void *)(skb->data), first_hdr_len); | 918 | (void *)(skb->data), first_hdr_len); |
876 | producer = get_next_index(producer, max_tx_desc_count); | 919 | producer = get_next_index(producer, max_tx_desc_count); |
877 | 920 | ||
@@ -887,7 +930,7 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
887 | } | 930 | } |
888 | spin_lock_bh(&adapter->tx_lock); | 931 | spin_lock_bh(&adapter->tx_lock); |
889 | port->stats.txbytes += | 932 | port->stats.txbytes += |
890 | CMD_DESC_TOTAL_LENGTH(&hw->cmd_desc_head[saved_producer]); | 933 | netxen_get_cmd_desc_totallength(&hw->cmd_desc_head[saved_producer]); |
891 | /* Code to update the adapter considering how many producer threads | 934 | /* Code to update the adapter considering how many producer threads |
892 | are currently working */ | 935 | are currently working */ |
893 | if ((--adapter->num_threads) == 0) { | 936 | if ((--adapter->num_threads) == 0) { |
@@ -897,20 +940,6 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
897 | NETXEN_CRB_NORMALIZE(adapter, CRB_CMD_PRODUCER_OFFSET)); | 940 | NETXEN_CRB_NORMALIZE(adapter, CRB_CMD_PRODUCER_OFFSET)); |
898 | wmb(); | 941 | wmb(); |
899 | adapter->total_threads = 0; | 942 | adapter->total_threads = 0; |
900 | } else { | ||
901 | u32 crb_producer = 0; | ||
902 | crb_producer = | ||
903 | readl(NETXEN_CRB_NORMALIZE | ||
904 | (adapter, CRB_CMD_PRODUCER_OFFSET)); | ||
905 | if (crb_producer == local_producer) { | ||
906 | crb_producer = get_index_range(crb_producer, | ||
907 | max_tx_desc_count, | ||
908 | no_of_desc); | ||
909 | writel(crb_producer, | ||
910 | NETXEN_CRB_NORMALIZE(adapter, | ||
911 | CRB_CMD_PRODUCER_OFFSET)); | ||
912 | wmb(); | ||
913 | } | ||
914 | } | 943 | } |
915 | 944 | ||
916 | port->stats.xmitfinished++; | 945 | port->stats.xmitfinished++; |
@@ -927,29 +956,36 @@ static int netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
927 | static void netxen_watchdog(unsigned long v) | 956 | static void netxen_watchdog(unsigned long v) |
928 | { | 957 | { |
929 | struct netxen_adapter *adapter = (struct netxen_adapter *)v; | 958 | struct netxen_adapter *adapter = (struct netxen_adapter *)v; |
930 | schedule_work(&adapter->watchdog_task); | 959 | if (adapter != g_adapter) { |
960 | printk("%s: ***BUG*** adapter[%p] != g_adapter[%p]\n", | ||
961 | __FUNCTION__, adapter, g_adapter); | ||
962 | return; | ||
963 | } | ||
964 | |||
965 | SCHEDULE_WORK(&adapter->watchdog_task); | ||
931 | } | 966 | } |
932 | 967 | ||
933 | static void netxen_tx_timeout(struct net_device *netdev) | 968 | static void netxen_tx_timeout(struct net_device *netdev) |
934 | { | 969 | { |
935 | struct netxen_port *port = (struct netxen_port *)netdev_priv(netdev); | 970 | struct netxen_port *port = (struct netxen_port *)netdev_priv(netdev); |
936 | struct netxen_adapter *adapter = port->adapter; | ||
937 | 971 | ||
938 | schedule_work(&adapter->tx_timeout_task); | 972 | SCHEDULE_WORK(port->adapter->tx_timeout_task + port->portnum); |
939 | } | 973 | } |
940 | 974 | ||
941 | static void netxen_tx_timeout_task(struct net_device *netdev) | 975 | static void netxen_tx_timeout_task(struct work_struct *work) |
942 | { | 976 | { |
943 | struct netxen_port *port = (struct netxen_port *)netdev_priv(netdev); | 977 | struct netxen_adapter *adapter = |
978 | container_of(work, struct netxen_adapter, tx_timeout_task); | ||
979 | struct net_device *netdev = adapter->netdev; | ||
944 | unsigned long flags; | 980 | unsigned long flags; |
945 | 981 | ||
946 | printk(KERN_ERR "%s %s: transmit timeout, resetting.\n", | 982 | printk(KERN_ERR "%s %s: transmit timeout, resetting.\n", |
947 | netxen_nic_driver_name, netdev->name); | 983 | netxen_nic_driver_name, netdev->name); |
948 | 984 | ||
949 | spin_lock_irqsave(&port->adapter->lock, flags); | 985 | spin_lock_irqsave(&adapter->lock, flags); |
950 | netxen_nic_close(netdev); | 986 | netxen_nic_close(netdev); |
951 | netxen_nic_open(netdev); | 987 | netxen_nic_open(netdev); |
952 | spin_unlock_irqrestore(&port->adapter->lock, flags); | 988 | spin_unlock_irqrestore(&adapter->lock, flags); |
953 | netdev->trans_start = jiffies; | 989 | netdev->trans_start = jiffies; |
954 | netif_wake_queue(netdev); | 990 | netif_wake_queue(netdev); |
955 | } | 991 | } |
@@ -966,6 +1002,11 @@ netxen_handle_int(struct netxen_adapter *adapter, struct net_device *netdev) | |||
966 | if (!(adapter->flags & NETXEN_NIC_MSI_ENABLED)) { | 1002 | if (!(adapter->flags & NETXEN_NIC_MSI_ENABLED)) { |
967 | int count = 0; | 1003 | int count = 0; |
968 | u32 mask; | 1004 | u32 mask; |
1005 | mask = readl(pci_base_offset(adapter, ISR_INT_VECTOR)); | ||
1006 | if ((mask & 0x80) == 0) { | ||
1007 | /* not our interrupt */ | ||
1008 | return ret; | ||
1009 | } | ||
969 | netxen_nic_disable_int(adapter); | 1010 | netxen_nic_disable_int(adapter); |
970 | /* Window = 0 or 1 */ | 1011 | /* Window = 0 or 1 */ |
971 | do { | 1012 | do { |
@@ -1025,7 +1066,10 @@ irqreturn_t netxen_intr(int irq, void *data) | |||
1025 | netdev = port->netdev; | 1066 | netdev = port->netdev; |
1026 | 1067 | ||
1027 | /* process our status queue (for all 4 ports) */ | 1068 | /* process our status queue (for all 4 ports) */ |
1028 | netxen_handle_int(adapter, netdev); | 1069 | if (netif_running(netdev)) { |
1070 | netxen_handle_int(adapter, netdev); | ||
1071 | break; | ||
1072 | } | ||
1029 | } | 1073 | } |
1030 | 1074 | ||
1031 | return IRQ_HANDLED; | 1075 | return IRQ_HANDLED; |
@@ -1039,11 +1083,12 @@ static int netxen_nic_poll(struct net_device *netdev, int *budget) | |||
1039 | int done = 1; | 1083 | int done = 1; |
1040 | int ctx; | 1084 | int ctx; |
1041 | int this_work_done; | 1085 | int this_work_done; |
1086 | int work_done = 0; | ||
1042 | 1087 | ||
1043 | DPRINTK(INFO, "polling for %d descriptors\n", *budget); | 1088 | DPRINTK(INFO, "polling for %d descriptors\n", *budget); |
1044 | port->stats.polled++; | 1089 | port->stats.polled++; |
1045 | 1090 | ||
1046 | adapter->work_done = 0; | 1091 | work_done = 0; |
1047 | for (ctx = 0; ctx < MAX_RCV_CTX; ++ctx) { | 1092 | for (ctx = 0; ctx < MAX_RCV_CTX; ++ctx) { |
1048 | /* | 1093 | /* |
1049 | * Fairness issue. This will give undue weight to the | 1094 | * Fairness issue. This will give undue weight to the |
@@ -1060,20 +1105,20 @@ static int netxen_nic_poll(struct net_device *netdev, int *budget) | |||
1060 | this_work_done = netxen_process_rcv_ring(adapter, ctx, | 1105 | this_work_done = netxen_process_rcv_ring(adapter, ctx, |
1061 | work_to_do / | 1106 | work_to_do / |
1062 | MAX_RCV_CTX); | 1107 | MAX_RCV_CTX); |
1063 | adapter->work_done += this_work_done; | 1108 | work_done += this_work_done; |
1064 | } | 1109 | } |
1065 | 1110 | ||
1066 | netdev->quota -= adapter->work_done; | 1111 | netdev->quota -= work_done; |
1067 | *budget -= adapter->work_done; | 1112 | *budget -= work_done; |
1068 | 1113 | ||
1069 | if (adapter->work_done >= work_to_do | 1114 | if (work_done >= work_to_do && netxen_nic_rx_has_work(adapter) != 0) |
1070 | && netxen_nic_rx_has_work(adapter) != 0) | ||
1071 | done = 0; | 1115 | done = 0; |
1072 | 1116 | ||
1073 | netxen_process_cmd_ring((unsigned long)adapter); | 1117 | if (netxen_process_cmd_ring((unsigned long)adapter) == 0) |
1118 | done = 0; | ||
1074 | 1119 | ||
1075 | DPRINTK(INFO, "new work_done: %d work_to_do: %d\n", | 1120 | DPRINTK(INFO, "new work_done: %d work_to_do: %d\n", |
1076 | adapter->work_done, work_to_do); | 1121 | work_done, work_to_do); |
1077 | if (done) { | 1122 | if (done) { |
1078 | netif_rx_complete(netdev); | 1123 | netif_rx_complete(netdev); |
1079 | netxen_nic_enable_int(adapter); | 1124 | netxen_nic_enable_int(adapter); |
@@ -1116,8 +1161,9 @@ netxen_nic_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) | |||
1116 | if (ifr->ifr_data) { | 1161 | if (ifr->ifr_data) { |
1117 | sprintf(dev_name, "%s-%d", NETXEN_NIC_NAME_RSP, | 1162 | sprintf(dev_name, "%s-%d", NETXEN_NIC_NAME_RSP, |
1118 | port->portnum); | 1163 | port->portnum); |
1119 | nr_bytes = copy_to_user((char *)ifr->ifr_data, dev_name, | 1164 | nr_bytes = |
1120 | NETXEN_NIC_NAME_LEN); | 1165 | copy_to_user((char __user *)ifr->ifr_data, dev_name, |
1166 | NETXEN_NIC_NAME_LEN); | ||
1121 | if (nr_bytes) | 1167 | if (nr_bytes) |
1122 | err = -EIO; | 1168 | err = -EIO; |
1123 | 1169 | ||
@@ -1144,6 +1190,9 @@ static struct pci_driver netxen_driver = { | |||
1144 | 1190 | ||
1145 | static int __init netxen_init_module(void) | 1191 | static int __init netxen_init_module(void) |
1146 | { | 1192 | { |
1193 | if ((netxen_workq = create_singlethread_workqueue("netxen")) == 0) | ||
1194 | return -ENOMEM; | ||
1195 | |||
1147 | return pci_module_init(&netxen_driver); | 1196 | return pci_module_init(&netxen_driver); |
1148 | } | 1197 | } |
1149 | 1198 | ||
@@ -1154,7 +1203,7 @@ static void __exit netxen_exit_module(void) | |||
1154 | /* | 1203 | /* |
1155 | * Wait for some time to allow the dma to drain, if any. | 1204 | * Wait for some time to allow the dma to drain, if any. |
1156 | */ | 1205 | */ |
1157 | mdelay(5); | 1206 | destroy_workqueue(netxen_workq); |
1158 | pci_unregister_driver(&netxen_driver); | 1207 | pci_unregister_driver(&netxen_driver); |
1159 | } | 1208 | } |
1160 | 1209 | ||
diff --git a/drivers/net/netxen/netxen_nic_niu.c b/drivers/net/netxen/netxen_nic_niu.c index 7950a04532e6..4987dc765d99 100644 --- a/drivers/net/netxen/netxen_nic_niu.c +++ b/drivers/net/netxen/netxen_nic_niu.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2003 - 2006 NetXen, Inc. | 2 | * Copyright (C) 2003 - 2006 NetXen, Inc. |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License | 6 | * modify it under the terms of the GNU General Public License |
7 | * as published by the Free Software Foundation; either version 2 | 7 | * as published by the Free Software Foundation; either version 2 |
@@ -16,10 +16,10 @@ | |||
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, |
18 | * MA 02111-1307, USA. | 18 | * MA 02111-1307, USA. |
19 | * | 19 | * |
20 | * The full GNU General Public License is included in this distribution | 20 | * The full GNU General Public License is included in this distribution |
21 | * in the file called LICENSE. | 21 | * in the file called LICENSE. |
22 | * | 22 | * |
23 | * Contact Information: | 23 | * Contact Information: |
24 | * info@netxen.com | 24 | * info@netxen.com |
25 | * NetXen, | 25 | * NetXen, |
@@ -40,13 +40,15 @@ | |||
40 | 40 | ||
41 | static long phy_lock_timeout = 100000000; | 41 | static long phy_lock_timeout = 100000000; |
42 | 42 | ||
43 | static inline int phy_lock(void) | 43 | static inline int phy_lock(struct netxen_adapter *adapter) |
44 | { | 44 | { |
45 | int i; | 45 | int i; |
46 | int done = 0, timeout = 0; | 46 | int done = 0, timeout = 0; |
47 | 47 | ||
48 | while (!done) { | 48 | while (!done) { |
49 | done = readl((void __iomem *)NETXEN_PCIE_REG(PCIE_SEM3_LOCK)); | 49 | done = |
50 | readl(pci_base_offset | ||
51 | (adapter, NETXEN_PCIE_REG(PCIE_SEM3_LOCK))); | ||
50 | if (done == 1) | 52 | if (done == 1) |
51 | break; | 53 | break; |
52 | if (timeout >= phy_lock_timeout) { | 54 | if (timeout >= phy_lock_timeout) { |
@@ -61,13 +63,15 @@ static inline int phy_lock(void) | |||
61 | } | 63 | } |
62 | } | 64 | } |
63 | 65 | ||
64 | writel(NETXEN_PHY_LOCK_ID, (void __iomem *)PHY_LOCK_DRIVER); | 66 | writel(PHY_LOCK_DRIVER, |
67 | NETXEN_CRB_NORMALIZE(adapter, NETXEN_PHY_LOCK_ID)); | ||
65 | return 0; | 68 | return 0; |
66 | } | 69 | } |
67 | 70 | ||
68 | static inline int phy_unlock(void) | 71 | static inline int phy_unlock(struct netxen_adapter *adapter) |
69 | { | 72 | { |
70 | readl((void __iomem *)NETXEN_PCIE_REG(PCIE_SEM3_UNLOCK)); | 73 | readl(pci_base_offset(adapter, NETXEN_PCIE_REG(PCIE_SEM3_UNLOCK))); |
74 | |||
71 | return 0; | 75 | return 0; |
72 | } | 76 | } |
73 | 77 | ||
@@ -95,7 +99,7 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long phy, | |||
95 | __le32 status; | 99 | __le32 status; |
96 | __le32 mac_cfg0; | 100 | __le32 mac_cfg0; |
97 | 101 | ||
98 | if (phy_lock() != 0) { | 102 | if (phy_lock(adapter) != 0) { |
99 | return -1; | 103 | return -1; |
100 | } | 104 | } |
101 | 105 | ||
@@ -162,7 +166,7 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long phy, | |||
162 | NETXEN_NIU_GB_MAC_CONFIG_0(0), | 166 | NETXEN_NIU_GB_MAC_CONFIG_0(0), |
163 | &mac_cfg0, 4)) | 167 | &mac_cfg0, 4)) |
164 | return -EIO; | 168 | return -EIO; |
165 | phy_unlock(); | 169 | phy_unlock(adapter); |
166 | return result; | 170 | return result; |
167 | } | 171 | } |
168 | 172 | ||
@@ -399,8 +403,8 @@ int netxen_niu_gbe_init_port(struct netxen_adapter *adapter, int port) | |||
399 | { | 403 | { |
400 | int result = 0; | 404 | int result = 0; |
401 | __le32 status; | 405 | __le32 status; |
402 | if (adapter->ops->disable_phy_interrupts) | 406 | if (adapter->disable_phy_interrupts) |
403 | adapter->ops->disable_phy_interrupts(adapter, port); | 407 | adapter->disable_phy_interrupts(adapter, port); |
404 | mdelay(2); | 408 | mdelay(2); |
405 | 409 | ||
406 | if (0 == | 410 | if (0 == |
@@ -612,7 +616,7 @@ int netxen_niu_macaddr_set(struct netxen_port *port, | |||
612 | __le32 temp = 0; | 616 | __le32 temp = 0; |
613 | struct netxen_adapter *adapter = port->adapter; | 617 | struct netxen_adapter *adapter = port->adapter; |
614 | int phy = port->portnum; | 618 | int phy = port->portnum; |
615 | unsigned char mac_addr[MAX_ADDR_LEN]; | 619 | unsigned char mac_addr[6]; |
616 | int i; | 620 | int i; |
617 | 621 | ||
618 | for (i = 0; i < 10; i++) { | 622 | for (i = 0; i < 10; i++) { |
@@ -631,7 +635,7 @@ int netxen_niu_macaddr_set(struct netxen_port *port, | |||
631 | 635 | ||
632 | netxen_niu_macaddr_get(adapter, phy, | 636 | netxen_niu_macaddr_get(adapter, phy, |
633 | (netxen_ethernet_macaddr_t *) mac_addr); | 637 | (netxen_ethernet_macaddr_t *) mac_addr); |
634 | if (memcmp(mac_addr, addr, MAX_ADDR_LEN == 0)) | 638 | if (memcmp(mac_addr, addr, 6) == 0) |
635 | break; | 639 | break; |
636 | } | 640 | } |
637 | 641 | ||
diff --git a/drivers/net/netxen/netxen_nic_phan_reg.h b/drivers/net/netxen/netxen_nic_phan_reg.h index 8181d436783f..7879f855af0b 100644 --- a/drivers/net/netxen/netxen_nic_phan_reg.h +++ b/drivers/net/netxen/netxen_nic_phan_reg.h | |||
@@ -33,15 +33,74 @@ | |||
33 | /* | 33 | /* |
34 | * CRB Registers or queue message done only at initialization time. | 34 | * CRB Registers or queue message done only at initialization time. |
35 | */ | 35 | */ |
36 | #define NIC_CRB_BASE NETXEN_CAM_RAM(0x200) | ||
37 | #define NETXEN_NIC_REG(X) (NIC_CRB_BASE+(X)) | ||
36 | 38 | ||
37 | /* | 39 | #define CRB_PHAN_CNTRL_LO_OFFSET NETXEN_NIC_REG(0x00) |
38 | * The following 2 are the base adresses for the CRB registers and their | 40 | #define CRB_PHAN_CNTRL_HI_OFFSET NETXEN_NIC_REG(0x04) |
39 | * offsets will be added to get addresses for the index addresses. | 41 | #define CRB_CMD_PRODUCER_OFFSET NETXEN_NIC_REG(0x08) |
40 | */ | 42 | #define CRB_CMD_CONSUMER_OFFSET NETXEN_NIC_REG(0x0c) |
41 | #define NIC_CRB_BASE_PORT1 NETXEN_CAM_RAM(0x200) | 43 | #define CRB_PAUSE_ADDR_LO NETXEN_NIC_REG(0x10) /* C0 EPG BUG */ |
42 | #define NIC_CRB_BASE_PORT2 NETXEN_CAM_RAM(0x250) | 44 | #define CRB_PAUSE_ADDR_HI NETXEN_NIC_REG(0x14) |
45 | #define CRB_HOST_CMD_ADDR_HI NETXEN_NIC_REG(0x18) /* host add:cmd ring */ | ||
46 | #define CRB_HOST_CMD_ADDR_LO NETXEN_NIC_REG(0x1c) | ||
47 | #define CRB_CMD_INTR_LOOP NETXEN_NIC_REG(0x20) /* 4 regs for perf */ | ||
48 | #define CRB_CMD_DMA_LOOP NETXEN_NIC_REG(0x24) | ||
49 | #define CRB_RCV_INTR_LOOP NETXEN_NIC_REG(0x28) | ||
50 | #define CRB_RCV_DMA_LOOP NETXEN_NIC_REG(0x2c) | ||
51 | #define CRB_ENABLE_TX_INTR NETXEN_NIC_REG(0x30) /* phantom init status */ | ||
52 | #define CRB_MMAP_ADDR_3 NETXEN_NIC_REG(0x34) | ||
53 | #define CRB_CMDPEG_CMDRING NETXEN_NIC_REG(0x38) | ||
54 | #define CRB_HOST_DUMMY_BUF_ADDR_HI NETXEN_NIC_REG(0x3c) | ||
55 | #define CRB_HOST_DUMMY_BUF_ADDR_LO NETXEN_NIC_REG(0x40) | ||
56 | #define CRB_MMAP_ADDR_0 NETXEN_NIC_REG(0x44) | ||
57 | #define CRB_MMAP_ADDR_1 NETXEN_NIC_REG(0x48) | ||
58 | #define CRB_MMAP_ADDR_2 NETXEN_NIC_REG(0x4c) | ||
59 | #define CRB_CMDPEG_STATE NETXEN_NIC_REG(0x50) | ||
60 | #define CRB_MMAP_SIZE_0 NETXEN_NIC_REG(0x54) | ||
61 | #define CRB_MMAP_SIZE_1 NETXEN_NIC_REG(0x58) | ||
62 | #define CRB_MMAP_SIZE_2 NETXEN_NIC_REG(0x5c) | ||
63 | #define CRB_MMAP_SIZE_3 NETXEN_NIC_REG(0x60) | ||
64 | #define CRB_GLOBAL_INT_COAL NETXEN_NIC_REG(0x64) /* interrupt coalescing */ | ||
65 | #define CRB_INT_COAL_MODE NETXEN_NIC_REG(0x68) | ||
66 | #define CRB_MAX_RCV_BUFS NETXEN_NIC_REG(0x6c) | ||
67 | #define CRB_TX_INT_THRESHOLD NETXEN_NIC_REG(0x70) | ||
68 | #define CRB_RX_PKT_TIMER NETXEN_NIC_REG(0x74) | ||
69 | #define CRB_TX_PKT_TIMER NETXEN_NIC_REG(0x78) | ||
70 | #define CRB_RX_PKT_CNT NETXEN_NIC_REG(0x7c) | ||
71 | #define CRB_RX_TMR_CNT NETXEN_NIC_REG(0x80) | ||
72 | #define CRB_RX_LRO_TIMER NETXEN_NIC_REG(0x84) | ||
73 | #define CRB_RX_LRO_MID_TIMER NETXEN_NIC_REG(0x88) | ||
74 | #define CRB_DMA_MAX_RCV_BUFS NETXEN_NIC_REG(0x8c) | ||
75 | #define CRB_MAX_DMA_ENTRIES NETXEN_NIC_REG(0x90) | ||
76 | #define CRB_XG_STATE NETXEN_NIC_REG(0x94) /* XG Link status */ | ||
77 | #define CRB_AGENT_GO NETXEN_NIC_REG(0x98) /* NIC pkt gen agent */ | ||
78 | #define CRB_AGENT_TX_SIZE NETXEN_NIC_REG(0x9c) | ||
79 | #define CRB_AGENT_TX_TYPE NETXEN_NIC_REG(0xa0) | ||
80 | #define CRB_AGENT_TX_ADDR NETXEN_NIC_REG(0xa4) | ||
81 | #define CRB_AGENT_TX_MSS NETXEN_NIC_REG(0xa8) | ||
82 | #define CRB_TX_STATE NETXEN_NIC_REG(0xac) /* Debug -performance */ | ||
83 | #define CRB_TX_COUNT NETXEN_NIC_REG(0xb0) | ||
84 | #define CRB_RX_STATE NETXEN_NIC_REG(0xb4) | ||
85 | #define CRB_RX_PERF_DEBUG_1 NETXEN_NIC_REG(0xb8) | ||
86 | #define CRB_RX_LRO_CONTROL NETXEN_NIC_REG(0xbc) /* LRO On/OFF */ | ||
87 | #define CRB_RX_LRO_START_NUM NETXEN_NIC_REG(0xc0) | ||
88 | #define CRB_MPORT_MODE NETXEN_NIC_REG(0xc4) /* Multiport Mode */ | ||
89 | #define CRB_CMD_RING_SIZE NETXEN_NIC_REG(0xc8) | ||
90 | #define CRB_INT_VECTOR NETXEN_NIC_REG(0xd4) | ||
91 | #define CRB_CTX_RESET NETXEN_NIC_REG(0xd8) | ||
92 | #define CRB_HOST_STS_PROD NETXEN_NIC_REG(0xdc) | ||
93 | #define CRB_HOST_STS_CONS NETXEN_NIC_REG(0xe0) | ||
94 | #define CRB_PEG_CMD_PROD NETXEN_NIC_REG(0xe4) | ||
95 | #define CRB_PEG_CMD_CONS NETXEN_NIC_REG(0xe8) | ||
96 | #define CRB_HOST_BUFFER_PROD NETXEN_NIC_REG(0xec) | ||
97 | #define CRB_HOST_BUFFER_CONS NETXEN_NIC_REG(0xf0) | ||
98 | #define CRB_JUMBO_BUFFER_PROD NETXEN_NIC_REG(0xf4) | ||
99 | #define CRB_JUMBO_BUFFER_CONS NETXEN_NIC_REG(0xf8) | ||
43 | 100 | ||
44 | #define NETXEN_NIC_REG(X) (NIC_CRB_BASE_PORT1+(X)) | 101 | #define CRB_CMD_PRODUCER_OFFSET_1 NETXEN_NIC_REG(0x1ac) |
102 | #define CRB_CMD_CONSUMER_OFFSET_1 NETXEN_NIC_REG(0x1b0) | ||
103 | #define CRB_TEMP_STATE NETXEN_NIC_REG(0x1b4) | ||
45 | 104 | ||
46 | /* | 105 | /* |
47 | * CrbPortPhanCntrHi/Lo is used to pass the address of HostPhantomIndex address | 106 | * CrbPortPhanCntrHi/Lo is used to pass the address of HostPhantomIndex address |
@@ -51,74 +110,20 @@ | |||
51 | * on the Phantom. | 110 | * on the Phantom. |
52 | */ | 111 | */ |
53 | 112 | ||
54 | #define CRB_PHAN_CNTRL_LO_OFFSET NETXEN_NIC_REG(0x00) | 113 | #define nx_get_temp_val(x) ((x) >> 16) |
55 | #define CRB_PHAN_CNTRL_HI_OFFSET NETXEN_NIC_REG(0x04) | 114 | #define nx_get_temp_state(x) ((x) & 0xffff) |
56 | 115 | #define nx_encode_temp(val, state) (((val) << 16) | (state)) | |
57 | /* point to the indexes */ | ||
58 | #define CRB_CMD_PRODUCER_OFFSET NETXEN_NIC_REG(0x08) | ||
59 | #define CRB_CMD_CONSUMER_OFFSET NETXEN_NIC_REG(0x0c) | ||
60 | |||
61 | #define CRB_PAUSE_ADDR_LO NETXEN_NIC_REG(0x10) | ||
62 | #define CRB_PAUSE_ADDR_HI NETXEN_NIC_REG(0x14) | ||
63 | |||
64 | /* address of command descriptors in the host memory */ | ||
65 | #define CRB_HOST_CMD_ADDR_HI NETXEN_NIC_REG(0x30) | ||
66 | #define CRB_HOST_CMD_ADDR_LO NETXEN_NIC_REG(0x34) | ||
67 | |||
68 | /* The following 4 CRB registers are for doing performance coal */ | ||
69 | #define CRB_CMD_INTR_LOOP NETXEN_NIC_REG(0x38) | ||
70 | #define CRB_CMD_DMA_LOOP NETXEN_NIC_REG(0x3c) | ||
71 | #define CRB_RCV_INTR_LOOP NETXEN_NIC_REG(0x40) | ||
72 | #define CRB_RCV_DMA_LOOP NETXEN_NIC_REG(0x44) | ||
73 | |||
74 | /* Needed by the host to find out the state of Phantom's initialization */ | ||
75 | #define CRB_ENABLE_TX_INTR NETXEN_NIC_REG(0x4c) | ||
76 | #define CRB_CMDPEG_STATE NETXEN_NIC_REG(0x50) | ||
77 | #define CRB_CMDPEG_CMDRING NETXEN_NIC_REG(0x54) | ||
78 | |||
79 | /* Interrupt coalescing parameters */ | ||
80 | #define CRB_GLOBAL_INT_COAL NETXEN_NIC_REG(0x80) | ||
81 | #define CRB_INT_COAL_MODE NETXEN_NIC_REG(0x84) | ||
82 | #define CRB_MAX_RCV_BUFS NETXEN_NIC_REG(0x88) | ||
83 | #define CRB_TX_INT_THRESHOLD NETXEN_NIC_REG(0x8c) | ||
84 | #define CRB_RX_PKT_TIMER NETXEN_NIC_REG(0x90) | ||
85 | #define CRB_TX_PKT_TIMER NETXEN_NIC_REG(0x94) | ||
86 | #define CRB_RX_PKT_CNT NETXEN_NIC_REG(0x98) | ||
87 | #define CRB_RX_TMR_CNT NETXEN_NIC_REG(0x9c) | ||
88 | #define CRB_INT_THRESH NETXEN_NIC_REG(0xa4) | ||
89 | |||
90 | /* Register for communicating XG link status */ | ||
91 | #define CRB_XG_STATE NETXEN_NIC_REG(0xa0) | ||
92 | |||
93 | /* Register for communicating card temperature */ | ||
94 | /* Upper 16 bits are temperature value. Lower 16 bits are the state */ | ||
95 | #define CRB_TEMP_STATE NETXEN_NIC_REG(0xa8) | ||
96 | #define nx_get_temp_val(x) ((x) >> 16) | ||
97 | #define nx_get_temp_state(x) ((x) & 0xffff) | ||
98 | #define nx_encode_temp(val, state) (((val) << 16) | (state)) | ||
99 | |||
100 | /* Debug registers for controlling NIC pkt gen agent */ | ||
101 | #define CRB_AGENT_GO NETXEN_NIC_REG(0xb0) | ||
102 | #define CRB_AGENT_TX_SIZE NETXEN_NIC_REG(0xb4) | ||
103 | #define CRB_AGENT_TX_TYPE NETXEN_NIC_REG(0xb8) | ||
104 | #define CRB_AGENT_TX_ADDR NETXEN_NIC_REG(0xbc) | ||
105 | #define CRB_AGENT_TX_MSS NETXEN_NIC_REG(0xc0) | ||
106 | |||
107 | /* Debug registers for observing NIC performance */ | ||
108 | #define CRB_TX_STATE NETXEN_NIC_REG(0xd0) | ||
109 | #define CRB_TX_COUNT NETXEN_NIC_REG(0xd4) | ||
110 | #define CRB_RX_STATE NETXEN_NIC_REG(0xd8) | ||
111 | 116 | ||
112 | /* CRB registers per Rcv Descriptor ring */ | 117 | /* CRB registers per Rcv Descriptor ring */ |
113 | struct netxen_rcv_desc_crb { | 118 | struct netxen_rcv_desc_crb { |
114 | u32 crb_rcv_producer_offset __attribute__ ((aligned(512))); | 119 | u32 crb_rcv_producer_offset __attribute__ ((aligned(512))); |
115 | u32 crb_rcv_consumer_offset; | 120 | u32 crb_rcv_consumer_offset; |
116 | u32 crb_globalrcv_ring; | 121 | u32 crb_globalrcv_ring; |
122 | u32 crb_rcv_ring_size; | ||
117 | }; | 123 | }; |
118 | 124 | ||
119 | /* | 125 | /* |
120 | * CRB registers used by the receive peg logic. One instance of these | 126 | * CRB registers used by the receive peg logic. |
121 | * needs to be instantiated per instance of the receive peg. | ||
122 | */ | 127 | */ |
123 | 128 | ||
124 | struct netxen_recv_crb { | 129 | struct netxen_recv_crb { |
@@ -127,6 +132,7 @@ struct netxen_recv_crb { | |||
127 | u32 crb_rcv_status_producer; | 132 | u32 crb_rcv_status_producer; |
128 | u32 crb_rcv_status_consumer; | 133 | u32 crb_rcv_status_consumer; |
129 | u32 crb_rcvpeg_state; | 134 | u32 crb_rcvpeg_state; |
135 | u32 crb_status_ring_size; | ||
130 | }; | 136 | }; |
131 | 137 | ||
132 | #if defined(DEFINE_GLOBAL_RECV_CRB) | 138 | #if defined(DEFINE_GLOBAL_RECV_CRB) |
@@ -139,30 +145,48 @@ struct netxen_recv_crb recv_crb_registers[] = { | |||
139 | { | 145 | { |
140 | { | 146 | { |
141 | /* crb_rcv_producer_offset: */ | 147 | /* crb_rcv_producer_offset: */ |
142 | NETXEN_NIC_REG(0x18), | 148 | NETXEN_NIC_REG(0x100), |
143 | /* crb_rcv_consumer_offset: */ | 149 | /* crb_rcv_consumer_offset: */ |
144 | NETXEN_NIC_REG(0x1c), | 150 | NETXEN_NIC_REG(0x104), |
145 | /* crb_gloablrcv_ring: */ | 151 | /* crb_gloablrcv_ring: */ |
146 | NETXEN_NIC_REG(0x20), | 152 | NETXEN_NIC_REG(0x108), |
153 | /* crb_rcv_ring_size */ | ||
154 | NETXEN_NIC_REG(0x10c), | ||
155 | |||
147 | }, | 156 | }, |
148 | /* Jumbo frames */ | 157 | /* Jumbo frames */ |
149 | { | 158 | { |
150 | /* crb_rcv_producer_offset: */ | 159 | /* crb_rcv_producer_offset: */ |
151 | NETXEN_NIC_REG(0x100), | 160 | NETXEN_NIC_REG(0x110), |
152 | /* crb_rcv_consumer_offset: */ | 161 | /* crb_rcv_consumer_offset: */ |
153 | NETXEN_NIC_REG(0x104), | 162 | NETXEN_NIC_REG(0x114), |
154 | /* crb_gloablrcv_ring: */ | 163 | /* crb_gloablrcv_ring: */ |
155 | NETXEN_NIC_REG(0x108), | 164 | NETXEN_NIC_REG(0x118), |
165 | /* crb_rcv_ring_size */ | ||
166 | NETXEN_NIC_REG(0x11c), | ||
167 | }, | ||
168 | /* LRO */ | ||
169 | { | ||
170 | /* crb_rcv_producer_offset: */ | ||
171 | NETXEN_NIC_REG(0x120), | ||
172 | /* crb_rcv_consumer_offset: */ | ||
173 | NETXEN_NIC_REG(0x124), | ||
174 | /* crb_gloablrcv_ring: */ | ||
175 | NETXEN_NIC_REG(0x128), | ||
176 | /* crb_rcv_ring_size */ | ||
177 | NETXEN_NIC_REG(0x12c), | ||
156 | } | 178 | } |
157 | }, | 179 | }, |
158 | /* crb_rcvstatus_ring: */ | 180 | /* crb_rcvstatus_ring: */ |
159 | NETXEN_NIC_REG(0x24), | 181 | NETXEN_NIC_REG(0x130), |
160 | /* crb_rcv_status_producer: */ | 182 | /* crb_rcv_status_producer: */ |
161 | NETXEN_NIC_REG(0x28), | 183 | NETXEN_NIC_REG(0x134), |
162 | /* crb_rcv_status_consumer: */ | 184 | /* crb_rcv_status_consumer: */ |
163 | NETXEN_NIC_REG(0x2c), | 185 | NETXEN_NIC_REG(0x138), |
164 | /* crb_rcvpeg_state: */ | 186 | /* crb_rcvpeg_state: */ |
165 | NETXEN_NIC_REG(0x48), | 187 | NETXEN_NIC_REG(0x13c), |
188 | /* crb_status_ring_size */ | ||
189 | NETXEN_NIC_REG(0x140), | ||
166 | 190 | ||
167 | }, | 191 | }, |
168 | /* | 192 | /* |
@@ -173,34 +197,66 @@ struct netxen_recv_crb recv_crb_registers[] = { | |||
173 | { | 197 | { |
174 | { | 198 | { |
175 | /* crb_rcv_producer_offset: */ | 199 | /* crb_rcv_producer_offset: */ |
176 | NETXEN_NIC_REG(0x80), | 200 | NETXEN_NIC_REG(0x144), |
177 | /* crb_rcv_consumer_offset: */ | 201 | /* crb_rcv_consumer_offset: */ |
178 | NETXEN_NIC_REG(0x84), | 202 | NETXEN_NIC_REG(0x148), |
179 | /* crb_globalrcv_ring: */ | 203 | /* crb_globalrcv_ring: */ |
180 | NETXEN_NIC_REG(0x88), | 204 | NETXEN_NIC_REG(0x14c), |
205 | /* crb_rcv_ring_size */ | ||
206 | NETXEN_NIC_REG(0x150), | ||
207 | |||
181 | }, | 208 | }, |
182 | /* Jumbo frames */ | 209 | /* Jumbo frames */ |
183 | { | 210 | { |
184 | /* crb_rcv_producer_offset: */ | 211 | /* crb_rcv_producer_offset: */ |
185 | NETXEN_NIC_REG(0x10C), | 212 | NETXEN_NIC_REG(0x154), |
186 | /* crb_rcv_consumer_offset: */ | 213 | /* crb_rcv_consumer_offset: */ |
187 | NETXEN_NIC_REG(0x110), | 214 | NETXEN_NIC_REG(0x158), |
188 | /* crb_globalrcv_ring: */ | 215 | /* crb_globalrcv_ring: */ |
189 | NETXEN_NIC_REG(0x114), | 216 | NETXEN_NIC_REG(0x15c), |
217 | /* crb_rcv_ring_size */ | ||
218 | NETXEN_NIC_REG(0x160), | ||
219 | }, | ||
220 | /* LRO */ | ||
221 | { | ||
222 | /* crb_rcv_producer_offset: */ | ||
223 | NETXEN_NIC_REG(0x164), | ||
224 | /* crb_rcv_consumer_offset: */ | ||
225 | NETXEN_NIC_REG(0x168), | ||
226 | /* crb_globalrcv_ring: */ | ||
227 | NETXEN_NIC_REG(0x16c), | ||
228 | /* crb_rcv_ring_size */ | ||
229 | NETXEN_NIC_REG(0x170), | ||
190 | } | 230 | } |
231 | |||
191 | }, | 232 | }, |
192 | /* crb_rcvstatus_ring: */ | 233 | /* crb_rcvstatus_ring: */ |
193 | NETXEN_NIC_REG(0x8c), | 234 | NETXEN_NIC_REG(0x174), |
194 | /* crb_rcv_status_producer: */ | 235 | /* crb_rcv_status_producer: */ |
195 | NETXEN_NIC_REG(0x90), | 236 | NETXEN_NIC_REG(0x178), |
196 | /* crb_rcv_status_consumer: */ | 237 | /* crb_rcv_status_consumer: */ |
197 | NETXEN_NIC_REG(0x94), | 238 | NETXEN_NIC_REG(0x17c), |
198 | /* crb_rcvpeg_state: */ | 239 | /* crb_rcvpeg_state: */ |
199 | NETXEN_NIC_REG(0x98), | 240 | NETXEN_NIC_REG(0x180), |
241 | /* crb_status_ring_size */ | ||
242 | NETXEN_NIC_REG(0x184), | ||
243 | |||
200 | }, | 244 | }, |
201 | }; | 245 | }; |
246 | |||
247 | u64 ctx_addr_sig_regs[][3] = { | ||
248 | {NETXEN_NIC_REG(0x188), NETXEN_NIC_REG(0x18c), NETXEN_NIC_REG(0x1c0)}, | ||
249 | {NETXEN_NIC_REG(0x190), NETXEN_NIC_REG(0x194), NETXEN_NIC_REG(0x1c4)}, | ||
250 | {NETXEN_NIC_REG(0x198), NETXEN_NIC_REG(0x19c), NETXEN_NIC_REG(0x1c8)}, | ||
251 | {NETXEN_NIC_REG(0x1a0), NETXEN_NIC_REG(0x1a4), NETXEN_NIC_REG(0x1cc)} | ||
252 | }; | ||
253 | |||
202 | #else | 254 | #else |
203 | extern struct netxen_recv_crb recv_crb_registers[]; | 255 | extern struct netxen_recv_crb recv_crb_registers[]; |
256 | extern u64 ctx_addr_sig_regs[][3]; | ||
257 | #define CRB_CTX_ADDR_REG_LO (ctx_addr_sig_regs[0][0]) | ||
258 | #define CRB_CTX_ADDR_REG_HI (ctx_addr_sig_regs[0][2]) | ||
259 | #define CRB_CTX_SIGNATURE_REG (ctx_addr_sig_regs[0][1]) | ||
204 | #endif /* DEFINE_GLOBAL_RECEIVE_CRB */ | 260 | #endif /* DEFINE_GLOBAL_RECEIVE_CRB */ |
205 | 261 | ||
206 | /* | 262 | /* |
diff --git a/drivers/net/ni52.c b/drivers/net/ni52.c index 26e42f6e9fb1..196993a29b09 100644 --- a/drivers/net/ni52.c +++ b/drivers/net/ni52.c | |||
@@ -1335,7 +1335,7 @@ int __init init_module(void) | |||
1335 | return 0; | 1335 | return 0; |
1336 | } | 1336 | } |
1337 | 1337 | ||
1338 | void cleanup_module(void) | 1338 | void __exit cleanup_module(void) |
1339 | { | 1339 | { |
1340 | unregister_netdev(dev_ni52); | 1340 | unregister_netdev(dev_ni52); |
1341 | release_region(dev_ni52->base_addr, NI52_TOTAL_SIZE); | 1341 | release_region(dev_ni52->base_addr, NI52_TOTAL_SIZE); |
diff --git a/drivers/net/ni65.c b/drivers/net/ni65.c index 340ad0d5388a..1578f4d98498 100644 --- a/drivers/net/ni65.c +++ b/drivers/net/ni65.c | |||
@@ -1259,7 +1259,7 @@ int __init init_module(void) | |||
1259 | return IS_ERR(dev_ni65) ? PTR_ERR(dev_ni65) : 0; | 1259 | return IS_ERR(dev_ni65) ? PTR_ERR(dev_ni65) : 0; |
1260 | } | 1260 | } |
1261 | 1261 | ||
1262 | void cleanup_module(void) | 1262 | void __exit cleanup_module(void) |
1263 | { | 1263 | { |
1264 | unregister_netdev(dev_ni65); | 1264 | unregister_netdev(dev_ni65); |
1265 | cleanup_card(dev_ni65); | 1265 | cleanup_card(dev_ni65); |
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c index b0127c71a5b6..568daeb3e9d8 100644 --- a/drivers/net/ns83820.c +++ b/drivers/net/ns83820.c | |||
@@ -414,10 +414,10 @@ struct rx_info { | |||
414 | 414 | ||
415 | struct sk_buff *skbs[NR_RX_DESC]; | 415 | struct sk_buff *skbs[NR_RX_DESC]; |
416 | 416 | ||
417 | u32 *next_rx_desc; | 417 | __le32 *next_rx_desc; |
418 | u16 next_rx, next_empty; | 418 | u16 next_rx, next_empty; |
419 | 419 | ||
420 | u32 *descs; | 420 | __le32 *descs; |
421 | dma_addr_t phy_descs; | 421 | dma_addr_t phy_descs; |
422 | }; | 422 | }; |
423 | 423 | ||
@@ -427,6 +427,7 @@ struct ns83820 { | |||
427 | u8 __iomem *base; | 427 | u8 __iomem *base; |
428 | 428 | ||
429 | struct pci_dev *pci_dev; | 429 | struct pci_dev *pci_dev; |
430 | struct net_device *ndev; | ||
430 | 431 | ||
431 | #ifdef NS83820_VLAN_ACCEL_SUPPORT | 432 | #ifdef NS83820_VLAN_ACCEL_SUPPORT |
432 | struct vlan_group *vlgrp; | 433 | struct vlan_group *vlgrp; |
@@ -459,7 +460,7 @@ struct ns83820 { | |||
459 | struct sk_buff *tx_skbs[NR_TX_DESC]; | 460 | struct sk_buff *tx_skbs[NR_TX_DESC]; |
460 | 461 | ||
461 | char pad[16] __attribute__((aligned(16))); | 462 | char pad[16] __attribute__((aligned(16))); |
462 | u32 *tx_descs; | 463 | __le32 *tx_descs; |
463 | dma_addr_t tx_phy_descs; | 464 | dma_addr_t tx_phy_descs; |
464 | 465 | ||
465 | struct timer_list tx_watchdog; | 466 | struct timer_list tx_watchdog; |
@@ -533,7 +534,7 @@ static void ns83820_vlan_rx_kill_vid(struct net_device *ndev, unsigned short vid | |||
533 | * conditions, still route realtime traffic with as low jitter as | 534 | * conditions, still route realtime traffic with as low jitter as |
534 | * possible. | 535 | * possible. |
535 | */ | 536 | */ |
536 | static inline void build_rx_desc(struct ns83820 *dev, u32 *desc, dma_addr_t link, dma_addr_t buf, u32 cmdsts, u32 extsts) | 537 | static inline void build_rx_desc(struct ns83820 *dev, __le32 *desc, dma_addr_t link, dma_addr_t buf, u32 cmdsts, u32 extsts) |
537 | { | 538 | { |
538 | desc_addr_set(desc + DESC_LINK, link); | 539 | desc_addr_set(desc + DESC_LINK, link); |
539 | desc_addr_set(desc + DESC_BUFPTR, buf); | 540 | desc_addr_set(desc + DESC_BUFPTR, buf); |
@@ -547,7 +548,7 @@ static inline int ns83820_add_rx_skb(struct ns83820 *dev, struct sk_buff *skb) | |||
547 | { | 548 | { |
548 | unsigned next_empty; | 549 | unsigned next_empty; |
549 | u32 cmdsts; | 550 | u32 cmdsts; |
550 | u32 *sg; | 551 | __le32 *sg; |
551 | dma_addr_t buf; | 552 | dma_addr_t buf; |
552 | 553 | ||
553 | next_empty = dev->rx_info.next_empty; | 554 | next_empty = dev->rx_info.next_empty; |
@@ -631,10 +632,10 @@ static void fastcall rx_refill_atomic(struct net_device *ndev) | |||
631 | } | 632 | } |
632 | 633 | ||
633 | /* REFILL */ | 634 | /* REFILL */ |
634 | static inline void queue_refill(void *_dev) | 635 | static inline void queue_refill(struct work_struct *work) |
635 | { | 636 | { |
636 | struct net_device *ndev = _dev; | 637 | struct ns83820 *dev = container_of(work, struct ns83820, tq_refill); |
637 | struct ns83820 *dev = PRIV(ndev); | 638 | struct net_device *ndev = dev->ndev; |
638 | 639 | ||
639 | rx_refill(ndev, GFP_KERNEL); | 640 | rx_refill(ndev, GFP_KERNEL); |
640 | if (dev->rx_info.up) | 641 | if (dev->rx_info.up) |
@@ -874,7 +875,8 @@ static void fastcall rx_irq(struct net_device *ndev) | |||
874 | struct rx_info *info = &dev->rx_info; | 875 | struct rx_info *info = &dev->rx_info; |
875 | unsigned next_rx; | 876 | unsigned next_rx; |
876 | int rx_rc, len; | 877 | int rx_rc, len; |
877 | u32 cmdsts, *desc; | 878 | u32 cmdsts; |
879 | __le32 *desc; | ||
878 | unsigned long flags; | 880 | unsigned long flags; |
879 | int nr = 0; | 881 | int nr = 0; |
880 | 882 | ||
@@ -1010,7 +1012,8 @@ static inline void kick_tx(struct ns83820 *dev) | |||
1010 | static void do_tx_done(struct net_device *ndev) | 1012 | static void do_tx_done(struct net_device *ndev) |
1011 | { | 1013 | { |
1012 | struct ns83820 *dev = PRIV(ndev); | 1014 | struct ns83820 *dev = PRIV(ndev); |
1013 | u32 cmdsts, tx_done_idx, *desc; | 1015 | u32 cmdsts, tx_done_idx; |
1016 | __le32 *desc; | ||
1014 | 1017 | ||
1015 | dprintk("do_tx_done(%p)\n", ndev); | 1018 | dprintk("do_tx_done(%p)\n", ndev); |
1016 | tx_done_idx = dev->tx_done_idx; | 1019 | tx_done_idx = dev->tx_done_idx; |
@@ -1077,7 +1080,7 @@ static void ns83820_cleanup_tx(struct ns83820 *dev) | |||
1077 | struct sk_buff *skb = dev->tx_skbs[i]; | 1080 | struct sk_buff *skb = dev->tx_skbs[i]; |
1078 | dev->tx_skbs[i] = NULL; | 1081 | dev->tx_skbs[i] = NULL; |
1079 | if (skb) { | 1082 | if (skb) { |
1080 | u32 *desc = dev->tx_descs + (i * DESC_SIZE); | 1083 | __le32 *desc = dev->tx_descs + (i * DESC_SIZE); |
1081 | pci_unmap_single(dev->pci_dev, | 1084 | pci_unmap_single(dev->pci_dev, |
1082 | desc_addr_get(desc + DESC_BUFPTR), | 1085 | desc_addr_get(desc + DESC_BUFPTR), |
1083 | le32_to_cpu(desc[DESC_CMDSTS]) & CMDSTS_LEN_MASK, | 1086 | le32_to_cpu(desc[DESC_CMDSTS]) & CMDSTS_LEN_MASK, |
@@ -1107,7 +1110,7 @@ static int ns83820_hard_start_xmit(struct sk_buff *skb, struct net_device *ndev) | |||
1107 | skb_frag_t *frag; | 1110 | skb_frag_t *frag; |
1108 | int stopped = 0; | 1111 | int stopped = 0; |
1109 | int do_intr = 0; | 1112 | int do_intr = 0; |
1110 | volatile u32 *first_desc; | 1113 | volatile __le32 *first_desc; |
1111 | 1114 | ||
1112 | dprintk("ns83820_hard_start_xmit\n"); | 1115 | dprintk("ns83820_hard_start_xmit\n"); |
1113 | 1116 | ||
@@ -1180,7 +1183,7 @@ again: | |||
1180 | first_desc = dev->tx_descs + (free_idx * DESC_SIZE); | 1183 | first_desc = dev->tx_descs + (free_idx * DESC_SIZE); |
1181 | 1184 | ||
1182 | for (;;) { | 1185 | for (;;) { |
1183 | volatile u32 *desc = dev->tx_descs + (free_idx * DESC_SIZE); | 1186 | volatile __le32 *desc = dev->tx_descs + (free_idx * DESC_SIZE); |
1184 | 1187 | ||
1185 | dprintk("frag[%3u]: %4u @ 0x%08Lx\n", free_idx, len, | 1188 | dprintk("frag[%3u]: %4u @ 0x%08Lx\n", free_idx, len, |
1186 | (unsigned long long)buf); | 1189 | (unsigned long long)buf); |
@@ -1455,7 +1458,8 @@ static int ns83820_stop(struct net_device *ndev) | |||
1455 | static void ns83820_tx_timeout(struct net_device *ndev) | 1458 | static void ns83820_tx_timeout(struct net_device *ndev) |
1456 | { | 1459 | { |
1457 | struct ns83820 *dev = PRIV(ndev); | 1460 | struct ns83820 *dev = PRIV(ndev); |
1458 | u32 tx_done_idx, *desc; | 1461 | u32 tx_done_idx; |
1462 | __le32 *desc; | ||
1459 | unsigned long flags; | 1463 | unsigned long flags; |
1460 | 1464 | ||
1461 | spin_lock_irqsave(&dev->tx_lock, flags); | 1465 | spin_lock_irqsave(&dev->tx_lock, flags); |
@@ -1841,6 +1845,7 @@ static int __devinit ns83820_init_one(struct pci_dev *pci_dev, const struct pci_ | |||
1841 | 1845 | ||
1842 | ndev = alloc_etherdev(sizeof(struct ns83820)); | 1846 | ndev = alloc_etherdev(sizeof(struct ns83820)); |
1843 | dev = PRIV(ndev); | 1847 | dev = PRIV(ndev); |
1848 | dev->ndev = ndev; | ||
1844 | err = -ENOMEM; | 1849 | err = -ENOMEM; |
1845 | if (!dev) | 1850 | if (!dev) |
1846 | goto out; | 1851 | goto out; |
@@ -1853,7 +1858,7 @@ static int __devinit ns83820_init_one(struct pci_dev *pci_dev, const struct pci_ | |||
1853 | SET_MODULE_OWNER(ndev); | 1858 | SET_MODULE_OWNER(ndev); |
1854 | SET_NETDEV_DEV(ndev, &pci_dev->dev); | 1859 | SET_NETDEV_DEV(ndev, &pci_dev->dev); |
1855 | 1860 | ||
1856 | INIT_WORK(&dev->tq_refill, queue_refill, ndev); | 1861 | INIT_WORK(&dev->tq_refill, queue_refill); |
1857 | tasklet_init(&dev->rx_tasklet, rx_action, (unsigned long)ndev); | 1862 | tasklet_init(&dev->rx_tasklet, rx_action, (unsigned long)ndev); |
1858 | 1863 | ||
1859 | err = pci_enable_device(pci_dev); | 1864 | err = pci_enable_device(pci_dev); |
diff --git a/drivers/net/pcmcia/3c574_cs.c b/drivers/net/pcmcia/3c574_cs.c index 046009928526..794cc61819dd 100644 --- a/drivers/net/pcmcia/3c574_cs.c +++ b/drivers/net/pcmcia/3c574_cs.c | |||
@@ -338,7 +338,6 @@ static int tc574_config(struct pcmcia_device *link) | |||
338 | struct net_device *dev = link->priv; | 338 | struct net_device *dev = link->priv; |
339 | struct el3_private *lp = netdev_priv(dev); | 339 | struct el3_private *lp = netdev_priv(dev); |
340 | tuple_t tuple; | 340 | tuple_t tuple; |
341 | cisparse_t parse; | ||
342 | unsigned short buf[32]; | 341 | unsigned short buf[32]; |
343 | int last_fn, last_ret, i, j; | 342 | int last_fn, last_ret, i, j; |
344 | kio_addr_t ioaddr; | 343 | kio_addr_t ioaddr; |
@@ -350,17 +349,6 @@ static int tc574_config(struct pcmcia_device *link) | |||
350 | 349 | ||
351 | DEBUG(0, "3c574_config(0x%p)\n", link); | 350 | DEBUG(0, "3c574_config(0x%p)\n", link); |
352 | 351 | ||
353 | tuple.Attributes = 0; | ||
354 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
355 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
356 | tuple.TupleData = (cisdata_t *)buf; | ||
357 | tuple.TupleDataMax = 64; | ||
358 | tuple.TupleOffset = 0; | ||
359 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
360 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
361 | link->conf.ConfigBase = parse.config.base; | ||
362 | link->conf.Present = parse.config.rmask[0]; | ||
363 | |||
364 | link->io.IOAddrLines = 16; | 352 | link->io.IOAddrLines = 16; |
365 | for (i = j = 0; j < 0x400; j += 0x20) { | 353 | for (i = j = 0; j < 0x400; j += 0x20) { |
366 | link->io.BasePort1 = j ^ 0x300; | 354 | link->io.BasePort1 = j ^ 0x300; |
@@ -382,6 +370,10 @@ static int tc574_config(struct pcmcia_device *link) | |||
382 | /* The 3c574 normally uses an EEPROM for configuration info, including | 370 | /* The 3c574 normally uses an EEPROM for configuration info, including |
383 | the hardware address. The future products may include a modem chip | 371 | the hardware address. The future products may include a modem chip |
384 | and put the address in the CIS. */ | 372 | and put the address in the CIS. */ |
373 | tuple.Attributes = 0; | ||
374 | tuple.TupleData = (cisdata_t *)buf; | ||
375 | tuple.TupleDataMax = 64; | ||
376 | tuple.TupleOffset = 0; | ||
385 | tuple.DesiredTuple = 0x88; | 377 | tuple.DesiredTuple = 0x88; |
386 | if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) { | 378 | if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) { |
387 | pcmcia_get_tuple_data(link, &tuple); | 379 | pcmcia_get_tuple_data(link, &tuple); |
@@ -397,12 +389,9 @@ static int tc574_config(struct pcmcia_device *link) | |||
397 | goto failed; | 389 | goto failed; |
398 | } | 390 | } |
399 | } | 391 | } |
400 | tuple.DesiredTuple = CISTPL_VERS_1; | 392 | if (link->prod_id[1]) |
401 | if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS && | 393 | cardname = link->prod_id[1]; |
402 | pcmcia_get_tuple_data(link, &tuple) == CS_SUCCESS && | 394 | else |
403 | pcmcia_parse_tuple(link, &tuple, &parse) == CS_SUCCESS) { | ||
404 | cardname = parse.version_1.str + parse.version_1.ofs[1]; | ||
405 | } else | ||
406 | cardname = "3Com 3c574"; | 395 | cardname = "3Com 3c574"; |
407 | 396 | ||
408 | { | 397 | { |
diff --git a/drivers/net/pcmcia/3c589_cs.c b/drivers/net/pcmcia/3c589_cs.c index 231fa2c9ec6c..1e73ff7d5d8e 100644 --- a/drivers/net/pcmcia/3c589_cs.c +++ b/drivers/net/pcmcia/3c589_cs.c | |||
@@ -253,7 +253,6 @@ static int tc589_config(struct pcmcia_device *link) | |||
253 | struct net_device *dev = link->priv; | 253 | struct net_device *dev = link->priv; |
254 | struct el3_private *lp = netdev_priv(dev); | 254 | struct el3_private *lp = netdev_priv(dev); |
255 | tuple_t tuple; | 255 | tuple_t tuple; |
256 | cisparse_t parse; | ||
257 | u16 buf[32], *phys_addr; | 256 | u16 buf[32], *phys_addr; |
258 | int last_fn, last_ret, i, j, multi = 0, fifo; | 257 | int last_fn, last_ret, i, j, multi = 0, fifo; |
259 | kio_addr_t ioaddr; | 258 | kio_addr_t ioaddr; |
@@ -263,26 +262,16 @@ static int tc589_config(struct pcmcia_device *link) | |||
263 | 262 | ||
264 | phys_addr = (u16 *)dev->dev_addr; | 263 | phys_addr = (u16 *)dev->dev_addr; |
265 | tuple.Attributes = 0; | 264 | tuple.Attributes = 0; |
266 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
267 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
268 | tuple.TupleData = (cisdata_t *)buf; | 265 | tuple.TupleData = (cisdata_t *)buf; |
269 | tuple.TupleDataMax = sizeof(buf); | 266 | tuple.TupleDataMax = sizeof(buf); |
270 | tuple.TupleOffset = 0; | 267 | tuple.TupleOffset = 0; |
271 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
272 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
273 | link->conf.ConfigBase = parse.config.base; | ||
274 | link->conf.Present = parse.config.rmask[0]; | ||
275 | |||
276 | /* Is this a 3c562? */ | ||
277 | tuple.DesiredTuple = CISTPL_MANFID; | ||
278 | tuple.Attributes = TUPLE_RETURN_COMMON; | 268 | tuple.Attributes = TUPLE_RETURN_COMMON; |
279 | if ((pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) && | 269 | |
280 | (pcmcia_get_tuple_data(link, &tuple) == CS_SUCCESS)) { | 270 | /* Is this a 3c562? */ |
281 | if (le16_to_cpu(buf[0]) != MANFID_3COM) | 271 | if (link->manf_id != MANFID_3COM) |
282 | printk(KERN_INFO "3c589_cs: hmmm, is this really a " | 272 | printk(KERN_INFO "3c589_cs: hmmm, is this really a " |
283 | "3Com card??\n"); | 273 | "3Com card??\n"); |
284 | multi = (le16_to_cpu(buf[1]) == PRODID_3COM_3C562); | 274 | multi = (link->card_id == PRODID_3COM_3C562); |
285 | } | ||
286 | 275 | ||
287 | /* For the 3c562, the base address must be xx00-xx7f */ | 276 | /* For the 3c562, the base address must be xx00-xx7f */ |
288 | link->io.IOAddrLines = 16; | 277 | link->io.IOAddrLines = 16; |
diff --git a/drivers/net/pcmcia/axnet_cs.c b/drivers/net/pcmcia/axnet_cs.c index 5ddd5742f779..6139048f8117 100644 --- a/drivers/net/pcmcia/axnet_cs.c +++ b/drivers/net/pcmcia/axnet_cs.c | |||
@@ -299,11 +299,7 @@ static int axnet_config(struct pcmcia_device *link) | |||
299 | tuple.TupleData = (cisdata_t *)buf; | 299 | tuple.TupleData = (cisdata_t *)buf; |
300 | tuple.TupleDataMax = sizeof(buf); | 300 | tuple.TupleDataMax = sizeof(buf); |
301 | tuple.TupleOffset = 0; | 301 | tuple.TupleOffset = 0; |
302 | tuple.DesiredTuple = CISTPL_CONFIG; | 302 | |
303 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
304 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
305 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
306 | link->conf.ConfigBase = parse.config.base; | ||
307 | /* don't trust the CIS on this; Linksys got it wrong */ | 303 | /* don't trust the CIS on this; Linksys got it wrong */ |
308 | link->conf.Present = 0x63; | 304 | link->conf.Present = 0x63; |
309 | 305 | ||
diff --git a/drivers/net/pcmcia/com20020_cs.c b/drivers/net/pcmcia/com20020_cs.c index 48434d7924eb..91f65e91cd5f 100644 --- a/drivers/net/pcmcia/com20020_cs.c +++ b/drivers/net/pcmcia/com20020_cs.c | |||
@@ -249,12 +249,9 @@ do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0) | |||
249 | static int com20020_config(struct pcmcia_device *link) | 249 | static int com20020_config(struct pcmcia_device *link) |
250 | { | 250 | { |
251 | struct arcnet_local *lp; | 251 | struct arcnet_local *lp; |
252 | tuple_t tuple; | ||
253 | cisparse_t parse; | ||
254 | com20020_dev_t *info; | 252 | com20020_dev_t *info; |
255 | struct net_device *dev; | 253 | struct net_device *dev; |
256 | int i, last_ret, last_fn; | 254 | int i, last_ret, last_fn; |
257 | u_char buf[64]; | ||
258 | int ioaddr; | 255 | int ioaddr; |
259 | 256 | ||
260 | info = link->priv; | 257 | info = link->priv; |
@@ -264,16 +261,6 @@ static int com20020_config(struct pcmcia_device *link) | |||
264 | 261 | ||
265 | DEBUG(0, "com20020_config(0x%p)\n", link); | 262 | DEBUG(0, "com20020_config(0x%p)\n", link); |
266 | 263 | ||
267 | tuple.Attributes = 0; | ||
268 | tuple.TupleData = buf; | ||
269 | tuple.TupleDataMax = 64; | ||
270 | tuple.TupleOffset = 0; | ||
271 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
272 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
273 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
274 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
275 | link->conf.ConfigBase = parse.config.base; | ||
276 | |||
277 | DEBUG(1,"arcnet: baseport1 is %Xh\n", link->io.BasePort1); | 264 | DEBUG(1,"arcnet: baseport1 is %Xh\n", link->io.BasePort1); |
278 | i = !CS_SUCCESS; | 265 | i = !CS_SUCCESS; |
279 | if (!link->io.BasePort1) | 266 | if (!link->io.BasePort1) |
diff --git a/drivers/net/pcmcia/fmvj18x_cs.c b/drivers/net/pcmcia/fmvj18x_cs.c index 65f6fdf43725..0d7de617e535 100644 --- a/drivers/net/pcmcia/fmvj18x_cs.c +++ b/drivers/net/pcmcia/fmvj18x_cs.c | |||
@@ -342,7 +342,7 @@ static int fmvj18x_config(struct pcmcia_device *link) | |||
342 | tuple_t tuple; | 342 | tuple_t tuple; |
343 | cisparse_t parse; | 343 | cisparse_t parse; |
344 | u_short buf[32]; | 344 | u_short buf[32]; |
345 | int i, last_fn, last_ret, ret; | 345 | int i, last_fn = 0, last_ret = 0, ret; |
346 | kio_addr_t ioaddr; | 346 | kio_addr_t ioaddr; |
347 | cardtype_t cardtype; | 347 | cardtype_t cardtype; |
348 | char *card_name = "unknown"; | 348 | char *card_name = "unknown"; |
@@ -350,21 +350,9 @@ static int fmvj18x_config(struct pcmcia_device *link) | |||
350 | 350 | ||
351 | DEBUG(0, "fmvj18x_config(0x%p)\n", link); | 351 | DEBUG(0, "fmvj18x_config(0x%p)\n", link); |
352 | 352 | ||
353 | /* | ||
354 | This reads the card's CONFIG tuple to find its configuration | ||
355 | registers. | ||
356 | */ | ||
357 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
358 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
359 | tuple.TupleData = (u_char *)buf; | 353 | tuple.TupleData = (u_char *)buf; |
360 | tuple.TupleDataMax = 64; | 354 | tuple.TupleDataMax = 64; |
361 | tuple.TupleOffset = 0; | 355 | tuple.TupleOffset = 0; |
362 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
363 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
364 | |||
365 | link->conf.ConfigBase = parse.config.base; | ||
366 | link->conf.Present = parse.config.rmask[0]; | ||
367 | |||
368 | tuple.DesiredTuple = CISTPL_FUNCE; | 356 | tuple.DesiredTuple = CISTPL_FUNCE; |
369 | tuple.TupleOffset = 0; | 357 | tuple.TupleOffset = 0; |
370 | if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) { | 358 | if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) { |
@@ -374,17 +362,12 @@ static int fmvj18x_config(struct pcmcia_device *link) | |||
374 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | 362 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); |
375 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | 363 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); |
376 | link->conf.ConfigIndex = parse.cftable_entry.index; | 364 | link->conf.ConfigIndex = parse.cftable_entry.index; |
377 | tuple.DesiredTuple = CISTPL_MANFID; | 365 | switch (link->manf_id) { |
378 | if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) | ||
379 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
380 | else | ||
381 | buf[0] = 0xffff; | ||
382 | switch (le16_to_cpu(buf[0])) { | ||
383 | case MANFID_TDK: | 366 | case MANFID_TDK: |
384 | cardtype = TDK; | 367 | cardtype = TDK; |
385 | if (le16_to_cpu(buf[1]) == PRODID_TDK_GN3410 | 368 | if (link->card_id == PRODID_TDK_GN3410 |
386 | || le16_to_cpu(buf[1]) == PRODID_TDK_NP9610 | 369 | || link->card_id == PRODID_TDK_NP9610 |
387 | || le16_to_cpu(buf[1]) == PRODID_TDK_MN3200) { | 370 | || link->card_id == PRODID_TDK_MN3200) { |
388 | /* MultiFunction Card */ | 371 | /* MultiFunction Card */ |
389 | link->conf.ConfigBase = 0x800; | 372 | link->conf.ConfigBase = 0x800; |
390 | link->conf.ConfigIndex = 0x47; | 373 | link->conf.ConfigIndex = 0x47; |
@@ -395,11 +378,11 @@ static int fmvj18x_config(struct pcmcia_device *link) | |||
395 | cardtype = CONTEC; | 378 | cardtype = CONTEC; |
396 | break; | 379 | break; |
397 | case MANFID_FUJITSU: | 380 | case MANFID_FUJITSU: |
398 | if (le16_to_cpu(buf[1]) == PRODID_FUJITSU_MBH10302) | 381 | if (link->card_id == PRODID_FUJITSU_MBH10302) |
399 | /* RATOC REX-5588/9822/4886's PRODID are 0004(=MBH10302), | 382 | /* RATOC REX-5588/9822/4886's PRODID are 0004(=MBH10302), |
400 | but these are MBH10304 based card. */ | 383 | but these are MBH10304 based card. */ |
401 | cardtype = MBH10304; | 384 | cardtype = MBH10304; |
402 | else if (le16_to_cpu(buf[1]) == PRODID_FUJITSU_MBH10304) | 385 | else if (link->card_id == PRODID_FUJITSU_MBH10304) |
403 | cardtype = MBH10304; | 386 | cardtype = MBH10304; |
404 | else | 387 | else |
405 | cardtype = LA501; | 388 | cardtype = LA501; |
@@ -409,14 +392,9 @@ static int fmvj18x_config(struct pcmcia_device *link) | |||
409 | } | 392 | } |
410 | } else { | 393 | } else { |
411 | /* old type card */ | 394 | /* old type card */ |
412 | tuple.DesiredTuple = CISTPL_MANFID; | 395 | switch (link->manf_id) { |
413 | if (pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) | ||
414 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
415 | else | ||
416 | buf[0] = 0xffff; | ||
417 | switch (le16_to_cpu(buf[0])) { | ||
418 | case MANFID_FUJITSU: | 396 | case MANFID_FUJITSU: |
419 | if (le16_to_cpu(buf[1]) == PRODID_FUJITSU_MBH10304) { | 397 | if (link->card_id == PRODID_FUJITSU_MBH10304) { |
420 | cardtype = XXX10304; /* MBH10304 with buggy CIS */ | 398 | cardtype = XXX10304; /* MBH10304 with buggy CIS */ |
421 | link->conf.ConfigIndex = 0x20; | 399 | link->conf.ConfigIndex = 0x20; |
422 | } else { | 400 | } else { |
diff --git a/drivers/net/pcmcia/ibmtr_cs.c b/drivers/net/pcmcia/ibmtr_cs.c index bc0ca41a0542..a956a51d284f 100644 --- a/drivers/net/pcmcia/ibmtr_cs.c +++ b/drivers/net/pcmcia/ibmtr_cs.c | |||
@@ -222,24 +222,12 @@ static int ibmtr_config(struct pcmcia_device *link) | |||
222 | ibmtr_dev_t *info = link->priv; | 222 | ibmtr_dev_t *info = link->priv; |
223 | struct net_device *dev = info->dev; | 223 | struct net_device *dev = info->dev; |
224 | struct tok_info *ti = netdev_priv(dev); | 224 | struct tok_info *ti = netdev_priv(dev); |
225 | tuple_t tuple; | ||
226 | cisparse_t parse; | ||
227 | win_req_t req; | 225 | win_req_t req; |
228 | memreq_t mem; | 226 | memreq_t mem; |
229 | int i, last_ret, last_fn; | 227 | int i, last_ret, last_fn; |
230 | u_char buf[64]; | ||
231 | 228 | ||
232 | DEBUG(0, "ibmtr_config(0x%p)\n", link); | 229 | DEBUG(0, "ibmtr_config(0x%p)\n", link); |
233 | 230 | ||
234 | tuple.Attributes = 0; | ||
235 | tuple.TupleData = buf; | ||
236 | tuple.TupleDataMax = 64; | ||
237 | tuple.TupleOffset = 0; | ||
238 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
239 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
240 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
241 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
242 | link->conf.ConfigBase = parse.config.base; | ||
243 | link->conf.ConfigIndex = 0x61; | 231 | link->conf.ConfigIndex = 0x61; |
244 | 232 | ||
245 | /* Determine if this is PRIMARY or ALTERNATE. */ | 233 | /* Determine if this is PRIMARY or ALTERNATE. */ |
diff --git a/drivers/net/pcmcia/nmclan_cs.c b/drivers/net/pcmcia/nmclan_cs.c index e77110e4c288..3b707747a811 100644 --- a/drivers/net/pcmcia/nmclan_cs.c +++ b/drivers/net/pcmcia/nmclan_cs.c | |||
@@ -656,23 +656,12 @@ static int nmclan_config(struct pcmcia_device *link) | |||
656 | struct net_device *dev = link->priv; | 656 | struct net_device *dev = link->priv; |
657 | mace_private *lp = netdev_priv(dev); | 657 | mace_private *lp = netdev_priv(dev); |
658 | tuple_t tuple; | 658 | tuple_t tuple; |
659 | cisparse_t parse; | ||
660 | u_char buf[64]; | 659 | u_char buf[64]; |
661 | int i, last_ret, last_fn; | 660 | int i, last_ret, last_fn; |
662 | kio_addr_t ioaddr; | 661 | kio_addr_t ioaddr; |
663 | 662 | ||
664 | DEBUG(0, "nmclan_config(0x%p)\n", link); | 663 | DEBUG(0, "nmclan_config(0x%p)\n", link); |
665 | 664 | ||
666 | tuple.Attributes = 0; | ||
667 | tuple.TupleData = buf; | ||
668 | tuple.TupleDataMax = 64; | ||
669 | tuple.TupleOffset = 0; | ||
670 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
671 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
672 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
673 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
674 | link->conf.ConfigBase = parse.config.base; | ||
675 | |||
676 | CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io)); | 665 | CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io)); |
677 | CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq)); | 666 | CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq)); |
678 | CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); | 667 | CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); |
@@ -686,6 +675,7 @@ static int nmclan_config(struct pcmcia_device *link) | |||
686 | tuple.TupleData = buf; | 675 | tuple.TupleData = buf; |
687 | tuple.TupleDataMax = 64; | 676 | tuple.TupleDataMax = 64; |
688 | tuple.TupleOffset = 0; | 677 | tuple.TupleOffset = 0; |
678 | tuple.Attributes = 0; | ||
689 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | 679 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); |
690 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | 680 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); |
691 | memcpy(dev->dev_addr, tuple.TupleData, ETHER_ADDR_LEN); | 681 | memcpy(dev->dev_addr, tuple.TupleData, ETHER_ADDR_LEN); |
diff --git a/drivers/net/pcmcia/pcnet_cs.c b/drivers/net/pcmcia/pcnet_cs.c index c51cc5d8789a..2b1238e2dbdb 100644 --- a/drivers/net/pcmcia/pcnet_cs.c +++ b/drivers/net/pcmcia/pcnet_cs.c | |||
@@ -519,31 +519,15 @@ static int pcnet_config(struct pcmcia_device *link) | |||
519 | tuple_t tuple; | 519 | tuple_t tuple; |
520 | cisparse_t parse; | 520 | cisparse_t parse; |
521 | int i, last_ret, last_fn, start_pg, stop_pg, cm_offset; | 521 | int i, last_ret, last_fn, start_pg, stop_pg, cm_offset; |
522 | int manfid = 0, prodid = 0, has_shmem = 0; | 522 | int has_shmem = 0; |
523 | u_short buf[64]; | 523 | u_short buf[64]; |
524 | hw_info_t *hw_info; | 524 | hw_info_t *hw_info; |
525 | 525 | ||
526 | DEBUG(0, "pcnet_config(0x%p)\n", link); | 526 | DEBUG(0, "pcnet_config(0x%p)\n", link); |
527 | 527 | ||
528 | tuple.Attributes = 0; | ||
529 | tuple.TupleData = (cisdata_t *)buf; | 528 | tuple.TupleData = (cisdata_t *)buf; |
530 | tuple.TupleDataMax = sizeof(buf); | 529 | tuple.TupleDataMax = sizeof(buf); |
531 | tuple.TupleOffset = 0; | 530 | tuple.TupleOffset = 0; |
532 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
533 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
534 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
535 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
536 | link->conf.ConfigBase = parse.config.base; | ||
537 | link->conf.Present = parse.config.rmask[0]; | ||
538 | |||
539 | tuple.DesiredTuple = CISTPL_MANFID; | ||
540 | tuple.Attributes = TUPLE_RETURN_COMMON; | ||
541 | if ((pcmcia_get_first_tuple(link, &tuple) == CS_SUCCESS) && | ||
542 | (pcmcia_get_tuple_data(link, &tuple) == CS_SUCCESS)) { | ||
543 | manfid = le16_to_cpu(buf[0]); | ||
544 | prodid = le16_to_cpu(buf[1]); | ||
545 | } | ||
546 | |||
547 | tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY; | 531 | tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY; |
548 | tuple.Attributes = 0; | 532 | tuple.Attributes = 0; |
549 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | 533 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); |
@@ -589,8 +573,8 @@ static int pcnet_config(struct pcmcia_device *link) | |||
589 | link->conf.Attributes |= CONF_ENABLE_SPKR; | 573 | link->conf.Attributes |= CONF_ENABLE_SPKR; |
590 | link->conf.Status = CCSR_AUDIO_ENA; | 574 | link->conf.Status = CCSR_AUDIO_ENA; |
591 | } | 575 | } |
592 | if ((manfid == MANFID_IBM) && | 576 | if ((link->manf_id == MANFID_IBM) && |
593 | (prodid == PRODID_IBM_HOME_AND_AWAY)) | 577 | (link->card_id == PRODID_IBM_HOME_AND_AWAY)) |
594 | link->conf.ConfigIndex |= 0x10; | 578 | link->conf.ConfigIndex |= 0x10; |
595 | 579 | ||
596 | CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); | 580 | CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); |
@@ -624,10 +608,10 @@ static int pcnet_config(struct pcmcia_device *link) | |||
624 | info->flags = hw_info->flags; | 608 | info->flags = hw_info->flags; |
625 | /* Check for user overrides */ | 609 | /* Check for user overrides */ |
626 | info->flags |= (delay_output) ? DELAY_OUTPUT : 0; | 610 | info->flags |= (delay_output) ? DELAY_OUTPUT : 0; |
627 | if ((manfid == MANFID_SOCKET) && | 611 | if ((link->manf_id == MANFID_SOCKET) && |
628 | ((prodid == PRODID_SOCKET_LPE) || | 612 | ((link->card_id == PRODID_SOCKET_LPE) || |
629 | (prodid == PRODID_SOCKET_LPE_CF) || | 613 | (link->card_id == PRODID_SOCKET_LPE_CF) || |
630 | (prodid == PRODID_SOCKET_EIO))) | 614 | (link->card_id == PRODID_SOCKET_EIO))) |
631 | info->flags &= ~USE_BIG_BUF; | 615 | info->flags &= ~USE_BIG_BUF; |
632 | if (!use_big_buf) | 616 | if (!use_big_buf) |
633 | info->flags &= ~USE_BIG_BUF; | 617 | info->flags &= ~USE_BIG_BUF; |
diff --git a/drivers/net/pcmcia/smc91c92_cs.c b/drivers/net/pcmcia/smc91c92_cs.c index 20fcc3576202..530df8883fe5 100644 --- a/drivers/net/pcmcia/smc91c92_cs.c +++ b/drivers/net/pcmcia/smc91c92_cs.c | |||
@@ -560,16 +560,8 @@ static int mhz_setup(struct pcmcia_device *link) | |||
560 | 560 | ||
561 | /* Read the station address from the CIS. It is stored as the last | 561 | /* Read the station address from the CIS. It is stored as the last |
562 | (fourth) string in the Version 1 Version/ID tuple. */ | 562 | (fourth) string in the Version 1 Version/ID tuple. */ |
563 | tuple->DesiredTuple = CISTPL_VERS_1; | 563 | if (link->prod_id[3]) { |
564 | if (first_tuple(link, tuple, parse) != CS_SUCCESS) { | 564 | station_addr = link->prod_id[3]; |
565 | rc = -1; | ||
566 | goto free_cfg_mem; | ||
567 | } | ||
568 | /* Ugh -- the EM1144 card has two VERS_1 tuples!?! */ | ||
569 | if (next_tuple(link, tuple, parse) != CS_SUCCESS) | ||
570 | first_tuple(link, tuple, parse); | ||
571 | if (parse->version_1.ns > 3) { | ||
572 | station_addr = parse->version_1.str + parse->version_1.ofs[3]; | ||
573 | if (cvt_ascii_address(dev, station_addr) == 0) { | 565 | if (cvt_ascii_address(dev, station_addr) == 0) { |
574 | rc = 0; | 566 | rc = 0; |
575 | goto free_cfg_mem; | 567 | goto free_cfg_mem; |
@@ -744,15 +736,12 @@ static int smc_setup(struct pcmcia_device *link) | |||
744 | } | 736 | } |
745 | } | 737 | } |
746 | /* Try the third string in the Version 1 Version/ID tuple. */ | 738 | /* Try the third string in the Version 1 Version/ID tuple. */ |
747 | tuple->DesiredTuple = CISTPL_VERS_1; | 739 | if (link->prod_id[2]) { |
748 | if (first_tuple(link, tuple, parse) != CS_SUCCESS) { | 740 | station_addr = link->prod_id[2]; |
749 | rc = -1; | 741 | if (cvt_ascii_address(dev, station_addr) == 0) { |
750 | goto free_cfg_mem; | 742 | rc = 0; |
751 | } | 743 | goto free_cfg_mem; |
752 | station_addr = parse->version_1.str + parse->version_1.ofs[2]; | 744 | } |
753 | if (cvt_ascii_address(dev, station_addr) == 0) { | ||
754 | rc = 0; | ||
755 | goto free_cfg_mem; | ||
756 | } | 745 | } |
757 | 746 | ||
758 | rc = -1; | 747 | rc = -1; |
@@ -970,10 +959,6 @@ static int smc91c92_config(struct pcmcia_device *link) | |||
970 | { | 959 | { |
971 | struct net_device *dev = link->priv; | 960 | struct net_device *dev = link->priv; |
972 | struct smc_private *smc = netdev_priv(dev); | 961 | struct smc_private *smc = netdev_priv(dev); |
973 | struct smc_cfg_mem *cfg_mem; | ||
974 | tuple_t *tuple; | ||
975 | cisparse_t *parse; | ||
976 | u_char *buf; | ||
977 | char *name; | 962 | char *name; |
978 | int i, j, rev; | 963 | int i, j, rev; |
979 | kio_addr_t ioaddr; | 964 | kio_addr_t ioaddr; |
@@ -981,30 +966,8 @@ static int smc91c92_config(struct pcmcia_device *link) | |||
981 | 966 | ||
982 | DEBUG(0, "smc91c92_config(0x%p)\n", link); | 967 | DEBUG(0, "smc91c92_config(0x%p)\n", link); |
983 | 968 | ||
984 | cfg_mem = kmalloc(sizeof(struct smc_cfg_mem), GFP_KERNEL); | 969 | smc->manfid = link->manf_id; |
985 | if (!cfg_mem) | 970 | smc->cardid = link->card_id; |
986 | goto config_failed; | ||
987 | |||
988 | tuple = &cfg_mem->tuple; | ||
989 | parse = &cfg_mem->parse; | ||
990 | buf = cfg_mem->buf; | ||
991 | |||
992 | tuple->Attributes = tuple->TupleOffset = 0; | ||
993 | tuple->TupleData = (cisdata_t *)buf; | ||
994 | tuple->TupleDataMax = 64; | ||
995 | |||
996 | tuple->DesiredTuple = CISTPL_CONFIG; | ||
997 | i = first_tuple(link, tuple, parse); | ||
998 | CS_EXIT_TEST(i, ParseTuple, config_failed); | ||
999 | link->conf.ConfigBase = parse->config.base; | ||
1000 | link->conf.Present = parse->config.rmask[0]; | ||
1001 | |||
1002 | tuple->DesiredTuple = CISTPL_MANFID; | ||
1003 | tuple->Attributes = TUPLE_RETURN_COMMON; | ||
1004 | if (first_tuple(link, tuple, parse) == CS_SUCCESS) { | ||
1005 | smc->manfid = parse->manfid.manf; | ||
1006 | smc->cardid = parse->manfid.card; | ||
1007 | } | ||
1008 | 971 | ||
1009 | if ((smc->manfid == MANFID_OSITECH) && | 972 | if ((smc->manfid == MANFID_OSITECH) && |
1010 | (smc->cardid != PRODID_OSITECH_SEVEN)) { | 973 | (smc->cardid != PRODID_OSITECH_SEVEN)) { |
@@ -1134,14 +1097,12 @@ static int smc91c92_config(struct pcmcia_device *link) | |||
1134 | printk(KERN_NOTICE " No MII transceivers found!\n"); | 1097 | printk(KERN_NOTICE " No MII transceivers found!\n"); |
1135 | } | 1098 | } |
1136 | } | 1099 | } |
1137 | kfree(cfg_mem); | ||
1138 | return 0; | 1100 | return 0; |
1139 | 1101 | ||
1140 | config_undo: | 1102 | config_undo: |
1141 | unregister_netdev(dev); | 1103 | unregister_netdev(dev); |
1142 | config_failed: /* CS_EXIT_TEST() calls jump to here... */ | 1104 | config_failed: /* CS_EXIT_TEST() calls jump to here... */ |
1143 | smc91c92_release(link); | 1105 | smc91c92_release(link); |
1144 | kfree(cfg_mem); | ||
1145 | return -ENODEV; | 1106 | return -ENODEV; |
1146 | } /* smc91c92_config */ | 1107 | } /* smc91c92_config */ |
1147 | 1108 | ||
diff --git a/drivers/net/pcmcia/xirc2ps_cs.c b/drivers/net/pcmcia/xirc2ps_cs.c index f3914f58d67f..8478dca3d8d1 100644 --- a/drivers/net/pcmcia/xirc2ps_cs.c +++ b/drivers/net/pcmcia/xirc2ps_cs.c | |||
@@ -332,6 +332,7 @@ static irqreturn_t xirc2ps_interrupt(int irq, void *dev_id); | |||
332 | */ | 332 | */ |
333 | 333 | ||
334 | typedef struct local_info_t { | 334 | typedef struct local_info_t { |
335 | struct net_device *dev; | ||
335 | struct pcmcia_device *p_dev; | 336 | struct pcmcia_device *p_dev; |
336 | dev_node_t node; | 337 | dev_node_t node; |
337 | struct net_device_stats stats; | 338 | struct net_device_stats stats; |
@@ -353,7 +354,7 @@ typedef struct local_info_t { | |||
353 | */ | 354 | */ |
354 | static int do_start_xmit(struct sk_buff *skb, struct net_device *dev); | 355 | static int do_start_xmit(struct sk_buff *skb, struct net_device *dev); |
355 | static void do_tx_timeout(struct net_device *dev); | 356 | static void do_tx_timeout(struct net_device *dev); |
356 | static void xirc2ps_tx_timeout_task(void *data); | 357 | static void xirc2ps_tx_timeout_task(struct work_struct *work); |
357 | static struct net_device_stats *do_get_stats(struct net_device *dev); | 358 | static struct net_device_stats *do_get_stats(struct net_device *dev); |
358 | static void set_addresses(struct net_device *dev); | 359 | static void set_addresses(struct net_device *dev); |
359 | static void set_multicast_list(struct net_device *dev); | 360 | static void set_multicast_list(struct net_device *dev); |
@@ -567,6 +568,7 @@ xirc2ps_probe(struct pcmcia_device *link) | |||
567 | if (!dev) | 568 | if (!dev) |
568 | return -ENOMEM; | 569 | return -ENOMEM; |
569 | local = netdev_priv(dev); | 570 | local = netdev_priv(dev); |
571 | local->dev = dev; | ||
570 | local->p_dev = link; | 572 | local->p_dev = link; |
571 | link->priv = dev; | 573 | link->priv = dev; |
572 | 574 | ||
@@ -591,7 +593,7 @@ xirc2ps_probe(struct pcmcia_device *link) | |||
591 | #ifdef HAVE_TX_TIMEOUT | 593 | #ifdef HAVE_TX_TIMEOUT |
592 | dev->tx_timeout = do_tx_timeout; | 594 | dev->tx_timeout = do_tx_timeout; |
593 | dev->watchdog_timeo = TX_TIMEOUT; | 595 | dev->watchdog_timeo = TX_TIMEOUT; |
594 | INIT_WORK(&local->tx_timeout_task, xirc2ps_tx_timeout_task, dev); | 596 | INIT_WORK(&local->tx_timeout_task, xirc2ps_tx_timeout_task); |
595 | #endif | 597 | #endif |
596 | 598 | ||
597 | return xirc2ps_config(link); | 599 | return xirc2ps_config(link); |
@@ -707,22 +709,11 @@ set_card_type(struct pcmcia_device *link, const void *s) | |||
707 | * Returns: true if this is a CE2 | 709 | * Returns: true if this is a CE2 |
708 | */ | 710 | */ |
709 | static int | 711 | static int |
710 | has_ce2_string(struct pcmcia_device * link) | 712 | has_ce2_string(struct pcmcia_device * p_dev) |
711 | { | 713 | { |
712 | tuple_t tuple; | 714 | if (p_dev->prod_id[2] && strstr(p_dev->prod_id[2], "CE2")) |
713 | cisparse_t parse; | 715 | return 1; |
714 | u_char buf[256]; | 716 | return 0; |
715 | |||
716 | tuple.Attributes = 0; | ||
717 | tuple.TupleData = buf; | ||
718 | tuple.TupleDataMax = 254; | ||
719 | tuple.TupleOffset = 0; | ||
720 | tuple.DesiredTuple = CISTPL_VERS_1; | ||
721 | if (!first_tuple(link, &tuple, &parse) && parse.version_1.ns > 2) { | ||
722 | if (strstr(parse.version_1.str + parse.version_1.ofs[2], "CE2")) | ||
723 | return 1; | ||
724 | } | ||
725 | return 0; | ||
726 | } | 717 | } |
727 | 718 | ||
728 | /**************** | 719 | /**************** |
@@ -792,13 +783,6 @@ xirc2ps_config(struct pcmcia_device * link) | |||
792 | goto failure; | 783 | goto failure; |
793 | } | 784 | } |
794 | 785 | ||
795 | /* get configuration stuff */ | ||
796 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
797 | if ((err=first_tuple(link, &tuple, &parse))) | ||
798 | goto cis_error; | ||
799 | link->conf.ConfigBase = parse.config.base; | ||
800 | link->conf.Present = parse.config.rmask[0]; | ||
801 | |||
802 | /* get the ethernet address from the CIS */ | 786 | /* get the ethernet address from the CIS */ |
803 | tuple.DesiredTuple = CISTPL_FUNCE; | 787 | tuple.DesiredTuple = CISTPL_FUNCE; |
804 | for (err = first_tuple(link, &tuple, &parse); !err; | 788 | for (err = first_tuple(link, &tuple, &parse); !err; |
@@ -1062,8 +1046,6 @@ xirc2ps_config(struct pcmcia_device * link) | |||
1062 | xirc2ps_release(link); | 1046 | xirc2ps_release(link); |
1063 | return -ENODEV; | 1047 | return -ENODEV; |
1064 | 1048 | ||
1065 | cis_error: | ||
1066 | printk(KNOT_XIRC "unable to parse CIS\n"); | ||
1067 | failure: | 1049 | failure: |
1068 | return -ENODEV; | 1050 | return -ENODEV; |
1069 | } /* xirc2ps_config */ | 1051 | } /* xirc2ps_config */ |
@@ -1344,9 +1326,11 @@ xirc2ps_interrupt(int irq, void *dev_id) | |||
1344 | /*====================================================================*/ | 1326 | /*====================================================================*/ |
1345 | 1327 | ||
1346 | static void | 1328 | static void |
1347 | xirc2ps_tx_timeout_task(void *data) | 1329 | xirc2ps_tx_timeout_task(struct work_struct *work) |
1348 | { | 1330 | { |
1349 | struct net_device *dev = data; | 1331 | local_info_t *local = |
1332 | container_of(work, local_info_t, tx_timeout_task); | ||
1333 | struct net_device *dev = local->dev; | ||
1350 | /* reset the card */ | 1334 | /* reset the card */ |
1351 | do_reset(dev,1); | 1335 | do_reset(dev,1); |
1352 | dev->trans_start = jiffies; | 1336 | dev->trans_start = jiffies; |
diff --git a/drivers/net/phy/fixed.c b/drivers/net/phy/fixed.c index f14e99276dba..096d4a100bf2 100644 --- a/drivers/net/phy/fixed.c +++ b/drivers/net/phy/fixed.c | |||
@@ -254,7 +254,7 @@ static int fixed_mdio_register_device(int number, int speed, int duplex) | |||
254 | goto device_create_fail; | 254 | goto device_create_fail; |
255 | } | 255 | } |
256 | 256 | ||
257 | phydev->irq = -1; | 257 | phydev->irq = PHY_IGNORE_INTERRUPT; |
258 | phydev->dev.bus = &mdio_bus_type; | 258 | phydev->dev.bus = &mdio_bus_type; |
259 | 259 | ||
260 | if(number) | 260 | if(number) |
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 88237bdb5255..4044bb1ada86 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c | |||
@@ -397,7 +397,7 @@ out_unlock: | |||
397 | EXPORT_SYMBOL(phy_start_aneg); | 397 | EXPORT_SYMBOL(phy_start_aneg); |
398 | 398 | ||
399 | 399 | ||
400 | static void phy_change(void *data); | 400 | static void phy_change(struct work_struct *work); |
401 | static void phy_timer(unsigned long data); | 401 | static void phy_timer(unsigned long data); |
402 | 402 | ||
403 | /* phy_start_machine: | 403 | /* phy_start_machine: |
@@ -555,7 +555,7 @@ int phy_start_interrupts(struct phy_device *phydev) | |||
555 | { | 555 | { |
556 | int err = 0; | 556 | int err = 0; |
557 | 557 | ||
558 | INIT_WORK(&phydev->phy_queue, phy_change, phydev); | 558 | INIT_WORK(&phydev->phy_queue, phy_change); |
559 | 559 | ||
560 | if (request_irq(phydev->irq, phy_interrupt, | 560 | if (request_irq(phydev->irq, phy_interrupt, |
561 | IRQF_SHARED, | 561 | IRQF_SHARED, |
@@ -598,10 +598,11 @@ EXPORT_SYMBOL(phy_stop_interrupts); | |||
598 | 598 | ||
599 | 599 | ||
600 | /* Scheduled by the phy_interrupt/timer to handle PHY changes */ | 600 | /* Scheduled by the phy_interrupt/timer to handle PHY changes */ |
601 | static void phy_change(void *data) | 601 | static void phy_change(struct work_struct *work) |
602 | { | 602 | { |
603 | int err; | 603 | int err; |
604 | struct phy_device *phydev = data; | 604 | struct phy_device *phydev = |
605 | container_of(work, struct phy_device, phy_queue); | ||
605 | 606 | ||
606 | err = phy_disable_interrupts(phydev); | 607 | err = phy_disable_interrupts(phydev); |
607 | 608 | ||
diff --git a/drivers/net/plip.c b/drivers/net/plip.c index 71afb274498f..6bb085f54437 100644 --- a/drivers/net/plip.c +++ b/drivers/net/plip.c | |||
@@ -138,9 +138,9 @@ static const unsigned int net_debug = NET_DEBUG; | |||
138 | #define PLIP_NIBBLE_WAIT 3000 | 138 | #define PLIP_NIBBLE_WAIT 3000 |
139 | 139 | ||
140 | /* Bottom halves */ | 140 | /* Bottom halves */ |
141 | static void plip_kick_bh(struct net_device *dev); | 141 | static void plip_kick_bh(struct work_struct *work); |
142 | static void plip_bh(struct net_device *dev); | 142 | static void plip_bh(struct work_struct *work); |
143 | static void plip_timer_bh(struct net_device *dev); | 143 | static void plip_timer_bh(struct work_struct *work); |
144 | 144 | ||
145 | /* Interrupt handler */ | 145 | /* Interrupt handler */ |
146 | static void plip_interrupt(int irq, void *dev_id); | 146 | static void plip_interrupt(int irq, void *dev_id); |
@@ -207,9 +207,10 @@ struct plip_local { | |||
207 | 207 | ||
208 | struct net_local { | 208 | struct net_local { |
209 | struct net_device_stats enet_stats; | 209 | struct net_device_stats enet_stats; |
210 | struct net_device *dev; | ||
210 | struct work_struct immediate; | 211 | struct work_struct immediate; |
211 | struct work_struct deferred; | 212 | struct delayed_work deferred; |
212 | struct work_struct timer; | 213 | struct delayed_work timer; |
213 | struct plip_local snd_data; | 214 | struct plip_local snd_data; |
214 | struct plip_local rcv_data; | 215 | struct plip_local rcv_data; |
215 | struct pardevice *pardev; | 216 | struct pardevice *pardev; |
@@ -306,11 +307,11 @@ plip_init_netdev(struct net_device *dev) | |||
306 | nl->nibble = PLIP_NIBBLE_WAIT; | 307 | nl->nibble = PLIP_NIBBLE_WAIT; |
307 | 308 | ||
308 | /* Initialize task queue structures */ | 309 | /* Initialize task queue structures */ |
309 | INIT_WORK(&nl->immediate, (void (*)(void *))plip_bh, dev); | 310 | INIT_WORK(&nl->immediate, plip_bh); |
310 | INIT_WORK(&nl->deferred, (void (*)(void *))plip_kick_bh, dev); | 311 | INIT_DELAYED_WORK(&nl->deferred, plip_kick_bh); |
311 | 312 | ||
312 | if (dev->irq == -1) | 313 | if (dev->irq == -1) |
313 | INIT_WORK(&nl->timer, (void (*)(void *))plip_timer_bh, dev); | 314 | INIT_DELAYED_WORK(&nl->timer, plip_timer_bh); |
314 | 315 | ||
315 | spin_lock_init(&nl->lock); | 316 | spin_lock_init(&nl->lock); |
316 | } | 317 | } |
@@ -319,9 +320,10 @@ plip_init_netdev(struct net_device *dev) | |||
319 | This routine is kicked by do_timer(). | 320 | This routine is kicked by do_timer(). |
320 | Request `plip_bh' to be invoked. */ | 321 | Request `plip_bh' to be invoked. */ |
321 | static void | 322 | static void |
322 | plip_kick_bh(struct net_device *dev) | 323 | plip_kick_bh(struct work_struct *work) |
323 | { | 324 | { |
324 | struct net_local *nl = netdev_priv(dev); | 325 | struct net_local *nl = |
326 | container_of(work, struct net_local, deferred.work); | ||
325 | 327 | ||
326 | if (nl->is_deferred) | 328 | if (nl->is_deferred) |
327 | schedule_work(&nl->immediate); | 329 | schedule_work(&nl->immediate); |
@@ -362,9 +364,9 @@ static const plip_func connection_state_table[] = | |||
362 | 364 | ||
363 | /* Bottom half handler of PLIP. */ | 365 | /* Bottom half handler of PLIP. */ |
364 | static void | 366 | static void |
365 | plip_bh(struct net_device *dev) | 367 | plip_bh(struct work_struct *work) |
366 | { | 368 | { |
367 | struct net_local *nl = netdev_priv(dev); | 369 | struct net_local *nl = container_of(work, struct net_local, immediate); |
368 | struct plip_local *snd = &nl->snd_data; | 370 | struct plip_local *snd = &nl->snd_data; |
369 | struct plip_local *rcv = &nl->rcv_data; | 371 | struct plip_local *rcv = &nl->rcv_data; |
370 | plip_func f; | 372 | plip_func f; |
@@ -372,20 +374,21 @@ plip_bh(struct net_device *dev) | |||
372 | 374 | ||
373 | nl->is_deferred = 0; | 375 | nl->is_deferred = 0; |
374 | f = connection_state_table[nl->connection]; | 376 | f = connection_state_table[nl->connection]; |
375 | if ((r = (*f)(dev, nl, snd, rcv)) != OK | 377 | if ((r = (*f)(nl->dev, nl, snd, rcv)) != OK |
376 | && (r = plip_bh_timeout_error(dev, nl, snd, rcv, r)) != OK) { | 378 | && (r = plip_bh_timeout_error(nl->dev, nl, snd, rcv, r)) != OK) { |
377 | nl->is_deferred = 1; | 379 | nl->is_deferred = 1; |
378 | schedule_delayed_work(&nl->deferred, 1); | 380 | schedule_delayed_work(&nl->deferred, 1); |
379 | } | 381 | } |
380 | } | 382 | } |
381 | 383 | ||
382 | static void | 384 | static void |
383 | plip_timer_bh(struct net_device *dev) | 385 | plip_timer_bh(struct work_struct *work) |
384 | { | 386 | { |
385 | struct net_local *nl = netdev_priv(dev); | 387 | struct net_local *nl = |
388 | container_of(work, struct net_local, timer.work); | ||
386 | 389 | ||
387 | if (!(atomic_read (&nl->kill_timer))) { | 390 | if (!(atomic_read (&nl->kill_timer))) { |
388 | plip_interrupt (-1, dev); | 391 | plip_interrupt (-1, nl->dev); |
389 | 392 | ||
390 | schedule_delayed_work(&nl->timer, 1); | 393 | schedule_delayed_work(&nl->timer, 1); |
391 | } | 394 | } |
@@ -1284,6 +1287,7 @@ static void plip_attach (struct parport *port) | |||
1284 | } | 1287 | } |
1285 | 1288 | ||
1286 | nl = netdev_priv(dev); | 1289 | nl = netdev_priv(dev); |
1290 | nl->dev = dev; | ||
1287 | nl->pardev = parport_register_device(port, name, plip_preempt, | 1291 | nl->pardev = parport_register_device(port, name, plip_preempt, |
1288 | plip_wakeup, plip_interrupt, | 1292 | plip_wakeup, plip_interrupt, |
1289 | 0, dev); | 1293 | 0, dev); |
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index 0adee733b761..315d5c3fc66a 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c | |||
@@ -393,7 +393,7 @@ static int pppoe_rcv(struct sk_buff *skb, | |||
393 | 393 | ||
394 | po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source); | 394 | po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source); |
395 | if (po != NULL) | 395 | if (po != NULL) |
396 | return sk_receive_skb(sk_pppox(po), skb); | 396 | return sk_receive_skb(sk_pppox(po), skb, 0); |
397 | drop: | 397 | drop: |
398 | kfree_skb(skb); | 398 | kfree_skb(skb); |
399 | out: | 399 | out: |
diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c index ec640f6229ae..d79d141a601d 100644 --- a/drivers/net/qla3xxx.c +++ b/drivers/net/qla3xxx.c | |||
@@ -2008,7 +2008,7 @@ static irqreturn_t ql3xxx_isr(int irq, void *dev_id) | |||
2008 | "%s: Another function issued a reset to the " | 2008 | "%s: Another function issued a reset to the " |
2009 | "chip. ISR value = %x.\n", ndev->name, value); | 2009 | "chip. ISR value = %x.\n", ndev->name, value); |
2010 | } | 2010 | } |
2011 | queue_work(qdev->workqueue, &qdev->reset_work); | 2011 | queue_delayed_work(qdev->workqueue, &qdev->reset_work, 0); |
2012 | spin_unlock(&qdev->adapter_lock); | 2012 | spin_unlock(&qdev->adapter_lock); |
2013 | } else if (value & ISP_IMR_DISABLE_CMPL_INT) { | 2013 | } else if (value & ISP_IMR_DISABLE_CMPL_INT) { |
2014 | ql_disable_interrupts(qdev); | 2014 | ql_disable_interrupts(qdev); |
@@ -3182,11 +3182,13 @@ static void ql3xxx_tx_timeout(struct net_device *ndev) | |||
3182 | /* | 3182 | /* |
3183 | * Wake up the worker to process this event. | 3183 | * Wake up the worker to process this event. |
3184 | */ | 3184 | */ |
3185 | queue_work(qdev->workqueue, &qdev->tx_timeout_work); | 3185 | queue_delayed_work(qdev->workqueue, &qdev->tx_timeout_work, 0); |
3186 | } | 3186 | } |
3187 | 3187 | ||
3188 | static void ql_reset_work(struct ql3_adapter *qdev) | 3188 | static void ql_reset_work(struct work_struct *work) |
3189 | { | 3189 | { |
3190 | struct ql3_adapter *qdev = | ||
3191 | container_of(work, struct ql3_adapter, reset_work.work); | ||
3190 | struct net_device *ndev = qdev->ndev; | 3192 | struct net_device *ndev = qdev->ndev; |
3191 | u32 value; | 3193 | u32 value; |
3192 | struct ql_tx_buf_cb *tx_cb; | 3194 | struct ql_tx_buf_cb *tx_cb; |
@@ -3278,9 +3280,12 @@ static void ql_reset_work(struct ql3_adapter *qdev) | |||
3278 | } | 3280 | } |
3279 | } | 3281 | } |
3280 | 3282 | ||
3281 | static void ql_tx_timeout_work(struct ql3_adapter *qdev) | 3283 | static void ql_tx_timeout_work(struct work_struct *work) |
3282 | { | 3284 | { |
3283 | ql_cycle_adapter(qdev,QL_DO_RESET); | 3285 | struct ql3_adapter *qdev = |
3286 | container_of(work, struct ql3_adapter, tx_timeout_work.work); | ||
3287 | |||
3288 | ql_cycle_adapter(qdev, QL_DO_RESET); | ||
3284 | } | 3289 | } |
3285 | 3290 | ||
3286 | static void ql_get_board_info(struct ql3_adapter *qdev) | 3291 | static void ql_get_board_info(struct ql3_adapter *qdev) |
@@ -3459,9 +3464,8 @@ static int __devinit ql3xxx_probe(struct pci_dev *pdev, | |||
3459 | netif_stop_queue(ndev); | 3464 | netif_stop_queue(ndev); |
3460 | 3465 | ||
3461 | qdev->workqueue = create_singlethread_workqueue(ndev->name); | 3466 | qdev->workqueue = create_singlethread_workqueue(ndev->name); |
3462 | INIT_WORK(&qdev->reset_work, (void (*)(void *))ql_reset_work, qdev); | 3467 | INIT_DELAYED_WORK(&qdev->reset_work, ql_reset_work); |
3463 | INIT_WORK(&qdev->tx_timeout_work, | 3468 | INIT_DELAYED_WORK(&qdev->tx_timeout_work, ql_tx_timeout_work); |
3464 | (void (*)(void *))ql_tx_timeout_work, qdev); | ||
3465 | 3469 | ||
3466 | init_timer(&qdev->adapter_timer); | 3470 | init_timer(&qdev->adapter_timer); |
3467 | qdev->adapter_timer.function = ql3xxx_timer; | 3471 | qdev->adapter_timer.function = ql3xxx_timer; |
diff --git a/drivers/net/qla3xxx.h b/drivers/net/qla3xxx.h index 65da2c0bfda6..ea94de7fd071 100644 --- a/drivers/net/qla3xxx.h +++ b/drivers/net/qla3xxx.h | |||
@@ -1186,8 +1186,8 @@ struct ql3_adapter { | |||
1186 | u32 numPorts; | 1186 | u32 numPorts; |
1187 | struct net_device_stats stats; | 1187 | struct net_device_stats stats; |
1188 | struct workqueue_struct *workqueue; | 1188 | struct workqueue_struct *workqueue; |
1189 | struct work_struct reset_work; | 1189 | struct delayed_work reset_work; |
1190 | struct work_struct tx_timeout_work; | 1190 | struct delayed_work tx_timeout_work; |
1191 | u32 max_frame_size; | 1191 | u32 max_frame_size; |
1192 | }; | 1192 | }; |
1193 | 1193 | ||
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 2379d83768d6..f83b41d4cb0e 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c | |||
@@ -425,6 +425,7 @@ struct ring_info { | |||
425 | struct rtl8169_private { | 425 | struct rtl8169_private { |
426 | void __iomem *mmio_addr; /* memory map physical address */ | 426 | void __iomem *mmio_addr; /* memory map physical address */ |
427 | struct pci_dev *pci_dev; /* Index of PCI device */ | 427 | struct pci_dev *pci_dev; /* Index of PCI device */ |
428 | struct net_device *dev; | ||
428 | struct net_device_stats stats; /* statistics of net device */ | 429 | struct net_device_stats stats; /* statistics of net device */ |
429 | spinlock_t lock; /* spin lock flag */ | 430 | spinlock_t lock; /* spin lock flag */ |
430 | u32 msg_enable; | 431 | u32 msg_enable; |
@@ -456,7 +457,7 @@ struct rtl8169_private { | |||
456 | void (*phy_reset_enable)(void __iomem *); | 457 | void (*phy_reset_enable)(void __iomem *); |
457 | unsigned int (*phy_reset_pending)(void __iomem *); | 458 | unsigned int (*phy_reset_pending)(void __iomem *); |
458 | unsigned int (*link_ok)(void __iomem *); | 459 | unsigned int (*link_ok)(void __iomem *); |
459 | struct work_struct task; | 460 | struct delayed_work task; |
460 | unsigned wol_enabled : 1; | 461 | unsigned wol_enabled : 1; |
461 | }; | 462 | }; |
462 | 463 | ||
@@ -1508,6 +1509,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
1508 | SET_MODULE_OWNER(dev); | 1509 | SET_MODULE_OWNER(dev); |
1509 | SET_NETDEV_DEV(dev, &pdev->dev); | 1510 | SET_NETDEV_DEV(dev, &pdev->dev); |
1510 | tp = netdev_priv(dev); | 1511 | tp = netdev_priv(dev); |
1512 | tp->dev = dev; | ||
1511 | tp->msg_enable = netif_msg_init(debug.msg_enable, R8169_MSG_DEFAULT); | 1513 | tp->msg_enable = netif_msg_init(debug.msg_enable, R8169_MSG_DEFAULT); |
1512 | 1514 | ||
1513 | /* enable device (incl. PCI PM wakeup and hotplug setup) */ | 1515 | /* enable device (incl. PCI PM wakeup and hotplug setup) */ |
@@ -1780,7 +1782,7 @@ static int rtl8169_open(struct net_device *dev) | |||
1780 | if (retval < 0) | 1782 | if (retval < 0) |
1781 | goto err_free_rx; | 1783 | goto err_free_rx; |
1782 | 1784 | ||
1783 | INIT_WORK(&tp->task, NULL, dev); | 1785 | INIT_DELAYED_WORK(&tp->task, NULL); |
1784 | 1786 | ||
1785 | rtl8169_hw_start(dev); | 1787 | rtl8169_hw_start(dev); |
1786 | 1788 | ||
@@ -2133,11 +2135,11 @@ static void rtl8169_tx_clear(struct rtl8169_private *tp) | |||
2133 | tp->cur_tx = tp->dirty_tx = 0; | 2135 | tp->cur_tx = tp->dirty_tx = 0; |
2134 | } | 2136 | } |
2135 | 2137 | ||
2136 | static void rtl8169_schedule_work(struct net_device *dev, void (*task)(void *)) | 2138 | static void rtl8169_schedule_work(struct net_device *dev, work_func_t task) |
2137 | { | 2139 | { |
2138 | struct rtl8169_private *tp = netdev_priv(dev); | 2140 | struct rtl8169_private *tp = netdev_priv(dev); |
2139 | 2141 | ||
2140 | PREPARE_WORK(&tp->task, task, dev); | 2142 | PREPARE_DELAYED_WORK(&tp->task, task); |
2141 | schedule_delayed_work(&tp->task, 4); | 2143 | schedule_delayed_work(&tp->task, 4); |
2142 | } | 2144 | } |
2143 | 2145 | ||
@@ -2156,9 +2158,11 @@ static void rtl8169_wait_for_quiescence(struct net_device *dev) | |||
2156 | netif_poll_enable(dev); | 2158 | netif_poll_enable(dev); |
2157 | } | 2159 | } |
2158 | 2160 | ||
2159 | static void rtl8169_reinit_task(void *_data) | 2161 | static void rtl8169_reinit_task(struct work_struct *work) |
2160 | { | 2162 | { |
2161 | struct net_device *dev = _data; | 2163 | struct rtl8169_private *tp = |
2164 | container_of(work, struct rtl8169_private, task.work); | ||
2165 | struct net_device *dev = tp->dev; | ||
2162 | int ret; | 2166 | int ret; |
2163 | 2167 | ||
2164 | if (netif_running(dev)) { | 2168 | if (netif_running(dev)) { |
@@ -2181,10 +2185,11 @@ static void rtl8169_reinit_task(void *_data) | |||
2181 | } | 2185 | } |
2182 | } | 2186 | } |
2183 | 2187 | ||
2184 | static void rtl8169_reset_task(void *_data) | 2188 | static void rtl8169_reset_task(struct work_struct *work) |
2185 | { | 2189 | { |
2186 | struct net_device *dev = _data; | 2190 | struct rtl8169_private *tp = |
2187 | struct rtl8169_private *tp = netdev_priv(dev); | 2191 | container_of(work, struct rtl8169_private, task.work); |
2192 | struct net_device *dev = tp->dev; | ||
2188 | 2193 | ||
2189 | if (!netif_running(dev)) | 2194 | if (!netif_running(dev)) |
2190 | return; | 2195 | return; |
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index 33569ec9dbfc..250cdbeefdfd 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c | |||
@@ -5872,9 +5872,9 @@ static void s2io_tasklet(unsigned long dev_addr) | |||
5872 | * Description: Sets the link status for the adapter | 5872 | * Description: Sets the link status for the adapter |
5873 | */ | 5873 | */ |
5874 | 5874 | ||
5875 | static void s2io_set_link(unsigned long data) | 5875 | static void s2io_set_link(struct work_struct *work) |
5876 | { | 5876 | { |
5877 | nic_t *nic = (nic_t *) data; | 5877 | nic_t *nic = container_of(work, nic_t, set_link_task); |
5878 | struct net_device *dev = nic->dev; | 5878 | struct net_device *dev = nic->dev; |
5879 | XENA_dev_config_t __iomem *bar0 = nic->bar0; | 5879 | XENA_dev_config_t __iomem *bar0 = nic->bar0; |
5880 | register u64 val64; | 5880 | register u64 val64; |
@@ -6379,10 +6379,10 @@ static int s2io_card_up(nic_t * sp) | |||
6379 | * spin lock. | 6379 | * spin lock. |
6380 | */ | 6380 | */ |
6381 | 6381 | ||
6382 | static void s2io_restart_nic(unsigned long data) | 6382 | static void s2io_restart_nic(struct work_struct *work) |
6383 | { | 6383 | { |
6384 | struct net_device *dev = (struct net_device *) data; | 6384 | nic_t *sp = container_of(work, nic_t, rst_timer_task); |
6385 | nic_t *sp = dev->priv; | 6385 | struct net_device *dev = sp->dev; |
6386 | 6386 | ||
6387 | s2io_card_down(sp); | 6387 | s2io_card_down(sp); |
6388 | if (s2io_card_up(sp)) { | 6388 | if (s2io_card_up(sp)) { |
@@ -6992,10 +6992,8 @@ s2io_init_nic(struct pci_dev *pdev, const struct pci_device_id *pre) | |||
6992 | 6992 | ||
6993 | dev->tx_timeout = &s2io_tx_watchdog; | 6993 | dev->tx_timeout = &s2io_tx_watchdog; |
6994 | dev->watchdog_timeo = WATCH_DOG_TIMEOUT; | 6994 | dev->watchdog_timeo = WATCH_DOG_TIMEOUT; |
6995 | INIT_WORK(&sp->rst_timer_task, | 6995 | INIT_WORK(&sp->rst_timer_task, s2io_restart_nic); |
6996 | (void (*)(void *)) s2io_restart_nic, dev); | 6996 | INIT_WORK(&sp->set_link_task, s2io_set_link); |
6997 | INIT_WORK(&sp->set_link_task, | ||
6998 | (void (*)(void *)) s2io_set_link, sp); | ||
6999 | 6997 | ||
7000 | pci_save_state(sp->pdev); | 6998 | pci_save_state(sp->pdev); |
7001 | 6999 | ||
diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h index 12b719f4d00f..3b0bafd273c8 100644 --- a/drivers/net/s2io.h +++ b/drivers/net/s2io.h | |||
@@ -1000,7 +1000,7 @@ s2io_msix_fifo_handle(int irq, void *dev_id); | |||
1000 | static irqreturn_t s2io_isr(int irq, void *dev_id); | 1000 | static irqreturn_t s2io_isr(int irq, void *dev_id); |
1001 | static int verify_xena_quiescence(nic_t *sp, u64 val64, int flag); | 1001 | static int verify_xena_quiescence(nic_t *sp, u64 val64, int flag); |
1002 | static const struct ethtool_ops netdev_ethtool_ops; | 1002 | static const struct ethtool_ops netdev_ethtool_ops; |
1003 | static void s2io_set_link(unsigned long data); | 1003 | static void s2io_set_link(struct work_struct *work); |
1004 | static int s2io_set_swapper(nic_t * sp); | 1004 | static int s2io_set_swapper(nic_t * sp); |
1005 | static void s2io_card_down(nic_t *nic); | 1005 | static void s2io_card_down(nic_t *nic); |
1006 | static int s2io_card_up(nic_t *nic); | 1006 | static int s2io_card_up(nic_t *nic); |
diff --git a/drivers/net/seeq8005.c b/drivers/net/seeq8005.c index d9d0a3a3c558..0d6c95c7aedf 100644 --- a/drivers/net/seeq8005.c +++ b/drivers/net/seeq8005.c | |||
@@ -750,7 +750,7 @@ int __init init_module(void) | |||
750 | return 0; | 750 | return 0; |
751 | } | 751 | } |
752 | 752 | ||
753 | void cleanup_module(void) | 753 | void __exit cleanup_module(void) |
754 | { | 754 | { |
755 | unregister_netdev(dev_seeq); | 755 | unregister_netdev(dev_seeq); |
756 | release_region(dev_seeq->base_addr, SEEQ8005_IO_EXTENT); | 756 | release_region(dev_seeq->base_addr, SEEQ8005_IO_EXTENT); |
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index aaba458584fb..b70ed79d4121 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c | |||
@@ -280,6 +280,7 @@ enum sis190_feature { | |||
280 | struct sis190_private { | 280 | struct sis190_private { |
281 | void __iomem *mmio_addr; | 281 | void __iomem *mmio_addr; |
282 | struct pci_dev *pci_dev; | 282 | struct pci_dev *pci_dev; |
283 | struct net_device *dev; | ||
283 | struct net_device_stats stats; | 284 | struct net_device_stats stats; |
284 | spinlock_t lock; | 285 | spinlock_t lock; |
285 | u32 rx_buf_sz; | 286 | u32 rx_buf_sz; |
@@ -897,10 +898,11 @@ static void sis190_hw_start(struct net_device *dev) | |||
897 | netif_start_queue(dev); | 898 | netif_start_queue(dev); |
898 | } | 899 | } |
899 | 900 | ||
900 | static void sis190_phy_task(void * data) | 901 | static void sis190_phy_task(struct work_struct *work) |
901 | { | 902 | { |
902 | struct net_device *dev = data; | 903 | struct sis190_private *tp = |
903 | struct sis190_private *tp = netdev_priv(dev); | 904 | container_of(work, struct sis190_private, phy_task); |
905 | struct net_device *dev = tp->dev; | ||
904 | void __iomem *ioaddr = tp->mmio_addr; | 906 | void __iomem *ioaddr = tp->mmio_addr; |
905 | int phy_id = tp->mii_if.phy_id; | 907 | int phy_id = tp->mii_if.phy_id; |
906 | u16 val; | 908 | u16 val; |
@@ -1047,7 +1049,7 @@ static int sis190_open(struct net_device *dev) | |||
1047 | if (rc < 0) | 1049 | if (rc < 0) |
1048 | goto err_free_rx_1; | 1050 | goto err_free_rx_1; |
1049 | 1051 | ||
1050 | INIT_WORK(&tp->phy_task, sis190_phy_task, dev); | 1052 | INIT_WORK(&tp->phy_task, sis190_phy_task); |
1051 | 1053 | ||
1052 | sis190_request_timer(dev); | 1054 | sis190_request_timer(dev); |
1053 | 1055 | ||
@@ -1436,6 +1438,7 @@ static struct net_device * __devinit sis190_init_board(struct pci_dev *pdev) | |||
1436 | SET_NETDEV_DEV(dev, &pdev->dev); | 1438 | SET_NETDEV_DEV(dev, &pdev->dev); |
1437 | 1439 | ||
1438 | tp = netdev_priv(dev); | 1440 | tp = netdev_priv(dev); |
1441 | tp->dev = dev; | ||
1439 | tp->msg_enable = netif_msg_init(debug.msg_enable, SIS190_MSG_DEFAULT); | 1442 | tp->msg_enable = netif_msg_init(debug.msg_enable, SIS190_MSG_DEFAULT); |
1440 | 1443 | ||
1441 | rc = pci_enable_device(pdev); | 1444 | rc = pci_enable_device(pdev); |
@@ -1798,7 +1801,7 @@ static int __devinit sis190_init_one(struct pci_dev *pdev, | |||
1798 | 1801 | ||
1799 | sis190_init_rxfilter(dev); | 1802 | sis190_init_rxfilter(dev); |
1800 | 1803 | ||
1801 | INIT_WORK(&tp->phy_task, sis190_phy_task, dev); | 1804 | INIT_WORK(&tp->phy_task, sis190_phy_task); |
1802 | 1805 | ||
1803 | dev->open = sis190_open; | 1806 | dev->open = sis190_open; |
1804 | dev->stop = sis190_close; | 1807 | dev->stop = sis190_close; |
diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c index a5d41ebc9fb4..92d11b961db8 100644 --- a/drivers/net/sk98lin/skge.c +++ b/drivers/net/sk98lin/skge.c | |||
@@ -114,6 +114,7 @@ | |||
114 | #include <linux/dma-mapping.h> | 114 | #include <linux/dma-mapping.h> |
115 | #include <linux/ip.h> | 115 | #include <linux/ip.h> |
116 | #include <linux/mii.h> | 116 | #include <linux/mii.h> |
117 | #include <linux/mm.h> | ||
117 | 118 | ||
118 | #include "h/skdrv1st.h" | 119 | #include "h/skdrv1st.h" |
119 | #include "h/skdrv2nd.h" | 120 | #include "h/skdrv2nd.h" |
@@ -1562,7 +1563,7 @@ struct sk_buff *pMessage) /* pointer to send-message */ | |||
1562 | 1563 | ||
1563 | if (pMessage->ip_summed == CHECKSUM_PARTIAL) { | 1564 | if (pMessage->ip_summed == CHECKSUM_PARTIAL) { |
1564 | u16 hdrlen = pMessage->h.raw - pMessage->data; | 1565 | u16 hdrlen = pMessage->h.raw - pMessage->data; |
1565 | u16 offset = hdrlen + pMessage->csum; | 1566 | u16 offset = hdrlen + pMessage->csum_offset; |
1566 | 1567 | ||
1567 | if ((pMessage->h.ipiph->protocol == IPPROTO_UDP ) && | 1568 | if ((pMessage->h.ipiph->protocol == IPPROTO_UDP ) && |
1568 | (pAC->GIni.GIChipRev == 0) && | 1569 | (pAC->GIni.GIChipRev == 0) && |
@@ -1681,7 +1682,7 @@ struct sk_buff *pMessage) /* pointer to send-message */ | |||
1681 | */ | 1682 | */ |
1682 | if (pMessage->ip_summed == CHECKSUM_PARTIAL) { | 1683 | if (pMessage->ip_summed == CHECKSUM_PARTIAL) { |
1683 | u16 hdrlen = pMessage->h.raw - pMessage->data; | 1684 | u16 hdrlen = pMessage->h.raw - pMessage->data; |
1684 | u16 offset = hdrlen + pMessage->csum; | 1685 | u16 offset = hdrlen + pMessage->csum_offset; |
1685 | 1686 | ||
1686 | Control = BMU_STFWD; | 1687 | Control = BMU_STFWD; |
1687 | 1688 | ||
diff --git a/drivers/net/sk98lin/skgesirq.c b/drivers/net/sk98lin/skgesirq.c index ab66d80a4455..3e7aa49afd00 100644 --- a/drivers/net/sk98lin/skgesirq.c +++ b/drivers/net/sk98lin/skgesirq.c | |||
@@ -1319,7 +1319,7 @@ SK_BOOL AutoNeg) /* Is Auto-negotiation used ? */ | |||
1319 | SkXmPhyRead(pAC, IoC, Port, PHY_BCOM_INT_STAT, &Isrc); | 1319 | SkXmPhyRead(pAC, IoC, Port, PHY_BCOM_INT_STAT, &Isrc); |
1320 | 1320 | ||
1321 | #ifdef xDEBUG | 1321 | #ifdef xDEBUG |
1322 | if ((Isrc & ~(PHY_B_IS_HCT | PHY_B_IS_LCT) == | 1322 | if ((Isrc & ~(PHY_B_IS_HCT | PHY_B_IS_LCT)) == |
1323 | (PHY_B_IS_SCR_S_ER | PHY_B_IS_RRS_CHANGE | PHY_B_IS_LRS_CHANGE)) { | 1323 | (PHY_B_IS_SCR_S_ER | PHY_B_IS_RRS_CHANGE | PHY_B_IS_LRS_CHANGE)) { |
1324 | 1324 | ||
1325 | SK_U32 Stat1, Stat2, Stat3; | 1325 | SK_U32 Stat1, Stat2, Stat3; |
diff --git a/drivers/net/skge.c b/drivers/net/skge.c index 27b537c8d5e3..b60f0451f6cd 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c | |||
@@ -1327,10 +1327,11 @@ static void xm_check_link(struct net_device *dev) | |||
1327 | * Since internal PHY is wired to a level triggered pin, can't | 1327 | * Since internal PHY is wired to a level triggered pin, can't |
1328 | * get an interrupt when carrier is detected. | 1328 | * get an interrupt when carrier is detected. |
1329 | */ | 1329 | */ |
1330 | static void xm_link_timer(void *arg) | 1330 | static void xm_link_timer(struct work_struct *work) |
1331 | { | 1331 | { |
1332 | struct net_device *dev = arg; | 1332 | struct skge_port *skge = |
1333 | struct skge_port *skge = netdev_priv(arg); | 1333 | container_of(work, struct skge_port, link_thread.work); |
1334 | struct net_device *dev = skge->netdev; | ||
1334 | struct skge_hw *hw = skge->hw; | 1335 | struct skge_hw *hw = skge->hw; |
1335 | int port = skge->port; | 1336 | int port = skge->port; |
1336 | 1337 | ||
@@ -2565,7 +2566,7 @@ static int skge_xmit_frame(struct sk_buff *skb, struct net_device *dev) | |||
2565 | 2566 | ||
2566 | td->csum_offs = 0; | 2567 | td->csum_offs = 0; |
2567 | td->csum_start = offset; | 2568 | td->csum_start = offset; |
2568 | td->csum_write = offset + skb->csum; | 2569 | td->csum_write = offset + skb->csum_offset; |
2569 | } else | 2570 | } else |
2570 | control = BMU_CHECK; | 2571 | control = BMU_CHECK; |
2571 | 2572 | ||
@@ -3072,9 +3073,9 @@ static void skge_error_irq(struct skge_hw *hw) | |||
3072 | * because accessing phy registers requires spin wait which might | 3073 | * because accessing phy registers requires spin wait which might |
3073 | * cause excess interrupt latency. | 3074 | * cause excess interrupt latency. |
3074 | */ | 3075 | */ |
3075 | static void skge_extirq(void *arg) | 3076 | static void skge_extirq(struct work_struct *work) |
3076 | { | 3077 | { |
3077 | struct skge_hw *hw = arg; | 3078 | struct skge_hw *hw = container_of(work, struct skge_hw, phy_work); |
3078 | int port; | 3079 | int port; |
3079 | 3080 | ||
3080 | mutex_lock(&hw->phy_mutex); | 3081 | mutex_lock(&hw->phy_mutex); |
@@ -3456,7 +3457,7 @@ static struct net_device *skge_devinit(struct skge_hw *hw, int port, | |||
3456 | skge->port = port; | 3457 | skge->port = port; |
3457 | 3458 | ||
3458 | /* Only used for Genesis XMAC */ | 3459 | /* Only used for Genesis XMAC */ |
3459 | INIT_WORK(&skge->link_thread, xm_link_timer, dev); | 3460 | INIT_DELAYED_WORK(&skge->link_thread, xm_link_timer); |
3460 | 3461 | ||
3461 | if (hw->chip_id != CHIP_ID_GENESIS) { | 3462 | if (hw->chip_id != CHIP_ID_GENESIS) { |
3462 | dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG; | 3463 | dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG; |
@@ -3543,7 +3544,7 @@ static int __devinit skge_probe(struct pci_dev *pdev, | |||
3543 | 3544 | ||
3544 | hw->pdev = pdev; | 3545 | hw->pdev = pdev; |
3545 | mutex_init(&hw->phy_mutex); | 3546 | mutex_init(&hw->phy_mutex); |
3546 | INIT_WORK(&hw->phy_work, skge_extirq, hw); | 3547 | INIT_WORK(&hw->phy_work, skge_extirq); |
3547 | spin_lock_init(&hw->hw_lock); | 3548 | spin_lock_init(&hw->hw_lock); |
3548 | 3549 | ||
3549 | hw->regs = ioremap_nocache(pci_resource_start(pdev, 0), 0x4000); | 3550 | hw->regs = ioremap_nocache(pci_resource_start(pdev, 0), 0x4000); |
diff --git a/drivers/net/skge.h b/drivers/net/skge.h index 537c0aaa1db8..f6223c533c01 100644 --- a/drivers/net/skge.h +++ b/drivers/net/skge.h | |||
@@ -389,10 +389,10 @@ enum { | |||
389 | /* Packet Arbiter Registers */ | 389 | /* Packet Arbiter Registers */ |
390 | /* B3_PA_CTRL 16 bit Packet Arbiter Ctrl Register */ | 390 | /* B3_PA_CTRL 16 bit Packet Arbiter Ctrl Register */ |
391 | enum { | 391 | enum { |
392 | PA_CLR_TO_TX2 = 1<<13, /* Clear IRQ Packet Timeout TX2 */ | 392 | PA_CLR_TO_TX2 = 1<<13,/* Clear IRQ Packet Timeout TX2 */ |
393 | PA_CLR_TO_TX1 = 1<<12, /* Clear IRQ Packet Timeout TX1 */ | 393 | PA_CLR_TO_TX1 = 1<<12,/* Clear IRQ Packet Timeout TX1 */ |
394 | PA_CLR_TO_RX2 = 1<<11, /* Clear IRQ Packet Timeout RX2 */ | 394 | PA_CLR_TO_RX2 = 1<<11,/* Clear IRQ Packet Timeout RX2 */ |
395 | PA_CLR_TO_RX1 = 1<<10, /* Clear IRQ Packet Timeout RX1 */ | 395 | PA_CLR_TO_RX1 = 1<<10,/* Clear IRQ Packet Timeout RX1 */ |
396 | PA_ENA_TO_TX2 = 1<<9, /* Enable Timeout Timer TX2 */ | 396 | PA_ENA_TO_TX2 = 1<<9, /* Enable Timeout Timer TX2 */ |
397 | PA_DIS_TO_TX2 = 1<<8, /* Disable Timeout Timer TX2 */ | 397 | PA_DIS_TO_TX2 = 1<<8, /* Disable Timeout Timer TX2 */ |
398 | PA_ENA_TO_TX1 = 1<<7, /* Enable Timeout Timer TX1 */ | 398 | PA_ENA_TO_TX1 = 1<<7, /* Enable Timeout Timer TX1 */ |
@@ -481,14 +481,14 @@ enum { | |||
481 | /* RAM Buffer Register Offsets */ | 481 | /* RAM Buffer Register Offsets */ |
482 | enum { | 482 | enum { |
483 | 483 | ||
484 | RB_START = 0x00,/* 32 bit RAM Buffer Start Address */ | 484 | RB_START= 0x00,/* 32 bit RAM Buffer Start Address */ |
485 | RB_END = 0x04,/* 32 bit RAM Buffer End Address */ | 485 | RB_END = 0x04,/* 32 bit RAM Buffer End Address */ |
486 | RB_WP = 0x08,/* 32 bit RAM Buffer Write Pointer */ | 486 | RB_WP = 0x08,/* 32 bit RAM Buffer Write Pointer */ |
487 | RB_RP = 0x0c,/* 32 bit RAM Buffer Read Pointer */ | 487 | RB_RP = 0x0c,/* 32 bit RAM Buffer Read Pointer */ |
488 | RB_RX_UTPP = 0x10,/* 32 bit Rx Upper Threshold, Pause Packet */ | 488 | RB_RX_UTPP= 0x10,/* 32 bit Rx Upper Threshold, Pause Packet */ |
489 | RB_RX_LTPP = 0x14,/* 32 bit Rx Lower Threshold, Pause Packet */ | 489 | RB_RX_LTPP= 0x14,/* 32 bit Rx Lower Threshold, Pause Packet */ |
490 | RB_RX_UTHP = 0x18,/* 32 bit Rx Upper Threshold, High Prio */ | 490 | RB_RX_UTHP= 0x18,/* 32 bit Rx Upper Threshold, High Prio */ |
491 | RB_RX_LTHP = 0x1c,/* 32 bit Rx Lower Threshold, High Prio */ | 491 | RB_RX_LTHP= 0x1c,/* 32 bit Rx Lower Threshold, High Prio */ |
492 | /* 0x10 - 0x1f: reserved at Tx RAM Buffer Registers */ | 492 | /* 0x10 - 0x1f: reserved at Tx RAM Buffer Registers */ |
493 | RB_PC = 0x20,/* 32 bit RAM Buffer Packet Counter */ | 493 | RB_PC = 0x20,/* 32 bit RAM Buffer Packet Counter */ |
494 | RB_LEV = 0x24,/* 32 bit RAM Buffer Level Register */ | 494 | RB_LEV = 0x24,/* 32 bit RAM Buffer Level Register */ |
@@ -532,7 +532,7 @@ enum { | |||
532 | PHY_ADDR_MARV = 0, | 532 | PHY_ADDR_MARV = 0, |
533 | }; | 533 | }; |
534 | 534 | ||
535 | #define RB_ADDR(offs, queue) (B16_RAM_REGS + (queue) + (offs)) | 535 | #define RB_ADDR(offs, queue) ((u16)B16_RAM_REGS + (u16)(queue) + (offs)) |
536 | 536 | ||
537 | /* Receive MAC FIFO, Receive LED, and Link_Sync regs (GENESIS only) */ | 537 | /* Receive MAC FIFO, Receive LED, and Link_Sync regs (GENESIS only) */ |
538 | enum { | 538 | enum { |
@@ -578,15 +578,15 @@ enum { | |||
578 | MFF_DIS_TIST = 1<<2, /* Disable Time Stamp Gener */ | 578 | MFF_DIS_TIST = 1<<2, /* Disable Time Stamp Gener */ |
579 | MFF_CLR_INTIST = 1<<1, /* Clear IRQ No Time Stamp */ | 579 | MFF_CLR_INTIST = 1<<1, /* Clear IRQ No Time Stamp */ |
580 | MFF_CLR_INSTAT = 1<<0, /* Clear IRQ No Status */ | 580 | MFF_CLR_INSTAT = 1<<0, /* Clear IRQ No Status */ |
581 | #define MFF_RX_CTRL_DEF MFF_ENA_TIM_PAT | 581 | MFF_RX_CTRL_DEF = MFF_ENA_TIM_PAT, |
582 | }; | 582 | }; |
583 | 583 | ||
584 | /* TX_MFF_CTRL1 16 bit Transmit MAC FIFO Control Reg 1 */ | 584 | /* TX_MFF_CTRL1 16 bit Transmit MAC FIFO Control Reg 1 */ |
585 | enum { | 585 | enum { |
586 | MFF_CLR_PERR = 1<<15, /* Clear Parity Error IRQ */ | 586 | MFF_CLR_PERR = 1<<15, /* Clear Parity Error IRQ */ |
587 | /* Bit 14: reserved */ | 587 | |
588 | MFF_ENA_PKT_REC = 1<<13, /* Enable Packet Recovery */ | 588 | MFF_ENA_PKT_REC = 1<<13, /* Enable Packet Recovery */ |
589 | MFF_DIS_PKT_REC = 1<<12, /* Disable Packet Recovery */ | 589 | MFF_DIS_PKT_REC = 1<<12, /* Disable Packet Recovery */ |
590 | 590 | ||
591 | MFF_ENA_W4E = 1<<7, /* Enable Wait for Empty */ | 591 | MFF_ENA_W4E = 1<<7, /* Enable Wait for Empty */ |
592 | MFF_DIS_W4E = 1<<6, /* Disable Wait for Empty */ | 592 | MFF_DIS_W4E = 1<<6, /* Disable Wait for Empty */ |
@@ -595,9 +595,10 @@ enum { | |||
595 | MFF_DIS_LOOPB = 1<<2, /* Disable Loopback */ | 595 | MFF_DIS_LOOPB = 1<<2, /* Disable Loopback */ |
596 | MFF_CLR_MAC_RST = 1<<1, /* Clear XMAC Reset */ | 596 | MFF_CLR_MAC_RST = 1<<1, /* Clear XMAC Reset */ |
597 | MFF_SET_MAC_RST = 1<<0, /* Set XMAC Reset */ | 597 | MFF_SET_MAC_RST = 1<<0, /* Set XMAC Reset */ |
598 | |||
599 | MFF_TX_CTRL_DEF = MFF_ENA_PKT_REC | (u16) MFF_ENA_TIM_PAT | MFF_ENA_FLUSH, | ||
598 | }; | 600 | }; |
599 | 601 | ||
600 | #define MFF_TX_CTRL_DEF (MFF_ENA_PKT_REC | MFF_ENA_TIM_PAT | MFF_ENA_FLUSH) | ||
601 | 602 | ||
602 | /* RX_MFF_TST2 8 bit Receive MAC FIFO Test Register 2 */ | 603 | /* RX_MFF_TST2 8 bit Receive MAC FIFO Test Register 2 */ |
603 | /* TX_MFF_TST2 8 bit Transmit MAC FIFO Test Register 2 */ | 604 | /* TX_MFF_TST2 8 bit Transmit MAC FIFO Test Register 2 */ |
@@ -1304,8 +1305,8 @@ enum { | |||
1304 | 1305 | ||
1305 | /* special defines for FIBER (88E1011S only) */ | 1306 | /* special defines for FIBER (88E1011S only) */ |
1306 | enum { | 1307 | enum { |
1307 | PHY_M_AN_ASP_X = 1<<8, /* Asymmetric Pause */ | 1308 | PHY_M_AN_ASP_X = 1<<8, /* Asymmetric Pause */ |
1308 | PHY_M_AN_PC_X = 1<<7, /* MAC Pause implemented */ | 1309 | PHY_M_AN_PC_X = 1<<7, /* MAC Pause implemented */ |
1309 | PHY_M_AN_1000X_AHD = 1<<6, /* Advertise 10000Base-X Half Duplex */ | 1310 | PHY_M_AN_1000X_AHD = 1<<6, /* Advertise 10000Base-X Half Duplex */ |
1310 | PHY_M_AN_1000X_AFD = 1<<5, /* Advertise 10000Base-X Full Duplex */ | 1311 | PHY_M_AN_1000X_AFD = 1<<5, /* Advertise 10000Base-X Full Duplex */ |
1311 | }; | 1312 | }; |
@@ -1320,7 +1321,7 @@ enum { | |||
1320 | 1321 | ||
1321 | /***** PHY_MARV_1000T_CTRL 16 bit r/w 1000Base-T Control Reg *****/ | 1322 | /***** PHY_MARV_1000T_CTRL 16 bit r/w 1000Base-T Control Reg *****/ |
1322 | enum { | 1323 | enum { |
1323 | PHY_M_1000C_TEST = 7<<13,/* Bit 15..13: Test Modes */ | 1324 | PHY_M_1000C_TEST= 7<<13,/* Bit 15..13: Test Modes */ |
1324 | PHY_M_1000C_MSE = 1<<12, /* Manual Master/Slave Enable */ | 1325 | PHY_M_1000C_MSE = 1<<12, /* Manual Master/Slave Enable */ |
1325 | PHY_M_1000C_MSC = 1<<11, /* M/S Configuration (1=Master) */ | 1326 | PHY_M_1000C_MSC = 1<<11, /* M/S Configuration (1=Master) */ |
1326 | PHY_M_1000C_MPD = 1<<10, /* Multi-Port Device */ | 1327 | PHY_M_1000C_MPD = 1<<10, /* Multi-Port Device */ |
@@ -1349,7 +1350,7 @@ enum { | |||
1349 | PHY_M_PC_EN_DET_PLUS = 3<<8, /* Energy Detect Plus (Mode 2) */ | 1350 | PHY_M_PC_EN_DET_PLUS = 3<<8, /* Energy Detect Plus (Mode 2) */ |
1350 | }; | 1351 | }; |
1351 | 1352 | ||
1352 | #define PHY_M_PC_MDI_XMODE(x) (((x)<<5) & PHY_M_PC_MDIX_MSK) | 1353 | #define PHY_M_PC_MDI_XMODE(x) ((((u16)(x)<<5) & PHY_M_PC_MDIX_MSK) |
1353 | 1354 | ||
1354 | enum { | 1355 | enum { |
1355 | PHY_M_PC_MAN_MDI = 0, /* 00 = Manual MDI configuration */ | 1356 | PHY_M_PC_MAN_MDI = 0, /* 00 = Manual MDI configuration */ |
@@ -1432,24 +1433,24 @@ enum { | |||
1432 | PHY_M_EC_DIS_LINK_P = 1<<12, /* Disable Link Pulses (88E1111 only) */ | 1433 | PHY_M_EC_DIS_LINK_P = 1<<12, /* Disable Link Pulses (88E1111 only) */ |
1433 | PHY_M_EC_M_DSC_MSK = 3<<10, /* Bit 11..10: Master Downshift Counter */ | 1434 | PHY_M_EC_M_DSC_MSK = 3<<10, /* Bit 11..10: Master Downshift Counter */ |
1434 | /* (88E1011 only) */ | 1435 | /* (88E1011 only) */ |
1435 | PHY_M_EC_S_DSC_MSK = 3<<8,/* Bit 9.. 8: Slave Downshift Counter */ | 1436 | PHY_M_EC_S_DSC_MSK = 3<<8, /* Bit 9.. 8: Slave Downshift Counter */ |
1436 | /* (88E1011 only) */ | 1437 | /* (88E1011 only) */ |
1437 | PHY_M_EC_M_DSC_MSK2 = 7<<9,/* Bit 11.. 9: Master Downshift Counter */ | 1438 | PHY_M_EC_M_DSC_MSK2 = 7<<9, /* Bit 11.. 9: Master Downshift Counter */ |
1438 | /* (88E1111 only) */ | 1439 | /* (88E1111 only) */ |
1439 | PHY_M_EC_DOWN_S_ENA = 1<<8, /* Downshift Enable (88E1111 only) */ | 1440 | PHY_M_EC_DOWN_S_ENA = 1<<8, /* Downshift Enable (88E1111 only) */ |
1440 | /* !!! Errata in spec. (1 = disable) */ | 1441 | /* !!! Errata in spec. (1 = disable) */ |
1441 | PHY_M_EC_RX_TIM_CT = 1<<7, /* RGMII Rx Timing Control*/ | 1442 | PHY_M_EC_RX_TIM_CT = 1<<7, /* RGMII Rx Timing Control*/ |
1442 | PHY_M_EC_MAC_S_MSK = 7<<4,/* Bit 6.. 4: Def. MAC interface speed */ | 1443 | PHY_M_EC_MAC_S_MSK = 7<<4, /* Bit 6.. 4: Def. MAC interface speed */ |
1443 | PHY_M_EC_FIB_AN_ENA = 1<<3, /* Fiber Auto-Neg. Enable (88E1011S only) */ | 1444 | PHY_M_EC_FIB_AN_ENA = 1<<3, /* Fiber Auto-Neg. Enable (88E1011S only) */ |
1444 | PHY_M_EC_DTE_D_ENA = 1<<2, /* DTE Detect Enable (88E1111 only) */ | 1445 | PHY_M_EC_DTE_D_ENA = 1<<2, /* DTE Detect Enable (88E1111 only) */ |
1445 | PHY_M_EC_TX_TIM_CT = 1<<1, /* RGMII Tx Timing Control */ | 1446 | PHY_M_EC_TX_TIM_CT = 1<<1, /* RGMII Tx Timing Control */ |
1446 | PHY_M_EC_TRANS_DIS = 1<<0, /* Transmitter Disable (88E1111 only) */}; | 1447 | PHY_M_EC_TRANS_DIS = 1<<0, /* Transmitter Disable (88E1111 only) */}; |
1447 | 1448 | ||
1448 | #define PHY_M_EC_M_DSC(x) ((x)<<10) /* 00=1x; 01=2x; 10=3x; 11=4x */ | 1449 | #define PHY_M_EC_M_DSC(x) ((u16)(x)<<10) /* 00=1x; 01=2x; 10=3x; 11=4x */ |
1449 | #define PHY_M_EC_S_DSC(x) ((x)<<8) /* 00=dis; 01=1x; 10=2x; 11=3x */ | 1450 | #define PHY_M_EC_S_DSC(x) ((u16)(x)<<8) /* 00=dis; 01=1x; 10=2x; 11=3x */ |
1450 | #define PHY_M_EC_MAC_S(x) ((x)<<4) /* 01X=0; 110=2.5; 111=25 (MHz) */ | 1451 | #define PHY_M_EC_MAC_S(x) ((u16)(x)<<4) /* 01X=0; 110=2.5; 111=25 (MHz) */ |
1451 | 1452 | ||
1452 | #define PHY_M_EC_M_DSC_2(x) ((x)<<9) /* 000=1x; 001=2x; 010=3x; 011=4x */ | 1453 | #define PHY_M_EC_M_DSC_2(x) ((u16)(x)<<9) /* 000=1x; 001=2x; 010=3x; 011=4x */ |
1453 | /* 100=5x; 101=6x; 110=7x; 111=8x */ | 1454 | /* 100=5x; 101=6x; 110=7x; 111=8x */ |
1454 | enum { | 1455 | enum { |
1455 | MAC_TX_CLK_0_MHZ = 2, | 1456 | MAC_TX_CLK_0_MHZ = 2, |
@@ -1468,10 +1469,12 @@ enum { | |||
1468 | PHY_M_LEDC_LK_C_MSK = 7<<3,/* Bit 5.. 3: Link Control Mask */ | 1469 | PHY_M_LEDC_LK_C_MSK = 7<<3,/* Bit 5.. 3: Link Control Mask */ |
1469 | /* (88E1111 only) */ | 1470 | /* (88E1111 only) */ |
1470 | }; | 1471 | }; |
1472 | #define PHY_M_LED_PULS_DUR(x) (((u16)(x)<<12) & PHY_M_LEDC_PULS_MSK) | ||
1473 | #define PHY_M_LED_BLINK_RT(x) (((u16)(x)<<8) & PHY_M_LEDC_BL_R_MSK) | ||
1471 | 1474 | ||
1472 | enum { | 1475 | enum { |
1473 | PHY_M_LEDC_LINK_MSK = 3<<3,/* Bit 4.. 3: Link Control Mask */ | 1476 | PHY_M_LEDC_LINK_MSK = 3<<3, /* Bit 4.. 3: Link Control Mask */ |
1474 | /* (88E1011 only) */ | 1477 | /* (88E1011 only) */ |
1475 | PHY_M_LEDC_DP_CTRL = 1<<2, /* Duplex Control */ | 1478 | PHY_M_LEDC_DP_CTRL = 1<<2, /* Duplex Control */ |
1476 | PHY_M_LEDC_DP_C_MSB = 1<<2, /* Duplex Control (MSB, 88E1111 only) */ | 1479 | PHY_M_LEDC_DP_C_MSB = 1<<2, /* Duplex Control (MSB, 88E1111 only) */ |
1477 | PHY_M_LEDC_RX_CTRL = 1<<1, /* Rx Activity / Link */ | 1480 | PHY_M_LEDC_RX_CTRL = 1<<1, /* Rx Activity / Link */ |
@@ -1479,27 +1482,24 @@ enum { | |||
1479 | PHY_M_LEDC_TX_C_MSB = 1<<0, /* Tx Control (MSB, 88E1111 only) */ | 1482 | PHY_M_LEDC_TX_C_MSB = 1<<0, /* Tx Control (MSB, 88E1111 only) */ |
1480 | }; | 1483 | }; |
1481 | 1484 | ||
1482 | #define PHY_M_LED_PULS_DUR(x) (((x)<<12) & PHY_M_LEDC_PULS_MSK) | ||
1483 | |||
1484 | enum { | 1485 | enum { |
1485 | PULS_NO_STR = 0,/* no pulse stretching */ | 1486 | PULS_NO_STR = 0, /* no pulse stretching */ |
1486 | PULS_21MS = 1,/* 21 ms to 42 ms */ | 1487 | PULS_21MS = 1, /* 21 ms to 42 ms */ |
1487 | PULS_42MS = 2,/* 42 ms to 84 ms */ | 1488 | PULS_42MS = 2, /* 42 ms to 84 ms */ |
1488 | PULS_84MS = 3,/* 84 ms to 170 ms */ | 1489 | PULS_84MS = 3, /* 84 ms to 170 ms */ |
1489 | PULS_170MS = 4,/* 170 ms to 340 ms */ | 1490 | PULS_170MS = 4, /* 170 ms to 340 ms */ |
1490 | PULS_340MS = 5,/* 340 ms to 670 ms */ | 1491 | PULS_340MS = 5, /* 340 ms to 670 ms */ |
1491 | PULS_670MS = 6,/* 670 ms to 1.3 s */ | 1492 | PULS_670MS = 6, /* 670 ms to 1.3 s */ |
1492 | PULS_1300MS = 7,/* 1.3 s to 2.7 s */ | 1493 | PULS_1300MS = 7, /* 1.3 s to 2.7 s */ |
1493 | }; | 1494 | }; |
1494 | 1495 | ||
1495 | #define PHY_M_LED_BLINK_RT(x) (((x)<<8) & PHY_M_LEDC_BL_R_MSK) | ||
1496 | 1496 | ||
1497 | enum { | 1497 | enum { |
1498 | BLINK_42MS = 0,/* 42 ms */ | 1498 | BLINK_42MS = 0, /* 42 ms */ |
1499 | BLINK_84MS = 1,/* 84 ms */ | 1499 | BLINK_84MS = 1, /* 84 ms */ |
1500 | BLINK_170MS = 2,/* 170 ms */ | 1500 | BLINK_170MS = 2, /* 170 ms */ |
1501 | BLINK_340MS = 3,/* 340 ms */ | 1501 | BLINK_340MS = 3, /* 340 ms */ |
1502 | BLINK_670MS = 4,/* 670 ms */ | 1502 | BLINK_670MS = 4, /* 670 ms */ |
1503 | }; | 1503 | }; |
1504 | 1504 | ||
1505 | /***** PHY_MARV_LED_OVER 16 bit r/w Manual LED Override Reg *****/ | 1505 | /***** PHY_MARV_LED_OVER 16 bit r/w Manual LED Override Reg *****/ |
@@ -1525,7 +1525,7 @@ enum { | |||
1525 | PHY_M_EC2_FO_IMPED = 1<<5, /* Fiber Output Impedance */ | 1525 | PHY_M_EC2_FO_IMPED = 1<<5, /* Fiber Output Impedance */ |
1526 | PHY_M_EC2_FO_M_CLK = 1<<4, /* Fiber Mode Clock Enable */ | 1526 | PHY_M_EC2_FO_M_CLK = 1<<4, /* Fiber Mode Clock Enable */ |
1527 | PHY_M_EC2_FO_BOOST = 1<<3, /* Fiber Output Boost */ | 1527 | PHY_M_EC2_FO_BOOST = 1<<3, /* Fiber Output Boost */ |
1528 | PHY_M_EC2_FO_AM_MSK = 7,/* Bit 2.. 0: Fiber Output Amplitude */ | 1528 | PHY_M_EC2_FO_AM_MSK = 7, /* Bit 2.. 0: Fiber Output Amplitude */ |
1529 | }; | 1529 | }; |
1530 | 1530 | ||
1531 | /***** PHY_MARV_EXT_P_STAT 16 bit r/w Ext. PHY Specific Status *****/ | 1531 | /***** PHY_MARV_EXT_P_STAT 16 bit r/w Ext. PHY Specific Status *****/ |
@@ -1550,7 +1550,7 @@ enum { | |||
1550 | PHY_M_CABD_DIS_WAIT = 1<<15, /* Disable Waiting Period (Page 1) */ | 1550 | PHY_M_CABD_DIS_WAIT = 1<<15, /* Disable Waiting Period (Page 1) */ |
1551 | /* (88E1111 only) */ | 1551 | /* (88E1111 only) */ |
1552 | PHY_M_CABD_STAT_MSK = 3<<13, /* Bit 14..13: Status Mask */ | 1552 | PHY_M_CABD_STAT_MSK = 3<<13, /* Bit 14..13: Status Mask */ |
1553 | PHY_M_CABD_AMPL_MSK = 0x1f<<8,/* Bit 12.. 8: Amplitude Mask */ | 1553 | PHY_M_CABD_AMPL_MSK = 0x1f<<8, /* Bit 12.. 8: Amplitude Mask */ |
1554 | /* (88E1111 only) */ | 1554 | /* (88E1111 only) */ |
1555 | PHY_M_CABD_DIST_MSK = 0xff, /* Bit 7.. 0: Distance Mask */ | 1555 | PHY_M_CABD_DIST_MSK = 0xff, /* Bit 7.. 0: Distance Mask */ |
1556 | }; | 1556 | }; |
@@ -1605,9 +1605,9 @@ enum { | |||
1605 | 1605 | ||
1606 | /***** PHY_MARV_PHY_CTRL (page 3) 16 bit r/w LED Control Reg. *****/ | 1606 | /***** PHY_MARV_PHY_CTRL (page 3) 16 bit r/w LED Control Reg. *****/ |
1607 | enum { | 1607 | enum { |
1608 | PHY_M_LEDC_LOS_MSK = 0xf<<12,/* Bit 15..12: LOS LED Ctrl. Mask */ | 1608 | PHY_M_LEDC_LOS_MSK = 0xf<<12, /* Bit 15..12: LOS LED Ctrl. Mask */ |
1609 | PHY_M_LEDC_INIT_MSK = 0xf<<8, /* Bit 11.. 8: INIT LED Ctrl. Mask */ | 1609 | PHY_M_LEDC_INIT_MSK = 0xf<<8, /* Bit 11.. 8: INIT LED Ctrl. Mask */ |
1610 | PHY_M_LEDC_STA1_MSK = 0xf<<4,/* Bit 7.. 4: STAT1 LED Ctrl. Mask */ | 1610 | PHY_M_LEDC_STA1_MSK = 0xf<<4, /* Bit 7.. 4: STAT1 LED Ctrl. Mask */ |
1611 | PHY_M_LEDC_STA0_MSK = 0xf, /* Bit 3.. 0: STAT0 LED Ctrl. Mask */ | 1611 | PHY_M_LEDC_STA0_MSK = 0xf, /* Bit 3.. 0: STAT0 LED Ctrl. Mask */ |
1612 | }; | 1612 | }; |
1613 | 1613 | ||
@@ -1804,8 +1804,8 @@ enum { | |||
1804 | 1804 | ||
1805 | /* GM_SMI_CTRL 16 bit r/w SMI Control Register */ | 1805 | /* GM_SMI_CTRL 16 bit r/w SMI Control Register */ |
1806 | enum { | 1806 | enum { |
1807 | GM_SMI_CT_PHY_A_MSK = 0x1f<<11,/* Bit 15..11: PHY Device Address */ | 1807 | GM_SMI_CT_PHY_A_MSK = 0x1f<<11, /* Bit 15..11: PHY Device Address */ |
1808 | GM_SMI_CT_REG_A_MSK = 0x1f<<6,/* Bit 10.. 6: PHY Register Address */ | 1808 | GM_SMI_CT_REG_A_MSK = 0x1f<<6, /* Bit 10.. 6: PHY Register Address */ |
1809 | GM_SMI_CT_OP_RD = 1<<5, /* Bit 5: OpCode Read (0=Write)*/ | 1809 | GM_SMI_CT_OP_RD = 1<<5, /* Bit 5: OpCode Read (0=Write)*/ |
1810 | GM_SMI_CT_RD_VAL = 1<<4, /* Bit 4: Read Valid (Read completed) */ | 1810 | GM_SMI_CT_RD_VAL = 1<<4, /* Bit 4: Read Valid (Read completed) */ |
1811 | GM_SMI_CT_BUSY = 1<<3, /* Bit 3: Busy (Operation in progress) */ | 1811 | GM_SMI_CT_BUSY = 1<<3, /* Bit 3: Busy (Operation in progress) */ |
@@ -1875,9 +1875,9 @@ enum { | |||
1875 | 1875 | ||
1876 | /* TX_GMF_CTRL_T 32 bit Tx GMAC FIFO Control/Test */ | 1876 | /* TX_GMF_CTRL_T 32 bit Tx GMAC FIFO Control/Test */ |
1877 | enum { | 1877 | enum { |
1878 | GMF_WSP_TST_ON = 1<<18,/* Write Shadow Pointer Test On */ | 1878 | GMF_WSP_TST_ON = 1<<18, /* Write Shadow Pointer Test On */ |
1879 | GMF_WSP_TST_OFF = 1<<17,/* Write Shadow Pointer Test Off */ | 1879 | GMF_WSP_TST_OFF = 1<<17, /* Write Shadow Pointer Test Off */ |
1880 | GMF_WSP_STEP = 1<<16,/* Write Shadow Pointer Step/Increment */ | 1880 | GMF_WSP_STEP = 1<<16, /* Write Shadow Pointer Step/Increment */ |
1881 | 1881 | ||
1882 | GMF_CLI_TX_FU = 1<<6, /* Clear IRQ Tx FIFO Underrun */ | 1882 | GMF_CLI_TX_FU = 1<<6, /* Clear IRQ Tx FIFO Underrun */ |
1883 | GMF_CLI_TX_FC = 1<<5, /* Clear IRQ Tx Frame Complete */ | 1883 | GMF_CLI_TX_FC = 1<<5, /* Clear IRQ Tx Frame Complete */ |
@@ -2111,18 +2111,18 @@ enum { | |||
2111 | 2111 | ||
2112 | /* XM_MMU_CMD 16 bit r/w MMU Command Register */ | 2112 | /* XM_MMU_CMD 16 bit r/w MMU Command Register */ |
2113 | enum { | 2113 | enum { |
2114 | XM_MMU_PHY_RDY = 1<<12,/* Bit 12: PHY Read Ready */ | 2114 | XM_MMU_PHY_RDY = 1<<12, /* Bit 12: PHY Read Ready */ |
2115 | XM_MMU_PHY_BUSY = 1<<11,/* Bit 11: PHY Busy */ | 2115 | XM_MMU_PHY_BUSY = 1<<11, /* Bit 11: PHY Busy */ |
2116 | XM_MMU_IGN_PF = 1<<10,/* Bit 10: Ignore Pause Frame */ | 2116 | XM_MMU_IGN_PF = 1<<10, /* Bit 10: Ignore Pause Frame */ |
2117 | XM_MMU_MAC_LB = 1<<9, /* Bit 9: Enable MAC Loopback */ | 2117 | XM_MMU_MAC_LB = 1<<9, /* Bit 9: Enable MAC Loopback */ |
2118 | XM_MMU_FRC_COL = 1<<7, /* Bit 7: Force Collision */ | 2118 | XM_MMU_FRC_COL = 1<<7, /* Bit 7: Force Collision */ |
2119 | XM_MMU_SIM_COL = 1<<6, /* Bit 6: Simulate Collision */ | 2119 | XM_MMU_SIM_COL = 1<<6, /* Bit 6: Simulate Collision */ |
2120 | XM_MMU_NO_PRE = 1<<5, /* Bit 5: No MDIO Preamble */ | 2120 | XM_MMU_NO_PRE = 1<<5, /* Bit 5: No MDIO Preamble */ |
2121 | XM_MMU_GMII_FD = 1<<4, /* Bit 4: GMII uses Full Duplex */ | 2121 | XM_MMU_GMII_FD = 1<<4, /* Bit 4: GMII uses Full Duplex */ |
2122 | XM_MMU_RAT_CTRL = 1<<3, /* Bit 3: Enable Rate Control */ | 2122 | XM_MMU_RAT_CTRL = 1<<3, /* Bit 3: Enable Rate Control */ |
2123 | XM_MMU_GMII_LOOP= 1<<2, /* Bit 2: PHY is in Loopback Mode */ | 2123 | XM_MMU_GMII_LOOP= 1<<2, /* Bit 2: PHY is in Loopback Mode */ |
2124 | XM_MMU_ENA_RX = 1<<1, /* Bit 1: Enable Receiver */ | 2124 | XM_MMU_ENA_RX = 1<<1, /* Bit 1: Enable Receiver */ |
2125 | XM_MMU_ENA_TX = 1<<0, /* Bit 0: Enable Transmitter */ | 2125 | XM_MMU_ENA_TX = 1<<0, /* Bit 0: Enable Transmitter */ |
2126 | }; | 2126 | }; |
2127 | 2127 | ||
2128 | 2128 | ||
@@ -2456,7 +2456,7 @@ struct skge_port { | |||
2456 | 2456 | ||
2457 | struct net_device_stats net_stats; | 2457 | struct net_device_stats net_stats; |
2458 | 2458 | ||
2459 | struct work_struct link_thread; | 2459 | struct delayed_work link_thread; |
2460 | enum pause_control flow_control; | 2460 | enum pause_control flow_control; |
2461 | enum pause_status flow_status; | 2461 | enum pause_status flow_status; |
2462 | u8 rx_csum; | 2462 | u8 rx_csum; |
@@ -2506,7 +2506,7 @@ static inline void skge_write8(const struct skge_hw *hw, int reg, u8 val) | |||
2506 | } | 2506 | } |
2507 | 2507 | ||
2508 | /* MAC Related Registers inside the device. */ | 2508 | /* MAC Related Registers inside the device. */ |
2509 | #define SK_REG(port,reg) (((port)<<7)+(reg)) | 2509 | #define SK_REG(port,reg) (((port)<<7)+(u16)(reg)) |
2510 | #define SK_XMAC_REG(port, reg) \ | 2510 | #define SK_XMAC_REG(port, reg) \ |
2511 | ((BASE_XMAC_1 + (port) * (BASE_XMAC_2 - BASE_XMAC_1)) | (reg) << 1) | 2511 | ((BASE_XMAC_1 + (port) * (BASE_XMAC_2 - BASE_XMAC_1)) | (reg) << 1) |
2512 | 2512 | ||
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 0ef1848b9761..fb1d2c30c1bb 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -100,33 +100,32 @@ module_param(idle_timeout, int, 0); | |||
100 | MODULE_PARM_DESC(idle_timeout, "Watchdog timer for lost interrupts (ms)"); | 100 | MODULE_PARM_DESC(idle_timeout, "Watchdog timer for lost interrupts (ms)"); |
101 | 101 | ||
102 | static const struct pci_device_id sky2_id_table[] = { | 102 | static const struct pci_device_id sky2_id_table[] = { |
103 | { PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, 0x9000) }, | 103 | { PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, 0x9000) }, /* SK-9Sxx */ |
104 | { PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, 0x9E00) }, | 104 | { PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, 0x9E00) }, /* SK-9Exx */ |
105 | { PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4b00) }, /* DGE-560T */ | 105 | { PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4b00) }, /* DGE-560T */ |
106 | { PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4001) }, /* DGE-550SX */ | 106 | { PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4001) }, /* DGE-550SX */ |
107 | { PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4B02) }, /* DGE-560SX */ | 107 | { PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4B02) }, /* DGE-560SX */ |
108 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4340) }, | 108 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4340) }, /* 88E8021 */ |
109 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4341) }, | 109 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4341) }, /* 88E8022 */ |
110 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4342) }, | 110 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4342) }, /* 88E8061 */ |
111 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4343) }, | 111 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4343) }, /* 88E8062 */ |
112 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4344) }, | 112 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4344) }, /* 88E8021 */ |
113 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4345) }, | 113 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4345) }, /* 88E8022 */ |
114 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4346) }, | 114 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4346) }, /* 88E8061 */ |
115 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4347) }, | 115 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4347) }, /* 88E8062 */ |
116 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4350) }, | 116 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4350) }, /* 88E8035 */ |
117 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4351) }, | 117 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4351) }, /* 88E8036 */ |
118 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4352) }, | 118 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4352) }, /* 88E8038 */ |
119 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4353) }, | 119 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4353) }, /* 88E8039 */ |
120 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4360) }, | 120 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4356) }, /* 88EC033 */ |
121 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4361) }, | 121 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4360) }, /* 88E8052 */ |
122 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4362) }, | 122 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4361) }, /* 88E8050 */ |
123 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4363) }, | 123 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4362) }, /* 88E8053 */ |
124 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4364) }, | 124 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4363) }, /* 88E8055 */ |
125 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4365) }, | 125 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4364) }, /* 88E8056 */ |
126 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4366) }, | 126 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4366) }, /* 88EC036 */ |
127 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4367) }, | 127 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4367) }, /* 88EC032 */ |
128 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4368) }, | 128 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4368) }, /* 88EC034 */ |
129 | { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4369) }, | ||
130 | { 0 } | 129 | { 0 } |
131 | }; | 130 | }; |
132 | 131 | ||
@@ -522,7 +521,7 @@ static void sky2_phy_init(struct sky2_hw *hw, unsigned port) | |||
522 | /* set Tx LED (LED_TX) to blink mode on Rx OR Tx activity */ | 521 | /* set Tx LED (LED_TX) to blink mode on Rx OR Tx activity */ |
523 | ledctrl |= PHY_M_LED_BLINK_RT(BLINK_84MS) | PHY_M_LEDC_TX_CTRL; | 522 | ledctrl |= PHY_M_LED_BLINK_RT(BLINK_84MS) | PHY_M_LEDC_TX_CTRL; |
524 | /* turn off the Rx LED (LED_RX) */ | 523 | /* turn off the Rx LED (LED_RX) */ |
525 | ledover |= PHY_M_LED_MO_RX(MO_LED_OFF); | 524 | ledover &= ~PHY_M_LED_MO_RX; |
526 | } | 525 | } |
527 | 526 | ||
528 | if (hw->chip_id == CHIP_ID_YUKON_EC_U && hw->chip_rev == CHIP_REV_YU_EC_A1) { | 527 | if (hw->chip_id == CHIP_ID_YUKON_EC_U && hw->chip_rev == CHIP_REV_YU_EC_A1) { |
@@ -545,7 +544,7 @@ static void sky2_phy_init(struct sky2_hw *hw, unsigned port) | |||
545 | 544 | ||
546 | if (sky2->autoneg == AUTONEG_DISABLE || sky2->speed == SPEED_100) { | 545 | if (sky2->autoneg == AUTONEG_DISABLE || sky2->speed == SPEED_100) { |
547 | /* turn on 100 Mbps LED (LED_LINK100) */ | 546 | /* turn on 100 Mbps LED (LED_LINK100) */ |
548 | ledover |= PHY_M_LED_MO_100(MO_LED_ON); | 547 | ledover |= PHY_M_LED_MO_100; |
549 | } | 548 | } |
550 | 549 | ||
551 | if (ledover) | 550 | if (ledover) |
@@ -697,10 +696,15 @@ static void sky2_mac_init(struct sky2_hw *hw, unsigned port) | |||
697 | 696 | ||
698 | } | 697 | } |
699 | 698 | ||
700 | /* Assign Ram Buffer allocation in units of 64bit (8 bytes) */ | 699 | /* Assign Ram Buffer allocation to queue */ |
701 | static void sky2_ramset(struct sky2_hw *hw, u16 q, u32 start, u32 end) | 700 | static void sky2_ramset(struct sky2_hw *hw, u16 q, u32 start, u32 space) |
702 | { | 701 | { |
703 | pr_debug(PFX "q %d %#x %#x\n", q, start, end); | 702 | u32 end; |
703 | |||
704 | /* convert from K bytes to qwords used for hw register */ | ||
705 | start *= 1024/8; | ||
706 | space *= 1024/8; | ||
707 | end = start + space - 1; | ||
704 | 708 | ||
705 | sky2_write8(hw, RB_ADDR(q, RB_CTRL), RB_RST_CLR); | 709 | sky2_write8(hw, RB_ADDR(q, RB_CTRL), RB_RST_CLR); |
706 | sky2_write32(hw, RB_ADDR(q, RB_START), start); | 710 | sky2_write32(hw, RB_ADDR(q, RB_START), start); |
@@ -709,7 +713,6 @@ static void sky2_ramset(struct sky2_hw *hw, u16 q, u32 start, u32 end) | |||
709 | sky2_write32(hw, RB_ADDR(q, RB_RP), start); | 713 | sky2_write32(hw, RB_ADDR(q, RB_RP), start); |
710 | 714 | ||
711 | if (q == Q_R1 || q == Q_R2) { | 715 | if (q == Q_R1 || q == Q_R2) { |
712 | u32 space = end - start + 1; | ||
713 | u32 tp = space - space/4; | 716 | u32 tp = space - space/4; |
714 | 717 | ||
715 | /* On receive queue's set the thresholds | 718 | /* On receive queue's set the thresholds |
@@ -1059,11 +1062,16 @@ static int sky2_rx_start(struct sky2_port *sky2) | |||
1059 | sky2->rx_put = sky2->rx_next = 0; | 1062 | sky2->rx_put = sky2->rx_next = 0; |
1060 | sky2_qset(hw, rxq); | 1063 | sky2_qset(hw, rxq); |
1061 | 1064 | ||
1065 | /* On PCI express lowering the watermark gives better performance */ | ||
1066 | if (pci_find_capability(hw->pdev, PCI_CAP_ID_EXP)) | ||
1067 | sky2_write32(hw, Q_ADDR(rxq, Q_WM), BMU_WM_PEX); | ||
1068 | |||
1069 | /* These chips have no ram buffer? | ||
1070 | * MAC Rx RAM Read is controlled by hardware */ | ||
1062 | if (hw->chip_id == CHIP_ID_YUKON_EC_U && | 1071 | if (hw->chip_id == CHIP_ID_YUKON_EC_U && |
1063 | (hw->chip_rev == CHIP_REV_YU_EC_U_A1 || hw->chip_rev == CHIP_REV_YU_EC_U_B0)) { | 1072 | (hw->chip_rev == CHIP_REV_YU_EC_U_A1 |
1064 | /* MAC Rx RAM Read is controlled by hardware */ | 1073 | || hw->chip_rev == CHIP_REV_YU_EC_U_B0)) |
1065 | sky2_write32(hw, Q_ADDR(rxq, Q_F), F_M_RX_RAM_DIS); | 1074 | sky2_write32(hw, Q_ADDR(rxq, Q_F), F_M_RX_RAM_DIS); |
1066 | } | ||
1067 | 1075 | ||
1068 | sky2_prefetch_init(hw, rxq, sky2->rx_le_map, RX_LE_SIZE - 1); | 1076 | sky2_prefetch_init(hw, rxq, sky2->rx_le_map, RX_LE_SIZE - 1); |
1069 | 1077 | ||
@@ -1139,7 +1147,7 @@ static int sky2_up(struct net_device *dev) | |||
1139 | struct sky2_port *sky2 = netdev_priv(dev); | 1147 | struct sky2_port *sky2 = netdev_priv(dev); |
1140 | struct sky2_hw *hw = sky2->hw; | 1148 | struct sky2_hw *hw = sky2->hw; |
1141 | unsigned port = sky2->port; | 1149 | unsigned port = sky2->port; |
1142 | u32 ramsize, rxspace, imask; | 1150 | u32 ramsize, imask; |
1143 | int cap, err = -ENOMEM; | 1151 | int cap, err = -ENOMEM; |
1144 | struct net_device *otherdev = hw->dev[sky2->port^1]; | 1152 | struct net_device *otherdev = hw->dev[sky2->port^1]; |
1145 | 1153 | ||
@@ -1192,20 +1200,25 @@ static int sky2_up(struct net_device *dev) | |||
1192 | 1200 | ||
1193 | sky2_mac_init(hw, port); | 1201 | sky2_mac_init(hw, port); |
1194 | 1202 | ||
1195 | /* Determine available ram buffer space in qwords. */ | 1203 | /* Register is number of 4K blocks on internal RAM buffer. */ |
1196 | ramsize = sky2_read8(hw, B2_E_0) * 4096/8; | 1204 | ramsize = sky2_read8(hw, B2_E_0) * 4; |
1205 | printk(KERN_INFO PFX "%s: ram buffer %dK\n", dev->name, ramsize); | ||
1197 | 1206 | ||
1198 | if (ramsize > 6*1024/8) | 1207 | if (ramsize > 0) { |
1199 | rxspace = ramsize - (ramsize + 2) / 3; | 1208 | u32 rxspace; |
1200 | else | ||
1201 | rxspace = ramsize / 2; | ||
1202 | 1209 | ||
1203 | sky2_ramset(hw, rxqaddr[port], 0, rxspace-1); | 1210 | if (ramsize < 16) |
1204 | sky2_ramset(hw, txqaddr[port], rxspace, ramsize-1); | 1211 | rxspace = ramsize / 2; |
1212 | else | ||
1213 | rxspace = 8 + (2*(ramsize - 16))/3; | ||
1214 | |||
1215 | sky2_ramset(hw, rxqaddr[port], 0, rxspace); | ||
1216 | sky2_ramset(hw, txqaddr[port], rxspace, ramsize - rxspace); | ||
1205 | 1217 | ||
1206 | /* Make sure SyncQ is disabled */ | 1218 | /* Make sure SyncQ is disabled */ |
1207 | sky2_write8(hw, RB_ADDR(port == 0 ? Q_XS1 : Q_XS2, RB_CTRL), | 1219 | sky2_write8(hw, RB_ADDR(port == 0 ? Q_XS1 : Q_XS2, RB_CTRL), |
1208 | RB_RST_SET); | 1220 | RB_RST_SET); |
1221 | } | ||
1209 | 1222 | ||
1210 | sky2_qset(hw, txqaddr[port]); | 1223 | sky2_qset(hw, txqaddr[port]); |
1211 | 1224 | ||
@@ -1350,7 +1363,7 @@ static int sky2_xmit_frame(struct sk_buff *skb, struct net_device *dev) | |||
1350 | u32 tcpsum; | 1363 | u32 tcpsum; |
1351 | 1364 | ||
1352 | tcpsum = offset << 16; /* sum start */ | 1365 | tcpsum = offset << 16; /* sum start */ |
1353 | tcpsum |= offset + skb->csum; /* sum write */ | 1366 | tcpsum |= offset + skb->csum_offset; /* sum write */ |
1354 | 1367 | ||
1355 | ctrl = CALSUM | WR_SUM | INIT_SUM | LOCK_SUM; | 1368 | ctrl = CALSUM | WR_SUM | INIT_SUM | LOCK_SUM; |
1356 | if (skb->nh.iph->protocol == IPPROTO_UDP) | 1369 | if (skb->nh.iph->protocol == IPPROTO_UDP) |
@@ -2917,18 +2930,8 @@ static void sky2_led(struct sky2_hw *hw, unsigned port, int on) | |||
2917 | 2930 | ||
2918 | default: | 2931 | default: |
2919 | gm_phy_write(hw, port, PHY_MARV_LED_CTRL, 0); | 2932 | gm_phy_write(hw, port, PHY_MARV_LED_CTRL, 0); |
2920 | gm_phy_write(hw, port, PHY_MARV_LED_OVER, | 2933 | gm_phy_write(hw, port, PHY_MARV_LED_OVER, |
2921 | on ? PHY_M_LED_MO_DUP(MO_LED_ON) | | 2934 | on ? PHY_M_LED_ALL : 0); |
2922 | PHY_M_LED_MO_10(MO_LED_ON) | | ||
2923 | PHY_M_LED_MO_100(MO_LED_ON) | | ||
2924 | PHY_M_LED_MO_1000(MO_LED_ON) | | ||
2925 | PHY_M_LED_MO_RX(MO_LED_ON) | ||
2926 | : PHY_M_LED_MO_DUP(MO_LED_OFF) | | ||
2927 | PHY_M_LED_MO_10(MO_LED_OFF) | | ||
2928 | PHY_M_LED_MO_100(MO_LED_OFF) | | ||
2929 | PHY_M_LED_MO_1000(MO_LED_OFF) | | ||
2930 | PHY_M_LED_MO_RX(MO_LED_OFF)); | ||
2931 | |||
2932 | } | 2935 | } |
2933 | } | 2936 | } |
2934 | 2937 | ||
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index 7760545edbf2..6ed1d47dbbd3 100644 --- a/drivers/net/sky2.h +++ b/drivers/net/sky2.h | |||
@@ -608,7 +608,7 @@ enum { | |||
608 | PHY_ADDR_MARV = 0, | 608 | PHY_ADDR_MARV = 0, |
609 | }; | 609 | }; |
610 | 610 | ||
611 | #define RB_ADDR(offs, queue) (B16_RAM_REGS + (queue) + (offs)) | 611 | #define RB_ADDR(offs, queue) ((u16) B16_RAM_REGS + (queue) + (offs)) |
612 | 612 | ||
613 | 613 | ||
614 | enum { | 614 | enum { |
@@ -680,6 +680,7 @@ enum { | |||
680 | BMU_FIFO_ENA | BMU_OP_ON, | 680 | BMU_FIFO_ENA | BMU_OP_ON, |
681 | 681 | ||
682 | BMU_WM_DEFAULT = 0x600, | 682 | BMU_WM_DEFAULT = 0x600, |
683 | BMU_WM_PEX = 0x80, | ||
683 | }; | 684 | }; |
684 | 685 | ||
685 | /* Tx BMU Control / Status Registers (Yukon-2) */ | 686 | /* Tx BMU Control / Status Registers (Yukon-2) */ |
@@ -1060,7 +1061,7 @@ enum { | |||
1060 | PHY_M_PC_EN_DET_PLUS = 3<<8, /* Energy Detect Plus (Mode 2) */ | 1061 | PHY_M_PC_EN_DET_PLUS = 3<<8, /* Energy Detect Plus (Mode 2) */ |
1061 | }; | 1062 | }; |
1062 | 1063 | ||
1063 | #define PHY_M_PC_MDI_XMODE(x) (((x)<<5) & PHY_M_PC_MDIX_MSK) | 1064 | #define PHY_M_PC_MDI_XMODE(x) (((u16)(x)<<5) & PHY_M_PC_MDIX_MSK) |
1064 | 1065 | ||
1065 | enum { | 1066 | enum { |
1066 | PHY_M_PC_MAN_MDI = 0, /* 00 = Manual MDI configuration */ | 1067 | PHY_M_PC_MAN_MDI = 0, /* 00 = Manual MDI configuration */ |
@@ -1156,13 +1157,13 @@ enum { | |||
1156 | PHY_M_EC_TX_TIM_CT = 1<<1, /* RGMII Tx Timing Control */ | 1157 | PHY_M_EC_TX_TIM_CT = 1<<1, /* RGMII Tx Timing Control */ |
1157 | PHY_M_EC_TRANS_DIS = 1<<0, /* Transmitter Disable (88E1111 only) */}; | 1158 | PHY_M_EC_TRANS_DIS = 1<<0, /* Transmitter Disable (88E1111 only) */}; |
1158 | 1159 | ||
1159 | #define PHY_M_EC_M_DSC(x) ((x)<<10 & PHY_M_EC_M_DSC_MSK) | 1160 | #define PHY_M_EC_M_DSC(x) ((u16)(x)<<10 & PHY_M_EC_M_DSC_MSK) |
1160 | /* 00=1x; 01=2x; 10=3x; 11=4x */ | 1161 | /* 00=1x; 01=2x; 10=3x; 11=4x */ |
1161 | #define PHY_M_EC_S_DSC(x) ((x)<<8 & PHY_M_EC_S_DSC_MSK) | 1162 | #define PHY_M_EC_S_DSC(x) ((u16)(x)<<8 & PHY_M_EC_S_DSC_MSK) |
1162 | /* 00=dis; 01=1x; 10=2x; 11=3x */ | 1163 | /* 00=dis; 01=1x; 10=2x; 11=3x */ |
1163 | #define PHY_M_EC_DSC_2(x) ((x)<<9 & PHY_M_EC_M_DSC_MSK2) | 1164 | #define PHY_M_EC_DSC_2(x) ((u16)(x)<<9 & PHY_M_EC_M_DSC_MSK2) |
1164 | /* 000=1x; 001=2x; 010=3x; 011=4x */ | 1165 | /* 000=1x; 001=2x; 010=3x; 011=4x */ |
1165 | #define PHY_M_EC_MAC_S(x) ((x)<<4 & PHY_M_EC_MAC_S_MSK) | 1166 | #define PHY_M_EC_MAC_S(x) ((u16)(x)<<4 & PHY_M_EC_MAC_S_MSK) |
1166 | /* 01X=0; 110=2.5; 111=25 (MHz) */ | 1167 | /* 01X=0; 110=2.5; 111=25 (MHz) */ |
1167 | 1168 | ||
1168 | /* for Yukon-2 Gigabit Ethernet PHY (88E1112 only) */ | 1169 | /* for Yukon-2 Gigabit Ethernet PHY (88E1112 only) */ |
@@ -1173,7 +1174,7 @@ enum { | |||
1173 | }; | 1174 | }; |
1174 | /* !!! Errata in spec. (1 = disable) */ | 1175 | /* !!! Errata in spec. (1 = disable) */ |
1175 | 1176 | ||
1176 | #define PHY_M_PC_DSC(x) (((x)<<12) & PHY_M_PC_DSC_MSK) | 1177 | #define PHY_M_PC_DSC(x) (((u16)(x)<<12) & PHY_M_PC_DSC_MSK) |
1177 | /* 100=5x; 101=6x; 110=7x; 111=8x */ | 1178 | /* 100=5x; 101=6x; 110=7x; 111=8x */ |
1178 | enum { | 1179 | enum { |
1179 | MAC_TX_CLK_0_MHZ = 2, | 1180 | MAC_TX_CLK_0_MHZ = 2, |
@@ -1203,7 +1204,7 @@ enum { | |||
1203 | PHY_M_LEDC_TX_C_MSB = 1<<0, /* Tx Control (MSB, 88E1111 only) */ | 1204 | PHY_M_LEDC_TX_C_MSB = 1<<0, /* Tx Control (MSB, 88E1111 only) */ |
1204 | }; | 1205 | }; |
1205 | 1206 | ||
1206 | #define PHY_M_LED_PULS_DUR(x) (((x)<<12) & PHY_M_LEDC_PULS_MSK) | 1207 | #define PHY_M_LED_PULS_DUR(x) (((u16)(x)<<12) & PHY_M_LEDC_PULS_MSK) |
1207 | 1208 | ||
1208 | /***** PHY_MARV_PHY_STAT (page 3)16 bit r/w Polarity Control Reg. *****/ | 1209 | /***** PHY_MARV_PHY_STAT (page 3)16 bit r/w Polarity Control Reg. *****/ |
1209 | enum { | 1210 | enum { |
@@ -1233,7 +1234,7 @@ enum { | |||
1233 | PULS_1300MS = 7,/* 1.3 s to 2.7 s */ | 1234 | PULS_1300MS = 7,/* 1.3 s to 2.7 s */ |
1234 | }; | 1235 | }; |
1235 | 1236 | ||
1236 | #define PHY_M_LED_BLINK_RT(x) (((x)<<8) & PHY_M_LEDC_BL_R_MSK) | 1237 | #define PHY_M_LED_BLINK_RT(x) (((u16)(x)<<8) & PHY_M_LEDC_BL_R_MSK) |
1237 | 1238 | ||
1238 | enum { | 1239 | enum { |
1239 | BLINK_42MS = 0,/* 42 ms */ | 1240 | BLINK_42MS = 0,/* 42 ms */ |
@@ -1243,21 +1244,18 @@ enum { | |||
1243 | BLINK_670MS = 4,/* 670 ms */ | 1244 | BLINK_670MS = 4,/* 670 ms */ |
1244 | }; | 1245 | }; |
1245 | 1246 | ||
1246 | /***** PHY_MARV_LED_OVER 16 bit r/w Manual LED Override Reg *****/ | 1247 | /**** PHY_MARV_LED_OVER 16 bit r/w LED control */ |
1247 | #define PHY_M_LED_MO_SGMII(x) ((x)<<14) /* Bit 15..14: SGMII AN Timer */ | ||
1248 | /* Bit 13..12: reserved */ | ||
1249 | #define PHY_M_LED_MO_DUP(x) ((x)<<10) /* Bit 11..10: Duplex */ | ||
1250 | #define PHY_M_LED_MO_10(x) ((x)<<8) /* Bit 9.. 8: Link 10 */ | ||
1251 | #define PHY_M_LED_MO_100(x) ((x)<<6) /* Bit 7.. 6: Link 100 */ | ||
1252 | #define PHY_M_LED_MO_1000(x) ((x)<<4) /* Bit 5.. 4: Link 1000 */ | ||
1253 | #define PHY_M_LED_MO_RX(x) ((x)<<2) /* Bit 3.. 2: Rx */ | ||
1254 | #define PHY_M_LED_MO_TX(x) ((x)<<0) /* Bit 1.. 0: Tx */ | ||
1255 | |||
1256 | enum { | 1248 | enum { |
1257 | MO_LED_NORM = 0, | 1249 | PHY_M_LED_MO_DUP = 3<<10,/* Bit 11..10: Duplex */ |
1258 | MO_LED_BLINK = 1, | 1250 | PHY_M_LED_MO_10 = 3<<8, /* Bit 9.. 8: Link 10 */ |
1259 | MO_LED_OFF = 2, | 1251 | PHY_M_LED_MO_100 = 3<<6, /* Bit 7.. 6: Link 100 */ |
1260 | MO_LED_ON = 3, | 1252 | PHY_M_LED_MO_1000 = 3<<4, /* Bit 5.. 4: Link 1000 */ |
1253 | PHY_M_LED_MO_RX = 3<<2, /* Bit 3.. 2: Rx */ | ||
1254 | PHY_M_LED_MO_TX = 3<<0, /* Bit 1.. 0: Tx */ | ||
1255 | |||
1256 | PHY_M_LED_ALL = PHY_M_LED_MO_DUP | PHY_M_LED_MO_10 | ||
1257 | | PHY_M_LED_MO_100 | PHY_M_LED_MO_1000 | ||
1258 | | PHY_M_LED_MO_RX, | ||
1261 | }; | 1259 | }; |
1262 | 1260 | ||
1263 | /***** PHY_MARV_EXT_CTRL_2 16 bit r/w Ext. PHY Specific Ctrl 2 *****/ | 1261 | /***** PHY_MARV_EXT_CTRL_2 16 bit r/w Ext. PHY Specific Ctrl 2 *****/ |
@@ -1294,9 +1292,9 @@ enum { | |||
1294 | PHY_M_FELP_LED0_MSK = 0xf, /* Bit 3.. 0: LED0 Mask (SPEED) */ | 1292 | PHY_M_FELP_LED0_MSK = 0xf, /* Bit 3.. 0: LED0 Mask (SPEED) */ |
1295 | }; | 1293 | }; |
1296 | 1294 | ||
1297 | #define PHY_M_FELP_LED2_CTRL(x) (((x)<<8) & PHY_M_FELP_LED2_MSK) | 1295 | #define PHY_M_FELP_LED2_CTRL(x) (((u16)(x)<<8) & PHY_M_FELP_LED2_MSK) |
1298 | #define PHY_M_FELP_LED1_CTRL(x) (((x)<<4) & PHY_M_FELP_LED1_MSK) | 1296 | #define PHY_M_FELP_LED1_CTRL(x) (((u16)(x)<<4) & PHY_M_FELP_LED1_MSK) |
1299 | #define PHY_M_FELP_LED0_CTRL(x) (((x)<<0) & PHY_M_FELP_LED0_MSK) | 1297 | #define PHY_M_FELP_LED0_CTRL(x) (((u16)(x)<<0) & PHY_M_FELP_LED0_MSK) |
1300 | 1298 | ||
1301 | enum { | 1299 | enum { |
1302 | LED_PAR_CTRL_COLX = 0x00, | 1300 | LED_PAR_CTRL_COLX = 0x00, |
@@ -1552,8 +1550,8 @@ enum { | |||
1552 | GM_SMI_CT_BUSY = 1<<3, /* Bit 3: Busy (Operation in progress) */ | 1550 | GM_SMI_CT_BUSY = 1<<3, /* Bit 3: Busy (Operation in progress) */ |
1553 | }; | 1551 | }; |
1554 | 1552 | ||
1555 | #define GM_SMI_CT_PHY_AD(x) (((x)<<11) & GM_SMI_CT_PHY_A_MSK) | 1553 | #define GM_SMI_CT_PHY_AD(x) (((u16)(x)<<11) & GM_SMI_CT_PHY_A_MSK) |
1556 | #define GM_SMI_CT_REG_AD(x) (((x)<<6) & GM_SMI_CT_REG_A_MSK) | 1554 | #define GM_SMI_CT_REG_AD(x) (((u16)(x)<<6) & GM_SMI_CT_REG_A_MSK) |
1557 | 1555 | ||
1558 | /* GM_PHY_ADDR 16 bit r/w GPHY Address Register */ | 1556 | /* GM_PHY_ADDR 16 bit r/w GPHY Address Register */ |
1559 | enum { | 1557 | enum { |
diff --git a/drivers/net/smc-ultra.c b/drivers/net/smc-ultra.c index 889ef0d7c374..d70bc9795346 100644 --- a/drivers/net/smc-ultra.c +++ b/drivers/net/smc-ultra.c | |||
@@ -593,7 +593,7 @@ static void cleanup_card(struct net_device *dev) | |||
593 | iounmap(ei_status.mem); | 593 | iounmap(ei_status.mem); |
594 | } | 594 | } |
595 | 595 | ||
596 | void | 596 | void __exit |
597 | cleanup_module(void) | 597 | cleanup_module(void) |
598 | { | 598 | { |
599 | int this_dev; | 599 | int this_dev; |
diff --git a/drivers/net/smc-ultra32.c b/drivers/net/smc-ultra32.c index e10755ec5def..2c5319c62fa5 100644 --- a/drivers/net/smc-ultra32.c +++ b/drivers/net/smc-ultra32.c | |||
@@ -437,7 +437,7 @@ int __init init_module(void) | |||
437 | return -ENXIO; | 437 | return -ENXIO; |
438 | } | 438 | } |
439 | 439 | ||
440 | void cleanup_module(void) | 440 | void __exit cleanup_module(void) |
441 | { | 441 | { |
442 | int this_dev; | 442 | int this_dev; |
443 | 443 | ||
diff --git a/drivers/net/smc9194.c b/drivers/net/smc9194.c index c0d13d650913..bd6e84506c29 100644 --- a/drivers/net/smc9194.c +++ b/drivers/net/smc9194.c | |||
@@ -1616,7 +1616,7 @@ int __init init_module(void) | |||
1616 | return 0; | 1616 | return 0; |
1617 | } | 1617 | } |
1618 | 1618 | ||
1619 | void cleanup_module(void) | 1619 | void __exit cleanup_module(void) |
1620 | { | 1620 | { |
1621 | unregister_netdev(devSMC9194); | 1621 | unregister_netdev(devSMC9194); |
1622 | free_irq(devSMC9194->irq, devSMC9194); | 1622 | free_irq(devSMC9194->irq, devSMC9194); |
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c index 95b6478f55c6..e62a9586fb95 100644 --- a/drivers/net/smc91x.c +++ b/drivers/net/smc91x.c | |||
@@ -210,6 +210,7 @@ struct smc_local { | |||
210 | 210 | ||
211 | /* work queue */ | 211 | /* work queue */ |
212 | struct work_struct phy_configure; | 212 | struct work_struct phy_configure; |
213 | struct net_device *dev; | ||
213 | int work_pending; | 214 | int work_pending; |
214 | 215 | ||
215 | spinlock_t lock; | 216 | spinlock_t lock; |
@@ -1114,10 +1115,11 @@ static void smc_phy_check_media(struct net_device *dev, int init) | |||
1114 | * of autonegotiation.) If the RPC ANEG bit is cleared, the selection | 1115 | * of autonegotiation.) If the RPC ANEG bit is cleared, the selection |
1115 | * is controlled by the RPC SPEED and RPC DPLX bits. | 1116 | * is controlled by the RPC SPEED and RPC DPLX bits. |
1116 | */ | 1117 | */ |
1117 | static void smc_phy_configure(void *data) | 1118 | static void smc_phy_configure(struct work_struct *work) |
1118 | { | 1119 | { |
1119 | struct net_device *dev = data; | 1120 | struct smc_local *lp = |
1120 | struct smc_local *lp = netdev_priv(dev); | 1121 | container_of(work, struct smc_local, phy_configure); |
1122 | struct net_device *dev = lp->dev; | ||
1121 | void __iomem *ioaddr = lp->base; | 1123 | void __iomem *ioaddr = lp->base; |
1122 | int phyaddr = lp->mii.phy_id; | 1124 | int phyaddr = lp->mii.phy_id; |
1123 | int my_phy_caps; /* My PHY capabilities */ | 1125 | int my_phy_caps; /* My PHY capabilities */ |
@@ -1592,7 +1594,7 @@ smc_open(struct net_device *dev) | |||
1592 | 1594 | ||
1593 | /* Configure the PHY, initialize the link state */ | 1595 | /* Configure the PHY, initialize the link state */ |
1594 | if (lp->phy_type != 0) | 1596 | if (lp->phy_type != 0) |
1595 | smc_phy_configure(dev); | 1597 | smc_phy_configure(&lp->phy_configure); |
1596 | else { | 1598 | else { |
1597 | spin_lock_irq(&lp->lock); | 1599 | spin_lock_irq(&lp->lock); |
1598 | smc_10bt_check_media(dev, 1); | 1600 | smc_10bt_check_media(dev, 1); |
@@ -1972,7 +1974,8 @@ static int __init smc_probe(struct net_device *dev, void __iomem *ioaddr) | |||
1972 | #endif | 1974 | #endif |
1973 | 1975 | ||
1974 | tasklet_init(&lp->tx_task, smc_hardware_send_pkt, (unsigned long)dev); | 1976 | tasklet_init(&lp->tx_task, smc_hardware_send_pkt, (unsigned long)dev); |
1975 | INIT_WORK(&lp->phy_configure, smc_phy_configure, dev); | 1977 | INIT_WORK(&lp->phy_configure, smc_phy_configure); |
1978 | lp->dev = dev; | ||
1976 | lp->mii.phy_id_mask = 0x1f; | 1979 | lp->mii.phy_id_mask = 0x1f; |
1977 | lp->mii.reg_num_mask = 0x1f; | 1980 | lp->mii.reg_num_mask = 0x1f; |
1978 | lp->mii.force_media = 0; | 1981 | lp->mii.force_media = 0; |
@@ -2322,7 +2325,7 @@ static int smc_drv_resume(struct platform_device *dev) | |||
2322 | smc_reset(ndev); | 2325 | smc_reset(ndev); |
2323 | smc_enable(ndev); | 2326 | smc_enable(ndev); |
2324 | if (lp->phy_type != 0) | 2327 | if (lp->phy_type != 0) |
2325 | smc_phy_configure(ndev); | 2328 | smc_phy_configure(&lp->phy_configure); |
2326 | netif_device_attach(ndev); | 2329 | netif_device_attach(ndev); |
2327 | } | 2330 | } |
2328 | } | 2331 | } |
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index a8640169fc77..9367c574477a 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h | |||
@@ -238,7 +238,7 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg) | |||
238 | #define SMC_CAN_USE_16BIT 1 | 238 | #define SMC_CAN_USE_16BIT 1 |
239 | #define SMC_CAN_USE_32BIT 0 | 239 | #define SMC_CAN_USE_32BIT 0 |
240 | 240 | ||
241 | #define SMC_inb(a, r) inb((u32)a) + (r)) | 241 | #define SMC_inb(a, r) inb(((u32)a) + (r)) |
242 | #define SMC_inw(a, r) inw(((u32)a) + (r)) | 242 | #define SMC_inw(a, r) inw(((u32)a) + (r)) |
243 | #define SMC_outb(v, a, r) outb(v, ((u32)a) + (r)) | 243 | #define SMC_outb(v, a, r) outb(v, ((u32)a) + (r)) |
244 | #define SMC_outw(v, a, r) outw(v, ((u32)a) + (r)) | 244 | #define SMC_outw(v, a, r) outw(v, ((u32)a) + (r)) |
@@ -434,6 +434,24 @@ static inline void LPD7_SMC_outsw (unsigned char* a, int r, | |||
434 | 434 | ||
435 | #define SMC_IRQ_FLAGS (0) | 435 | #define SMC_IRQ_FLAGS (0) |
436 | 436 | ||
437 | #elif defined(CONFIG_ARCH_VERSATILE) | ||
438 | |||
439 | #define SMC_CAN_USE_8BIT 1 | ||
440 | #define SMC_CAN_USE_16BIT 1 | ||
441 | #define SMC_CAN_USE_32BIT 1 | ||
442 | #define SMC_NOWAIT 1 | ||
443 | |||
444 | #define SMC_inb(a, r) readb((a) + (r)) | ||
445 | #define SMC_inw(a, r) readw((a) + (r)) | ||
446 | #define SMC_inl(a, r) readl((a) + (r)) | ||
447 | #define SMC_outb(v, a, r) writeb(v, (a) + (r)) | ||
448 | #define SMC_outw(v, a, r) writew(v, (a) + (r)) | ||
449 | #define SMC_outl(v, a, r) writel(v, (a) + (r)) | ||
450 | #define SMC_insl(a, r, p, l) readsl((a) + (r), p, l) | ||
451 | #define SMC_outsl(a, r, p, l) writesl((a) + (r), p, l) | ||
452 | |||
453 | #define SMC_IRQ_FLAGS (0) | ||
454 | |||
437 | #else | 455 | #else |
438 | 456 | ||
439 | #define SMC_CAN_USE_8BIT 1 | 457 | #define SMC_CAN_USE_8BIT 1 |
@@ -1216,7 +1234,7 @@ static const char * chip_ids[ 16 ] = { | |||
1216 | if (SMC_CAN_USE_32BIT) { \ | 1234 | if (SMC_CAN_USE_32BIT) { \ |
1217 | void *__ptr = (p); \ | 1235 | void *__ptr = (p); \ |
1218 | int __len = (l); \ | 1236 | int __len = (l); \ |
1219 | void *__ioaddr = ioaddr; \ | 1237 | void __iomem *__ioaddr = ioaddr; \ |
1220 | if (__len >= 2 && (unsigned long)__ptr & 2) { \ | 1238 | if (__len >= 2 && (unsigned long)__ptr & 2) { \ |
1221 | __len -= 2; \ | 1239 | __len -= 2; \ |
1222 | SMC_outw(*(u16 *)__ptr, ioaddr, DATA_REG); \ | 1240 | SMC_outw(*(u16 *)__ptr, ioaddr, DATA_REG); \ |
@@ -1240,7 +1258,7 @@ static const char * chip_ids[ 16 ] = { | |||
1240 | if (SMC_CAN_USE_32BIT) { \ | 1258 | if (SMC_CAN_USE_32BIT) { \ |
1241 | void *__ptr = (p); \ | 1259 | void *__ptr = (p); \ |
1242 | int __len = (l); \ | 1260 | int __len = (l); \ |
1243 | void *__ioaddr = ioaddr; \ | 1261 | void __iomem *__ioaddr = ioaddr; \ |
1244 | if ((unsigned long)__ptr & 2) { \ | 1262 | if ((unsigned long)__ptr & 2) { \ |
1245 | /* \ | 1263 | /* \ |
1246 | * We want 32bit alignment here. \ | 1264 | * We want 32bit alignment here. \ |
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c index cef7e6671c49..ebb6aa39f9c7 100644 --- a/drivers/net/spider_net.c +++ b/drivers/net/spider_net.c | |||
@@ -88,12 +88,11 @@ MODULE_DEVICE_TABLE(pci, spider_net_pci_tbl); | |||
88 | static inline u32 | 88 | static inline u32 |
89 | spider_net_read_reg(struct spider_net_card *card, u32 reg) | 89 | spider_net_read_reg(struct spider_net_card *card, u32 reg) |
90 | { | 90 | { |
91 | u32 value; | 91 | /* We use the powerpc specific variants instead of readl_be() because |
92 | 92 | * we know spidernet is not a real PCI device and we can thus avoid the | |
93 | value = readl(card->regs + reg); | 93 | * performance hit caused by the PCI workarounds. |
94 | value = le32_to_cpu(value); | 94 | */ |
95 | 95 | return in_be32(card->regs + reg); | |
96 | return value; | ||
97 | } | 96 | } |
98 | 97 | ||
99 | /** | 98 | /** |
@@ -105,8 +104,11 @@ spider_net_read_reg(struct spider_net_card *card, u32 reg) | |||
105 | static inline void | 104 | static inline void |
106 | spider_net_write_reg(struct spider_net_card *card, u32 reg, u32 value) | 105 | spider_net_write_reg(struct spider_net_card *card, u32 reg, u32 value) |
107 | { | 106 | { |
108 | value = cpu_to_le32(value); | 107 | /* We use the powerpc specific variants instead of writel_be() because |
109 | writel(value, card->regs + reg); | 108 | * we know spidernet is not a real PCI device and we can thus avoid the |
109 | * performance hit caused by the PCI workarounds. | ||
110 | */ | ||
111 | out_be32(card->regs + reg, value); | ||
110 | } | 112 | } |
111 | 113 | ||
112 | /** spider_net_write_phy - write to phy register | 114 | /** spider_net_write_phy - write to phy register |
@@ -1937,10 +1939,11 @@ spider_net_stop(struct net_device *netdev) | |||
1937 | * called as task when tx hangs, resets interface (if interface is up) | 1939 | * called as task when tx hangs, resets interface (if interface is up) |
1938 | */ | 1940 | */ |
1939 | static void | 1941 | static void |
1940 | spider_net_tx_timeout_task(void *data) | 1942 | spider_net_tx_timeout_task(struct work_struct *work) |
1941 | { | 1943 | { |
1942 | struct net_device *netdev = data; | 1944 | struct spider_net_card *card = |
1943 | struct spider_net_card *card = netdev_priv(netdev); | 1945 | container_of(work, struct spider_net_card, tx_timeout_task); |
1946 | struct net_device *netdev = card->netdev; | ||
1944 | 1947 | ||
1945 | if (!(netdev->flags & IFF_UP)) | 1948 | if (!(netdev->flags & IFF_UP)) |
1946 | goto out; | 1949 | goto out; |
@@ -2114,7 +2117,7 @@ spider_net_alloc_card(void) | |||
2114 | card = netdev_priv(netdev); | 2117 | card = netdev_priv(netdev); |
2115 | card->netdev = netdev; | 2118 | card->netdev = netdev; |
2116 | card->msg_enable = SPIDER_NET_DEFAULT_MSG; | 2119 | card->msg_enable = SPIDER_NET_DEFAULT_MSG; |
2117 | INIT_WORK(&card->tx_timeout_task, spider_net_tx_timeout_task, netdev); | 2120 | INIT_WORK(&card->tx_timeout_task, spider_net_tx_timeout_task); |
2118 | init_waitqueue_head(&card->waitq); | 2121 | init_waitqueue_head(&card->waitq); |
2119 | atomic_set(&card->tx_timeout_task_counter, 0); | 2122 | atomic_set(&card->tx_timeout_task_counter, 0); |
2120 | 2123 | ||
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c index 7a0aee6c869d..bf873ea25797 100644 --- a/drivers/net/starfire.c +++ b/drivers/net/starfire.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include <linux/ethtool.h> | 41 | #include <linux/ethtool.h> |
42 | #include <linux/mii.h> | 42 | #include <linux/mii.h> |
43 | #include <linux/if_vlan.h> | 43 | #include <linux/if_vlan.h> |
44 | #include <linux/mm.h> | ||
44 | #include <asm/processor.h> /* Processor type for cache alignment. */ | 45 | #include <asm/processor.h> /* Processor type for cache alignment. */ |
45 | #include <asm/uaccess.h> | 46 | #include <asm/uaccess.h> |
46 | #include <asm/io.h> | 47 | #include <asm/io.h> |
diff --git a/drivers/net/sun3lance.c b/drivers/net/sun3lance.c index b865db363ba0..c62e85d89f41 100644 --- a/drivers/net/sun3lance.c +++ b/drivers/net/sun3lance.c | |||
@@ -38,6 +38,7 @@ static char *version = "sun3lance.c: v1.2 1/12/2001 Sam Creasey (sammy@sammy.ne | |||
38 | #include <linux/skbuff.h> | 38 | #include <linux/skbuff.h> |
39 | #include <linux/bitops.h> | 39 | #include <linux/bitops.h> |
40 | 40 | ||
41 | #include <asm/cacheflush.h> | ||
41 | #include <asm/setup.h> | 42 | #include <asm/setup.h> |
42 | #include <asm/irq.h> | 43 | #include <asm/irq.h> |
43 | #include <asm/io.h> | 44 | #include <asm/io.h> |
@@ -944,7 +945,7 @@ static void set_multicast_list( struct net_device *dev ) | |||
944 | 945 | ||
945 | static struct net_device *sun3lance_dev; | 946 | static struct net_device *sun3lance_dev; |
946 | 947 | ||
947 | int init_module(void) | 948 | int __init init_module(void) |
948 | { | 949 | { |
949 | sun3lance_dev = sun3lance_probe(-1); | 950 | sun3lance_dev = sun3lance_probe(-1); |
950 | if (IS_ERR(sun3lance_dev)) | 951 | if (IS_ERR(sun3lance_dev)) |
@@ -952,7 +953,7 @@ int init_module(void) | |||
952 | return 0; | 953 | return 0; |
953 | } | 954 | } |
954 | 955 | ||
955 | void cleanup_module(void) | 956 | void __exit cleanup_module(void) |
956 | { | 957 | { |
957 | unregister_netdev(sun3lance_dev); | 958 | unregister_netdev(sun3lance_dev); |
958 | #ifdef CONFIG_SUN3 | 959 | #ifdef CONFIG_SUN3 |
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c index 253e96e7ad20..785e4a535f9e 100644 --- a/drivers/net/sungem.c +++ b/drivers/net/sungem.c | |||
@@ -56,6 +56,7 @@ | |||
56 | #include <linux/if_vlan.h> | 56 | #include <linux/if_vlan.h> |
57 | #include <linux/bitops.h> | 57 | #include <linux/bitops.h> |
58 | #include <linux/mutex.h> | 58 | #include <linux/mutex.h> |
59 | #include <linux/mm.h> | ||
59 | 60 | ||
60 | #include <asm/system.h> | 61 | #include <asm/system.h> |
61 | #include <asm/io.h> | 62 | #include <asm/io.h> |
@@ -1030,7 +1031,7 @@ static int gem_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1030 | u64 csum_start_off, csum_stuff_off; | 1031 | u64 csum_start_off, csum_stuff_off; |
1031 | 1032 | ||
1032 | csum_start_off = (u64) (skb->h.raw - skb->data); | 1033 | csum_start_off = (u64) (skb->h.raw - skb->data); |
1033 | csum_stuff_off = (u64) ((skb->h.raw + skb->csum) - skb->data); | 1034 | csum_stuff_off = csum_start_off + skb->csum_offset; |
1034 | 1035 | ||
1035 | ctrl = (TXDCTRL_CENAB | | 1036 | ctrl = (TXDCTRL_CENAB | |
1036 | (csum_start_off << 15) | | 1037 | (csum_start_off << 15) | |
@@ -2281,9 +2282,9 @@ static void gem_do_stop(struct net_device *dev, int wol) | |||
2281 | } | 2282 | } |
2282 | } | 2283 | } |
2283 | 2284 | ||
2284 | static void gem_reset_task(void *data) | 2285 | static void gem_reset_task(struct work_struct *work) |
2285 | { | 2286 | { |
2286 | struct gem *gp = (struct gem *) data; | 2287 | struct gem *gp = container_of(work, struct gem, reset_task); |
2287 | 2288 | ||
2288 | mutex_lock(&gp->pm_mutex); | 2289 | mutex_lock(&gp->pm_mutex); |
2289 | 2290 | ||
@@ -3043,7 +3044,7 @@ static int __devinit gem_init_one(struct pci_dev *pdev, | |||
3043 | gp->link_timer.function = gem_link_timer; | 3044 | gp->link_timer.function = gem_link_timer; |
3044 | gp->link_timer.data = (unsigned long) gp; | 3045 | gp->link_timer.data = (unsigned long) gp; |
3045 | 3046 | ||
3046 | INIT_WORK(&gp->reset_task, gem_reset_task, gp); | 3047 | INIT_WORK(&gp->reset_task, gem_reset_task); |
3047 | 3048 | ||
3048 | gp->lstate = link_down; | 3049 | gp->lstate = link_down; |
3049 | gp->timer_ticks = 0; | 3050 | gp->timer_ticks = 0; |
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c index 9d7cd130c19d..ef671739cfea 100644 --- a/drivers/net/sunhme.c +++ b/drivers/net/sunhme.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/netdevice.h> | 32 | #include <linux/netdevice.h> |
33 | #include <linux/etherdevice.h> | 33 | #include <linux/etherdevice.h> |
34 | #include <linux/skbuff.h> | 34 | #include <linux/skbuff.h> |
35 | #include <linux/mm.h> | ||
35 | #include <linux/bitops.h> | 36 | #include <linux/bitops.h> |
36 | 37 | ||
37 | #include <asm/system.h> | 38 | #include <asm/system.h> |
@@ -2272,7 +2273,7 @@ static int happy_meal_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
2272 | u32 csum_start_off, csum_stuff_off; | 2273 | u32 csum_start_off, csum_stuff_off; |
2273 | 2274 | ||
2274 | csum_start_off = (u32) (skb->h.raw - skb->data); | 2275 | csum_start_off = (u32) (skb->h.raw - skb->data); |
2275 | csum_stuff_off = (u32) ((skb->h.raw + skb->csum) - skb->data); | 2276 | csum_stuff_off = csum_start_off + skb->csum_offset; |
2276 | 2277 | ||
2277 | tx_flags = (TXFLAG_OWN | TXFLAG_CSENABLE | | 2278 | tx_flags = (TXFLAG_OWN | TXFLAG_CSENABLE | |
2278 | ((csum_start_off << 14) & TXFLAG_CSBUFBEGIN) | | 2279 | ((csum_start_off << 14) & TXFLAG_CSBUFBEGIN) | |
@@ -3012,6 +3013,11 @@ static int __devinit happy_meal_pci_probe(struct pci_dev *pdev, | |||
3012 | #endif | 3013 | #endif |
3013 | 3014 | ||
3014 | err = -ENODEV; | 3015 | err = -ENODEV; |
3016 | |||
3017 | if (pci_enable_device(pdev)) | ||
3018 | goto err_out; | ||
3019 | pci_set_master(pdev); | ||
3020 | |||
3015 | if (!strcmp(prom_name, "SUNW,qfe") || !strcmp(prom_name, "qfe")) { | 3021 | if (!strcmp(prom_name, "SUNW,qfe") || !strcmp(prom_name, "qfe")) { |
3016 | qp = quattro_pci_find(pdev); | 3022 | qp = quattro_pci_find(pdev); |
3017 | if (qp == NULL) | 3023 | if (qp == NULL) |
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index c20bb998e0e5..d9123c9adc1e 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -3654,9 +3654,9 @@ static void tg3_poll_controller(struct net_device *dev) | |||
3654 | } | 3654 | } |
3655 | #endif | 3655 | #endif |
3656 | 3656 | ||
3657 | static void tg3_reset_task(void *_data) | 3657 | static void tg3_reset_task(struct work_struct *work) |
3658 | { | 3658 | { |
3659 | struct tg3 *tp = _data; | 3659 | struct tg3 *tp = container_of(work, struct tg3, reset_task); |
3660 | unsigned int restart_timer; | 3660 | unsigned int restart_timer; |
3661 | 3661 | ||
3662 | tg3_full_lock(tp, 0); | 3662 | tg3_full_lock(tp, 0); |
@@ -11734,7 +11734,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, | |||
11734 | #endif | 11734 | #endif |
11735 | spin_lock_init(&tp->lock); | 11735 | spin_lock_init(&tp->lock); |
11736 | spin_lock_init(&tp->indirect_lock); | 11736 | spin_lock_init(&tp->indirect_lock); |
11737 | INIT_WORK(&tp->reset_task, tg3_reset_task, tp); | 11737 | INIT_WORK(&tp->reset_task, tg3_reset_task); |
11738 | 11738 | ||
11739 | tp->regs = ioremap_nocache(tg3reg_base, tg3reg_len); | 11739 | tp->regs = ioremap_nocache(tg3reg_base, tg3reg_len); |
11740 | if (tp->regs == 0UL) { | 11740 | if (tp->regs == 0UL) { |
diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c index e14f5a00f65a..f85f00251123 100644 --- a/drivers/net/tlan.c +++ b/drivers/net/tlan.c | |||
@@ -296,6 +296,7 @@ static void TLan_SetMulticastList( struct net_device *); | |||
296 | static int TLan_ioctl( struct net_device *dev, struct ifreq *rq, int cmd); | 296 | static int TLan_ioctl( struct net_device *dev, struct ifreq *rq, int cmd); |
297 | static int TLan_probe1( struct pci_dev *pdev, long ioaddr, int irq, int rev, const struct pci_device_id *ent); | 297 | static int TLan_probe1( struct pci_dev *pdev, long ioaddr, int irq, int rev, const struct pci_device_id *ent); |
298 | static void TLan_tx_timeout( struct net_device *dev); | 298 | static void TLan_tx_timeout( struct net_device *dev); |
299 | static void TLan_tx_timeout_work(struct work_struct *work); | ||
299 | static int tlan_init_one( struct pci_dev *pdev, const struct pci_device_id *ent); | 300 | static int tlan_init_one( struct pci_dev *pdev, const struct pci_device_id *ent); |
300 | 301 | ||
301 | static u32 TLan_HandleInvalid( struct net_device *, u16 ); | 302 | static u32 TLan_HandleInvalid( struct net_device *, u16 ); |
@@ -562,6 +563,7 @@ static int __devinit TLan_probe1(struct pci_dev *pdev, | |||
562 | priv = netdev_priv(dev); | 563 | priv = netdev_priv(dev); |
563 | 564 | ||
564 | priv->pciDev = pdev; | 565 | priv->pciDev = pdev; |
566 | priv->dev = dev; | ||
565 | 567 | ||
566 | /* Is this a PCI device? */ | 568 | /* Is this a PCI device? */ |
567 | if (pdev) { | 569 | if (pdev) { |
@@ -634,7 +636,7 @@ static int __devinit TLan_probe1(struct pci_dev *pdev, | |||
634 | 636 | ||
635 | /* This will be used when we get an adapter error from | 637 | /* This will be used when we get an adapter error from |
636 | * within our irq handler */ | 638 | * within our irq handler */ |
637 | INIT_WORK(&priv->tlan_tqueue, (void *)(void*)TLan_tx_timeout, dev); | 639 | INIT_WORK(&priv->tlan_tqueue, TLan_tx_timeout_work); |
638 | 640 | ||
639 | spin_lock_init(&priv->lock); | 641 | spin_lock_init(&priv->lock); |
640 | 642 | ||
@@ -1040,6 +1042,25 @@ static void TLan_tx_timeout(struct net_device *dev) | |||
1040 | } | 1042 | } |
1041 | 1043 | ||
1042 | 1044 | ||
1045 | /*************************************************************** | ||
1046 | * TLan_tx_timeout_work | ||
1047 | * | ||
1048 | * Returns: nothing | ||
1049 | * | ||
1050 | * Params: | ||
1051 | * work work item of device which timed out | ||
1052 | * | ||
1053 | **************************************************************/ | ||
1054 | |||
1055 | static void TLan_tx_timeout_work(struct work_struct *work) | ||
1056 | { | ||
1057 | TLanPrivateInfo *priv = | ||
1058 | container_of(work, TLanPrivateInfo, tlan_tqueue); | ||
1059 | |||
1060 | TLan_tx_timeout(priv->dev); | ||
1061 | } | ||
1062 | |||
1063 | |||
1043 | 1064 | ||
1044 | /*************************************************************** | 1065 | /*************************************************************** |
1045 | * TLan_StartTx | 1066 | * TLan_StartTx |
diff --git a/drivers/net/tlan.h b/drivers/net/tlan.h index a44e2f2ef62a..41ce0b665937 100644 --- a/drivers/net/tlan.h +++ b/drivers/net/tlan.h | |||
@@ -170,6 +170,7 @@ typedef u8 TLanBuffer[TLAN_MAX_FRAME_SIZE]; | |||
170 | typedef struct tlan_private_tag { | 170 | typedef struct tlan_private_tag { |
171 | struct net_device *nextDevice; | 171 | struct net_device *nextDevice; |
172 | struct pci_dev *pciDev; | 172 | struct pci_dev *pciDev; |
173 | struct net_device *dev; | ||
173 | void *dmaStorage; | 174 | void *dmaStorage; |
174 | dma_addr_t dmaStorageDMA; | 175 | dma_addr_t dmaStorageDMA; |
175 | unsigned int dmaSize; | 176 | unsigned int dmaSize; |
diff --git a/drivers/net/tokenring/ibmtr.c b/drivers/net/tokenring/ibmtr.c index bfe59865b1dd..0d97e10ccac5 100644 --- a/drivers/net/tokenring/ibmtr.c +++ b/drivers/net/tokenring/ibmtr.c | |||
@@ -1826,7 +1826,7 @@ static void tr_rx(struct net_device *dev) | |||
1826 | skb->protocol = tr_type_trans(skb, dev); | 1826 | skb->protocol = tr_type_trans(skb, dev); |
1827 | if (IPv4_p) { | 1827 | if (IPv4_p) { |
1828 | skb->csum = chksum; | 1828 | skb->csum = chksum; |
1829 | skb->ip_summed = 1; | 1829 | skb->ip_summed = CHECKSUM_COMPLETE; |
1830 | } | 1830 | } |
1831 | netif_rx(skb); | 1831 | netif_rx(skb); |
1832 | dev->last_rx = jiffies; | 1832 | dev->last_rx = jiffies; |
diff --git a/drivers/net/tokenring/smctr.c b/drivers/net/tokenring/smctr.c index 46dabdb12071..cec282a6f62d 100644 --- a/drivers/net/tokenring/smctr.c +++ b/drivers/net/tokenring/smctr.c | |||
@@ -5706,7 +5706,7 @@ int __init init_module(void) | |||
5706 | return found ? 0 : -ENODEV; | 5706 | return found ? 0 : -ENODEV; |
5707 | } | 5707 | } |
5708 | 5708 | ||
5709 | void cleanup_module(void) | 5709 | void __exit cleanup_module(void) |
5710 | { | 5710 | { |
5711 | int i; | 5711 | int i; |
5712 | 5712 | ||
diff --git a/drivers/net/tulip/21142.c b/drivers/net/tulip/21142.c index fa3a2bb105ad..942b839ccc5b 100644 --- a/drivers/net/tulip/21142.c +++ b/drivers/net/tulip/21142.c | |||
@@ -26,10 +26,11 @@ static u16 t21142_csr15[] = { 0x0008, 0x0006, 0x000E, 0x0008, 0x0008, }; | |||
26 | 26 | ||
27 | /* Handle the 21143 uniquely: do autoselect with NWay, not the EEPROM list | 27 | /* Handle the 21143 uniquely: do autoselect with NWay, not the EEPROM list |
28 | of available transceivers. */ | 28 | of available transceivers. */ |
29 | void t21142_media_task(void *data) | 29 | void t21142_media_task(struct work_struct *work) |
30 | { | 30 | { |
31 | struct net_device *dev = data; | 31 | struct tulip_private *tp = |
32 | struct tulip_private *tp = netdev_priv(dev); | 32 | container_of(work, struct tulip_private, media_work); |
33 | struct net_device *dev = tp->dev; | ||
33 | void __iomem *ioaddr = tp->base_addr; | 34 | void __iomem *ioaddr = tp->base_addr; |
34 | int csr12 = ioread32(ioaddr + CSR12); | 35 | int csr12 = ioread32(ioaddr + CSR12); |
35 | int next_tick = 60*HZ; | 36 | int next_tick = 60*HZ; |
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c index 3f4b6408b755..4b3cd3d8b62a 100644 --- a/drivers/net/tulip/de4x5.c +++ b/drivers/net/tulip/de4x5.c | |||
@@ -473,9 +473,9 @@ | |||
473 | #include <asm/byteorder.h> | 473 | #include <asm/byteorder.h> |
474 | #include <asm/unaligned.h> | 474 | #include <asm/unaligned.h> |
475 | #include <asm/uaccess.h> | 475 | #include <asm/uaccess.h> |
476 | #ifdef CONFIG_PPC_MULTIPLATFORM | 476 | #ifdef CONFIG_PPC_PMAC |
477 | #include <asm/machdep.h> | 477 | #include <asm/machdep.h> |
478 | #endif /* CONFIG_PPC_MULTIPLATFORM */ | 478 | #endif /* CONFIG_PPC_PMAC */ |
479 | 479 | ||
480 | #include "de4x5.h" | 480 | #include "de4x5.h" |
481 | 481 | ||
@@ -4151,7 +4151,7 @@ get_hw_addr(struct net_device *dev) | |||
4151 | /* If possible, try to fix a broken card - SMC only so far */ | 4151 | /* If possible, try to fix a broken card - SMC only so far */ |
4152 | srom_repair(dev, broken); | 4152 | srom_repair(dev, broken); |
4153 | 4153 | ||
4154 | #ifdef CONFIG_PPC_MULTIPLATFORM | 4154 | #ifdef CONFIG_PPC_PMAC |
4155 | /* | 4155 | /* |
4156 | ** If the address starts with 00 a0, we have to bit-reverse | 4156 | ** If the address starts with 00 a0, we have to bit-reverse |
4157 | ** each byte of the address. | 4157 | ** each byte of the address. |
@@ -4168,7 +4168,7 @@ get_hw_addr(struct net_device *dev) | |||
4168 | dev->dev_addr[i] = ((x & 0x55) << 1) + ((x & 0xaa) >> 1); | 4168 | dev->dev_addr[i] = ((x & 0x55) << 1) + ((x & 0xaa) >> 1); |
4169 | } | 4169 | } |
4170 | } | 4170 | } |
4171 | #endif /* CONFIG_PPC_MULTIPLATFORM */ | 4171 | #endif /* CONFIG_PPC_PMAC */ |
4172 | 4172 | ||
4173 | /* Test for a bad enet address */ | 4173 | /* Test for a bad enet address */ |
4174 | status = test_bad_enet(dev, status); | 4174 | status = test_bad_enet(dev, status); |
diff --git a/drivers/net/tulip/timer.c b/drivers/net/tulip/timer.c index 066e5d6bcbd8..df326fe1cc8f 100644 --- a/drivers/net/tulip/timer.c +++ b/drivers/net/tulip/timer.c | |||
@@ -18,10 +18,11 @@ | |||
18 | #include "tulip.h" | 18 | #include "tulip.h" |
19 | 19 | ||
20 | 20 | ||
21 | void tulip_media_task(void *data) | 21 | void tulip_media_task(struct work_struct *work) |
22 | { | 22 | { |
23 | struct net_device *dev = data; | 23 | struct tulip_private *tp = |
24 | struct tulip_private *tp = netdev_priv(dev); | 24 | container_of(work, struct tulip_private, media_work); |
25 | struct net_device *dev = tp->dev; | ||
25 | void __iomem *ioaddr = tp->base_addr; | 26 | void __iomem *ioaddr = tp->base_addr; |
26 | u32 csr12 = ioread32(ioaddr + CSR12); | 27 | u32 csr12 = ioread32(ioaddr + CSR12); |
27 | int next_tick = 2*HZ; | 28 | int next_tick = 2*HZ; |
diff --git a/drivers/net/tulip/tulip.h b/drivers/net/tulip/tulip.h index ad107f45c7b1..25f25da76917 100644 --- a/drivers/net/tulip/tulip.h +++ b/drivers/net/tulip/tulip.h | |||
@@ -44,7 +44,7 @@ struct tulip_chip_table { | |||
44 | int valid_intrs; /* CSR7 interrupt enable settings */ | 44 | int valid_intrs; /* CSR7 interrupt enable settings */ |
45 | int flags; | 45 | int flags; |
46 | void (*media_timer) (unsigned long); | 46 | void (*media_timer) (unsigned long); |
47 | void (*media_task) (void *); | 47 | work_func_t media_task; |
48 | }; | 48 | }; |
49 | 49 | ||
50 | 50 | ||
@@ -392,6 +392,7 @@ struct tulip_private { | |||
392 | int csr12_shadow; | 392 | int csr12_shadow; |
393 | int pad0; /* Used for 8-byte alignment */ | 393 | int pad0; /* Used for 8-byte alignment */ |
394 | struct work_struct media_work; | 394 | struct work_struct media_work; |
395 | struct net_device *dev; | ||
395 | }; | 396 | }; |
396 | 397 | ||
397 | 398 | ||
@@ -406,7 +407,7 @@ struct eeprom_fixup { | |||
406 | 407 | ||
407 | /* 21142.c */ | 408 | /* 21142.c */ |
408 | extern u16 t21142_csr14[]; | 409 | extern u16 t21142_csr14[]; |
409 | void t21142_media_task(void *data); | 410 | void t21142_media_task(struct work_struct *work); |
410 | void t21142_start_nway(struct net_device *dev); | 411 | void t21142_start_nway(struct net_device *dev); |
411 | void t21142_lnk_change(struct net_device *dev, int csr5); | 412 | void t21142_lnk_change(struct net_device *dev, int csr5); |
412 | 413 | ||
@@ -444,7 +445,7 @@ void pnic_lnk_change(struct net_device *dev, int csr5); | |||
444 | void pnic_timer(unsigned long data); | 445 | void pnic_timer(unsigned long data); |
445 | 446 | ||
446 | /* timer.c */ | 447 | /* timer.c */ |
447 | void tulip_media_task(void *data); | 448 | void tulip_media_task(struct work_struct *work); |
448 | void mxic_timer(unsigned long data); | 449 | void mxic_timer(unsigned long data); |
449 | void comet_timer(unsigned long data); | 450 | void comet_timer(unsigned long data); |
450 | 451 | ||
diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c index 0aee618f883c..5a35354aa523 100644 --- a/drivers/net/tulip/tulip_core.c +++ b/drivers/net/tulip/tulip_core.c | |||
@@ -1367,6 +1367,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev, | |||
1367 | * it is zeroed and aligned in alloc_etherdev | 1367 | * it is zeroed and aligned in alloc_etherdev |
1368 | */ | 1368 | */ |
1369 | tp = netdev_priv(dev); | 1369 | tp = netdev_priv(dev); |
1370 | tp->dev = dev; | ||
1370 | 1371 | ||
1371 | tp->rx_ring = pci_alloc_consistent(pdev, | 1372 | tp->rx_ring = pci_alloc_consistent(pdev, |
1372 | sizeof(struct tulip_rx_desc) * RX_RING_SIZE + | 1373 | sizeof(struct tulip_rx_desc) * RX_RING_SIZE + |
@@ -1389,7 +1390,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev, | |||
1389 | tp->timer.data = (unsigned long)dev; | 1390 | tp->timer.data = (unsigned long)dev; |
1390 | tp->timer.function = tulip_tbl[tp->chip_id].media_timer; | 1391 | tp->timer.function = tulip_tbl[tp->chip_id].media_timer; |
1391 | 1392 | ||
1392 | INIT_WORK(&tp->media_work, tulip_tbl[tp->chip_id].media_task, dev); | 1393 | INIT_WORK(&tp->media_work, tulip_tbl[tp->chip_id].media_task); |
1393 | 1394 | ||
1394 | dev->base_addr = (unsigned long)ioaddr; | 1395 | dev->base_addr = (unsigned long)ioaddr; |
1395 | 1396 | ||
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c index 3bf9e630404f..9781b16bb8b6 100644 --- a/drivers/net/typhoon.c +++ b/drivers/net/typhoon.c | |||
@@ -117,6 +117,7 @@ static const int multicast_filter_limit = 32; | |||
117 | #include <linux/netdevice.h> | 117 | #include <linux/netdevice.h> |
118 | #include <linux/etherdevice.h> | 118 | #include <linux/etherdevice.h> |
119 | #include <linux/skbuff.h> | 119 | #include <linux/skbuff.h> |
120 | #include <linux/mm.h> | ||
120 | #include <linux/init.h> | 121 | #include <linux/init.h> |
121 | #include <linux/delay.h> | 122 | #include <linux/delay.h> |
122 | #include <linux/ethtool.h> | 123 | #include <linux/ethtool.h> |
@@ -127,7 +128,6 @@ static const int multicast_filter_limit = 32; | |||
127 | #include <asm/io.h> | 128 | #include <asm/io.h> |
128 | #include <asm/uaccess.h> | 129 | #include <asm/uaccess.h> |
129 | #include <linux/in6.h> | 130 | #include <linux/in6.h> |
130 | #include <asm/checksum.h> | ||
131 | #include <linux/version.h> | 131 | #include <linux/version.h> |
132 | #include <linux/dma-mapping.h> | 132 | #include <linux/dma-mapping.h> |
133 | 133 | ||
diff --git a/drivers/net/wan/pc300_tty.c b/drivers/net/wan/pc300_tty.c index 931cbdf6d791..b2a23aed4428 100644 --- a/drivers/net/wan/pc300_tty.c +++ b/drivers/net/wan/pc300_tty.c | |||
@@ -125,8 +125,8 @@ static int cpc_tty_write_room(struct tty_struct *tty); | |||
125 | static int cpc_tty_chars_in_buffer(struct tty_struct *tty); | 125 | static int cpc_tty_chars_in_buffer(struct tty_struct *tty); |
126 | static void cpc_tty_flush_buffer(struct tty_struct *tty); | 126 | static void cpc_tty_flush_buffer(struct tty_struct *tty); |
127 | static void cpc_tty_hangup(struct tty_struct *tty); | 127 | static void cpc_tty_hangup(struct tty_struct *tty); |
128 | static void cpc_tty_rx_work(void *data); | 128 | static void cpc_tty_rx_work(struct work_struct *work); |
129 | static void cpc_tty_tx_work(void *data); | 129 | static void cpc_tty_tx_work(struct work_struct *work); |
130 | static int cpc_tty_send_to_card(pc300dev_t *dev,void *buf, int len); | 130 | static int cpc_tty_send_to_card(pc300dev_t *dev,void *buf, int len); |
131 | static void cpc_tty_trace(pc300dev_t *dev, char* buf, int len, char rxtx); | 131 | static void cpc_tty_trace(pc300dev_t *dev, char* buf, int len, char rxtx); |
132 | static void cpc_tty_signal_off(pc300dev_t *pc300dev, unsigned char); | 132 | static void cpc_tty_signal_off(pc300dev_t *pc300dev, unsigned char); |
@@ -261,8 +261,8 @@ void cpc_tty_init(pc300dev_t *pc300dev) | |||
261 | cpc_tty->tty_minor = port + CPC_TTY_MINOR_START; | 261 | cpc_tty->tty_minor = port + CPC_TTY_MINOR_START; |
262 | cpc_tty->pc300dev = pc300dev; | 262 | cpc_tty->pc300dev = pc300dev; |
263 | 263 | ||
264 | INIT_WORK(&cpc_tty->tty_tx_work, cpc_tty_tx_work, (void *)cpc_tty); | 264 | INIT_WORK(&cpc_tty->tty_tx_work, cpc_tty_tx_work); |
265 | INIT_WORK(&cpc_tty->tty_rx_work, cpc_tty_rx_work, (void *)port); | 265 | INIT_WORK(&cpc_tty->tty_rx_work, cpc_tty_rx_work); |
266 | 266 | ||
267 | cpc_tty->buf_rx.first = cpc_tty->buf_rx.last = NULL; | 267 | cpc_tty->buf_rx.first = cpc_tty->buf_rx.last = NULL; |
268 | 268 | ||
@@ -659,21 +659,23 @@ static void cpc_tty_hangup(struct tty_struct *tty) | |||
659 | * o call the line disc. read | 659 | * o call the line disc. read |
660 | * o free memory | 660 | * o free memory |
661 | */ | 661 | */ |
662 | static void cpc_tty_rx_work(void * data) | 662 | static void cpc_tty_rx_work(struct work_struct *work) |
663 | { | 663 | { |
664 | st_cpc_tty_area *cpc_tty; | ||
664 | unsigned long port; | 665 | unsigned long port; |
665 | int i, j; | 666 | int i, j; |
666 | st_cpc_tty_area *cpc_tty; | ||
667 | volatile st_cpc_rx_buf *buf; | 667 | volatile st_cpc_rx_buf *buf; |
668 | char flags=0,flg_rx=1; | 668 | char flags=0,flg_rx=1; |
669 | struct tty_ldisc *ld; | 669 | struct tty_ldisc *ld; |
670 | 670 | ||
671 | if (cpc_tty_cnt == 0) return; | 671 | if (cpc_tty_cnt == 0) return; |
672 | |||
673 | 672 | ||
674 | for (i=0; (i < 4) && flg_rx ; i++) { | 673 | for (i=0; (i < 4) && flg_rx ; i++) { |
675 | flg_rx = 0; | 674 | flg_rx = 0; |
676 | port = (unsigned long)data; | 675 | |
676 | cpc_tty = container_of(work, st_cpc_tty_area, tty_rx_work); | ||
677 | port = cpc_tty - cpc_tty_area; | ||
678 | |||
677 | for (j=0; j < CPC_TTY_NPORTS; j++) { | 679 | for (j=0; j < CPC_TTY_NPORTS; j++) { |
678 | cpc_tty = &cpc_tty_area[port]; | 680 | cpc_tty = &cpc_tty_area[port]; |
679 | 681 | ||
@@ -882,9 +884,10 @@ void cpc_tty_receive(pc300dev_t *pc300dev) | |||
882 | * o if need call line discipline wakeup | 884 | * o if need call line discipline wakeup |
883 | * o call wake_up_interruptible | 885 | * o call wake_up_interruptible |
884 | */ | 886 | */ |
885 | static void cpc_tty_tx_work(void *data) | 887 | static void cpc_tty_tx_work(struct work_struct *work) |
886 | { | 888 | { |
887 | st_cpc_tty_area *cpc_tty = (st_cpc_tty_area *) data; | 889 | st_cpc_tty_area *cpc_tty = |
890 | container_of(work, st_cpc_tty_area, tty_tx_work); | ||
888 | struct tty_struct *tty; | 891 | struct tty_struct *tty; |
889 | 892 | ||
890 | CPC_TTY_DBG("%s: cpc_tty_tx_work init\n",cpc_tty->name); | 893 | CPC_TTY_DBG("%s: cpc_tty_tx_work init\n",cpc_tty->name); |
diff --git a/drivers/net/wd.c b/drivers/net/wd.c index 41f1d6778849..7f38012b9c92 100644 --- a/drivers/net/wd.c +++ b/drivers/net/wd.c | |||
@@ -538,7 +538,7 @@ static void cleanup_card(struct net_device *dev) | |||
538 | iounmap(ei_status.mem); | 538 | iounmap(ei_status.mem); |
539 | } | 539 | } |
540 | 540 | ||
541 | void | 541 | void __exit |
542 | cleanup_module(void) | 542 | cleanup_module(void) |
543 | { | 543 | { |
544 | int this_dev; | 544 | int this_dev; |
diff --git a/drivers/net/wireless/airo_cs.c b/drivers/net/wireless/airo_cs.c index ac9437d497f0..f12355398fe7 100644 --- a/drivers/net/wireless/airo_cs.c +++ b/drivers/net/wireless/airo_cs.c | |||
@@ -219,21 +219,6 @@ static int airo_config(struct pcmcia_device *link) | |||
219 | dev = link->priv; | 219 | dev = link->priv; |
220 | 220 | ||
221 | DEBUG(0, "airo_config(0x%p)\n", link); | 221 | DEBUG(0, "airo_config(0x%p)\n", link); |
222 | |||
223 | /* | ||
224 | This reads the card's CONFIG tuple to find its configuration | ||
225 | registers. | ||
226 | */ | ||
227 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
228 | tuple.Attributes = 0; | ||
229 | tuple.TupleData = buf; | ||
230 | tuple.TupleDataMax = sizeof(buf); | ||
231 | tuple.TupleOffset = 0; | ||
232 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
233 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
234 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
235 | link->conf.ConfigBase = parse.config.base; | ||
236 | link->conf.Present = parse.config.rmask[0]; | ||
237 | 222 | ||
238 | /* | 223 | /* |
239 | In this loop, we scan the CIS for configuration table entries, | 224 | In this loop, we scan the CIS for configuration table entries, |
@@ -247,6 +232,10 @@ static int airo_config(struct pcmcia_device *link) | |||
247 | these things without consulting the CIS, and most client drivers | 232 | these things without consulting the CIS, and most client drivers |
248 | will only use the CIS to fill in implementation-defined details. | 233 | will only use the CIS to fill in implementation-defined details. |
249 | */ | 234 | */ |
235 | tuple.Attributes = 0; | ||
236 | tuple.TupleData = buf; | ||
237 | tuple.TupleDataMax = sizeof(buf); | ||
238 | tuple.TupleOffset = 0; | ||
250 | tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY; | 239 | tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY; |
251 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | 240 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); |
252 | while (1) { | 241 | while (1) { |
diff --git a/drivers/net/wireless/atmel_cs.c b/drivers/net/wireless/atmel_cs.c index 5c410989c4d7..12617cd0b78e 100644 --- a/drivers/net/wireless/atmel_cs.c +++ b/drivers/net/wireless/atmel_cs.c | |||
@@ -244,17 +244,6 @@ static int atmel_config(struct pcmcia_device *link) | |||
244 | tuple.TupleOffset = 0; | 244 | tuple.TupleOffset = 0; |
245 | 245 | ||
246 | /* | 246 | /* |
247 | This reads the card's CONFIG tuple to find its configuration | ||
248 | registers. | ||
249 | */ | ||
250 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
251 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
252 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
253 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
254 | link->conf.ConfigBase = parse.config.base; | ||
255 | link->conf.Present = parse.config.rmask[0]; | ||
256 | |||
257 | /* | ||
258 | In this loop, we scan the CIS for configuration table entries, | 247 | In this loop, we scan the CIS for configuration table entries, |
259 | each of which describes a valid card configuration, including | 248 | each of which describes a valid card configuration, including |
260 | voltage, IO window, memory window, and interrupt settings. | 249 | voltage, IO window, memory window, and interrupt settings. |
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h b/drivers/net/wireless/bcm43xx/bcm43xx.h index 94dfb92fab5c..8286678513b9 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx.h +++ b/drivers/net/wireless/bcm43xx/bcm43xx.h | |||
@@ -819,7 +819,7 @@ struct bcm43xx_private { | |||
819 | struct tasklet_struct isr_tasklet; | 819 | struct tasklet_struct isr_tasklet; |
820 | 820 | ||
821 | /* Periodic tasks */ | 821 | /* Periodic tasks */ |
822 | struct work_struct periodic_work; | 822 | struct delayed_work periodic_work; |
823 | unsigned int periodic_state; | 823 | unsigned int periodic_state; |
824 | 824 | ||
825 | struct work_struct restart_work; | 825 | struct work_struct restart_work; |
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c index 5b3c27359a18..2ec2e5afce67 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c | |||
@@ -3215,9 +3215,10 @@ static void do_periodic_work(struct bcm43xx_private *bcm) | |||
3215 | schedule_delayed_work(&bcm->periodic_work, HZ * 15); | 3215 | schedule_delayed_work(&bcm->periodic_work, HZ * 15); |
3216 | } | 3216 | } |
3217 | 3217 | ||
3218 | static void bcm43xx_periodic_work_handler(void *d) | 3218 | static void bcm43xx_periodic_work_handler(struct work_struct *work) |
3219 | { | 3219 | { |
3220 | struct bcm43xx_private *bcm = d; | 3220 | struct bcm43xx_private *bcm = |
3221 | container_of(work, struct bcm43xx_private, periodic_work.work); | ||
3221 | struct net_device *net_dev = bcm->net_dev; | 3222 | struct net_device *net_dev = bcm->net_dev; |
3222 | unsigned long flags; | 3223 | unsigned long flags; |
3223 | u32 savedirqs = 0; | 3224 | u32 savedirqs = 0; |
@@ -3279,11 +3280,11 @@ void bcm43xx_periodic_tasks_delete(struct bcm43xx_private *bcm) | |||
3279 | 3280 | ||
3280 | void bcm43xx_periodic_tasks_setup(struct bcm43xx_private *bcm) | 3281 | void bcm43xx_periodic_tasks_setup(struct bcm43xx_private *bcm) |
3281 | { | 3282 | { |
3282 | struct work_struct *work = &(bcm->periodic_work); | 3283 | struct delayed_work *work = &bcm->periodic_work; |
3283 | 3284 | ||
3284 | assert(bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED); | 3285 | assert(bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED); |
3285 | INIT_WORK(work, bcm43xx_periodic_work_handler, bcm); | 3286 | INIT_DELAYED_WORK(work, bcm43xx_periodic_work_handler); |
3286 | schedule_work(work); | 3287 | schedule_delayed_work(work, 0); |
3287 | } | 3288 | } |
3288 | 3289 | ||
3289 | static void bcm43xx_security_init(struct bcm43xx_private *bcm) | 3290 | static void bcm43xx_security_init(struct bcm43xx_private *bcm) |
@@ -3635,7 +3636,7 @@ static int bcm43xx_init_board(struct bcm43xx_private *bcm) | |||
3635 | bcm43xx_periodic_tasks_setup(bcm); | 3636 | bcm43xx_periodic_tasks_setup(bcm); |
3636 | 3637 | ||
3637 | /*FIXME: This should be handled by softmac instead. */ | 3638 | /*FIXME: This should be handled by softmac instead. */ |
3638 | schedule_work(&bcm->softmac->associnfo.work); | 3639 | schedule_delayed_work(&bcm->softmac->associnfo.work, 0); |
3639 | 3640 | ||
3640 | out: | 3641 | out: |
3641 | mutex_unlock(&(bcm)->mutex); | 3642 | mutex_unlock(&(bcm)->mutex); |
@@ -4182,9 +4183,10 @@ static void __devexit bcm43xx_remove_one(struct pci_dev *pdev) | |||
4182 | /* Hard-reset the chip. Do not call this directly. | 4183 | /* Hard-reset the chip. Do not call this directly. |
4183 | * Use bcm43xx_controller_restart() | 4184 | * Use bcm43xx_controller_restart() |
4184 | */ | 4185 | */ |
4185 | static void bcm43xx_chip_reset(void *_bcm) | 4186 | static void bcm43xx_chip_reset(struct work_struct *work) |
4186 | { | 4187 | { |
4187 | struct bcm43xx_private *bcm = _bcm; | 4188 | struct bcm43xx_private *bcm = |
4189 | container_of(work, struct bcm43xx_private, restart_work); | ||
4188 | struct bcm43xx_phyinfo *phy; | 4190 | struct bcm43xx_phyinfo *phy; |
4189 | int err = -ENODEV; | 4191 | int err = -ENODEV; |
4190 | 4192 | ||
@@ -4211,7 +4213,7 @@ void bcm43xx_controller_restart(struct bcm43xx_private *bcm, const char *reason) | |||
4211 | if (bcm43xx_status(bcm) != BCM43xx_STAT_INITIALIZED) | 4213 | if (bcm43xx_status(bcm) != BCM43xx_STAT_INITIALIZED) |
4212 | return; | 4214 | return; |
4213 | printk(KERN_ERR PFX "Controller RESET (%s) ...\n", reason); | 4215 | printk(KERN_ERR PFX "Controller RESET (%s) ...\n", reason); |
4214 | INIT_WORK(&bcm->restart_work, bcm43xx_chip_reset, bcm); | 4216 | INIT_WORK(&bcm->restart_work, bcm43xx_chip_reset); |
4215 | schedule_work(&bcm->restart_work); | 4217 | schedule_work(&bcm->restart_work); |
4216 | } | 4218 | } |
4217 | 4219 | ||
diff --git a/drivers/net/wireless/hostap/hostap.h b/drivers/net/wireless/hostap/hostap.h index e663518bd570..e89c890d16fd 100644 --- a/drivers/net/wireless/hostap/hostap.h +++ b/drivers/net/wireless/hostap/hostap.h | |||
@@ -35,7 +35,7 @@ int hostap_80211_get_hdrlen(u16 fc); | |||
35 | struct net_device_stats *hostap_get_stats(struct net_device *dev); | 35 | struct net_device_stats *hostap_get_stats(struct net_device *dev); |
36 | void hostap_setup_dev(struct net_device *dev, local_info_t *local, | 36 | void hostap_setup_dev(struct net_device *dev, local_info_t *local, |
37 | int main_dev); | 37 | int main_dev); |
38 | void hostap_set_multicast_list_queue(void *data); | 38 | void hostap_set_multicast_list_queue(struct work_struct *work); |
39 | int hostap_set_hostapd(local_info_t *local, int val, int rtnl_locked); | 39 | int hostap_set_hostapd(local_info_t *local, int val, int rtnl_locked); |
40 | int hostap_set_hostapd_sta(local_info_t *local, int val, int rtnl_locked); | 40 | int hostap_set_hostapd_sta(local_info_t *local, int val, int rtnl_locked); |
41 | void hostap_cleanup(local_info_t *local); | 41 | void hostap_cleanup(local_info_t *local); |
diff --git a/drivers/net/wireless/hostap/hostap_ap.c b/drivers/net/wireless/hostap/hostap_ap.c index ba13125024cb..974a8e5bec8b 100644 --- a/drivers/net/wireless/hostap/hostap_ap.c +++ b/drivers/net/wireless/hostap/hostap_ap.c | |||
@@ -49,10 +49,10 @@ MODULE_PARM_DESC(autom_ap_wds, "Add WDS connections to other APs " | |||
49 | static struct sta_info* ap_get_sta(struct ap_data *ap, u8 *sta); | 49 | static struct sta_info* ap_get_sta(struct ap_data *ap, u8 *sta); |
50 | static void hostap_event_expired_sta(struct net_device *dev, | 50 | static void hostap_event_expired_sta(struct net_device *dev, |
51 | struct sta_info *sta); | 51 | struct sta_info *sta); |
52 | static void handle_add_proc_queue(void *data); | 52 | static void handle_add_proc_queue(struct work_struct *work); |
53 | 53 | ||
54 | #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT | 54 | #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT |
55 | static void handle_wds_oper_queue(void *data); | 55 | static void handle_wds_oper_queue(struct work_struct *work); |
56 | static void prism2_send_mgmt(struct net_device *dev, | 56 | static void prism2_send_mgmt(struct net_device *dev, |
57 | u16 type_subtype, char *body, | 57 | u16 type_subtype, char *body, |
58 | int body_len, u8 *addr, u16 tx_cb_idx); | 58 | int body_len, u8 *addr, u16 tx_cb_idx); |
@@ -807,7 +807,7 @@ void hostap_init_data(local_info_t *local) | |||
807 | INIT_LIST_HEAD(&ap->sta_list); | 807 | INIT_LIST_HEAD(&ap->sta_list); |
808 | 808 | ||
809 | /* Initialize task queue structure for AP management */ | 809 | /* Initialize task queue structure for AP management */ |
810 | INIT_WORK(&local->ap->add_sta_proc_queue, handle_add_proc_queue, ap); | 810 | INIT_WORK(&local->ap->add_sta_proc_queue, handle_add_proc_queue); |
811 | 811 | ||
812 | ap->tx_callback_idx = | 812 | ap->tx_callback_idx = |
813 | hostap_tx_callback_register(local, hostap_ap_tx_cb, ap); | 813 | hostap_tx_callback_register(local, hostap_ap_tx_cb, ap); |
@@ -815,7 +815,7 @@ void hostap_init_data(local_info_t *local) | |||
815 | printk(KERN_WARNING "%s: failed to register TX callback for " | 815 | printk(KERN_WARNING "%s: failed to register TX callback for " |
816 | "AP\n", local->dev->name); | 816 | "AP\n", local->dev->name); |
817 | #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT | 817 | #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT |
818 | INIT_WORK(&local->ap->wds_oper_queue, handle_wds_oper_queue, local); | 818 | INIT_WORK(&local->ap->wds_oper_queue, handle_wds_oper_queue); |
819 | 819 | ||
820 | ap->tx_callback_auth = | 820 | ap->tx_callback_auth = |
821 | hostap_tx_callback_register(local, hostap_ap_tx_cb_auth, ap); | 821 | hostap_tx_callback_register(local, hostap_ap_tx_cb_auth, ap); |
@@ -1062,9 +1062,10 @@ static int prism2_sta_proc_read(char *page, char **start, off_t off, | |||
1062 | } | 1062 | } |
1063 | 1063 | ||
1064 | 1064 | ||
1065 | static void handle_add_proc_queue(void *data) | 1065 | static void handle_add_proc_queue(struct work_struct *work) |
1066 | { | 1066 | { |
1067 | struct ap_data *ap = (struct ap_data *) data; | 1067 | struct ap_data *ap = container_of(work, struct ap_data, |
1068 | add_sta_proc_queue); | ||
1068 | struct sta_info *sta; | 1069 | struct sta_info *sta; |
1069 | char name[20]; | 1070 | char name[20]; |
1070 | struct add_sta_proc_data *entry, *prev; | 1071 | struct add_sta_proc_data *entry, *prev; |
@@ -1099,15 +1100,13 @@ static struct sta_info * ap_add_sta(struct ap_data *ap, u8 *addr) | |||
1099 | { | 1100 | { |
1100 | struct sta_info *sta; | 1101 | struct sta_info *sta; |
1101 | 1102 | ||
1102 | sta = (struct sta_info *) | 1103 | sta = kzalloc(sizeof(struct sta_info), GFP_ATOMIC); |
1103 | kmalloc(sizeof(struct sta_info), GFP_ATOMIC); | ||
1104 | if (sta == NULL) { | 1104 | if (sta == NULL) { |
1105 | PDEBUG(DEBUG_AP, "AP: kmalloc failed\n"); | 1105 | PDEBUG(DEBUG_AP, "AP: kmalloc failed\n"); |
1106 | return NULL; | 1106 | return NULL; |
1107 | } | 1107 | } |
1108 | 1108 | ||
1109 | /* initialize STA info data */ | 1109 | /* initialize STA info data */ |
1110 | memset(sta, 0, sizeof(struct sta_info)); | ||
1111 | sta->local = ap->local; | 1110 | sta->local = ap->local; |
1112 | skb_queue_head_init(&sta->tx_buf); | 1111 | skb_queue_head_init(&sta->tx_buf); |
1113 | memcpy(sta->addr, addr, ETH_ALEN); | 1112 | memcpy(sta->addr, addr, ETH_ALEN); |
@@ -1952,9 +1951,11 @@ static void handle_pspoll(local_info_t *local, | |||
1952 | 1951 | ||
1953 | #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT | 1952 | #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT |
1954 | 1953 | ||
1955 | static void handle_wds_oper_queue(void *data) | 1954 | static void handle_wds_oper_queue(struct work_struct *work) |
1956 | { | 1955 | { |
1957 | local_info_t *local = data; | 1956 | struct ap_data *ap = container_of(work, struct ap_data, |
1957 | wds_oper_queue); | ||
1958 | local_info_t *local = ap->local; | ||
1958 | struct wds_oper_data *entry, *prev; | 1959 | struct wds_oper_data *entry, *prev; |
1959 | 1960 | ||
1960 | spin_lock_bh(&local->lock); | 1961 | spin_lock_bh(&local->lock); |
diff --git a/drivers/net/wireless/hostap/hostap_cs.c b/drivers/net/wireless/hostap/hostap_cs.c index f63909e4bc32..8d8f4b9b8b07 100644 --- a/drivers/net/wireless/hostap/hostap_cs.c +++ b/drivers/net/wireless/hostap/hostap_cs.c | |||
@@ -293,15 +293,12 @@ static int sandisk_enable_wireless(struct net_device *dev) | |||
293 | goto done; | 293 | goto done; |
294 | } | 294 | } |
295 | 295 | ||
296 | tuple.DesiredTuple = CISTPL_MANFID; | ||
297 | tuple.Attributes = TUPLE_RETURN_COMMON; | 296 | tuple.Attributes = TUPLE_RETURN_COMMON; |
298 | tuple.TupleData = buf; | 297 | tuple.TupleData = buf; |
299 | tuple.TupleDataMax = sizeof(buf); | 298 | tuple.TupleDataMax = sizeof(buf); |
300 | tuple.TupleOffset = 0; | 299 | tuple.TupleOffset = 0; |
301 | if (pcmcia_get_first_tuple(hw_priv->link, &tuple) || | 300 | |
302 | pcmcia_get_tuple_data(hw_priv->link, &tuple) || | 301 | if (hw_priv->link->manf_id != 0xd601 || hw_priv->link->card_id != 0x0101) { |
303 | pcmcia_parse_tuple(hw_priv->link, &tuple, parse) || | ||
304 | parse->manfid.manf != 0xd601 || parse->manfid.card != 0x0101) { | ||
305 | /* No SanDisk manfid found */ | 302 | /* No SanDisk manfid found */ |
306 | ret = -ENODEV; | 303 | ret = -ENODEV; |
307 | goto done; | 304 | goto done; |
@@ -566,23 +563,16 @@ static int prism2_config(struct pcmcia_device *link) | |||
566 | PDEBUG(DEBUG_FLOW, "prism2_config()\n"); | 563 | PDEBUG(DEBUG_FLOW, "prism2_config()\n"); |
567 | 564 | ||
568 | parse = kmalloc(sizeof(cisparse_t), GFP_KERNEL); | 565 | parse = kmalloc(sizeof(cisparse_t), GFP_KERNEL); |
569 | hw_priv = kmalloc(sizeof(*hw_priv), GFP_KERNEL); | 566 | hw_priv = kzalloc(sizeof(*hw_priv), GFP_KERNEL); |
570 | if (parse == NULL || hw_priv == NULL) { | 567 | if (parse == NULL || hw_priv == NULL) { |
571 | ret = -ENOMEM; | 568 | ret = -ENOMEM; |
572 | goto failed; | 569 | goto failed; |
573 | } | 570 | } |
574 | memset(hw_priv, 0, sizeof(*hw_priv)); | ||
575 | 571 | ||
576 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
577 | tuple.Attributes = 0; | 572 | tuple.Attributes = 0; |
578 | tuple.TupleData = buf; | 573 | tuple.TupleData = buf; |
579 | tuple.TupleDataMax = sizeof(buf); | 574 | tuple.TupleDataMax = sizeof(buf); |
580 | tuple.TupleOffset = 0; | 575 | tuple.TupleOffset = 0; |
581 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
582 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
583 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, parse)); | ||
584 | link->conf.ConfigBase = parse->config.base; | ||
585 | link->conf.Present = parse->config.rmask[0]; | ||
586 | 576 | ||
587 | CS_CHECK(GetConfigurationInfo, | 577 | CS_CHECK(GetConfigurationInfo, |
588 | pcmcia_get_configuration_info(link, &conf)); | 578 | pcmcia_get_configuration_info(link, &conf)); |
diff --git a/drivers/net/wireless/hostap/hostap_download.c b/drivers/net/wireless/hostap/hostap_download.c index ab26b52b3e76..24fc387bba67 100644 --- a/drivers/net/wireless/hostap/hostap_download.c +++ b/drivers/net/wireless/hostap/hostap_download.c | |||
@@ -685,14 +685,12 @@ static int prism2_download(local_info_t *local, | |||
685 | goto out; | 685 | goto out; |
686 | } | 686 | } |
687 | 687 | ||
688 | dl = kmalloc(sizeof(*dl) + param->num_areas * | 688 | dl = kzalloc(sizeof(*dl) + param->num_areas * |
689 | sizeof(struct prism2_download_data_area), GFP_KERNEL); | 689 | sizeof(struct prism2_download_data_area), GFP_KERNEL); |
690 | if (dl == NULL) { | 690 | if (dl == NULL) { |
691 | ret = -ENOMEM; | 691 | ret = -ENOMEM; |
692 | goto out; | 692 | goto out; |
693 | } | 693 | } |
694 | memset(dl, 0, sizeof(*dl) + param->num_areas * | ||
695 | sizeof(struct prism2_download_data_area)); | ||
696 | dl->dl_cmd = param->dl_cmd; | 694 | dl->dl_cmd = param->dl_cmd; |
697 | dl->start_addr = param->start_addr; | 695 | dl->start_addr = param->start_addr; |
698 | dl->num_areas = param->num_areas; | 696 | dl->num_areas = param->num_areas; |
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c index ed00ebb6e7f4..a394a23b9a20 100644 --- a/drivers/net/wireless/hostap/hostap_hw.c +++ b/drivers/net/wireless/hostap/hostap_hw.c | |||
@@ -347,14 +347,12 @@ static int hfa384x_cmd(struct net_device *dev, u16 cmd, u16 param0, | |||
347 | if (signal_pending(current)) | 347 | if (signal_pending(current)) |
348 | return -EINTR; | 348 | return -EINTR; |
349 | 349 | ||
350 | entry = (struct hostap_cmd_queue *) | 350 | entry = kzalloc(sizeof(*entry), GFP_ATOMIC); |
351 | kmalloc(sizeof(*entry), GFP_ATOMIC); | ||
352 | if (entry == NULL) { | 351 | if (entry == NULL) { |
353 | printk(KERN_DEBUG "%s: hfa384x_cmd - kmalloc failed\n", | 352 | printk(KERN_DEBUG "%s: hfa384x_cmd - kmalloc failed\n", |
354 | dev->name); | 353 | dev->name); |
355 | return -ENOMEM; | 354 | return -ENOMEM; |
356 | } | 355 | } |
357 | memset(entry, 0, sizeof(*entry)); | ||
358 | atomic_set(&entry->usecnt, 1); | 356 | atomic_set(&entry->usecnt, 1); |
359 | entry->type = CMD_SLEEP; | 357 | entry->type = CMD_SLEEP; |
360 | entry->cmd = cmd; | 358 | entry->cmd = cmd; |
@@ -517,14 +515,12 @@ static int hfa384x_cmd_callback(struct net_device *dev, u16 cmd, u16 param0, | |||
517 | return -1; | 515 | return -1; |
518 | } | 516 | } |
519 | 517 | ||
520 | entry = (struct hostap_cmd_queue *) | 518 | entry = kzalloc(sizeof(*entry), GFP_ATOMIC); |
521 | kmalloc(sizeof(*entry), GFP_ATOMIC); | ||
522 | if (entry == NULL) { | 519 | if (entry == NULL) { |
523 | printk(KERN_DEBUG "%s: hfa384x_cmd_callback - kmalloc " | 520 | printk(KERN_DEBUG "%s: hfa384x_cmd_callback - kmalloc " |
524 | "failed\n", dev->name); | 521 | "failed\n", dev->name); |
525 | return -ENOMEM; | 522 | return -ENOMEM; |
526 | } | 523 | } |
527 | memset(entry, 0, sizeof(*entry)); | ||
528 | atomic_set(&entry->usecnt, 1); | 524 | atomic_set(&entry->usecnt, 1); |
529 | entry->type = CMD_CALLBACK; | 525 | entry->type = CMD_CALLBACK; |
530 | entry->cmd = cmd; | 526 | entry->cmd = cmd; |
@@ -1645,9 +1641,9 @@ static void prism2_schedule_reset(local_info_t *local) | |||
1645 | 1641 | ||
1646 | /* Called only as scheduled task after noticing card timeout in interrupt | 1642 | /* Called only as scheduled task after noticing card timeout in interrupt |
1647 | * context */ | 1643 | * context */ |
1648 | static void handle_reset_queue(void *data) | 1644 | static void handle_reset_queue(struct work_struct *work) |
1649 | { | 1645 | { |
1650 | local_info_t *local = (local_info_t *) data; | 1646 | local_info_t *local = container_of(work, local_info_t, reset_queue); |
1651 | 1647 | ||
1652 | printk(KERN_DEBUG "%s: scheduled card reset\n", local->dev->name); | 1648 | printk(KERN_DEBUG "%s: scheduled card reset\n", local->dev->name); |
1653 | prism2_hw_reset(local->dev); | 1649 | prism2_hw_reset(local->dev); |
@@ -2896,9 +2892,10 @@ static void hostap_passive_scan(unsigned long data) | |||
2896 | 2892 | ||
2897 | /* Called only as a scheduled task when communications quality values should | 2893 | /* Called only as a scheduled task when communications quality values should |
2898 | * be updated. */ | 2894 | * be updated. */ |
2899 | static void handle_comms_qual_update(void *data) | 2895 | static void handle_comms_qual_update(struct work_struct *work) |
2900 | { | 2896 | { |
2901 | local_info_t *local = data; | 2897 | local_info_t *local = |
2898 | container_of(work, local_info_t, comms_qual_update); | ||
2902 | prism2_update_comms_qual(local->dev); | 2899 | prism2_update_comms_qual(local->dev); |
2903 | } | 2900 | } |
2904 | 2901 | ||
@@ -3015,14 +3012,12 @@ static int prism2_set_tim(struct net_device *dev, int aid, int set) | |||
3015 | iface = netdev_priv(dev); | 3012 | iface = netdev_priv(dev); |
3016 | local = iface->local; | 3013 | local = iface->local; |
3017 | 3014 | ||
3018 | new_entry = (struct set_tim_data *) | 3015 | new_entry = kzalloc(sizeof(*new_entry), GFP_ATOMIC); |
3019 | kmalloc(sizeof(*new_entry), GFP_ATOMIC); | ||
3020 | if (new_entry == NULL) { | 3016 | if (new_entry == NULL) { |
3021 | printk(KERN_DEBUG "%s: prism2_set_tim: kmalloc failed\n", | 3017 | printk(KERN_DEBUG "%s: prism2_set_tim: kmalloc failed\n", |
3022 | local->dev->name); | 3018 | local->dev->name); |
3023 | return -ENOMEM; | 3019 | return -ENOMEM; |
3024 | } | 3020 | } |
3025 | memset(new_entry, 0, sizeof(*new_entry)); | ||
3026 | new_entry->aid = aid; | 3021 | new_entry->aid = aid; |
3027 | new_entry->set = set; | 3022 | new_entry->set = set; |
3028 | 3023 | ||
@@ -3050,9 +3045,9 @@ static int prism2_set_tim(struct net_device *dev, int aid, int set) | |||
3050 | } | 3045 | } |
3051 | 3046 | ||
3052 | 3047 | ||
3053 | static void handle_set_tim_queue(void *data) | 3048 | static void handle_set_tim_queue(struct work_struct *work) |
3054 | { | 3049 | { |
3055 | local_info_t *local = (local_info_t *) data; | 3050 | local_info_t *local = container_of(work, local_info_t, set_tim_queue); |
3056 | struct set_tim_data *entry; | 3051 | struct set_tim_data *entry; |
3057 | u16 val; | 3052 | u16 val; |
3058 | 3053 | ||
@@ -3209,15 +3204,15 @@ prism2_init_local_data(struct prism2_helper_functions *funcs, int card_idx, | |||
3209 | local->scan_channel_mask = 0xffff; | 3204 | local->scan_channel_mask = 0xffff; |
3210 | 3205 | ||
3211 | /* Initialize task queue structures */ | 3206 | /* Initialize task queue structures */ |
3212 | INIT_WORK(&local->reset_queue, handle_reset_queue, local); | 3207 | INIT_WORK(&local->reset_queue, handle_reset_queue); |
3213 | INIT_WORK(&local->set_multicast_list_queue, | 3208 | INIT_WORK(&local->set_multicast_list_queue, |
3214 | hostap_set_multicast_list_queue, local->dev); | 3209 | hostap_set_multicast_list_queue); |
3215 | 3210 | ||
3216 | INIT_WORK(&local->set_tim_queue, handle_set_tim_queue, local); | 3211 | INIT_WORK(&local->set_tim_queue, handle_set_tim_queue); |
3217 | INIT_LIST_HEAD(&local->set_tim_list); | 3212 | INIT_LIST_HEAD(&local->set_tim_list); |
3218 | spin_lock_init(&local->set_tim_lock); | 3213 | spin_lock_init(&local->set_tim_lock); |
3219 | 3214 | ||
3220 | INIT_WORK(&local->comms_qual_update, handle_comms_qual_update, local); | 3215 | INIT_WORK(&local->comms_qual_update, handle_comms_qual_update); |
3221 | 3216 | ||
3222 | /* Initialize tasklets for handling hardware IRQ related operations | 3217 | /* Initialize tasklets for handling hardware IRQ related operations |
3223 | * outside hw IRQ handler */ | 3218 | * outside hw IRQ handler */ |
diff --git a/drivers/net/wireless/hostap/hostap_info.c b/drivers/net/wireless/hostap/hostap_info.c index 50f72d831cf4..b6a02a02da74 100644 --- a/drivers/net/wireless/hostap/hostap_info.c +++ b/drivers/net/wireless/hostap/hostap_info.c | |||
@@ -327,11 +327,10 @@ static void prism2_info_hostscanresults(local_info_t *local, | |||
327 | ptr = (u8 *) pos; | 327 | ptr = (u8 *) pos; |
328 | 328 | ||
329 | new_count = left / result_size; | 329 | new_count = left / result_size; |
330 | results = kmalloc(new_count * sizeof(struct hfa384x_hostscan_result), | 330 | results = kcalloc(new_count, sizeof(struct hfa384x_hostscan_result), |
331 | GFP_ATOMIC); | 331 | GFP_ATOMIC); |
332 | if (results == NULL) | 332 | if (results == NULL) |
333 | return; | 333 | return; |
334 | memset(results, 0, new_count * sizeof(struct hfa384x_hostscan_result)); | ||
335 | 334 | ||
336 | for (i = 0; i < new_count; i++) { | 335 | for (i = 0; i < new_count; i++) { |
337 | memcpy(&results[i], ptr, copy_len); | 336 | memcpy(&results[i], ptr, copy_len); |
@@ -474,9 +473,9 @@ static void handle_info_queue_scanresults(local_info_t *local) | |||
474 | 473 | ||
475 | /* Called only as scheduled task after receiving info frames (used to avoid | 474 | /* Called only as scheduled task after receiving info frames (used to avoid |
476 | * pending too much time in HW IRQ handler). */ | 475 | * pending too much time in HW IRQ handler). */ |
477 | static void handle_info_queue(void *data) | 476 | static void handle_info_queue(struct work_struct *work) |
478 | { | 477 | { |
479 | local_info_t *local = (local_info_t *) data; | 478 | local_info_t *local = container_of(work, local_info_t, info_queue); |
480 | 479 | ||
481 | if (test_and_clear_bit(PRISM2_INFO_PENDING_LINKSTATUS, | 480 | if (test_and_clear_bit(PRISM2_INFO_PENDING_LINKSTATUS, |
482 | &local->pending_info)) | 481 | &local->pending_info)) |
@@ -493,7 +492,7 @@ void hostap_info_init(local_info_t *local) | |||
493 | { | 492 | { |
494 | skb_queue_head_init(&local->info_list); | 493 | skb_queue_head_init(&local->info_list); |
495 | #ifndef PRISM2_NO_STATION_MODES | 494 | #ifndef PRISM2_NO_STATION_MODES |
496 | INIT_WORK(&local->info_queue, handle_info_queue, local); | 495 | INIT_WORK(&local->info_queue, handle_info_queue); |
497 | #endif /* PRISM2_NO_STATION_MODES */ | 496 | #endif /* PRISM2_NO_STATION_MODES */ |
498 | } | 497 | } |
499 | 498 | ||
diff --git a/drivers/net/wireless/hostap/hostap_ioctl.c b/drivers/net/wireless/hostap/hostap_ioctl.c index d061fb3443ff..3b7b8063ff1c 100644 --- a/drivers/net/wireless/hostap/hostap_ioctl.c +++ b/drivers/net/wireless/hostap/hostap_ioctl.c | |||
@@ -181,12 +181,10 @@ static int prism2_ioctl_siwencode(struct net_device *dev, | |||
181 | struct ieee80211_crypt_data *new_crypt; | 181 | struct ieee80211_crypt_data *new_crypt; |
182 | 182 | ||
183 | /* take WEP into use */ | 183 | /* take WEP into use */ |
184 | new_crypt = (struct ieee80211_crypt_data *) | 184 | new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data), |
185 | kmalloc(sizeof(struct ieee80211_crypt_data), | ||
186 | GFP_KERNEL); | 185 | GFP_KERNEL); |
187 | if (new_crypt == NULL) | 186 | if (new_crypt == NULL) |
188 | return -ENOMEM; | 187 | return -ENOMEM; |
189 | memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data)); | ||
190 | new_crypt->ops = ieee80211_get_crypto_ops("WEP"); | 188 | new_crypt->ops = ieee80211_get_crypto_ops("WEP"); |
191 | if (!new_crypt->ops) { | 189 | if (!new_crypt->ops) { |
192 | request_module("ieee80211_crypt_wep"); | 190 | request_module("ieee80211_crypt_wep"); |
@@ -3320,14 +3318,12 @@ static int prism2_ioctl_siwencodeext(struct net_device *dev, | |||
3320 | 3318 | ||
3321 | prism2_crypt_delayed_deinit(local, crypt); | 3319 | prism2_crypt_delayed_deinit(local, crypt); |
3322 | 3320 | ||
3323 | new_crypt = (struct ieee80211_crypt_data *) | 3321 | new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data), |
3324 | kmalloc(sizeof(struct ieee80211_crypt_data), | ||
3325 | GFP_KERNEL); | 3322 | GFP_KERNEL); |
3326 | if (new_crypt == NULL) { | 3323 | if (new_crypt == NULL) { |
3327 | ret = -ENOMEM; | 3324 | ret = -ENOMEM; |
3328 | goto done; | 3325 | goto done; |
3329 | } | 3326 | } |
3330 | memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data)); | ||
3331 | new_crypt->ops = ops; | 3327 | new_crypt->ops = ops; |
3332 | new_crypt->priv = new_crypt->ops->init(i); | 3328 | new_crypt->priv = new_crypt->ops->init(i); |
3333 | if (new_crypt->priv == NULL) { | 3329 | if (new_crypt->priv == NULL) { |
@@ -3538,14 +3534,12 @@ static int prism2_ioctl_set_encryption(local_info_t *local, | |||
3538 | 3534 | ||
3539 | prism2_crypt_delayed_deinit(local, crypt); | 3535 | prism2_crypt_delayed_deinit(local, crypt); |
3540 | 3536 | ||
3541 | new_crypt = (struct ieee80211_crypt_data *) | 3537 | new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data), |
3542 | kmalloc(sizeof(struct ieee80211_crypt_data), | ||
3543 | GFP_KERNEL); | 3538 | GFP_KERNEL); |
3544 | if (new_crypt == NULL) { | 3539 | if (new_crypt == NULL) { |
3545 | ret = -ENOMEM; | 3540 | ret = -ENOMEM; |
3546 | goto done; | 3541 | goto done; |
3547 | } | 3542 | } |
3548 | memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data)); | ||
3549 | new_crypt->ops = ops; | 3543 | new_crypt->ops = ops; |
3550 | new_crypt->priv = new_crypt->ops->init(param->u.crypt.idx); | 3544 | new_crypt->priv = new_crypt->ops->init(param->u.crypt.idx); |
3551 | if (new_crypt->priv == NULL) { | 3545 | if (new_crypt->priv == NULL) { |
diff --git a/drivers/net/wireless/hostap/hostap_main.c b/drivers/net/wireless/hostap/hostap_main.c index 53374fcba77e..0796be9d9e77 100644 --- a/drivers/net/wireless/hostap/hostap_main.c +++ b/drivers/net/wireless/hostap/hostap_main.c | |||
@@ -767,14 +767,14 @@ static int prism2_set_mac_address(struct net_device *dev, void *p) | |||
767 | 767 | ||
768 | /* TODO: to be further implemented as soon as Prism2 fully supports | 768 | /* TODO: to be further implemented as soon as Prism2 fully supports |
769 | * GroupAddresses and correct documentation is available */ | 769 | * GroupAddresses and correct documentation is available */ |
770 | void hostap_set_multicast_list_queue(void *data) | 770 | void hostap_set_multicast_list_queue(struct work_struct *work) |
771 | { | 771 | { |
772 | struct net_device *dev = (struct net_device *) data; | 772 | local_info_t *local = |
773 | container_of(work, local_info_t, set_multicast_list_queue); | ||
774 | struct net_device *dev = local->dev; | ||
773 | struct hostap_interface *iface; | 775 | struct hostap_interface *iface; |
774 | local_info_t *local; | ||
775 | 776 | ||
776 | iface = netdev_priv(dev); | 777 | iface = netdev_priv(dev); |
777 | local = iface->local; | ||
778 | if (hostap_set_word(dev, HFA384X_RID_PROMISCUOUSMODE, | 778 | if (hostap_set_word(dev, HFA384X_RID_PROMISCUOUSMODE, |
779 | local->is_promisc)) { | 779 | local->is_promisc)) { |
780 | printk(KERN_INFO "%s: %sabling promiscuous mode failed\n", | 780 | printk(KERN_INFO "%s: %sabling promiscuous mode failed\n", |
diff --git a/drivers/net/wireless/hostap/hostap_pci.c b/drivers/net/wireless/hostap/hostap_pci.c index d1de9766c831..c4f6020baa9e 100644 --- a/drivers/net/wireless/hostap/hostap_pci.c +++ b/drivers/net/wireless/hostap/hostap_pci.c | |||
@@ -300,10 +300,9 @@ static int prism2_pci_probe(struct pci_dev *pdev, | |||
300 | struct hostap_interface *iface; | 300 | struct hostap_interface *iface; |
301 | struct hostap_pci_priv *hw_priv; | 301 | struct hostap_pci_priv *hw_priv; |
302 | 302 | ||
303 | hw_priv = kmalloc(sizeof(*hw_priv), GFP_KERNEL); | 303 | hw_priv = kzalloc(sizeof(*hw_priv), GFP_KERNEL); |
304 | if (hw_priv == NULL) | 304 | if (hw_priv == NULL) |
305 | return -ENOMEM; | 305 | return -ENOMEM; |
306 | memset(hw_priv, 0, sizeof(*hw_priv)); | ||
307 | 306 | ||
308 | if (pci_enable_device(pdev)) | 307 | if (pci_enable_device(pdev)) |
309 | goto err_out_free; | 308 | goto err_out_free; |
diff --git a/drivers/net/wireless/hostap/hostap_plx.c b/drivers/net/wireless/hostap/hostap_plx.c index bc81b13a5a2a..e235e0647897 100644 --- a/drivers/net/wireless/hostap/hostap_plx.c +++ b/drivers/net/wireless/hostap/hostap_plx.c | |||
@@ -447,10 +447,9 @@ static int prism2_plx_probe(struct pci_dev *pdev, | |||
447 | int tmd7160; | 447 | int tmd7160; |
448 | struct hostap_plx_priv *hw_priv; | 448 | struct hostap_plx_priv *hw_priv; |
449 | 449 | ||
450 | hw_priv = kmalloc(sizeof(*hw_priv), GFP_KERNEL); | 450 | hw_priv = kzalloc(sizeof(*hw_priv), GFP_KERNEL); |
451 | if (hw_priv == NULL) | 451 | if (hw_priv == NULL) |
452 | return -ENOMEM; | 452 | return -ENOMEM; |
453 | memset(hw_priv, 0, sizeof(*hw_priv)); | ||
454 | 453 | ||
455 | if (pci_enable_device(pdev)) | 454 | if (pci_enable_device(pdev)) |
456 | goto err_out_free; | 455 | goto err_out_free; |
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c index 79607b8b877c..dd9ba4aad7bb 100644 --- a/drivers/net/wireless/ipw2100.c +++ b/drivers/net/wireless/ipw2100.c | |||
@@ -316,7 +316,7 @@ static void ipw2100_release_firmware(struct ipw2100_priv *priv, | |||
316 | struct ipw2100_fw *fw); | 316 | struct ipw2100_fw *fw); |
317 | static int ipw2100_ucode_download(struct ipw2100_priv *priv, | 317 | static int ipw2100_ucode_download(struct ipw2100_priv *priv, |
318 | struct ipw2100_fw *fw); | 318 | struct ipw2100_fw *fw); |
319 | static void ipw2100_wx_event_work(struct ipw2100_priv *priv); | 319 | static void ipw2100_wx_event_work(struct work_struct *work); |
320 | static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device *dev); | 320 | static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device *dev); |
321 | static struct iw_handler_def ipw2100_wx_handler_def; | 321 | static struct iw_handler_def ipw2100_wx_handler_def; |
322 | 322 | ||
@@ -679,7 +679,8 @@ static void schedule_reset(struct ipw2100_priv *priv) | |||
679 | queue_delayed_work(priv->workqueue, &priv->reset_work, | 679 | queue_delayed_work(priv->workqueue, &priv->reset_work, |
680 | priv->reset_backoff * HZ); | 680 | priv->reset_backoff * HZ); |
681 | else | 681 | else |
682 | queue_work(priv->workqueue, &priv->reset_work); | 682 | queue_delayed_work(priv->workqueue, &priv->reset_work, |
683 | 0); | ||
683 | 684 | ||
684 | if (priv->reset_backoff < MAX_RESET_BACKOFF) | 685 | if (priv->reset_backoff < MAX_RESET_BACKOFF) |
685 | priv->reset_backoff++; | 686 | priv->reset_backoff++; |
@@ -1873,8 +1874,10 @@ static void ipw2100_down(struct ipw2100_priv *priv) | |||
1873 | netif_stop_queue(priv->net_dev); | 1874 | netif_stop_queue(priv->net_dev); |
1874 | } | 1875 | } |
1875 | 1876 | ||
1876 | static void ipw2100_reset_adapter(struct ipw2100_priv *priv) | 1877 | static void ipw2100_reset_adapter(struct work_struct *work) |
1877 | { | 1878 | { |
1879 | struct ipw2100_priv *priv = | ||
1880 | container_of(work, struct ipw2100_priv, reset_work.work); | ||
1878 | unsigned long flags; | 1881 | unsigned long flags; |
1879 | union iwreq_data wrqu = { | 1882 | union iwreq_data wrqu = { |
1880 | .ap_addr = { | 1883 | .ap_addr = { |
@@ -2071,9 +2074,9 @@ static void isr_indicate_association_lost(struct ipw2100_priv *priv, u32 status) | |||
2071 | return; | 2074 | return; |
2072 | 2075 | ||
2073 | if (priv->status & STATUS_SECURITY_UPDATED) | 2076 | if (priv->status & STATUS_SECURITY_UPDATED) |
2074 | queue_work(priv->workqueue, &priv->security_work); | 2077 | queue_delayed_work(priv->workqueue, &priv->security_work, 0); |
2075 | 2078 | ||
2076 | queue_work(priv->workqueue, &priv->wx_event_work); | 2079 | queue_delayed_work(priv->workqueue, &priv->wx_event_work, 0); |
2077 | } | 2080 | } |
2078 | 2081 | ||
2079 | static void isr_indicate_rf_kill(struct ipw2100_priv *priv, u32 status) | 2082 | static void isr_indicate_rf_kill(struct ipw2100_priv *priv, u32 status) |
@@ -5524,8 +5527,11 @@ static int ipw2100_configure_security(struct ipw2100_priv *priv, int batch_mode) | |||
5524 | return err; | 5527 | return err; |
5525 | } | 5528 | } |
5526 | 5529 | ||
5527 | static void ipw2100_security_work(struct ipw2100_priv *priv) | 5530 | static void ipw2100_security_work(struct work_struct *work) |
5528 | { | 5531 | { |
5532 | struct ipw2100_priv *priv = | ||
5533 | container_of(work, struct ipw2100_priv, security_work.work); | ||
5534 | |||
5529 | /* If we happen to have reconnected before we get a chance to | 5535 | /* If we happen to have reconnected before we get a chance to |
5530 | * process this, then update the security settings--which causes | 5536 | * process this, then update the security settings--which causes |
5531 | * a disassociation to occur */ | 5537 | * a disassociation to occur */ |
@@ -5748,7 +5754,7 @@ static int ipw2100_set_address(struct net_device *dev, void *p) | |||
5748 | 5754 | ||
5749 | priv->reset_backoff = 0; | 5755 | priv->reset_backoff = 0; |
5750 | mutex_unlock(&priv->action_mutex); | 5756 | mutex_unlock(&priv->action_mutex); |
5751 | ipw2100_reset_adapter(priv); | 5757 | ipw2100_reset_adapter(&priv->reset_work.work); |
5752 | return 0; | 5758 | return 0; |
5753 | 5759 | ||
5754 | done: | 5760 | done: |
@@ -5910,9 +5916,10 @@ static const struct ethtool_ops ipw2100_ethtool_ops = { | |||
5910 | .get_drvinfo = ipw_ethtool_get_drvinfo, | 5916 | .get_drvinfo = ipw_ethtool_get_drvinfo, |
5911 | }; | 5917 | }; |
5912 | 5918 | ||
5913 | static void ipw2100_hang_check(void *adapter) | 5919 | static void ipw2100_hang_check(struct work_struct *work) |
5914 | { | 5920 | { |
5915 | struct ipw2100_priv *priv = adapter; | 5921 | struct ipw2100_priv *priv = |
5922 | container_of(work, struct ipw2100_priv, hang_check.work); | ||
5916 | unsigned long flags; | 5923 | unsigned long flags; |
5917 | u32 rtc = 0xa5a5a5a5; | 5924 | u32 rtc = 0xa5a5a5a5; |
5918 | u32 len = sizeof(rtc); | 5925 | u32 len = sizeof(rtc); |
@@ -5952,9 +5959,10 @@ static void ipw2100_hang_check(void *adapter) | |||
5952 | spin_unlock_irqrestore(&priv->low_lock, flags); | 5959 | spin_unlock_irqrestore(&priv->low_lock, flags); |
5953 | } | 5960 | } |
5954 | 5961 | ||
5955 | static void ipw2100_rf_kill(void *adapter) | 5962 | static void ipw2100_rf_kill(struct work_struct *work) |
5956 | { | 5963 | { |
5957 | struct ipw2100_priv *priv = adapter; | 5964 | struct ipw2100_priv *priv = |
5965 | container_of(work, struct ipw2100_priv, rf_kill.work); | ||
5958 | unsigned long flags; | 5966 | unsigned long flags; |
5959 | 5967 | ||
5960 | spin_lock_irqsave(&priv->low_lock, flags); | 5968 | spin_lock_irqsave(&priv->low_lock, flags); |
@@ -6103,14 +6111,11 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev, | |||
6103 | 6111 | ||
6104 | priv->workqueue = create_workqueue(DRV_NAME); | 6112 | priv->workqueue = create_workqueue(DRV_NAME); |
6105 | 6113 | ||
6106 | INIT_WORK(&priv->reset_work, | 6114 | INIT_DELAYED_WORK(&priv->reset_work, ipw2100_reset_adapter); |
6107 | (void (*)(void *))ipw2100_reset_adapter, priv); | 6115 | INIT_DELAYED_WORK(&priv->security_work, ipw2100_security_work); |
6108 | INIT_WORK(&priv->security_work, | 6116 | INIT_DELAYED_WORK(&priv->wx_event_work, ipw2100_wx_event_work); |
6109 | (void (*)(void *))ipw2100_security_work, priv); | 6117 | INIT_DELAYED_WORK(&priv->hang_check, ipw2100_hang_check); |
6110 | INIT_WORK(&priv->wx_event_work, | 6118 | INIT_DELAYED_WORK(&priv->rf_kill, ipw2100_rf_kill); |
6111 | (void (*)(void *))ipw2100_wx_event_work, priv); | ||
6112 | INIT_WORK(&priv->hang_check, ipw2100_hang_check, priv); | ||
6113 | INIT_WORK(&priv->rf_kill, ipw2100_rf_kill, priv); | ||
6114 | 6119 | ||
6115 | tasklet_init(&priv->irq_tasklet, (void (*)(unsigned long)) | 6120 | tasklet_init(&priv->irq_tasklet, (void (*)(unsigned long)) |
6116 | ipw2100_irq_tasklet, (unsigned long)priv); | 6121 | ipw2100_irq_tasklet, (unsigned long)priv); |
@@ -6215,7 +6220,7 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev, | |||
6215 | /* Allocate and initialize the Tx/Rx queues and lists */ | 6220 | /* Allocate and initialize the Tx/Rx queues and lists */ |
6216 | if (ipw2100_queues_allocate(priv)) { | 6221 | if (ipw2100_queues_allocate(priv)) { |
6217 | printk(KERN_WARNING DRV_NAME | 6222 | printk(KERN_WARNING DRV_NAME |
6218 | "Error calilng ipw2100_queues_allocate.\n"); | 6223 | "Error calling ipw2100_queues_allocate.\n"); |
6219 | err = -ENOMEM; | 6224 | err = -ENOMEM; |
6220 | goto fail; | 6225 | goto fail; |
6221 | } | 6226 | } |
@@ -8281,8 +8286,10 @@ static struct iw_handler_def ipw2100_wx_handler_def = { | |||
8281 | .get_wireless_stats = ipw2100_wx_wireless_stats, | 8286 | .get_wireless_stats = ipw2100_wx_wireless_stats, |
8282 | }; | 8287 | }; |
8283 | 8288 | ||
8284 | static void ipw2100_wx_event_work(struct ipw2100_priv *priv) | 8289 | static void ipw2100_wx_event_work(struct work_struct *work) |
8285 | { | 8290 | { |
8291 | struct ipw2100_priv *priv = | ||
8292 | container_of(work, struct ipw2100_priv, wx_event_work.work); | ||
8286 | union iwreq_data wrqu; | 8293 | union iwreq_data wrqu; |
8287 | int len = ETH_ALEN; | 8294 | int len = ETH_ALEN; |
8288 | 8295 | ||
diff --git a/drivers/net/wireless/ipw2100.h b/drivers/net/wireless/ipw2100.h index 55b7227198df..de7d384d38af 100644 --- a/drivers/net/wireless/ipw2100.h +++ b/drivers/net/wireless/ipw2100.h | |||
@@ -583,11 +583,11 @@ struct ipw2100_priv { | |||
583 | struct tasklet_struct irq_tasklet; | 583 | struct tasklet_struct irq_tasklet; |
584 | 584 | ||
585 | struct workqueue_struct *workqueue; | 585 | struct workqueue_struct *workqueue; |
586 | struct work_struct reset_work; | 586 | struct delayed_work reset_work; |
587 | struct work_struct security_work; | 587 | struct delayed_work security_work; |
588 | struct work_struct wx_event_work; | 588 | struct delayed_work wx_event_work; |
589 | struct work_struct hang_check; | 589 | struct delayed_work hang_check; |
590 | struct work_struct rf_kill; | 590 | struct delayed_work rf_kill; |
591 | 591 | ||
592 | u32 interrupts; | 592 | u32 interrupts; |
593 | int tx_interrupts; | 593 | int tx_interrupts; |
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index c692d01a76ca..22cb3fb7502e 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -70,7 +70,7 @@ | |||
70 | #define VQ | 70 | #define VQ |
71 | #endif | 71 | #endif |
72 | 72 | ||
73 | #define IPW2200_VERSION "1.1.4" VK VD VM VP VR VQ | 73 | #define IPW2200_VERSION "1.2.0" VK VD VM VP VR VQ |
74 | #define DRV_DESCRIPTION "Intel(R) PRO/Wireless 2200/2915 Network Driver" | 74 | #define DRV_DESCRIPTION "Intel(R) PRO/Wireless 2200/2915 Network Driver" |
75 | #define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation" | 75 | #define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation" |
76 | #define DRV_VERSION IPW2200_VERSION | 76 | #define DRV_VERSION IPW2200_VERSION |
@@ -187,9 +187,9 @@ static struct ipw_rx_queue *ipw_rx_queue_alloc(struct ipw_priv *); | |||
187 | static void ipw_rx_queue_free(struct ipw_priv *, struct ipw_rx_queue *); | 187 | static void ipw_rx_queue_free(struct ipw_priv *, struct ipw_rx_queue *); |
188 | static void ipw_rx_queue_replenish(void *); | 188 | static void ipw_rx_queue_replenish(void *); |
189 | static int ipw_up(struct ipw_priv *); | 189 | static int ipw_up(struct ipw_priv *); |
190 | static void ipw_bg_up(void *); | 190 | static void ipw_bg_up(struct work_struct *work); |
191 | static void ipw_down(struct ipw_priv *); | 191 | static void ipw_down(struct ipw_priv *); |
192 | static void ipw_bg_down(void *); | 192 | static void ipw_bg_down(struct work_struct *work); |
193 | static int ipw_config(struct ipw_priv *); | 193 | static int ipw_config(struct ipw_priv *); |
194 | static int init_supported_rates(struct ipw_priv *priv, | 194 | static int init_supported_rates(struct ipw_priv *priv, |
195 | struct ipw_supported_rates *prates); | 195 | struct ipw_supported_rates *prates); |
@@ -862,11 +862,12 @@ static void ipw_led_link_on(struct ipw_priv *priv) | |||
862 | spin_unlock_irqrestore(&priv->lock, flags); | 862 | spin_unlock_irqrestore(&priv->lock, flags); |
863 | } | 863 | } |
864 | 864 | ||
865 | static void ipw_bg_led_link_on(void *data) | 865 | static void ipw_bg_led_link_on(struct work_struct *work) |
866 | { | 866 | { |
867 | struct ipw_priv *priv = data; | 867 | struct ipw_priv *priv = |
868 | container_of(work, struct ipw_priv, led_link_on.work); | ||
868 | mutex_lock(&priv->mutex); | 869 | mutex_lock(&priv->mutex); |
869 | ipw_led_link_on(data); | 870 | ipw_led_link_on(priv); |
870 | mutex_unlock(&priv->mutex); | 871 | mutex_unlock(&priv->mutex); |
871 | } | 872 | } |
872 | 873 | ||
@@ -906,11 +907,12 @@ static void ipw_led_link_off(struct ipw_priv *priv) | |||
906 | spin_unlock_irqrestore(&priv->lock, flags); | 907 | spin_unlock_irqrestore(&priv->lock, flags); |
907 | } | 908 | } |
908 | 909 | ||
909 | static void ipw_bg_led_link_off(void *data) | 910 | static void ipw_bg_led_link_off(struct work_struct *work) |
910 | { | 911 | { |
911 | struct ipw_priv *priv = data; | 912 | struct ipw_priv *priv = |
913 | container_of(work, struct ipw_priv, led_link_off.work); | ||
912 | mutex_lock(&priv->mutex); | 914 | mutex_lock(&priv->mutex); |
913 | ipw_led_link_off(data); | 915 | ipw_led_link_off(priv); |
914 | mutex_unlock(&priv->mutex); | 916 | mutex_unlock(&priv->mutex); |
915 | } | 917 | } |
916 | 918 | ||
@@ -985,11 +987,12 @@ static void ipw_led_activity_off(struct ipw_priv *priv) | |||
985 | spin_unlock_irqrestore(&priv->lock, flags); | 987 | spin_unlock_irqrestore(&priv->lock, flags); |
986 | } | 988 | } |
987 | 989 | ||
988 | static void ipw_bg_led_activity_off(void *data) | 990 | static void ipw_bg_led_activity_off(struct work_struct *work) |
989 | { | 991 | { |
990 | struct ipw_priv *priv = data; | 992 | struct ipw_priv *priv = |
993 | container_of(work, struct ipw_priv, led_act_off.work); | ||
991 | mutex_lock(&priv->mutex); | 994 | mutex_lock(&priv->mutex); |
992 | ipw_led_activity_off(data); | 995 | ipw_led_activity_off(priv); |
993 | mutex_unlock(&priv->mutex); | 996 | mutex_unlock(&priv->mutex); |
994 | } | 997 | } |
995 | 998 | ||
@@ -2228,11 +2231,12 @@ static void ipw_adapter_restart(void *adapter) | |||
2228 | } | 2231 | } |
2229 | } | 2232 | } |
2230 | 2233 | ||
2231 | static void ipw_bg_adapter_restart(void *data) | 2234 | static void ipw_bg_adapter_restart(struct work_struct *work) |
2232 | { | 2235 | { |
2233 | struct ipw_priv *priv = data; | 2236 | struct ipw_priv *priv = |
2237 | container_of(work, struct ipw_priv, adapter_restart); | ||
2234 | mutex_lock(&priv->mutex); | 2238 | mutex_lock(&priv->mutex); |
2235 | ipw_adapter_restart(data); | 2239 | ipw_adapter_restart(priv); |
2236 | mutex_unlock(&priv->mutex); | 2240 | mutex_unlock(&priv->mutex); |
2237 | } | 2241 | } |
2238 | 2242 | ||
@@ -2249,11 +2253,12 @@ static void ipw_scan_check(void *data) | |||
2249 | } | 2253 | } |
2250 | } | 2254 | } |
2251 | 2255 | ||
2252 | static void ipw_bg_scan_check(void *data) | 2256 | static void ipw_bg_scan_check(struct work_struct *work) |
2253 | { | 2257 | { |
2254 | struct ipw_priv *priv = data; | 2258 | struct ipw_priv *priv = |
2259 | container_of(work, struct ipw_priv, scan_check.work); | ||
2255 | mutex_lock(&priv->mutex); | 2260 | mutex_lock(&priv->mutex); |
2256 | ipw_scan_check(data); | 2261 | ipw_scan_check(priv); |
2257 | mutex_unlock(&priv->mutex); | 2262 | mutex_unlock(&priv->mutex); |
2258 | } | 2263 | } |
2259 | 2264 | ||
@@ -3831,17 +3836,19 @@ static int ipw_disassociate(void *data) | |||
3831 | return 1; | 3836 | return 1; |
3832 | } | 3837 | } |
3833 | 3838 | ||
3834 | static void ipw_bg_disassociate(void *data) | 3839 | static void ipw_bg_disassociate(struct work_struct *work) |
3835 | { | 3840 | { |
3836 | struct ipw_priv *priv = data; | 3841 | struct ipw_priv *priv = |
3842 | container_of(work, struct ipw_priv, disassociate); | ||
3837 | mutex_lock(&priv->mutex); | 3843 | mutex_lock(&priv->mutex); |
3838 | ipw_disassociate(data); | 3844 | ipw_disassociate(priv); |
3839 | mutex_unlock(&priv->mutex); | 3845 | mutex_unlock(&priv->mutex); |
3840 | } | 3846 | } |
3841 | 3847 | ||
3842 | static void ipw_system_config(void *data) | 3848 | static void ipw_system_config(struct work_struct *work) |
3843 | { | 3849 | { |
3844 | struct ipw_priv *priv = data; | 3850 | struct ipw_priv *priv = |
3851 | container_of(work, struct ipw_priv, system_config); | ||
3845 | 3852 | ||
3846 | #ifdef CONFIG_IPW2200_PROMISCUOUS | 3853 | #ifdef CONFIG_IPW2200_PROMISCUOUS |
3847 | if (priv->prom_net_dev && netif_running(priv->prom_net_dev)) { | 3854 | if (priv->prom_net_dev && netif_running(priv->prom_net_dev)) { |
@@ -4208,11 +4215,12 @@ static void ipw_gather_stats(struct ipw_priv *priv) | |||
4208 | IPW_STATS_INTERVAL); | 4215 | IPW_STATS_INTERVAL); |
4209 | } | 4216 | } |
4210 | 4217 | ||
4211 | static void ipw_bg_gather_stats(void *data) | 4218 | static void ipw_bg_gather_stats(struct work_struct *work) |
4212 | { | 4219 | { |
4213 | struct ipw_priv *priv = data; | 4220 | struct ipw_priv *priv = |
4221 | container_of(work, struct ipw_priv, gather_stats.work); | ||
4214 | mutex_lock(&priv->mutex); | 4222 | mutex_lock(&priv->mutex); |
4215 | ipw_gather_stats(data); | 4223 | ipw_gather_stats(priv); |
4216 | mutex_unlock(&priv->mutex); | 4224 | mutex_unlock(&priv->mutex); |
4217 | } | 4225 | } |
4218 | 4226 | ||
@@ -4268,8 +4276,8 @@ static void ipw_handle_missed_beacon(struct ipw_priv *priv, | |||
4268 | if (!(priv->status & STATUS_ROAMING)) { | 4276 | if (!(priv->status & STATUS_ROAMING)) { |
4269 | priv->status |= STATUS_ROAMING; | 4277 | priv->status |= STATUS_ROAMING; |
4270 | if (!(priv->status & STATUS_SCANNING)) | 4278 | if (!(priv->status & STATUS_SCANNING)) |
4271 | queue_work(priv->workqueue, | 4279 | queue_delayed_work(priv->workqueue, |
4272 | &priv->request_scan); | 4280 | &priv->request_scan, 0); |
4273 | } | 4281 | } |
4274 | return; | 4282 | return; |
4275 | } | 4283 | } |
@@ -4607,8 +4615,8 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
4607 | #ifdef CONFIG_IPW2200_MONITOR | 4615 | #ifdef CONFIG_IPW2200_MONITOR |
4608 | if (priv->ieee->iw_mode == IW_MODE_MONITOR) { | 4616 | if (priv->ieee->iw_mode == IW_MODE_MONITOR) { |
4609 | priv->status |= STATUS_SCAN_FORCED; | 4617 | priv->status |= STATUS_SCAN_FORCED; |
4610 | queue_work(priv->workqueue, | 4618 | queue_delayed_work(priv->workqueue, |
4611 | &priv->request_scan); | 4619 | &priv->request_scan, 0); |
4612 | break; | 4620 | break; |
4613 | } | 4621 | } |
4614 | priv->status &= ~STATUS_SCAN_FORCED; | 4622 | priv->status &= ~STATUS_SCAN_FORCED; |
@@ -4631,8 +4639,8 @@ static void ipw_rx_notification(struct ipw_priv *priv, | |||
4631 | /* Don't schedule if we aborted the scan */ | 4639 | /* Don't schedule if we aborted the scan */ |
4632 | priv->status &= ~STATUS_ROAMING; | 4640 | priv->status &= ~STATUS_ROAMING; |
4633 | } else if (priv->status & STATUS_SCAN_PENDING) | 4641 | } else if (priv->status & STATUS_SCAN_PENDING) |
4634 | queue_work(priv->workqueue, | 4642 | queue_delayed_work(priv->workqueue, |
4635 | &priv->request_scan); | 4643 | &priv->request_scan, 0); |
4636 | else if (priv->config & CFG_BACKGROUND_SCAN | 4644 | else if (priv->config & CFG_BACKGROUND_SCAN |
4637 | && priv->status & STATUS_ASSOCIATED) | 4645 | && priv->status & STATUS_ASSOCIATED) |
4638 | queue_delayed_work(priv->workqueue, | 4646 | queue_delayed_work(priv->workqueue, |
@@ -5055,11 +5063,12 @@ static void ipw_rx_queue_replenish(void *data) | |||
5055 | ipw_rx_queue_restock(priv); | 5063 | ipw_rx_queue_restock(priv); |
5056 | } | 5064 | } |
5057 | 5065 | ||
5058 | static void ipw_bg_rx_queue_replenish(void *data) | 5066 | static void ipw_bg_rx_queue_replenish(struct work_struct *work) |
5059 | { | 5067 | { |
5060 | struct ipw_priv *priv = data; | 5068 | struct ipw_priv *priv = |
5069 | container_of(work, struct ipw_priv, rx_replenish); | ||
5061 | mutex_lock(&priv->mutex); | 5070 | mutex_lock(&priv->mutex); |
5062 | ipw_rx_queue_replenish(data); | 5071 | ipw_rx_queue_replenish(priv); |
5063 | mutex_unlock(&priv->mutex); | 5072 | mutex_unlock(&priv->mutex); |
5064 | } | 5073 | } |
5065 | 5074 | ||
@@ -5489,9 +5498,10 @@ static int ipw_find_adhoc_network(struct ipw_priv *priv, | |||
5489 | return 1; | 5498 | return 1; |
5490 | } | 5499 | } |
5491 | 5500 | ||
5492 | static void ipw_merge_adhoc_network(void *data) | 5501 | static void ipw_merge_adhoc_network(struct work_struct *work) |
5493 | { | 5502 | { |
5494 | struct ipw_priv *priv = data; | 5503 | struct ipw_priv *priv = |
5504 | container_of(work, struct ipw_priv, merge_networks); | ||
5495 | struct ieee80211_network *network = NULL; | 5505 | struct ieee80211_network *network = NULL; |
5496 | struct ipw_network_match match = { | 5506 | struct ipw_network_match match = { |
5497 | .network = priv->assoc_network | 5507 | .network = priv->assoc_network |
@@ -5948,11 +5958,12 @@ static void ipw_adhoc_check(void *data) | |||
5948 | priv->assoc_request.beacon_interval); | 5958 | priv->assoc_request.beacon_interval); |
5949 | } | 5959 | } |
5950 | 5960 | ||
5951 | static void ipw_bg_adhoc_check(void *data) | 5961 | static void ipw_bg_adhoc_check(struct work_struct *work) |
5952 | { | 5962 | { |
5953 | struct ipw_priv *priv = data; | 5963 | struct ipw_priv *priv = |
5964 | container_of(work, struct ipw_priv, adhoc_check.work); | ||
5954 | mutex_lock(&priv->mutex); | 5965 | mutex_lock(&priv->mutex); |
5955 | ipw_adhoc_check(data); | 5966 | ipw_adhoc_check(priv); |
5956 | mutex_unlock(&priv->mutex); | 5967 | mutex_unlock(&priv->mutex); |
5957 | } | 5968 | } |
5958 | 5969 | ||
@@ -6299,19 +6310,26 @@ done: | |||
6299 | return err; | 6310 | return err; |
6300 | } | 6311 | } |
6301 | 6312 | ||
6302 | static int ipw_request_passive_scan(struct ipw_priv *priv) { | 6313 | static void ipw_request_passive_scan(struct work_struct *work) |
6303 | return ipw_request_scan_helper(priv, IW_SCAN_TYPE_PASSIVE); | 6314 | { |
6315 | struct ipw_priv *priv = | ||
6316 | container_of(work, struct ipw_priv, request_passive_scan); | ||
6317 | ipw_request_scan_helper(priv, IW_SCAN_TYPE_PASSIVE); | ||
6304 | } | 6318 | } |
6305 | 6319 | ||
6306 | static int ipw_request_scan(struct ipw_priv *priv) { | 6320 | static void ipw_request_scan(struct work_struct *work) |
6307 | return ipw_request_scan_helper(priv, IW_SCAN_TYPE_ACTIVE); | 6321 | { |
6322 | struct ipw_priv *priv = | ||
6323 | container_of(work, struct ipw_priv, request_scan.work); | ||
6324 | ipw_request_scan_helper(priv, IW_SCAN_TYPE_ACTIVE); | ||
6308 | } | 6325 | } |
6309 | 6326 | ||
6310 | static void ipw_bg_abort_scan(void *data) | 6327 | static void ipw_bg_abort_scan(struct work_struct *work) |
6311 | { | 6328 | { |
6312 | struct ipw_priv *priv = data; | 6329 | struct ipw_priv *priv = |
6330 | container_of(work, struct ipw_priv, abort_scan); | ||
6313 | mutex_lock(&priv->mutex); | 6331 | mutex_lock(&priv->mutex); |
6314 | ipw_abort_scan(data); | 6332 | ipw_abort_scan(priv); |
6315 | mutex_unlock(&priv->mutex); | 6333 | mutex_unlock(&priv->mutex); |
6316 | } | 6334 | } |
6317 | 6335 | ||
@@ -7084,9 +7102,10 @@ static int ipw_qos_set_tx_queue_command(struct ipw_priv *priv, | |||
7084 | /* | 7102 | /* |
7085 | * background support to run QoS activate functionality | 7103 | * background support to run QoS activate functionality |
7086 | */ | 7104 | */ |
7087 | static void ipw_bg_qos_activate(void *data) | 7105 | static void ipw_bg_qos_activate(struct work_struct *work) |
7088 | { | 7106 | { |
7089 | struct ipw_priv *priv = data; | 7107 | struct ipw_priv *priv = |
7108 | container_of(work, struct ipw_priv, qos_activate); | ||
7090 | 7109 | ||
7091 | if (priv == NULL) | 7110 | if (priv == NULL) |
7092 | return; | 7111 | return; |
@@ -7394,11 +7413,12 @@ static void ipw_roam(void *data) | |||
7394 | priv->status &= ~STATUS_ROAMING; | 7413 | priv->status &= ~STATUS_ROAMING; |
7395 | } | 7414 | } |
7396 | 7415 | ||
7397 | static void ipw_bg_roam(void *data) | 7416 | static void ipw_bg_roam(struct work_struct *work) |
7398 | { | 7417 | { |
7399 | struct ipw_priv *priv = data; | 7418 | struct ipw_priv *priv = |
7419 | container_of(work, struct ipw_priv, roam); | ||
7400 | mutex_lock(&priv->mutex); | 7420 | mutex_lock(&priv->mutex); |
7401 | ipw_roam(data); | 7421 | ipw_roam(priv); |
7402 | mutex_unlock(&priv->mutex); | 7422 | mutex_unlock(&priv->mutex); |
7403 | } | 7423 | } |
7404 | 7424 | ||
@@ -7479,8 +7499,8 @@ static int ipw_associate(void *data) | |||
7479 | &priv->request_scan, | 7499 | &priv->request_scan, |
7480 | SCAN_INTERVAL); | 7500 | SCAN_INTERVAL); |
7481 | else | 7501 | else |
7482 | queue_work(priv->workqueue, | 7502 | queue_delayed_work(priv->workqueue, |
7483 | &priv->request_scan); | 7503 | &priv->request_scan, 0); |
7484 | } | 7504 | } |
7485 | 7505 | ||
7486 | return 0; | 7506 | return 0; |
@@ -7491,11 +7511,12 @@ static int ipw_associate(void *data) | |||
7491 | return 1; | 7511 | return 1; |
7492 | } | 7512 | } |
7493 | 7513 | ||
7494 | static void ipw_bg_associate(void *data) | 7514 | static void ipw_bg_associate(struct work_struct *work) |
7495 | { | 7515 | { |
7496 | struct ipw_priv *priv = data; | 7516 | struct ipw_priv *priv = |
7517 | container_of(work, struct ipw_priv, associate); | ||
7497 | mutex_lock(&priv->mutex); | 7518 | mutex_lock(&priv->mutex); |
7498 | ipw_associate(data); | 7519 | ipw_associate(priv); |
7499 | mutex_unlock(&priv->mutex); | 7520 | mutex_unlock(&priv->mutex); |
7500 | } | 7521 | } |
7501 | 7522 | ||
@@ -7656,7 +7677,8 @@ static void ipw_handle_data_packet_monitor(struct ipw_priv *priv, | |||
7656 | 7677 | ||
7657 | /* Big bitfield of all the fields we provide in radiotap */ | 7678 | /* Big bitfield of all the fields we provide in radiotap */ |
7658 | ipw_rt->rt_hdr.it_present = | 7679 | ipw_rt->rt_hdr.it_present = |
7659 | ((1 << IEEE80211_RADIOTAP_FLAGS) | | 7680 | ((1 << IEEE80211_RADIOTAP_TSFT) | |
7681 | (1 << IEEE80211_RADIOTAP_FLAGS) | | ||
7660 | (1 << IEEE80211_RADIOTAP_RATE) | | 7682 | (1 << IEEE80211_RADIOTAP_RATE) | |
7661 | (1 << IEEE80211_RADIOTAP_CHANNEL) | | 7683 | (1 << IEEE80211_RADIOTAP_CHANNEL) | |
7662 | (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) | | 7684 | (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) | |
@@ -7665,10 +7687,14 @@ static void ipw_handle_data_packet_monitor(struct ipw_priv *priv, | |||
7665 | 7687 | ||
7666 | /* Zero the flags, we'll add to them as we go */ | 7688 | /* Zero the flags, we'll add to them as we go */ |
7667 | ipw_rt->rt_flags = 0; | 7689 | ipw_rt->rt_flags = 0; |
7668 | ipw_rt->rt_tsf = 0ULL; | 7690 | ipw_rt->rt_tsf = (u64)(frame->parent_tsf[3] << 24 | |
7691 | frame->parent_tsf[2] << 16 | | ||
7692 | frame->parent_tsf[1] << 8 | | ||
7693 | frame->parent_tsf[0]); | ||
7669 | 7694 | ||
7670 | /* Convert signal to DBM */ | 7695 | /* Convert signal to DBM */ |
7671 | ipw_rt->rt_dbmsignal = antsignal; | 7696 | ipw_rt->rt_dbmsignal = antsignal; |
7697 | ipw_rt->rt_dbmnoise = frame->noise; | ||
7672 | 7698 | ||
7673 | /* Convert the channel data and set the flags */ | 7699 | /* Convert the channel data and set the flags */ |
7674 | ipw_rt->rt_channel = cpu_to_le16(ieee80211chan2mhz(received_channel)); | 7700 | ipw_rt->rt_channel = cpu_to_le16(ieee80211chan2mhz(received_channel)); |
@@ -7868,7 +7894,8 @@ static void ipw_handle_promiscuous_rx(struct ipw_priv *priv, | |||
7868 | 7894 | ||
7869 | /* Big bitfield of all the fields we provide in radiotap */ | 7895 | /* Big bitfield of all the fields we provide in radiotap */ |
7870 | ipw_rt->rt_hdr.it_present = | 7896 | ipw_rt->rt_hdr.it_present = |
7871 | ((1 << IEEE80211_RADIOTAP_FLAGS) | | 7897 | ((1 << IEEE80211_RADIOTAP_TSFT) | |
7898 | (1 << IEEE80211_RADIOTAP_FLAGS) | | ||
7872 | (1 << IEEE80211_RADIOTAP_RATE) | | 7899 | (1 << IEEE80211_RADIOTAP_RATE) | |
7873 | (1 << IEEE80211_RADIOTAP_CHANNEL) | | 7900 | (1 << IEEE80211_RADIOTAP_CHANNEL) | |
7874 | (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) | | 7901 | (1 << IEEE80211_RADIOTAP_DBM_ANTSIGNAL) | |
@@ -7877,7 +7904,10 @@ static void ipw_handle_promiscuous_rx(struct ipw_priv *priv, | |||
7877 | 7904 | ||
7878 | /* Zero the flags, we'll add to them as we go */ | 7905 | /* Zero the flags, we'll add to them as we go */ |
7879 | ipw_rt->rt_flags = 0; | 7906 | ipw_rt->rt_flags = 0; |
7880 | ipw_rt->rt_tsf = 0ULL; | 7907 | ipw_rt->rt_tsf = (u64)(frame->parent_tsf[3] << 24 | |
7908 | frame->parent_tsf[2] << 16 | | ||
7909 | frame->parent_tsf[1] << 8 | | ||
7910 | frame->parent_tsf[0]); | ||
7881 | 7911 | ||
7882 | /* Convert to DBM */ | 7912 | /* Convert to DBM */ |
7883 | ipw_rt->rt_dbmsignal = signal; | 7913 | ipw_rt->rt_dbmsignal = signal; |
@@ -8276,7 +8306,7 @@ static void ipw_rx(struct ipw_priv *priv) | |||
8276 | ("Notification: subtype=%02X flags=%02X size=%d\n", | 8306 | ("Notification: subtype=%02X flags=%02X size=%d\n", |
8277 | pkt->u.notification.subtype, | 8307 | pkt->u.notification.subtype, |
8278 | pkt->u.notification.flags, | 8308 | pkt->u.notification.flags, |
8279 | pkt->u.notification.size); | 8309 | le16_to_cpu(pkt->u.notification.size)); |
8280 | ipw_rx_notification(priv, &pkt->u.notification); | 8310 | ipw_rx_notification(priv, &pkt->u.notification); |
8281 | break; | 8311 | break; |
8282 | } | 8312 | } |
@@ -9410,7 +9440,7 @@ static int ipw_wx_set_scan(struct net_device *dev, | |||
9410 | 9440 | ||
9411 | IPW_DEBUG_WX("Start scan\n"); | 9441 | IPW_DEBUG_WX("Start scan\n"); |
9412 | 9442 | ||
9413 | queue_work(priv->workqueue, &priv->request_scan); | 9443 | queue_delayed_work(priv->workqueue, &priv->request_scan, 0); |
9414 | 9444 | ||
9415 | return 0; | 9445 | return 0; |
9416 | } | 9446 | } |
@@ -10547,11 +10577,12 @@ static void ipw_rf_kill(void *adapter) | |||
10547 | spin_unlock_irqrestore(&priv->lock, flags); | 10577 | spin_unlock_irqrestore(&priv->lock, flags); |
10548 | } | 10578 | } |
10549 | 10579 | ||
10550 | static void ipw_bg_rf_kill(void *data) | 10580 | static void ipw_bg_rf_kill(struct work_struct *work) |
10551 | { | 10581 | { |
10552 | struct ipw_priv *priv = data; | 10582 | struct ipw_priv *priv = |
10583 | container_of(work, struct ipw_priv, rf_kill.work); | ||
10553 | mutex_lock(&priv->mutex); | 10584 | mutex_lock(&priv->mutex); |
10554 | ipw_rf_kill(data); | 10585 | ipw_rf_kill(priv); |
10555 | mutex_unlock(&priv->mutex); | 10586 | mutex_unlock(&priv->mutex); |
10556 | } | 10587 | } |
10557 | 10588 | ||
@@ -10582,11 +10613,12 @@ static void ipw_link_up(struct ipw_priv *priv) | |||
10582 | queue_delayed_work(priv->workqueue, &priv->request_scan, HZ); | 10613 | queue_delayed_work(priv->workqueue, &priv->request_scan, HZ); |
10583 | } | 10614 | } |
10584 | 10615 | ||
10585 | static void ipw_bg_link_up(void *data) | 10616 | static void ipw_bg_link_up(struct work_struct *work) |
10586 | { | 10617 | { |
10587 | struct ipw_priv *priv = data; | 10618 | struct ipw_priv *priv = |
10619 | container_of(work, struct ipw_priv, link_up); | ||
10588 | mutex_lock(&priv->mutex); | 10620 | mutex_lock(&priv->mutex); |
10589 | ipw_link_up(data); | 10621 | ipw_link_up(priv); |
10590 | mutex_unlock(&priv->mutex); | 10622 | mutex_unlock(&priv->mutex); |
10591 | } | 10623 | } |
10592 | 10624 | ||
@@ -10606,15 +10638,16 @@ static void ipw_link_down(struct ipw_priv *priv) | |||
10606 | 10638 | ||
10607 | if (!(priv->status & STATUS_EXIT_PENDING)) { | 10639 | if (!(priv->status & STATUS_EXIT_PENDING)) { |
10608 | /* Queue up another scan... */ | 10640 | /* Queue up another scan... */ |
10609 | queue_work(priv->workqueue, &priv->request_scan); | 10641 | queue_delayed_work(priv->workqueue, &priv->request_scan, 0); |
10610 | } | 10642 | } |
10611 | } | 10643 | } |
10612 | 10644 | ||
10613 | static void ipw_bg_link_down(void *data) | 10645 | static void ipw_bg_link_down(struct work_struct *work) |
10614 | { | 10646 | { |
10615 | struct ipw_priv *priv = data; | 10647 | struct ipw_priv *priv = |
10648 | container_of(work, struct ipw_priv, link_down); | ||
10616 | mutex_lock(&priv->mutex); | 10649 | mutex_lock(&priv->mutex); |
10617 | ipw_link_down(data); | 10650 | ipw_link_down(priv); |
10618 | mutex_unlock(&priv->mutex); | 10651 | mutex_unlock(&priv->mutex); |
10619 | } | 10652 | } |
10620 | 10653 | ||
@@ -10626,38 +10659,30 @@ static int ipw_setup_deferred_work(struct ipw_priv *priv) | |||
10626 | init_waitqueue_head(&priv->wait_command_queue); | 10659 | init_waitqueue_head(&priv->wait_command_queue); |
10627 | init_waitqueue_head(&priv->wait_state); | 10660 | init_waitqueue_head(&priv->wait_state); |
10628 | 10661 | ||
10629 | INIT_WORK(&priv->adhoc_check, ipw_bg_adhoc_check, priv); | 10662 | INIT_DELAYED_WORK(&priv->adhoc_check, ipw_bg_adhoc_check); |
10630 | INIT_WORK(&priv->associate, ipw_bg_associate, priv); | 10663 | INIT_WORK(&priv->associate, ipw_bg_associate); |
10631 | INIT_WORK(&priv->disassociate, ipw_bg_disassociate, priv); | 10664 | INIT_WORK(&priv->disassociate, ipw_bg_disassociate); |
10632 | INIT_WORK(&priv->system_config, ipw_system_config, priv); | 10665 | INIT_WORK(&priv->system_config, ipw_system_config); |
10633 | INIT_WORK(&priv->rx_replenish, ipw_bg_rx_queue_replenish, priv); | 10666 | INIT_WORK(&priv->rx_replenish, ipw_bg_rx_queue_replenish); |
10634 | INIT_WORK(&priv->adapter_restart, ipw_bg_adapter_restart, priv); | 10667 | INIT_WORK(&priv->adapter_restart, ipw_bg_adapter_restart); |
10635 | INIT_WORK(&priv->rf_kill, ipw_bg_rf_kill, priv); | 10668 | INIT_DELAYED_WORK(&priv->rf_kill, ipw_bg_rf_kill); |
10636 | INIT_WORK(&priv->up, (void (*)(void *))ipw_bg_up, priv); | 10669 | INIT_WORK(&priv->up, ipw_bg_up); |
10637 | INIT_WORK(&priv->down, (void (*)(void *))ipw_bg_down, priv); | 10670 | INIT_WORK(&priv->down, ipw_bg_down); |
10638 | INIT_WORK(&priv->request_scan, | 10671 | INIT_DELAYED_WORK(&priv->request_scan, ipw_request_scan); |
10639 | (void (*)(void *))ipw_request_scan, priv); | 10672 | INIT_WORK(&priv->request_passive_scan, ipw_request_passive_scan); |
10640 | INIT_WORK(&priv->request_passive_scan, | 10673 | INIT_DELAYED_WORK(&priv->gather_stats, ipw_bg_gather_stats); |
10641 | (void (*)(void *))ipw_request_passive_scan, priv); | 10674 | INIT_WORK(&priv->abort_scan, ipw_bg_abort_scan); |
10642 | INIT_WORK(&priv->gather_stats, | 10675 | INIT_WORK(&priv->roam, ipw_bg_roam); |
10643 | (void (*)(void *))ipw_bg_gather_stats, priv); | 10676 | INIT_DELAYED_WORK(&priv->scan_check, ipw_bg_scan_check); |
10644 | INIT_WORK(&priv->abort_scan, (void (*)(void *))ipw_bg_abort_scan, priv); | 10677 | INIT_WORK(&priv->link_up, ipw_bg_link_up); |
10645 | INIT_WORK(&priv->roam, ipw_bg_roam, priv); | 10678 | INIT_WORK(&priv->link_down, ipw_bg_link_down); |
10646 | INIT_WORK(&priv->scan_check, ipw_bg_scan_check, priv); | 10679 | INIT_DELAYED_WORK(&priv->led_link_on, ipw_bg_led_link_on); |
10647 | INIT_WORK(&priv->link_up, (void (*)(void *))ipw_bg_link_up, priv); | 10680 | INIT_DELAYED_WORK(&priv->led_link_off, ipw_bg_led_link_off); |
10648 | INIT_WORK(&priv->link_down, (void (*)(void *))ipw_bg_link_down, priv); | 10681 | INIT_DELAYED_WORK(&priv->led_act_off, ipw_bg_led_activity_off); |
10649 | INIT_WORK(&priv->led_link_on, (void (*)(void *))ipw_bg_led_link_on, | 10682 | INIT_WORK(&priv->merge_networks, ipw_merge_adhoc_network); |
10650 | priv); | ||
10651 | INIT_WORK(&priv->led_link_off, (void (*)(void *))ipw_bg_led_link_off, | ||
10652 | priv); | ||
10653 | INIT_WORK(&priv->led_act_off, (void (*)(void *))ipw_bg_led_activity_off, | ||
10654 | priv); | ||
10655 | INIT_WORK(&priv->merge_networks, | ||
10656 | (void (*)(void *))ipw_merge_adhoc_network, priv); | ||
10657 | 10683 | ||
10658 | #ifdef CONFIG_IPW2200_QOS | 10684 | #ifdef CONFIG_IPW2200_QOS |
10659 | INIT_WORK(&priv->qos_activate, (void (*)(void *))ipw_bg_qos_activate, | 10685 | INIT_WORK(&priv->qos_activate, ipw_bg_qos_activate); |
10660 | priv); | ||
10661 | #endif /* CONFIG_IPW2200_QOS */ | 10686 | #endif /* CONFIG_IPW2200_QOS */ |
10662 | 10687 | ||
10663 | tasklet_init(&priv->irq_tasklet, (void (*)(unsigned long)) | 10688 | tasklet_init(&priv->irq_tasklet, (void (*)(unsigned long)) |
@@ -11129,14 +11154,13 @@ static int ipw_up(struct ipw_priv *priv) | |||
11129 | return -EIO; | 11154 | return -EIO; |
11130 | 11155 | ||
11131 | if (cmdlog && !priv->cmdlog) { | 11156 | if (cmdlog && !priv->cmdlog) { |
11132 | priv->cmdlog = kmalloc(sizeof(*priv->cmdlog) * cmdlog, | 11157 | priv->cmdlog = kcalloc(cmdlog, sizeof(*priv->cmdlog), |
11133 | GFP_KERNEL); | 11158 | GFP_KERNEL); |
11134 | if (priv->cmdlog == NULL) { | 11159 | if (priv->cmdlog == NULL) { |
11135 | IPW_ERROR("Error allocating %d command log entries.\n", | 11160 | IPW_ERROR("Error allocating %d command log entries.\n", |
11136 | cmdlog); | 11161 | cmdlog); |
11137 | return -ENOMEM; | 11162 | return -ENOMEM; |
11138 | } else { | 11163 | } else { |
11139 | memset(priv->cmdlog, 0, sizeof(*priv->cmdlog) * cmdlog); | ||
11140 | priv->cmdlog_len = cmdlog; | 11164 | priv->cmdlog_len = cmdlog; |
11141 | } | 11165 | } |
11142 | } | 11166 | } |
@@ -11190,7 +11214,8 @@ static int ipw_up(struct ipw_priv *priv) | |||
11190 | 11214 | ||
11191 | /* If configure to try and auto-associate, kick | 11215 | /* If configure to try and auto-associate, kick |
11192 | * off a scan. */ | 11216 | * off a scan. */ |
11193 | queue_work(priv->workqueue, &priv->request_scan); | 11217 | queue_delayed_work(priv->workqueue, |
11218 | &priv->request_scan, 0); | ||
11194 | 11219 | ||
11195 | return 0; | 11220 | return 0; |
11196 | } | 11221 | } |
@@ -11211,11 +11236,12 @@ static int ipw_up(struct ipw_priv *priv) | |||
11211 | return -EIO; | 11236 | return -EIO; |
11212 | } | 11237 | } |
11213 | 11238 | ||
11214 | static void ipw_bg_up(void *data) | 11239 | static void ipw_bg_up(struct work_struct *work) |
11215 | { | 11240 | { |
11216 | struct ipw_priv *priv = data; | 11241 | struct ipw_priv *priv = |
11242 | container_of(work, struct ipw_priv, up); | ||
11217 | mutex_lock(&priv->mutex); | 11243 | mutex_lock(&priv->mutex); |
11218 | ipw_up(data); | 11244 | ipw_up(priv); |
11219 | mutex_unlock(&priv->mutex); | 11245 | mutex_unlock(&priv->mutex); |
11220 | } | 11246 | } |
11221 | 11247 | ||
@@ -11282,11 +11308,12 @@ static void ipw_down(struct ipw_priv *priv) | |||
11282 | ipw_led_radio_off(priv); | 11308 | ipw_led_radio_off(priv); |
11283 | } | 11309 | } |
11284 | 11310 | ||
11285 | static void ipw_bg_down(void *data) | 11311 | static void ipw_bg_down(struct work_struct *work) |
11286 | { | 11312 | { |
11287 | struct ipw_priv *priv = data; | 11313 | struct ipw_priv *priv = |
11314 | container_of(work, struct ipw_priv, down); | ||
11288 | mutex_lock(&priv->mutex); | 11315 | mutex_lock(&priv->mutex); |
11289 | ipw_down(data); | 11316 | ipw_down(priv); |
11290 | mutex_unlock(&priv->mutex); | 11317 | mutex_unlock(&priv->mutex); |
11291 | } | 11318 | } |
11292 | 11319 | ||
diff --git a/drivers/net/wireless/ipw2200.h b/drivers/net/wireless/ipw2200.h index dad5eedefbf1..626a240a87d8 100644 --- a/drivers/net/wireless/ipw2200.h +++ b/drivers/net/wireless/ipw2200.h | |||
@@ -1290,21 +1290,21 @@ struct ipw_priv { | |||
1290 | 1290 | ||
1291 | struct workqueue_struct *workqueue; | 1291 | struct workqueue_struct *workqueue; |
1292 | 1292 | ||
1293 | struct work_struct adhoc_check; | 1293 | struct delayed_work adhoc_check; |
1294 | struct work_struct associate; | 1294 | struct work_struct associate; |
1295 | struct work_struct disassociate; | 1295 | struct work_struct disassociate; |
1296 | struct work_struct system_config; | 1296 | struct work_struct system_config; |
1297 | struct work_struct rx_replenish; | 1297 | struct work_struct rx_replenish; |
1298 | struct work_struct request_scan; | 1298 | struct delayed_work request_scan; |
1299 | struct work_struct request_passive_scan; | 1299 | struct work_struct request_passive_scan; |
1300 | struct work_struct adapter_restart; | 1300 | struct work_struct adapter_restart; |
1301 | struct work_struct rf_kill; | 1301 | struct delayed_work rf_kill; |
1302 | struct work_struct up; | 1302 | struct work_struct up; |
1303 | struct work_struct down; | 1303 | struct work_struct down; |
1304 | struct work_struct gather_stats; | 1304 | struct delayed_work gather_stats; |
1305 | struct work_struct abort_scan; | 1305 | struct work_struct abort_scan; |
1306 | struct work_struct roam; | 1306 | struct work_struct roam; |
1307 | struct work_struct scan_check; | 1307 | struct delayed_work scan_check; |
1308 | struct work_struct link_up; | 1308 | struct work_struct link_up; |
1309 | struct work_struct link_down; | 1309 | struct work_struct link_down; |
1310 | 1310 | ||
@@ -1319,9 +1319,9 @@ struct ipw_priv { | |||
1319 | u32 led_ofdm_on; | 1319 | u32 led_ofdm_on; |
1320 | u32 led_ofdm_off; | 1320 | u32 led_ofdm_off; |
1321 | 1321 | ||
1322 | struct work_struct led_link_on; | 1322 | struct delayed_work led_link_on; |
1323 | struct work_struct led_link_off; | 1323 | struct delayed_work led_link_off; |
1324 | struct work_struct led_act_off; | 1324 | struct delayed_work led_act_off; |
1325 | struct work_struct merge_networks; | 1325 | struct work_struct merge_networks; |
1326 | 1326 | ||
1327 | struct ipw_cmd_log *cmdlog; | 1327 | struct ipw_cmd_log *cmdlog; |
diff --git a/drivers/net/wireless/netwave_cs.c b/drivers/net/wireless/netwave_cs.c index 6714e0dfa8d6..644b4741ef74 100644 --- a/drivers/net/wireless/netwave_cs.c +++ b/drivers/net/wireless/netwave_cs.c | |||
@@ -735,10 +735,7 @@ do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0) | |||
735 | static int netwave_pcmcia_config(struct pcmcia_device *link) { | 735 | static int netwave_pcmcia_config(struct pcmcia_device *link) { |
736 | struct net_device *dev = link->priv; | 736 | struct net_device *dev = link->priv; |
737 | netwave_private *priv = netdev_priv(dev); | 737 | netwave_private *priv = netdev_priv(dev); |
738 | tuple_t tuple; | ||
739 | cisparse_t parse; | ||
740 | int i, j, last_ret, last_fn; | 738 | int i, j, last_ret, last_fn; |
741 | u_char buf[64]; | ||
742 | win_req_t req; | 739 | win_req_t req; |
743 | memreq_t mem; | 740 | memreq_t mem; |
744 | u_char __iomem *ramBase = NULL; | 741 | u_char __iomem *ramBase = NULL; |
@@ -746,21 +743,6 @@ static int netwave_pcmcia_config(struct pcmcia_device *link) { | |||
746 | DEBUG(0, "netwave_pcmcia_config(0x%p)\n", link); | 743 | DEBUG(0, "netwave_pcmcia_config(0x%p)\n", link); |
747 | 744 | ||
748 | /* | 745 | /* |
749 | This reads the card's CONFIG tuple to find its configuration | ||
750 | registers. | ||
751 | */ | ||
752 | tuple.Attributes = 0; | ||
753 | tuple.TupleData = (cisdata_t *) buf; | ||
754 | tuple.TupleDataMax = 64; | ||
755 | tuple.TupleOffset = 0; | ||
756 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
757 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
758 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
759 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
760 | link->conf.ConfigBase = parse.config.base; | ||
761 | link->conf.Present = parse.config.rmask[0]; | ||
762 | |||
763 | /* | ||
764 | * Try allocating IO ports. This tries a few fixed addresses. | 746 | * Try allocating IO ports. This tries a few fixed addresses. |
765 | * If you want, you can also read the card's config table to | 747 | * If you want, you can also read the card's config table to |
766 | * pick addresses -- see the serial driver for an example. | 748 | * pick addresses -- see the serial driver for an example. |
diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c index 336cabac13b3..936c888e03e1 100644 --- a/drivers/net/wireless/orinoco.c +++ b/drivers/net/wireless/orinoco.c | |||
@@ -980,9 +980,11 @@ static void print_linkstatus(struct net_device *dev, u16 status) | |||
980 | } | 980 | } |
981 | 981 | ||
982 | /* Search scan results for requested BSSID, join it if found */ | 982 | /* Search scan results for requested BSSID, join it if found */ |
983 | static void orinoco_join_ap(struct net_device *dev) | 983 | static void orinoco_join_ap(struct work_struct *work) |
984 | { | 984 | { |
985 | struct orinoco_private *priv = netdev_priv(dev); | 985 | struct orinoco_private *priv = |
986 | container_of(work, struct orinoco_private, join_work); | ||
987 | struct net_device *dev = priv->ndev; | ||
986 | struct hermes *hw = &priv->hw; | 988 | struct hermes *hw = &priv->hw; |
987 | int err; | 989 | int err; |
988 | unsigned long flags; | 990 | unsigned long flags; |
@@ -1055,9 +1057,11 @@ static void orinoco_join_ap(struct net_device *dev) | |||
1055 | } | 1057 | } |
1056 | 1058 | ||
1057 | /* Send new BSSID to userspace */ | 1059 | /* Send new BSSID to userspace */ |
1058 | static void orinoco_send_wevents(struct net_device *dev) | 1060 | static void orinoco_send_wevents(struct work_struct *work) |
1059 | { | 1061 | { |
1060 | struct orinoco_private *priv = netdev_priv(dev); | 1062 | struct orinoco_private *priv = |
1063 | container_of(work, struct orinoco_private, wevent_work); | ||
1064 | struct net_device *dev = priv->ndev; | ||
1061 | struct hermes *hw = &priv->hw; | 1065 | struct hermes *hw = &priv->hw; |
1062 | union iwreq_data wrqu; | 1066 | union iwreq_data wrqu; |
1063 | int err; | 1067 | int err; |
@@ -1864,9 +1868,11 @@ __orinoco_set_multicast_list(struct net_device *dev) | |||
1864 | 1868 | ||
1865 | /* This must be called from user context, without locks held - use | 1869 | /* This must be called from user context, without locks held - use |
1866 | * schedule_work() */ | 1870 | * schedule_work() */ |
1867 | static void orinoco_reset(struct net_device *dev) | 1871 | static void orinoco_reset(struct work_struct *work) |
1868 | { | 1872 | { |
1869 | struct orinoco_private *priv = netdev_priv(dev); | 1873 | struct orinoco_private *priv = |
1874 | container_of(work, struct orinoco_private, reset_work); | ||
1875 | struct net_device *dev = priv->ndev; | ||
1870 | struct hermes *hw = &priv->hw; | 1876 | struct hermes *hw = &priv->hw; |
1871 | int err; | 1877 | int err; |
1872 | unsigned long flags; | 1878 | unsigned long flags; |
@@ -2434,9 +2440,9 @@ struct net_device *alloc_orinocodev(int sizeof_card, | |||
2434 | priv->hw_unavailable = 1; /* orinoco_init() must clear this | 2440 | priv->hw_unavailable = 1; /* orinoco_init() must clear this |
2435 | * before anything else touches the | 2441 | * before anything else touches the |
2436 | * hardware */ | 2442 | * hardware */ |
2437 | INIT_WORK(&priv->reset_work, (void (*)(void *))orinoco_reset, dev); | 2443 | INIT_WORK(&priv->reset_work, orinoco_reset); |
2438 | INIT_WORK(&priv->join_work, (void (*)(void *))orinoco_join_ap, dev); | 2444 | INIT_WORK(&priv->join_work, orinoco_join_ap); |
2439 | INIT_WORK(&priv->wevent_work, (void (*)(void *))orinoco_send_wevents, dev); | 2445 | INIT_WORK(&priv->wevent_work, orinoco_send_wevents); |
2440 | 2446 | ||
2441 | netif_carrier_off(dev); | 2447 | netif_carrier_off(dev); |
2442 | priv->last_linkstatus = 0xffff; | 2448 | priv->last_linkstatus = 0xffff; |
@@ -3608,7 +3614,7 @@ static int orinoco_ioctl_reset(struct net_device *dev, | |||
3608 | printk(KERN_DEBUG "%s: Forcing reset!\n", dev->name); | 3614 | printk(KERN_DEBUG "%s: Forcing reset!\n", dev->name); |
3609 | 3615 | ||
3610 | /* Firmware reset */ | 3616 | /* Firmware reset */ |
3611 | orinoco_reset(dev); | 3617 | orinoco_reset(&priv->reset_work); |
3612 | } else { | 3618 | } else { |
3613 | printk(KERN_DEBUG "%s: Force scheduling reset!\n", dev->name); | 3619 | printk(KERN_DEBUG "%s: Force scheduling reset!\n", dev->name); |
3614 | 3620 | ||
@@ -4154,7 +4160,7 @@ static int orinoco_ioctl_commit(struct net_device *dev, | |||
4154 | return 0; | 4160 | return 0; |
4155 | 4161 | ||
4156 | if (priv->broken_disableport) { | 4162 | if (priv->broken_disableport) { |
4157 | orinoco_reset(dev); | 4163 | orinoco_reset(&priv->reset_work); |
4158 | return 0; | 4164 | return 0; |
4159 | } | 4165 | } |
4160 | 4166 | ||
diff --git a/drivers/net/wireless/orinoco_cs.c b/drivers/net/wireless/orinoco_cs.c index bc14689cbf24..d08ae8d2726c 100644 --- a/drivers/net/wireless/orinoco_cs.c +++ b/drivers/net/wireless/orinoco_cs.c | |||
@@ -178,21 +178,6 @@ orinoco_cs_config(struct pcmcia_device *link) | |||
178 | cisparse_t parse; | 178 | cisparse_t parse; |
179 | void __iomem *mem; | 179 | void __iomem *mem; |
180 | 180 | ||
181 | /* | ||
182 | * This reads the card's CONFIG tuple to find its | ||
183 | * configuration registers. | ||
184 | */ | ||
185 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
186 | tuple.Attributes = 0; | ||
187 | tuple.TupleData = buf; | ||
188 | tuple.TupleDataMax = sizeof(buf); | ||
189 | tuple.TupleOffset = 0; | ||
190 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
191 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
192 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
193 | link->conf.ConfigBase = parse.config.base; | ||
194 | link->conf.Present = parse.config.rmask[0]; | ||
195 | |||
196 | /* Look up the current Vcc */ | 181 | /* Look up the current Vcc */ |
197 | CS_CHECK(GetConfigurationInfo, | 182 | CS_CHECK(GetConfigurationInfo, |
198 | pcmcia_get_configuration_info(link, &conf)); | 183 | pcmcia_get_configuration_info(link, &conf)); |
@@ -211,6 +196,10 @@ orinoco_cs_config(struct pcmcia_device *link) | |||
211 | * and most client drivers will only use the CIS to fill in | 196 | * and most client drivers will only use the CIS to fill in |
212 | * implementation-defined details. | 197 | * implementation-defined details. |
213 | */ | 198 | */ |
199 | tuple.Attributes = 0; | ||
200 | tuple.TupleData = buf; | ||
201 | tuple.TupleDataMax = sizeof(buf); | ||
202 | tuple.TupleOffset = 0; | ||
214 | tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY; | 203 | tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY; |
215 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | 204 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); |
216 | while (1) { | 205 | while (1) { |
diff --git a/drivers/net/wireless/prism54/isl_ioctl.c b/drivers/net/wireless/prism54/isl_ioctl.c index 4a20e45de3ca..96606ed10076 100644 --- a/drivers/net/wireless/prism54/isl_ioctl.c +++ b/drivers/net/wireless/prism54/isl_ioctl.c | |||
@@ -157,8 +157,9 @@ prism54_mib_init(islpci_private *priv) | |||
157 | * schedule_work(), thus we can as well use sleeping semaphore | 157 | * schedule_work(), thus we can as well use sleeping semaphore |
158 | * locking */ | 158 | * locking */ |
159 | void | 159 | void |
160 | prism54_update_stats(islpci_private *priv) | 160 | prism54_update_stats(struct work_struct *work) |
161 | { | 161 | { |
162 | islpci_private *priv = container_of(work, islpci_private, stats_work); | ||
162 | char *data; | 163 | char *data; |
163 | int j; | 164 | int j; |
164 | struct obj_bss bss, *bss2; | 165 | struct obj_bss bss, *bss2; |
@@ -2140,11 +2141,9 @@ prism54_wpa_bss_ie_add(islpci_private *priv, u8 *bssid, | |||
2140 | struct islpci_bss_wpa_ie, list); | 2141 | struct islpci_bss_wpa_ie, list); |
2141 | list_del(&bss->list); | 2142 | list_del(&bss->list); |
2142 | } else { | 2143 | } else { |
2143 | bss = kmalloc(sizeof (*bss), GFP_ATOMIC); | 2144 | bss = kzalloc(sizeof (*bss), GFP_ATOMIC); |
2144 | if (bss != NULL) { | 2145 | if (bss != NULL) |
2145 | priv->num_bss_wpa++; | 2146 | priv->num_bss_wpa++; |
2146 | memset(bss, 0, sizeof (*bss)); | ||
2147 | } | ||
2148 | } | 2147 | } |
2149 | if (bss != NULL) { | 2148 | if (bss != NULL) { |
2150 | memcpy(bss->bssid, bssid, ETH_ALEN); | 2149 | memcpy(bss->bssid, bssid, ETH_ALEN); |
@@ -2493,9 +2492,10 @@ prism54_process_trap_helper(islpci_private *priv, enum oid_num_t oid, | |||
2493 | * interrupt context, no locks held. | 2492 | * interrupt context, no locks held. |
2494 | */ | 2493 | */ |
2495 | void | 2494 | void |
2496 | prism54_process_trap(void *data) | 2495 | prism54_process_trap(struct work_struct *work) |
2497 | { | 2496 | { |
2498 | struct islpci_mgmtframe *frame = data; | 2497 | struct islpci_mgmtframe *frame = |
2498 | container_of(work, struct islpci_mgmtframe, ws); | ||
2499 | struct net_device *ndev = frame->ndev; | 2499 | struct net_device *ndev = frame->ndev; |
2500 | enum oid_num_t n = mgt_oidtonum(frame->header->oid); | 2500 | enum oid_num_t n = mgt_oidtonum(frame->header->oid); |
2501 | 2501 | ||
@@ -2684,11 +2684,10 @@ prism2_ioctl_set_generic_element(struct net_device *ndev, | |||
2684 | return -EINVAL; | 2684 | return -EINVAL; |
2685 | 2685 | ||
2686 | alen = sizeof(*attach) + len; | 2686 | alen = sizeof(*attach) + len; |
2687 | attach = kmalloc(alen, GFP_KERNEL); | 2687 | attach = kzalloc(alen, GFP_KERNEL); |
2688 | if (attach == NULL) | 2688 | if (attach == NULL) |
2689 | return -ENOMEM; | 2689 | return -ENOMEM; |
2690 | 2690 | ||
2691 | memset(attach, 0, alen); | ||
2692 | #define WLAN_FC_TYPE_MGMT 0 | 2691 | #define WLAN_FC_TYPE_MGMT 0 |
2693 | #define WLAN_FC_STYPE_ASSOC_REQ 0 | 2692 | #define WLAN_FC_STYPE_ASSOC_REQ 0 |
2694 | #define WLAN_FC_STYPE_REASSOC_REQ 2 | 2693 | #define WLAN_FC_STYPE_REASSOC_REQ 2 |
diff --git a/drivers/net/wireless/prism54/isl_ioctl.h b/drivers/net/wireless/prism54/isl_ioctl.h index e8183d30c52e..bcfbfb9281d2 100644 --- a/drivers/net/wireless/prism54/isl_ioctl.h +++ b/drivers/net/wireless/prism54/isl_ioctl.h | |||
@@ -31,12 +31,12 @@ | |||
31 | void prism54_mib_init(islpci_private *); | 31 | void prism54_mib_init(islpci_private *); |
32 | 32 | ||
33 | struct iw_statistics *prism54_get_wireless_stats(struct net_device *); | 33 | struct iw_statistics *prism54_get_wireless_stats(struct net_device *); |
34 | void prism54_update_stats(islpci_private *); | 34 | void prism54_update_stats(struct work_struct *); |
35 | 35 | ||
36 | void prism54_acl_init(struct islpci_acl *); | 36 | void prism54_acl_init(struct islpci_acl *); |
37 | void prism54_acl_clean(struct islpci_acl *); | 37 | void prism54_acl_clean(struct islpci_acl *); |
38 | 38 | ||
39 | void prism54_process_trap(void *); | 39 | void prism54_process_trap(struct work_struct *); |
40 | 40 | ||
41 | void prism54_wpa_bss_ie_init(islpci_private *priv); | 41 | void prism54_wpa_bss_ie_init(islpci_private *priv); |
42 | void prism54_wpa_bss_ie_clean(islpci_private *priv); | 42 | void prism54_wpa_bss_ie_clean(islpci_private *priv); |
diff --git a/drivers/net/wireless/prism54/islpci_dev.c b/drivers/net/wireless/prism54/islpci_dev.c index 1e0603ca436c..f057fd9fcd79 100644 --- a/drivers/net/wireless/prism54/islpci_dev.c +++ b/drivers/net/wireless/prism54/islpci_dev.c | |||
@@ -860,11 +860,10 @@ islpci_setup(struct pci_dev *pdev) | |||
860 | priv->state_off = 1; | 860 | priv->state_off = 1; |
861 | 861 | ||
862 | /* initialize workqueue's */ | 862 | /* initialize workqueue's */ |
863 | INIT_WORK(&priv->stats_work, | 863 | INIT_WORK(&priv->stats_work, prism54_update_stats); |
864 | (void (*)(void *)) prism54_update_stats, priv); | ||
865 | priv->stats_timestamp = 0; | 864 | priv->stats_timestamp = 0; |
866 | 865 | ||
867 | INIT_WORK(&priv->reset_task, islpci_do_reset_and_wake, priv); | 866 | INIT_WORK(&priv->reset_task, islpci_do_reset_and_wake); |
868 | priv->reset_task_pending = 0; | 867 | priv->reset_task_pending = 0; |
869 | 868 | ||
870 | /* allocate various memory areas */ | 869 | /* allocate various memory areas */ |
diff --git a/drivers/net/wireless/prism54/islpci_eth.c b/drivers/net/wireless/prism54/islpci_eth.c index 676d83813dc8..b1122912ee2d 100644 --- a/drivers/net/wireless/prism54/islpci_eth.c +++ b/drivers/net/wireless/prism54/islpci_eth.c | |||
@@ -480,9 +480,9 @@ islpci_eth_receive(islpci_private *priv) | |||
480 | } | 480 | } |
481 | 481 | ||
482 | void | 482 | void |
483 | islpci_do_reset_and_wake(void *data) | 483 | islpci_do_reset_and_wake(struct work_struct *work) |
484 | { | 484 | { |
485 | islpci_private *priv = data; | 485 | islpci_private *priv = container_of(work, islpci_private, reset_task); |
486 | 486 | ||
487 | islpci_reset(priv, 1); | 487 | islpci_reset(priv, 1); |
488 | priv->reset_task_pending = 0; | 488 | priv->reset_task_pending = 0; |
diff --git a/drivers/net/wireless/prism54/islpci_eth.h b/drivers/net/wireless/prism54/islpci_eth.h index 26789454067c..5bf820defbd0 100644 --- a/drivers/net/wireless/prism54/islpci_eth.h +++ b/drivers/net/wireless/prism54/islpci_eth.h | |||
@@ -67,6 +67,6 @@ void islpci_eth_cleanup_transmit(islpci_private *, isl38xx_control_block *); | |||
67 | int islpci_eth_transmit(struct sk_buff *, struct net_device *); | 67 | int islpci_eth_transmit(struct sk_buff *, struct net_device *); |
68 | int islpci_eth_receive(islpci_private *); | 68 | int islpci_eth_receive(islpci_private *); |
69 | void islpci_eth_tx_timeout(struct net_device *); | 69 | void islpci_eth_tx_timeout(struct net_device *); |
70 | void islpci_do_reset_and_wake(void *data); | 70 | void islpci_do_reset_and_wake(struct work_struct *); |
71 | 71 | ||
72 | #endif /* _ISL_GEN_H */ | 72 | #endif /* _ISL_GEN_H */ |
diff --git a/drivers/net/wireless/prism54/islpci_mgt.c b/drivers/net/wireless/prism54/islpci_mgt.c index 036a875054c9..2246f7930b4e 100644 --- a/drivers/net/wireless/prism54/islpci_mgt.c +++ b/drivers/net/wireless/prism54/islpci_mgt.c | |||
@@ -386,7 +386,7 @@ islpci_mgt_receive(struct net_device *ndev) | |||
386 | 386 | ||
387 | /* Create work to handle trap out of interrupt | 387 | /* Create work to handle trap out of interrupt |
388 | * context. */ | 388 | * context. */ |
389 | INIT_WORK(&frame->ws, prism54_process_trap, frame); | 389 | INIT_WORK(&frame->ws, prism54_process_trap); |
390 | schedule_work(&frame->ws); | 390 | schedule_work(&frame->ws); |
391 | 391 | ||
392 | } else { | 392 | } else { |
diff --git a/drivers/net/wireless/prism54/oid_mgt.c b/drivers/net/wireless/prism54/oid_mgt.c index fbc52b6a3024..e6cf9df2c206 100644 --- a/drivers/net/wireless/prism54/oid_mgt.c +++ b/drivers/net/wireless/prism54/oid_mgt.c | |||
@@ -235,12 +235,10 @@ mgt_init(islpci_private *priv) | |||
235 | { | 235 | { |
236 | int i; | 236 | int i; |
237 | 237 | ||
238 | priv->mib = kmalloc(OID_NUM_LAST * sizeof (void *), GFP_KERNEL); | 238 | priv->mib = kcalloc(OID_NUM_LAST, sizeof (void *), GFP_KERNEL); |
239 | if (!priv->mib) | 239 | if (!priv->mib) |
240 | return -ENOMEM; | 240 | return -ENOMEM; |
241 | 241 | ||
242 | memset(priv->mib, 0, OID_NUM_LAST * sizeof (void *)); | ||
243 | |||
244 | /* Alloc the cache */ | 242 | /* Alloc the cache */ |
245 | for (i = 0; i < OID_NUM_LAST; i++) { | 243 | for (i = 0; i < OID_NUM_LAST; i++) { |
246 | if (isl_oid[i].flags & OID_FLAG_CACHED) { | 244 | if (isl_oid[i].flags & OID_FLAG_CACHED) { |
diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c index 7fbfc9e41d07..88e10c9bc4ac 100644 --- a/drivers/net/wireless/ray_cs.c +++ b/drivers/net/wireless/ray_cs.c | |||
@@ -408,11 +408,8 @@ do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0) | |||
408 | #define MAX_TUPLE_SIZE 128 | 408 | #define MAX_TUPLE_SIZE 128 |
409 | static int ray_config(struct pcmcia_device *link) | 409 | static int ray_config(struct pcmcia_device *link) |
410 | { | 410 | { |
411 | tuple_t tuple; | ||
412 | cisparse_t parse; | ||
413 | int last_fn = 0, last_ret = 0; | 411 | int last_fn = 0, last_ret = 0; |
414 | int i; | 412 | int i; |
415 | u_char buf[MAX_TUPLE_SIZE]; | ||
416 | win_req_t req; | 413 | win_req_t req; |
417 | memreq_t mem; | 414 | memreq_t mem; |
418 | struct net_device *dev = (struct net_device *)link->priv; | 415 | struct net_device *dev = (struct net_device *)link->priv; |
@@ -420,29 +417,12 @@ static int ray_config(struct pcmcia_device *link) | |||
420 | 417 | ||
421 | DEBUG(1, "ray_config(0x%p)\n", link); | 418 | DEBUG(1, "ray_config(0x%p)\n", link); |
422 | 419 | ||
423 | /* This reads the card's CONFIG tuple to find its configuration regs */ | ||
424 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
425 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
426 | tuple.TupleData = buf; | ||
427 | tuple.TupleDataMax = MAX_TUPLE_SIZE; | ||
428 | tuple.TupleOffset = 0; | ||
429 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
430 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
431 | link->conf.ConfigBase = parse.config.base; | ||
432 | link->conf.Present = parse.config.rmask[0]; | ||
433 | |||
434 | /* Determine card type and firmware version */ | 420 | /* Determine card type and firmware version */ |
435 | buf[0] = buf[MAX_TUPLE_SIZE - 1] = 0; | 421 | printk(KERN_INFO "ray_cs Detected: %s%s%s%s\n", |
436 | tuple.DesiredTuple = CISTPL_VERS_1; | 422 | link->prod_id[0] ? link->prod_id[0] : " ", |
437 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | 423 | link->prod_id[1] ? link->prod_id[1] : " ", |
438 | tuple.TupleData = buf; | 424 | link->prod_id[2] ? link->prod_id[2] : " ", |
439 | tuple.TupleDataMax = MAX_TUPLE_SIZE; | 425 | link->prod_id[3] ? link->prod_id[3] : " "); |
440 | tuple.TupleOffset = 2; | ||
441 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
442 | |||
443 | for (i=0; i<tuple.TupleDataLen - 4; i++) | ||
444 | if (buf[i] == 0) buf[i] = ' '; | ||
445 | printk(KERN_INFO "ray_cs Detected: %s\n",buf); | ||
446 | 426 | ||
447 | /* Now allocate an interrupt line. Note that this does not | 427 | /* Now allocate an interrupt line. Note that this does not |
448 | actually assign a handler to the interrupt. | 428 | actually assign a handler to the interrupt. |
diff --git a/drivers/net/wireless/spectrum_cs.c b/drivers/net/wireless/spectrum_cs.c index bcc7038130f6..cf2d1486b01d 100644 --- a/drivers/net/wireless/spectrum_cs.c +++ b/drivers/net/wireless/spectrum_cs.c | |||
@@ -647,21 +647,6 @@ spectrum_cs_config(struct pcmcia_device *link) | |||
647 | cisparse_t parse; | 647 | cisparse_t parse; |
648 | void __iomem *mem; | 648 | void __iomem *mem; |
649 | 649 | ||
650 | /* | ||
651 | * This reads the card's CONFIG tuple to find its | ||
652 | * configuration registers. | ||
653 | */ | ||
654 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
655 | tuple.Attributes = 0; | ||
656 | tuple.TupleData = buf; | ||
657 | tuple.TupleDataMax = sizeof(buf); | ||
658 | tuple.TupleOffset = 0; | ||
659 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
660 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
661 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
662 | link->conf.ConfigBase = parse.config.base; | ||
663 | link->conf.Present = parse.config.rmask[0]; | ||
664 | |||
665 | /* Look up the current Vcc */ | 650 | /* Look up the current Vcc */ |
666 | CS_CHECK(GetConfigurationInfo, | 651 | CS_CHECK(GetConfigurationInfo, |
667 | pcmcia_get_configuration_info(link, &conf)); | 652 | pcmcia_get_configuration_info(link, &conf)); |
@@ -681,6 +666,10 @@ spectrum_cs_config(struct pcmcia_device *link) | |||
681 | * implementation-defined details. | 666 | * implementation-defined details. |
682 | */ | 667 | */ |
683 | tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY; | 668 | tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY; |
669 | tuple.Attributes = 0; | ||
670 | tuple.TupleData = buf; | ||
671 | tuple.TupleDataMax = sizeof(buf); | ||
672 | tuple.TupleOffset = 0; | ||
684 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | 673 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); |
685 | while (1) { | 674 | while (1) { |
686 | cistpl_cftable_entry_t *cfg = &(parse.cftable_entry); | 675 | cistpl_cftable_entry_t *cfg = &(parse.cftable_entry); |
diff --git a/drivers/net/wireless/wavelan_cs.c b/drivers/net/wireless/wavelan_cs.c index aafb301041b1..233d906c08f0 100644 --- a/drivers/net/wireless/wavelan_cs.c +++ b/drivers/net/wireless/wavelan_cs.c | |||
@@ -3939,11 +3939,8 @@ wv_hw_reset(struct net_device * dev) | |||
3939 | static inline int | 3939 | static inline int |
3940 | wv_pcmcia_config(struct pcmcia_device * link) | 3940 | wv_pcmcia_config(struct pcmcia_device * link) |
3941 | { | 3941 | { |
3942 | tuple_t tuple; | ||
3943 | cisparse_t parse; | ||
3944 | struct net_device * dev = (struct net_device *) link->priv; | 3942 | struct net_device * dev = (struct net_device *) link->priv; |
3945 | int i; | 3943 | int i; |
3946 | u_char buf[64]; | ||
3947 | win_req_t req; | 3944 | win_req_t req; |
3948 | memreq_t mem; | 3945 | memreq_t mem; |
3949 | net_local * lp = netdev_priv(dev); | 3946 | net_local * lp = netdev_priv(dev); |
@@ -3953,36 +3950,6 @@ wv_pcmcia_config(struct pcmcia_device * link) | |||
3953 | printk(KERN_DEBUG "->wv_pcmcia_config(0x%p)\n", link); | 3950 | printk(KERN_DEBUG "->wv_pcmcia_config(0x%p)\n", link); |
3954 | #endif | 3951 | #endif |
3955 | 3952 | ||
3956 | /* | ||
3957 | * This reads the card's CONFIG tuple to find its configuration | ||
3958 | * registers. | ||
3959 | */ | ||
3960 | do | ||
3961 | { | ||
3962 | tuple.Attributes = 0; | ||
3963 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
3964 | i = pcmcia_get_first_tuple(link, &tuple); | ||
3965 | if(i != CS_SUCCESS) | ||
3966 | break; | ||
3967 | tuple.TupleData = (cisdata_t *)buf; | ||
3968 | tuple.TupleDataMax = 64; | ||
3969 | tuple.TupleOffset = 0; | ||
3970 | i = pcmcia_get_tuple_data(link, &tuple); | ||
3971 | if(i != CS_SUCCESS) | ||
3972 | break; | ||
3973 | i = pcmcia_parse_tuple(link, &tuple, &parse); | ||
3974 | if(i != CS_SUCCESS) | ||
3975 | break; | ||
3976 | link->conf.ConfigBase = parse.config.base; | ||
3977 | link->conf.Present = parse.config.rmask[0]; | ||
3978 | } | ||
3979 | while(0); | ||
3980 | if(i != CS_SUCCESS) | ||
3981 | { | ||
3982 | cs_error(link, ParseTuple, i); | ||
3983 | return FALSE; | ||
3984 | } | ||
3985 | |||
3986 | do | 3953 | do |
3987 | { | 3954 | { |
3988 | i = pcmcia_request_io(link, &link->io); | 3955 | i = pcmcia_request_io(link, &link->io); |
diff --git a/drivers/net/wireless/wl3501_cs.c b/drivers/net/wireless/wl3501_cs.c index 5b98a7876982..583e0d655a98 100644 --- a/drivers/net/wireless/wl3501_cs.c +++ b/drivers/net/wireless/wl3501_cs.c | |||
@@ -1966,25 +1966,10 @@ do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0) | |||
1966 | */ | 1966 | */ |
1967 | static int wl3501_config(struct pcmcia_device *link) | 1967 | static int wl3501_config(struct pcmcia_device *link) |
1968 | { | 1968 | { |
1969 | tuple_t tuple; | ||
1970 | cisparse_t parse; | ||
1971 | struct net_device *dev = link->priv; | 1969 | struct net_device *dev = link->priv; |
1972 | int i = 0, j, last_fn, last_ret; | 1970 | int i = 0, j, last_fn, last_ret; |
1973 | unsigned char bf[64]; | ||
1974 | struct wl3501_card *this; | 1971 | struct wl3501_card *this; |
1975 | 1972 | ||
1976 | /* This reads the card's CONFIG tuple to find its config registers. */ | ||
1977 | tuple.Attributes = 0; | ||
1978 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
1979 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
1980 | tuple.TupleData = bf; | ||
1981 | tuple.TupleDataMax = sizeof(bf); | ||
1982 | tuple.TupleOffset = 0; | ||
1983 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
1984 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
1985 | link->conf.ConfigBase = parse.config.base; | ||
1986 | link->conf.Present = parse.config.rmask[0]; | ||
1987 | |||
1988 | /* Try allocating IO ports. This tries a few fixed addresses. If you | 1973 | /* Try allocating IO ports. This tries a few fixed addresses. If you |
1989 | * want, you can also read the card's config table to pick addresses -- | 1974 | * want, you can also read the card's config table to pick addresses -- |
1990 | * see the serial driver for an example. */ | 1975 | * see the serial driver for an example. */ |
diff --git a/drivers/net/wireless/zd1211rw/zd_chip.c b/drivers/net/wireless/zd1211rw/zd_chip.c index 8be99ebbe1cd..77e11ddad836 100644 --- a/drivers/net/wireless/zd1211rw/zd_chip.c +++ b/drivers/net/wireless/zd1211rw/zd_chip.c | |||
@@ -1673,3 +1673,16 @@ int zd_rfwritev_cr_locked(struct zd_chip *chip, | |||
1673 | 1673 | ||
1674 | return 0; | 1674 | return 0; |
1675 | } | 1675 | } |
1676 | |||
1677 | int zd_chip_set_multicast_hash(struct zd_chip *chip, | ||
1678 | struct zd_mc_hash *hash) | ||
1679 | { | ||
1680 | struct zd_ioreq32 ioreqs[] = { | ||
1681 | { CR_GROUP_HASH_P1, hash->low }, | ||
1682 | { CR_GROUP_HASH_P2, hash->high }, | ||
1683 | }; | ||
1684 | |||
1685 | dev_dbg_f(zd_chip_dev(chip), "hash l 0x%08x h 0x%08x\n", | ||
1686 | ioreqs[0].value, ioreqs[1].value); | ||
1687 | return zd_iowrite32a(chip, ioreqs, ARRAY_SIZE(ioreqs)); | ||
1688 | } | ||
diff --git a/drivers/net/wireless/zd1211rw/zd_chip.h b/drivers/net/wireless/zd1211rw/zd_chip.h index ca892b9a6448..a4e3cee9b59d 100644 --- a/drivers/net/wireless/zd1211rw/zd_chip.h +++ b/drivers/net/wireless/zd1211rw/zd_chip.h | |||
@@ -390,10 +390,19 @@ | |||
390 | #define CR_BSSID_P1 CTL_REG(0x0618) | 390 | #define CR_BSSID_P1 CTL_REG(0x0618) |
391 | #define CR_BSSID_P2 CTL_REG(0x061C) | 391 | #define CR_BSSID_P2 CTL_REG(0x061C) |
392 | #define CR_BCN_PLCP_CFG CTL_REG(0x0620) | 392 | #define CR_BCN_PLCP_CFG CTL_REG(0x0620) |
393 | |||
394 | /* Group hash table for filtering incoming packets. | ||
395 | * | ||
396 | * The group hash table is 64 bit large and split over two parts. The first | ||
397 | * part is the lower part. The upper 6 bits of the last byte of the target | ||
398 | * address are used as index. Packets are received if the hash table bit is | ||
399 | * set. This is used for multicast handling, but for broadcasts (address | ||
400 | * ff:ff:ff:ff:ff:ff) the highest bit in the second table must also be set. | ||
401 | */ | ||
393 | #define CR_GROUP_HASH_P1 CTL_REG(0x0624) | 402 | #define CR_GROUP_HASH_P1 CTL_REG(0x0624) |
394 | #define CR_GROUP_HASH_P2 CTL_REG(0x0628) | 403 | #define CR_GROUP_HASH_P2 CTL_REG(0x0628) |
395 | #define CR_RX_TIMEOUT CTL_REG(0x062C) | ||
396 | 404 | ||
405 | #define CR_RX_TIMEOUT CTL_REG(0x062C) | ||
397 | /* Basic rates supported by the BSS. When producing ACK or CTS messages, the | 406 | /* Basic rates supported by the BSS. When producing ACK or CTS messages, the |
398 | * device will use a rate in this table that is less than or equal to the rate | 407 | * device will use a rate in this table that is less than or equal to the rate |
399 | * of the incoming frame which prompted the response */ | 408 | * of the incoming frame which prompted the response */ |
@@ -864,4 +873,36 @@ u8 zd_rx_strength_percent(u8 rssi); | |||
864 | 873 | ||
865 | u16 zd_rx_rate(const void *rx_frame, const struct rx_status *status); | 874 | u16 zd_rx_rate(const void *rx_frame, const struct rx_status *status); |
866 | 875 | ||
876 | struct zd_mc_hash { | ||
877 | u32 low; | ||
878 | u32 high; | ||
879 | }; | ||
880 | |||
881 | static inline void zd_mc_clear(struct zd_mc_hash *hash) | ||
882 | { | ||
883 | hash->low = 0; | ||
884 | /* The interfaces must always received broadcasts. | ||
885 | * The hash of the broadcast address ff:ff:ff:ff:ff:ff is 63. | ||
886 | */ | ||
887 | hash->high = 0x80000000; | ||
888 | } | ||
889 | |||
890 | static inline void zd_mc_add_all(struct zd_mc_hash *hash) | ||
891 | { | ||
892 | hash->low = hash->high = 0xffffffff; | ||
893 | } | ||
894 | |||
895 | static inline void zd_mc_add_addr(struct zd_mc_hash *hash, u8 *addr) | ||
896 | { | ||
897 | unsigned int i = addr[5] >> 2; | ||
898 | if (i < 32) { | ||
899 | hash->low |= 1 << i; | ||
900 | } else { | ||
901 | hash->high |= 1 << (i-32); | ||
902 | } | ||
903 | } | ||
904 | |||
905 | int zd_chip_set_multicast_hash(struct zd_chip *chip, | ||
906 | struct zd_mc_hash *hash); | ||
907 | |||
867 | #endif /* _ZD_CHIP_H */ | 908 | #endif /* _ZD_CHIP_H */ |
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c index 2696f95b9278..61c7916b7656 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c | |||
@@ -32,13 +32,15 @@ | |||
32 | 32 | ||
33 | static void ieee_init(struct ieee80211_device *ieee); | 33 | static void ieee_init(struct ieee80211_device *ieee); |
34 | static void softmac_init(struct ieee80211softmac_device *sm); | 34 | static void softmac_init(struct ieee80211softmac_device *sm); |
35 | static void set_rts_cts_work(void *d); | 35 | static void set_rts_cts_work(struct work_struct *work); |
36 | static void set_basic_rates_work(void *d); | 36 | static void set_basic_rates_work(struct work_struct *work); |
37 | 37 | ||
38 | static void housekeeping_init(struct zd_mac *mac); | 38 | static void housekeeping_init(struct zd_mac *mac); |
39 | static void housekeeping_enable(struct zd_mac *mac); | 39 | static void housekeeping_enable(struct zd_mac *mac); |
40 | static void housekeeping_disable(struct zd_mac *mac); | 40 | static void housekeeping_disable(struct zd_mac *mac); |
41 | 41 | ||
42 | static void set_multicast_hash_handler(void *mac_ptr); | ||
43 | |||
42 | int zd_mac_init(struct zd_mac *mac, | 44 | int zd_mac_init(struct zd_mac *mac, |
43 | struct net_device *netdev, | 45 | struct net_device *netdev, |
44 | struct usb_interface *intf) | 46 | struct usb_interface *intf) |
@@ -48,13 +50,15 @@ int zd_mac_init(struct zd_mac *mac, | |||
48 | memset(mac, 0, sizeof(*mac)); | 50 | memset(mac, 0, sizeof(*mac)); |
49 | spin_lock_init(&mac->lock); | 51 | spin_lock_init(&mac->lock); |
50 | mac->netdev = netdev; | 52 | mac->netdev = netdev; |
51 | INIT_WORK(&mac->set_rts_cts_work, set_rts_cts_work, mac); | 53 | INIT_DELAYED_WORK(&mac->set_rts_cts_work, set_rts_cts_work); |
52 | INIT_WORK(&mac->set_basic_rates_work, set_basic_rates_work, mac); | 54 | INIT_DELAYED_WORK(&mac->set_basic_rates_work, set_basic_rates_work); |
53 | 55 | ||
54 | ieee_init(ieee); | 56 | ieee_init(ieee); |
55 | softmac_init(ieee80211_priv(netdev)); | 57 | softmac_init(ieee80211_priv(netdev)); |
56 | zd_chip_init(&mac->chip, netdev, intf); | 58 | zd_chip_init(&mac->chip, netdev, intf); |
57 | housekeeping_init(mac); | 59 | housekeeping_init(mac); |
60 | INIT_WORK(&mac->set_multicast_hash_work, set_multicast_hash_handler, | ||
61 | mac); | ||
58 | return 0; | 62 | return 0; |
59 | } | 63 | } |
60 | 64 | ||
@@ -136,6 +140,7 @@ out: | |||
136 | 140 | ||
137 | void zd_mac_clear(struct zd_mac *mac) | 141 | void zd_mac_clear(struct zd_mac *mac) |
138 | { | 142 | { |
143 | flush_workqueue(zd_workqueue); | ||
139 | zd_chip_clear(&mac->chip); | 144 | zd_chip_clear(&mac->chip); |
140 | ZD_ASSERT(!spin_is_locked(&mac->lock)); | 145 | ZD_ASSERT(!spin_is_locked(&mac->lock)); |
141 | ZD_MEMCLEAR(mac, sizeof(struct zd_mac)); | 146 | ZD_MEMCLEAR(mac, sizeof(struct zd_mac)); |
@@ -256,6 +261,42 @@ int zd_mac_set_mac_address(struct net_device *netdev, void *p) | |||
256 | return 0; | 261 | return 0; |
257 | } | 262 | } |
258 | 263 | ||
264 | static void set_multicast_hash_handler(void *mac_ptr) | ||
265 | { | ||
266 | struct zd_mac *mac = mac_ptr; | ||
267 | struct zd_mc_hash hash; | ||
268 | |||
269 | spin_lock_irq(&mac->lock); | ||
270 | hash = mac->multicast_hash; | ||
271 | spin_unlock_irq(&mac->lock); | ||
272 | |||
273 | zd_chip_set_multicast_hash(&mac->chip, &hash); | ||
274 | } | ||
275 | |||
276 | void zd_mac_set_multicast_list(struct net_device *dev) | ||
277 | { | ||
278 | struct zd_mc_hash hash; | ||
279 | struct zd_mac *mac = zd_netdev_mac(dev); | ||
280 | struct dev_mc_list *mc; | ||
281 | unsigned long flags; | ||
282 | |||
283 | if (dev->flags & (IFF_PROMISC|IFF_ALLMULTI)) { | ||
284 | zd_mc_add_all(&hash); | ||
285 | } else { | ||
286 | zd_mc_clear(&hash); | ||
287 | for (mc = dev->mc_list; mc; mc = mc->next) { | ||
288 | dev_dbg_f(zd_mac_dev(mac), "mc addr " MAC_FMT "\n", | ||
289 | MAC_ARG(mc->dmi_addr)); | ||
290 | zd_mc_add_addr(&hash, mc->dmi_addr); | ||
291 | } | ||
292 | } | ||
293 | |||
294 | spin_lock_irqsave(&mac->lock, flags); | ||
295 | mac->multicast_hash = hash; | ||
296 | spin_unlock_irqrestore(&mac->lock, flags); | ||
297 | queue_work(zd_workqueue, &mac->set_multicast_hash_work); | ||
298 | } | ||
299 | |||
259 | int zd_mac_set_regdomain(struct zd_mac *mac, u8 regdomain) | 300 | int zd_mac_set_regdomain(struct zd_mac *mac, u8 regdomain) |
260 | { | 301 | { |
261 | int r; | 302 | int r; |
@@ -366,9 +407,10 @@ static void try_enable_tx(struct zd_mac *mac) | |||
366 | spin_unlock_irqrestore(&mac->lock, flags); | 407 | spin_unlock_irqrestore(&mac->lock, flags); |
367 | } | 408 | } |
368 | 409 | ||
369 | static void set_rts_cts_work(void *d) | 410 | static void set_rts_cts_work(struct work_struct *work) |
370 | { | 411 | { |
371 | struct zd_mac *mac = d; | 412 | struct zd_mac *mac = |
413 | container_of(work, struct zd_mac, set_rts_cts_work.work); | ||
372 | unsigned long flags; | 414 | unsigned long flags; |
373 | u8 rts_rate; | 415 | u8 rts_rate; |
374 | unsigned int short_preamble; | 416 | unsigned int short_preamble; |
@@ -387,9 +429,10 @@ static void set_rts_cts_work(void *d) | |||
387 | try_enable_tx(mac); | 429 | try_enable_tx(mac); |
388 | } | 430 | } |
389 | 431 | ||
390 | static void set_basic_rates_work(void *d) | 432 | static void set_basic_rates_work(struct work_struct *work) |
391 | { | 433 | { |
392 | struct zd_mac *mac = d; | 434 | struct zd_mac *mac = |
435 | container_of(work, struct zd_mac, set_basic_rates_work.work); | ||
393 | unsigned long flags; | 436 | unsigned long flags; |
394 | u16 basic_rates; | 437 | u16 basic_rates; |
395 | 438 | ||
@@ -467,12 +510,13 @@ static void bssinfo_change(struct net_device *netdev, u32 changes) | |||
467 | if (need_set_rts_cts && !mac->updating_rts_rate) { | 510 | if (need_set_rts_cts && !mac->updating_rts_rate) { |
468 | mac->updating_rts_rate = 1; | 511 | mac->updating_rts_rate = 1; |
469 | netif_stop_queue(mac->netdev); | 512 | netif_stop_queue(mac->netdev); |
470 | queue_work(zd_workqueue, &mac->set_rts_cts_work); | 513 | queue_delayed_work(zd_workqueue, &mac->set_rts_cts_work, 0); |
471 | } | 514 | } |
472 | if (need_set_rates && !mac->updating_basic_rates) { | 515 | if (need_set_rates && !mac->updating_basic_rates) { |
473 | mac->updating_basic_rates = 1; | 516 | mac->updating_basic_rates = 1; |
474 | netif_stop_queue(mac->netdev); | 517 | netif_stop_queue(mac->netdev); |
475 | queue_work(zd_workqueue, &mac->set_basic_rates_work); | 518 | queue_delayed_work(zd_workqueue, &mac->set_basic_rates_work, |
519 | 0); | ||
476 | } | 520 | } |
477 | spin_unlock_irqrestore(&mac->lock, flags); | 521 | spin_unlock_irqrestore(&mac->lock, flags); |
478 | } | 522 | } |
@@ -615,6 +659,9 @@ int zd_mac_get_range(struct zd_mac *mac, struct iw_range *range) | |||
615 | range->we_version_compiled = WIRELESS_EXT; | 659 | range->we_version_compiled = WIRELESS_EXT; |
616 | range->we_version_source = 20; | 660 | range->we_version_source = 20; |
617 | 661 | ||
662 | range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 | | ||
663 | IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP; | ||
664 | |||
618 | ZD_ASSERT(!irqs_disabled()); | 665 | ZD_ASSERT(!irqs_disabled()); |
619 | spin_lock_irq(&mac->lock); | 666 | spin_lock_irq(&mac->lock); |
620 | regdomain = mac->regdomain; | 667 | regdomain = mac->regdomain; |
@@ -927,7 +974,8 @@ static int is_data_packet_for_us(struct ieee80211_device *ieee, | |||
927 | } | 974 | } |
928 | 975 | ||
929 | return memcmp(hdr->addr1, netdev->dev_addr, ETH_ALEN) == 0 || | 976 | return memcmp(hdr->addr1, netdev->dev_addr, ETH_ALEN) == 0 || |
930 | is_multicast_ether_addr(hdr->addr1) || | 977 | (is_multicast_ether_addr(hdr->addr1) && |
978 | memcmp(hdr->addr3, netdev->dev_addr, ETH_ALEN) != 0) || | ||
931 | (netdev->flags & IFF_PROMISC); | 979 | (netdev->flags & IFF_PROMISC); |
932 | } | 980 | } |
933 | 981 | ||
@@ -1059,10 +1107,8 @@ int zd_mac_rx(struct zd_mac *mac, const u8 *buffer, unsigned int length) | |||
1059 | memcpy(skb_put(skb, length), buffer, length); | 1107 | memcpy(skb_put(skb, length), buffer, length); |
1060 | 1108 | ||
1061 | r = ieee80211_rx(ieee, skb, &stats); | 1109 | r = ieee80211_rx(ieee, skb, &stats); |
1062 | if (!r) { | 1110 | if (!r) |
1063 | ZD_ASSERT(in_irq()); | 1111 | dev_kfree_skb_any(skb); |
1064 | dev_kfree_skb_irq(skb); | ||
1065 | } | ||
1066 | return 0; | 1112 | return 0; |
1067 | } | 1113 | } |
1068 | 1114 | ||
@@ -1182,9 +1228,10 @@ struct iw_statistics *zd_mac_get_wireless_stats(struct net_device *ndev) | |||
1182 | 1228 | ||
1183 | #define LINK_LED_WORK_DELAY HZ | 1229 | #define LINK_LED_WORK_DELAY HZ |
1184 | 1230 | ||
1185 | static void link_led_handler(void *p) | 1231 | static void link_led_handler(struct work_struct *work) |
1186 | { | 1232 | { |
1187 | struct zd_mac *mac = p; | 1233 | struct zd_mac *mac = |
1234 | container_of(work, struct zd_mac, housekeeping.link_led_work.work); | ||
1188 | struct zd_chip *chip = &mac->chip; | 1235 | struct zd_chip *chip = &mac->chip; |
1189 | struct ieee80211softmac_device *sm = ieee80211_priv(mac->netdev); | 1236 | struct ieee80211softmac_device *sm = ieee80211_priv(mac->netdev); |
1190 | int is_associated; | 1237 | int is_associated; |
@@ -1205,7 +1252,7 @@ static void link_led_handler(void *p) | |||
1205 | 1252 | ||
1206 | static void housekeeping_init(struct zd_mac *mac) | 1253 | static void housekeeping_init(struct zd_mac *mac) |
1207 | { | 1254 | { |
1208 | INIT_WORK(&mac->housekeeping.link_led_work, link_led_handler, mac); | 1255 | INIT_DELAYED_WORK(&mac->housekeeping.link_led_work, link_led_handler); |
1209 | } | 1256 | } |
1210 | 1257 | ||
1211 | static void housekeeping_enable(struct zd_mac *mac) | 1258 | static void housekeeping_enable(struct zd_mac *mac) |
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.h b/drivers/net/wireless/zd1211rw/zd_mac.h index 5dcfb251f02e..f0cf05dc7d3e 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.h +++ b/drivers/net/wireless/zd1211rw/zd_mac.h | |||
@@ -119,7 +119,7 @@ struct rx_status { | |||
119 | #define ZD_RX_ERROR 0x80 | 119 | #define ZD_RX_ERROR 0x80 |
120 | 120 | ||
121 | struct housekeeping { | 121 | struct housekeeping { |
122 | struct work_struct link_led_work; | 122 | struct delayed_work link_led_work; |
123 | }; | 123 | }; |
124 | 124 | ||
125 | #define ZD_MAC_STATS_BUFFER_SIZE 16 | 125 | #define ZD_MAC_STATS_BUFFER_SIZE 16 |
@@ -133,8 +133,10 @@ struct zd_mac { | |||
133 | struct iw_statistics iw_stats; | 133 | struct iw_statistics iw_stats; |
134 | 134 | ||
135 | struct housekeeping housekeeping; | 135 | struct housekeeping housekeeping; |
136 | struct work_struct set_rts_cts_work; | 136 | struct work_struct set_multicast_hash_work; |
137 | struct work_struct set_basic_rates_work; | 137 | struct zd_mc_hash multicast_hash; |
138 | struct delayed_work set_rts_cts_work; | ||
139 | struct delayed_work set_basic_rates_work; | ||
138 | 140 | ||
139 | unsigned int stats_count; | 141 | unsigned int stats_count; |
140 | u8 qual_buffer[ZD_MAC_STATS_BUFFER_SIZE]; | 142 | u8 qual_buffer[ZD_MAC_STATS_BUFFER_SIZE]; |
@@ -189,6 +191,7 @@ int zd_mac_init_hw(struct zd_mac *mac, u8 device_type); | |||
189 | int zd_mac_open(struct net_device *netdev); | 191 | int zd_mac_open(struct net_device *netdev); |
190 | int zd_mac_stop(struct net_device *netdev); | 192 | int zd_mac_stop(struct net_device *netdev); |
191 | int zd_mac_set_mac_address(struct net_device *dev, void *p); | 193 | int zd_mac_set_mac_address(struct net_device *dev, void *p); |
194 | void zd_mac_set_multicast_list(struct net_device *netdev); | ||
192 | 195 | ||
193 | int zd_mac_rx(struct zd_mac *mac, const u8 *buffer, unsigned int length); | 196 | int zd_mac_rx(struct zd_mac *mac, const u8 *buffer, unsigned int length); |
194 | 197 | ||
diff --git a/drivers/net/wireless/zd1211rw/zd_netdev.c b/drivers/net/wireless/zd1211rw/zd_netdev.c index 60f1b0f6d45b..8bda48de31ef 100644 --- a/drivers/net/wireless/zd1211rw/zd_netdev.c +++ b/drivers/net/wireless/zd1211rw/zd_netdev.c | |||
@@ -242,7 +242,7 @@ struct net_device *zd_netdev_alloc(struct usb_interface *intf) | |||
242 | netdev->open = zd_mac_open; | 242 | netdev->open = zd_mac_open; |
243 | netdev->stop = zd_mac_stop; | 243 | netdev->stop = zd_mac_stop; |
244 | /* netdev->get_stats = */ | 244 | /* netdev->get_stats = */ |
245 | /* netdev->set_multicast_list = */ | 245 | netdev->set_multicast_list = zd_mac_set_multicast_list; |
246 | netdev->set_mac_address = zd_mac_set_mac_address; | 246 | netdev->set_mac_address = zd_mac_set_mac_address; |
247 | netdev->wireless_handlers = &iw_handler_def; | 247 | netdev->wireless_handlers = &iw_handler_def; |
248 | /* netdev->ethtool_ops = */ | 248 | /* netdev->ethtool_ops = */ |