linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: Mark Lord <liml@rtr.ca>
Cc: IDE/ATA development list <linux-ide@vger.kernel.org>
Subject: Re: [PATCH 02/14] sata_mv Mask transient IRQs.
Date: Fri, 25 Jan 2008 23:10:56 -0500	[thread overview]
Message-ID: <479AB2D0.20001@pobox.com> (raw)
In-Reply-To: <4798FBCC.2040309@rtr.ca>

Mark Lord wrote:
> sata_mv Mask transient IRQs.
> 
> The chips can handle many transient errors internally without a software 
> IRQ.
> We now mask/ignore those interrupts here.  This is necessary for NCQ, 
> later on.
> 
> Signed-off-by: Mark Lord <mlord@pobox.com>
> 
> --- old/drivers/ata/sata_mv.c    2008-01-24 11:11:26.000000000 -0500
> +++ new/drivers/ata/sata_mv.c    2008-01-24 11:17:42.000000000 -0500
> @@ -170,7 +170,7 @@
> 
>     PCIE_IRQ_CAUSE_OFS    = 0x1900,
>     PCIE_IRQ_MASK_OFS    = 0x1910,
> -    PCIE_UNMASK_ALL_IRQS    = 0x70a,    /* assorted bits */
> +    PCIE_UNMASK_ALL_IRQS    = 0x40a,    /* assorted bits */
> 
>     HC_MAIN_IRQ_CAUSE_OFS    = 0x1d60,
>     HC_MAIN_IRQ_MASK_OFS    = 0x1d64,
> @@ -241,17 +241,36 @@
>     EDMA_ERR_BIST_ASYNC    = (1 << 8),    /* BIST FIS or Async Notify */
>     EDMA_ERR_TRANS_IRQ_7    = (1 << 8),    /* Gen IIE transprt layer irq */
>     EDMA_ERR_CRQB_PAR    = (1 << 9),    /* CRQB parity error */
> -    EDMA_ERR_CRPB_PAR    = (1 << 10),    /* CRPB parity error */
> -    EDMA_ERR_INTRL_PAR    = (1 << 11),    /* internal parity error */
> -    EDMA_ERR_IORDY        = (1 << 12),    /* IORdy timeout */
> -    EDMA_ERR_LNK_CTRL_RX    = (0xf << 13),    /* link ctrl rx error */
> -    EDMA_ERR_LNK_CTRL_RX_2    = (1 << 15),
> -    EDMA_ERR_LNK_DATA_RX    = (0xf << 17),    /* link data rx error */
> -    EDMA_ERR_LNK_CTRL_TX    = (0x1f << 21),    /* link ctrl tx error */
> -    EDMA_ERR_LNK_DATA_TX    = (0x1f << 26),    /* link data tx error */
> -    EDMA_ERR_TRANS_PROTO    = (1 << 31),    /* transport protocol error */
> -    EDMA_ERR_OVERRUN_5    = (1 << 5),
> -    EDMA_ERR_UNDERRUN_5    = (1 << 6),
> +    EDMA_ERR_CRPB_PAR    = (1 << 10),    /* CRPB parity error */
> +    EDMA_ERR_INTRL_PAR    = (1 << 11),    /* internal parity error */
> +    EDMA_ERR_IORDY        = (1 << 12),    /* IORdy timeout */
> +
> +    EDMA_ERR_LNK_CTRL_RX    = (0xf << 13),    /* link ctrl rx error */
> +    EDMA_ERR_LNK_CTRL_RX_0    = (1 << 13),    /* transient: CRC err */
> +    EDMA_ERR_LNK_CTRL_RX_1    = (1 << 14),    /* transient: FIFO err */
> +    EDMA_ERR_LNK_CTRL_RX_2    = (1 << 15),    /* fatal: caught SYNC */
> +    EDMA_ERR_LNK_CTRL_RX_3    = (1 << 16),    /* transient: FIS rx err */
> +
> +    EDMA_ERR_LNK_DATA_RX    = (0xf << 17),    /* link data rx error */
> +
> +    EDMA_ERR_LNK_CTRL_TX    = (0x1f << 21),    /* link ctrl tx error */
> +    EDMA_ERR_LNK_CTRL_TX_0    = (1 << 21),    /* transient: CRC err */
> +    EDMA_ERR_LNK_CTRL_TX_1    = (1 << 22),    /* transient: FIFO err */
> +    EDMA_ERR_LNK_CTRL_TX_2    = (1 << 23),    /* transient: caught SYNC */
> +    EDMA_ERR_LNK_CTRL_TX_3    = (1 << 24),    /* transient: caught DMAT */
> +    EDMA_ERR_LNK_CTRL_TX_4    = (1 << 25),    /* transient: FIS 
> collision */
> +
> +    EDMA_ERR_LNK_DATA_TX    = (0x1f << 26),    /* link data tx error */
> +
> +    EDMA_ERR_TRANS_PROTO    = (1 << 31),    /* transport protocol error */
> +    EDMA_ERR_OVERRUN_5    = (1 << 5),
> +    EDMA_ERR_UNDERRUN_5    = (1 << 6),
> +
> +    EDMA_ERR_IRQ_TRANSIENT  = EDMA_ERR_LNK_CTRL_RX_0 |
> +                  EDMA_ERR_LNK_CTRL_RX_1 |
> +                  EDMA_ERR_LNK_CTRL_RX_3 |
> +                  EDMA_ERR_LNK_CTRL_TX,
> +
>     EDMA_EH_FREEZE        = EDMA_ERR_D_PAR |
>                   EDMA_ERR_PRD_PAR |
>                   EDMA_ERR_DEV_DCON |

Overall operational changes -- ACK

However, I do not want to remove definitions for unchecked hardware 
bits, because the documentation is not public.

	Jeff




  reply	other threads:[~2008-01-26  4:10 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-24 20:56 [PATCH 00/12] sata_mv NCQ support Mark Lord
2008-01-24 20:57 ` [PATCH 01/14] sata_mv EH fixes Mark Lord
2008-01-26  4:09   ` Jeff Garzik
2008-01-24 20:57 ` [PATCH 02/14] sata_mv Mask transient IRQs Mark Lord
2008-01-26  4:10   ` Jeff Garzik [this message]
2008-01-26 15:11     ` Mark Lord
2008-01-24 20:58 ` [PATCH 03/14] sata_mv Clear queue indexes on chip restart Mark Lord
2008-01-24 20:59 ` [PATCH 04/14] sata_mv rename base to port_mmio Mark Lord
2008-01-26  4:11   ` Jeff Garzik
2008-01-24 20:59 ` [PATCH 05/14] sata_mv Fix EDMA configuration Mark Lord
2008-01-26  4:17   ` Jeff Garzik
2008-01-26 15:12     ` Mark Lord
2008-01-24 21:00 ` [PATCH 06/14] sata_mv Add want_ncq parameter for " Mark Lord
2008-01-26  4:18   ` Jeff Garzik
2008-01-24 21:00 ` [PATCH 07/14] sata_mv Use hqtag instead of ioid Mark Lord
2008-01-26  4:19   ` Jeff Garzik
2008-01-26 15:14     ` Mark Lord
2008-01-24 21:01 ` [PATCH 08/14] sata_mv Ignore response status LSB on NCQ Mark Lord
2008-01-24 21:01 ` [PATCH 09/14] sata_mv Restrict max_sectors to 8-bits on GenII NCQ Mark Lord
2008-01-26  4:21   ` Jeff Garzik
2008-01-24 21:02 ` [PATCH 10/14] sata_mv Use DMA memory pools for hardware memory tables Mark Lord
2008-01-26  4:25   ` Jeff Garzik
2008-01-26 15:18     ` Mark Lord
2008-01-26 15:30       ` Mark Lord
2008-01-26 15:45         ` Jeff Garzik
2008-01-26 18:27           ` Mark Lord
2008-01-26 15:20     ` Mark Lord
2008-01-24 21:02 ` [PATCH 11/12] sata_mv Introduce per-tag SG tables Mark Lord
2008-01-26  4:26   ` Jeff Garzik
2008-01-24 21:03 ` [PATCH 12/14] sata_mv Enable NCQ operation Mark Lord
2008-01-26  4:26   ` Jeff Garzik
2008-01-24 21:03 ` [PATCH 13/14] sata_mv No soft resets Mark Lord
2008-01-26  4:28   ` Jeff Garzik
2008-01-26 15:21     ` Mark Lord
2008-01-24 21:04 ` [PATCH 14/14] sata_mv Comments and version bump Mark Lord
2008-01-25 19:38   ` [PATCH 14/14] sata_mv Comments and version bump (v.2) Mark Lord
2008-01-24 21:06 ` [PATCH 00/12] sata_mv NCQ support Mark Lord
2008-01-25  0:04 ` [PATCH 15/14] " Mark Lord
2008-01-25  0:08   ` Tejun Heo
2008-01-26  4:28   ` Jeff Garzik
2008-01-26  4:14 ` [PATCH 00/12] " Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=479AB2D0.20001@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=liml@rtr.ca \
    --cc=linux-ide@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).