Lines Matching refs:status

47  * that are organized into three (receive, transmit, status) different rings
1657 * On dual port PCI-X card, there is an problem where status
2092 /* Force any delayed status interrupt and NAPI */
2309 netif_info(sky2, intr, sky2->netdev, "phy interrupt status 0x%x 0x%x\n",
2556 u16 length, u32 status)
2561 u16 count = (status & GMR_FS_LEN) >> 16;
2564 "rx slot %u status 0x%x len %d\n",
2565 sky2->rx_next, status, length);
2573 /* This chip has hardware problems that generates bogus status.
2582 if (status & GMR_FS_ANY_ERR)
2585 if (!(status & GMR_FS_RX_OK))
2610 "rx error, status 0x%x length %d\n", status, length);
2656 static void sky2_rx_checksum(struct sky2_port *sky2, u32 status)
2666 if (likely((u16)(status >> 16) == (u16)status)) {
2669 skb->csum = le16_to_cpu(status);
2672 "%s: receive checksum problem (status = %#x)\n",
2673 sky2->netdev->name, status);
2693 static void sky2_rx_hash(struct sky2_port *sky2, u32 status)
2698 skb_set_hash(skb, le32_to_cpu(status), PKT_HASH_TYPE_L3);
2701 /* Process status response ring */
2718 u32 status;
2731 status = le32_to_cpu(le->status);
2739 skb = sky2_receive(dev, length, status);
2743 /* This chip reports checksum status differently */
2770 sky2_rx_checksum(sky2, status);
2774 sky2_rx_hash(sky2, status);
2778 /* TX index reports status for both ports */
2779 sky2_tx_done(hw->dev[0], status & 0xfff);
2782 ((status >> 24) & 0xff)
2788 pr_warn("unknown status opcode 0x%x\n", opcode);
2792 /* Fully processed status ring so clear irq */
2802 static void sky2_hw_error(struct sky2_hw *hw, unsigned port, u32 status)
2807 netdev_info(dev, "hw error interrupt status 0x%x\n", status);
2809 if (status & Y2_IS_PAR_RD1) {
2816 if (status & Y2_IS_PAR_WR1) {
2823 if (status & Y2_IS_PAR_MAC1) {
2829 if (status & Y2_IS_PAR_RX1) {
2835 if (status & Y2_IS_TCP_TXA1) {
2845 u32 status = sky2_read32(hw, B0_HWE_ISRC);
2848 status &= hwmsk;
2850 if (status & Y2_IS_TIST_OV)
2853 if (status & (Y2_IS_MST_ERR | Y2_IS_IRQ_STAT)) {
2867 if (status & Y2_IS_PCI_EXP) {
2882 if (status & Y2_HWE_L1_MASK)
2883 sky2_hw_error(hw, 0, status);
2884 status >>= 8;
2885 if (status & Y2_HWE_L1_MASK)
2886 sky2_hw_error(hw, 1, status);
2893 u8 status = sky2_read8(hw, SK_REG(port, GMAC_IRQ_SRC));
2895 netif_info(sky2, intr, dev, "mac interrupt status 0x%x\n", status);
2897 if (status & GM_IS_RX_CO_OV)
2900 if (status & GM_IS_TX_CO_OV)
2903 if (status & GM_IS_RX_FF_OR) {
2908 if (status & GM_IS_TX_FF_UR) {
2993 static void sky2_err_intr(struct sky2_hw *hw, u32 status)
2996 dev_warn(&hw->pdev->dev, "error interrupt status=%#x\n", status);
2998 if (status & Y2_IS_HW_ERR)
3001 if (status & Y2_IS_IRQ_MAC1)
3004 if (status & Y2_IS_IRQ_MAC2)
3007 if (status & Y2_IS_CHK_RX1)
3010 if (status & Y2_IS_CHK_RX2)
3013 if (status & Y2_IS_CHK_TXA1)
3016 if (status & Y2_IS_CHK_TXA2)
3023 u32 status = sky2_read32(hw, B0_Y2_SP_EISR);
3027 if (unlikely(status & Y2_IS_ERROR))
3028 sky2_err_intr(hw, status);
3030 if (status & Y2_IS_IRQ_PHY1)
3033 if (status & Y2_IS_IRQ_PHY2)
3036 if (status & Y2_IS_PHY_QLNK)
3056 u32 status;
3059 status = sky2_read32(hw, B0_Y2_SP_ISRC2);
3060 if (status == 0 || status == ~0) {
3176 /* The workaround for status conflicts VLAN tag detection. */
3231 u16 status;
3239 status = sky2_read16(hw, HCU_CCSR);
3240 status &= ~(HCU_CCSR_AHB_RST | HCU_CCSR_CPU_RST_MODE |
3247 status &= ~HCU_CCSR_CPU_CLK_DIVIDE_MSK;
3248 sky2_write16(hw, HCU_CCSR, status);
3262 status = sky2_pci_read16(hw, PCI_STATUS);
3263 status |= PCI_STATUS_ERROR_BITS;
3264 sky2_pci_write16(hw, PCI_STATUS, status);
3415 /* enable status unit */
4221 case 28 ... 29: /* Descriptor and status unit */
4416 idx, le->opcode, le->length, le->status);
4698 u32 status = sky2_read32(hw, B0_Y2_SP_ISRC2);
4700 if (status == 0)
4703 if (status & Y2_IS_IRQ_SW) {
4906 /* ring for status responses */