diff options
Diffstat (limited to 'drivers/net/wan/ixp4xx_hss.c')
-rw-r--r-- | drivers/net/wan/ixp4xx_hss.c | 54 |
1 files changed, 11 insertions, 43 deletions
diff --git a/drivers/net/wan/ixp4xx_hss.c b/drivers/net/wan/ixp4xx_hss.c index fa3ce81f4cfc..0c6802507a79 100644 --- a/drivers/net/wan/ixp4xx_hss.c +++ b/drivers/net/wan/ixp4xx_hss.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <mach/npe.h> | 21 | #include <mach/npe.h> |
22 | #include <mach/qmgr.h> | 22 | #include <mach/qmgr.h> |
23 | 23 | ||
24 | #define DEBUG_QUEUES 0 | ||
25 | #define DEBUG_DESC 0 | 24 | #define DEBUG_DESC 0 |
26 | #define DEBUG_RX 0 | 25 | #define DEBUG_RX 0 |
27 | #define DEBUG_TX 0 | 26 | #define DEBUG_TX 0 |
@@ -555,48 +554,13 @@ static inline void debug_desc(u32 phys, struct desc *desc) | |||
555 | #endif | 554 | #endif |
556 | } | 555 | } |
557 | 556 | ||
558 | static inline void debug_queue(unsigned int queue, int is_get, u32 phys) | ||
559 | { | ||
560 | #if DEBUG_QUEUES | ||
561 | static struct { | ||
562 | int queue; | ||
563 | char *name; | ||
564 | } names[] = { | ||
565 | { HSS0_PKT_TX0_QUEUE, "TX#0 " }, | ||
566 | { HSS0_PKT_TXDONE_QUEUE, "TX-done#0 " }, | ||
567 | { HSS0_PKT_RX_QUEUE, "RX#0 " }, | ||
568 | { HSS0_PKT_RXFREE0_QUEUE, "RX-free#0 " }, | ||
569 | { HSS1_PKT_TX0_QUEUE, "TX#1 " }, | ||
570 | { HSS1_PKT_TXDONE_QUEUE, "TX-done#1 " }, | ||
571 | { HSS1_PKT_RX_QUEUE, "RX#1 " }, | ||
572 | { HSS1_PKT_RXFREE0_QUEUE, "RX-free#1 " }, | ||
573 | }; | ||
574 | int i; | ||
575 | |||
576 | for (i = 0; i < ARRAY_SIZE(names); i++) | ||
577 | if (names[i].queue == queue) | ||
578 | break; | ||
579 | |||
580 | printk(KERN_DEBUG "Queue %i %s%s %X\n", queue, | ||
581 | i < ARRAY_SIZE(names) ? names[i].name : "", | ||
582 | is_get ? "->" : "<-", phys); | ||
583 | #endif | ||
584 | } | ||
585 | |||
586 | static inline u32 queue_get_entry(unsigned int queue) | ||
587 | { | ||
588 | u32 phys = qmgr_get_entry(queue); | ||
589 | debug_queue(queue, 1, phys); | ||
590 | return phys; | ||
591 | } | ||
592 | |||
593 | static inline int queue_get_desc(unsigned int queue, struct port *port, | 557 | static inline int queue_get_desc(unsigned int queue, struct port *port, |
594 | int is_tx) | 558 | int is_tx) |
595 | { | 559 | { |
596 | u32 phys, tab_phys, n_desc; | 560 | u32 phys, tab_phys, n_desc; |
597 | struct desc *tab; | 561 | struct desc *tab; |
598 | 562 | ||
599 | if (!(phys = queue_get_entry(queue))) | 563 | if (!(phys = qmgr_get_entry(queue))) |
600 | return -1; | 564 | return -1; |
601 | 565 | ||
602 | BUG_ON(phys & 0x1F); | 566 | BUG_ON(phys & 0x1F); |
@@ -612,7 +576,6 @@ static inline int queue_get_desc(unsigned int queue, struct port *port, | |||
612 | static inline void queue_put_desc(unsigned int queue, u32 phys, | 576 | static inline void queue_put_desc(unsigned int queue, u32 phys, |
613 | struct desc *desc) | 577 | struct desc *desc) |
614 | { | 578 | { |
615 | debug_queue(queue, 0, phys); | ||
616 | debug_desc(phys, desc); | 579 | debug_desc(phys, desc); |
617 | BUG_ON(phys & 0x1F); | 580 | BUG_ON(phys & 0x1F); |
618 | qmgr_put_entry(queue, phys); | 581 | qmgr_put_entry(queue, phys); |
@@ -930,23 +893,28 @@ static int request_hdlc_queues(struct port *port) | |||
930 | { | 893 | { |
931 | int err; | 894 | int err; |
932 | 895 | ||
933 | err = qmgr_request_queue(queue_ids[port->id].rxfree, RX_DESCS, 0, 0); | 896 | err = qmgr_request_queue(queue_ids[port->id].rxfree, RX_DESCS, 0, 0, |
897 | "%s:RX-free", port->netdev->name); | ||
934 | if (err) | 898 | if (err) |
935 | return err; | 899 | return err; |
936 | 900 | ||
937 | err = qmgr_request_queue(queue_ids[port->id].rx, RX_DESCS, 0, 0); | 901 | err = qmgr_request_queue(queue_ids[port->id].rx, RX_DESCS, 0, 0, |
902 | "%s:RX", port->netdev->name); | ||
938 | if (err) | 903 | if (err) |
939 | goto rel_rxfree; | 904 | goto rel_rxfree; |
940 | 905 | ||
941 | err = qmgr_request_queue(queue_ids[port->id].tx, TX_DESCS, 0, 0); | 906 | err = qmgr_request_queue(queue_ids[port->id].tx, TX_DESCS, 0, 0, |
907 | "%s:TX", port->netdev->name); | ||
942 | if (err) | 908 | if (err) |
943 | goto rel_rx; | 909 | goto rel_rx; |
944 | 910 | ||
945 | err = qmgr_request_queue(port->plat->txreadyq, TX_DESCS, 0, 0); | 911 | err = qmgr_request_queue(port->plat->txreadyq, TX_DESCS, 0, 0, |
912 | "%s:TX-ready", port->netdev->name); | ||
946 | if (err) | 913 | if (err) |
947 | goto rel_tx; | 914 | goto rel_tx; |
948 | 915 | ||
949 | err = qmgr_request_queue(queue_ids[port->id].txdone, TX_DESCS, 0, 0); | 916 | err = qmgr_request_queue(queue_ids[port->id].txdone, TX_DESCS, 0, 0, |
917 | "%s:TX-done", port->netdev->name); | ||
950 | if (err) | 918 | if (err) |
951 | goto rel_txready; | 919 | goto rel_txready; |
952 | return 0; | 920 | return 0; |