[PATCH] driver/FSL SATA: Update RX_WATER_MARK for TRANSCFG
Kushwaha Prabhakar-B32579
B32579 at freescale.com
Fri Mar 11 14:12:55 EST 2011
Hi Jeff,
I am not finding any comments on this.
Could you please ACK this patch so that it can be applied in external list.
--Prabhakar
> -----Original Message-----
> From: Kushwaha Prabhakar-B32579
> Sent: Monday, March 07, 2011 10:00 AM
> To: linux-ide at vger.kernel.org
> Cc: jgarzik at pobox.com; meet2prabhu at gmail.com; linuxppc-
> dev at lists.ozlabs.org; Kushwaha Prabhakar-B32579
> Subject: [PATCH] driver/FSL SATA: Update RX_WATER_MARK for TRANSCFG
>
> RX_WATER_MARK sets the number of locations in Rx FIFO that can be used
> before the transport layer instructs the link layer to transmit HOLDS.
> Note that it can take some time for the HOLDs to get to the other end,
> and that in the interim there must be enough room in the FIFO to absorb
> all data that could arrive.
>
> Update the new recommended value to 16.
>
> Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
> ---
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
> (branch master)
>
> This patch is already gone through review of linuxppc-dev mail list.
> Making CC linuxppc-dev at lists.ozlabs.org
>
> drivers/ata/sata_fsl.c | 12 ++++++++++++
> 1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c index
> 895771c..29d2f29 100644
> --- a/drivers/ata/sata_fsl.c
> +++ b/drivers/ata/sata_fsl.c
> @@ -186,6 +186,11 @@ enum {
> COMMANDSTAT = 0x20,
> };
>
> +/* TRANSCFG (transport-layer) configuration control */ enum {
> + TRANSCFG_RX_WATER_MARK = (1 << 4),
> +};
> +
> /* PHY (link-layer) configuration control */ enum {
> PHY_BIST_ENABLE = 0x01,
> @@ -1305,6 +1310,7 @@ static int sata_fsl_probe(struct platform_device
> *ofdev,
> struct sata_fsl_host_priv *host_priv = NULL;
> int irq;
> struct ata_host *host;
> + u32 temp;
>
> struct ata_port_info pi = sata_fsl_port_info[0];
> const struct ata_port_info *ppi[] = { &pi, NULL }; @@ -1319,6
> +1325,12 @@ static int sata_fsl_probe(struct platform_device *ofdev,
> ssr_base = hcr_base + 0x100;
> csr_base = hcr_base + 0x140;
>
> + if (!of_device_is_compatible(ofdev->dev.of_node, "fsl,mpc8315-
> sata")) {
> + temp = ioread32(csr_base + TRANSCFG);
> + temp = temp & 0xffffffe0;
> + iowrite32(temp | TRANSCFG_RX_WATER_MARK, csr_base +
> TRANSCFG);
> + }
> +
> DPRINTK("@reset i/o = 0x%x\n", ioread32(csr_base + TRANSCFG));
> DPRINTK("sizeof(cmd_desc) = %d\n", sizeof(struct command_desc));
> DPRINTK("sizeof(#define cmd_desc) = %d\n", SATA_FSL_CMD_DESC_SIZE);
> --
> 1.7.3
More information about the Linuxppc-dev
mailing list