Patchwork pata_it8213: MWDMA0 is unsupported

login
register
mail settings
Submitter Bartlomiej Zolnierkiewicz
Date Nov. 26, 2009, 4:28 p.m.
Message ID <200911261728.36433.bzolnier@gmail.com>
Download mbox | patch
Permalink /patch/39562/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Bartlomiej Zolnierkiewicz - Nov. 26, 2009, 4:28 p.m.
MWDMA0 timings cannot be met with the PIIX based controller
programming interface.

This change should be safe as this is how we have been doing
things in IDE it8213 host driver for years.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
Verified with the documentation (similar case as with pata_efar).

On top of patches from yesterday.

 drivers/ata/pata_it8213.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bartlomiej Zolnierkiewicz - Nov. 26, 2009, 5 p.m.
On Thursday 26 November 2009 05:28:36 pm Bartlomiej Zolnierkiewicz wrote:
> 
> MWDMA0 timings cannot be met with the PIIX based controller
> programming interface.
> 
> This change should be safe as this is how we have been doing
> things in IDE it8213 host driver for years.
> 
> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> ---
> Verified with the documentation (similar case as with pata_efar).

Uhhh, no...

Too many damn drivers.

Too much damn duplication.

Too much damn subtle differences here and there.

The hardware is probably fine for MWMDA0 when it comes to pata_{efar,it8213},
it just not documented properly in the data sheet.

I'll drop those two patches from my tree and take some break..

> On top of patches from yesterday.
> 
>  drivers/ata/pata_it8213.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Index: b/drivers/ata/pata_it8213.c
> ===================================================================
> --- a/drivers/ata/pata_it8213.c
> +++ b/drivers/ata/pata_it8213.c
> @@ -227,7 +227,7 @@ static int it8213_init_one (struct pci_d
>  	static const struct ata_port_info info = {
>  		.flags		= ATA_FLAG_SLAVE_POSS,
>  		.pio_mask	= ATA_PIO4,
> -		.mwdma_mask	= ATA_MWDMA2,
> +		.mwdma_mask	= ATA_MWDMA12_ONLY,
>  		.udma_mask 	= ATA_UDMA6,
>  		.port_ops	= &it8213_ops,
>  	};
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sergei Shtylyov - Nov. 26, 2009, 5:23 p.m.
Bartlomiej Zolnierkiewicz wrote:

>>MWDMA0 timings cannot be met with the PIIX based controller
>>programming interface.

>>This change should be safe as this is how we have been doing
>>things in IDE it8213 host driver for years.

>>Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>>---
>>Verified with the documentation (similar case as with pata_efar).

> Uhhh, no...

> Too many damn drivers.

> Too much damn duplication.

> Too much damn subtle differences here and there.

> The hardware is probably fine for MWMDA0 when it comes to pata_{efar,it8213},
> it just not documented properly in the data sheet.

    How so with pata_efar? The active/recovery bitfields are still 2-bit 
wide, no?

> I'll drop those two patches from my tree and take some break..

    Taking a break is good, not sure about dropping yet.

MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bartlomiej Zolnierkiewicz - Nov. 26, 2009, 6 p.m.
On Thursday 26 November 2009 06:23:18 pm Sergei Shtylyov wrote:
> Bartlomiej Zolnierkiewicz wrote:
> 
> >>MWDMA0 timings cannot be met with the PIIX based controller
> >>programming interface.
> 
> >>This change should be safe as this is how we have been doing
> >>things in IDE it8213 host driver for years.
> 
> >>Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> >>---
> >>Verified with the documentation (similar case as with pata_efar).
> 
> > Uhhh, no...
> 
> > Too many damn drivers.
> 
> > Too much damn duplication.
> 
> > Too much damn subtle differences here and there.
> 
> > The hardware is probably fine for MWMDA0 when it comes to pata_{efar,it8213},
> > it just not documented properly in the data sheet.
> 
>     How so with pata_efar? The active/recovery bitfields are still 2-bit 
> wide, no?

Yes but when TIMEx bit is disabled we are using XFER_PIO_SLOW timings.

All data sheets including original Intel ones are a complete crap when it
comes to explicitly documenting this behavior.

--
Bartlomiej Zolnierkiewicz
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bartlomiej Zolnierkiewicz - Nov. 26, 2009, 6:03 p.m.
On Thursday 26 November 2009 07:00:11 pm Bartlomiej Zolnierkiewicz wrote:
> On Thursday 26 November 2009 06:23:18 pm Sergei Shtylyov wrote:
> > Bartlomiej Zolnierkiewicz wrote:
> > 
> > >>MWDMA0 timings cannot be met with the PIIX based controller
> > >>programming interface.
> > 
> > >>This change should be safe as this is how we have been doing
> > >>things in IDE it8213 host driver for years.
> > 
> > >>Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> > >>---
> > >>Verified with the documentation (similar case as with pata_efar).
> > 
> > > Uhhh, no...
> > 
> > > Too many damn drivers.
> > 
> > > Too much damn duplication.
> > 
> > > Too much damn subtle differences here and there.
> > 
> > > The hardware is probably fine for MWMDA0 when it comes to pata_{efar,it8213},
> > > it just not documented properly in the data sheet.
> > 
> >     How so with pata_efar? The active/recovery bitfields are still 2-bit 
> > wide, no?
> 
> Yes but when TIMEx bit is disabled we are using XFER_PIO_SLOW timings.
> 
> All data sheets including original Intel ones are a complete crap when it
> comes to explicitly documenting this behavior.

OTOH all drivers set TIMEx for MWDMA0 currently.. ?

--
Bartlomiej Zolnierkiewicz
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sergei Shtylyov - Nov. 26, 2009, 6:12 p.m.
Bartlomiej Zolnierkiewicz wrote:

>>>>>MWDMA0 timings cannot be met with the PIIX based controller
>>>>>programming interface.
>>>
>>>>>This change should be safe as this is how we have been doing
>>>>>things in IDE it8213 host driver for years.
>>>
>>>>>Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>>>>>---
>>>>>Verified with the documentation (similar case as with pata_efar).

>>>>Uhhh, no...

>>>>Too many damn drivers.

>>>>Too much damn duplication.

>>>>Too much damn subtle differences here and there.

>>>>The hardware is probably fine for MWMDA0 when it comes to pata_{efar,it8213},
>>>>it just not documented properly in the data sheet.

>>>    How so with pata_efar? The active/recovery bitfields are still 2-bit 
>>>wide, no?

>>Yes but when TIMEx bit is disabled we are using XFER_PIO_SLOW timings.

    600 ns cycle vs spec'ed 480 ns? Is it really worth it?

>>All data sheets including original Intel ones are a complete crap when it
>>comes to explicitly documenting this behavior.

> OTOH all drivers set TIMEx for MWDMA0 currently.. ?

    ... which would give a grossly overclocked timing.

> --
> Bartlomiej Zolnierkiewicz

MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bartlomiej Zolnierkiewicz - Nov. 26, 2009, 6:27 p.m.
On Thursday 26 November 2009 07:12:59 pm Sergei Shtylyov wrote:
> Bartlomiej Zolnierkiewicz wrote:
> 
> >>>>>MWDMA0 timings cannot be met with the PIIX based controller
> >>>>>programming interface.
> >>>
> >>>>>This change should be safe as this is how we have been doing
> >>>>>things in IDE it8213 host driver for years.
> >>>
> >>>>>Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> >>>>>---
> >>>>>Verified with the documentation (similar case as with pata_efar).
> 
> >>>>Uhhh, no...
> 
> >>>>Too many damn drivers.
> 
> >>>>Too much damn duplication.
> 
> >>>>Too much damn subtle differences here and there.
> 
> >>>>The hardware is probably fine for MWMDA0 when it comes to pata_{efar,it8213},
> >>>>it just not documented properly in the data sheet.
> 
> >>>    How so with pata_efar? The active/recovery bitfields are still 2-bit 
> >>>wide, no?
> 
> >>Yes but when TIMEx bit is disabled we are using XFER_PIO_SLOW timings.
> 
>     600 ns cycle vs spec'ed 480 ns? Is it really worth it?

960 ns actually

> >>All data sheets including original Intel ones are a complete crap when it
> >>comes to explicitly documenting this behavior.
> 
> > OTOH all drivers set TIMEx for MWDMA0 currently.. ?
> 
>     ... which would give a grossly overclocked timing.

Except ata_piix which blacklists MWDMA0 for _all_ PATA controllers.. :)

I'm leaving my patches as they were for now, unless somebody wants to
untangle this mess this is a safest and quickest way forward..

--
Bartlomiej Zolnierkiewicz
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sergei Shtylyov - Nov. 26, 2009, 6:33 p.m.
Bartlomiej Zolnierkiewicz wrote:

>>>>>>>MWDMA0 timings cannot be met with the PIIX based controller
>>>>>>>programming interface.

>>>>>>>This change should be safe as this is how we have been doing
>>>>>>>things in IDE it8213 host driver for years.

>>>>>>>Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>>>>>>>---
>>>>>>>Verified with the documentation (similar case as with pata_efar).

>>>>>>Uhhh, no...

>>>>>>Too many damn drivers.

>>>>>>Too much damn duplication.

>>>>>>Too much damn subtle differences here and there.

>>>>>>The hardware is probably fine for MWMDA0 when it comes to pata_{efar,it8213},
>>>>>>it just not documented properly in the data sheet.

>>>>>   How so with pata_efar? The active/recovery bitfields are still 2-bit 
>>>>>wide, no?

>>>>Yes but when TIMEx bit is disabled we are using XFER_PIO_SLOW timings.

>>    600 ns cycle vs spec'ed 480 ns? Is it really worth it?

> 960 ns actually

    That table you're looking at (probably in the SLC90E66 datasheet?) must 
be screwed up. 960 ns is used for command cycles, according to Intel's docs, 
data cycles run at 600 ns...

>>>>All data sheets including original Intel ones are a complete crap when it
>>>>comes to explicitly documenting this behavior.

>>>OTOH all drivers set TIMEx for MWDMA0 currently.. ?
>>
>>    ... which would give a grossly overclocked timing.

> Except ata_piix which blacklists MWDMA0 for _all_ PATA controllers.. :)

    :-)

> I'm leaving my patches as they were for now, unless somebody wants to
> untangle this mess this is a safest and quickest way forward..

MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sergei Shtylyov - Nov. 26, 2009, 6:47 p.m.
Hello, I wrote:

>>>>>>>> MWDMA0 timings cannot be met with the PIIX based controller
>>>>>>>> programming interface.

>>>>>>>> This change should be safe as this is how we have been doing
>>>>>>>> things in IDE it8213 host driver for years.

>>>>>>>> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>>>>>>>> ---
>>>>>>>> Verified with the documentation (similar case as with pata_efar).

>>>>>>> Uhhh, no...

>>>>>>> Too many damn drivers.

>>>>>>> Too much damn duplication.

>>>>>>> Too much damn subtle differences here and there.

>>>>>>> The hardware is probably fine for MWMDA0 when it comes to 
>>>>>>> pata_{efar,it8213},
>>>>>>> it just not documented properly in the data sheet.

>>>>>>   How so with pata_efar? The active/recovery bitfields are still 
>>>>>> 2-bit wide, no?

>>>>> Yes but when TIMEx bit is disabled we are using XFER_PIO_SLOW timings.

>>>    600 ns cycle vs spec'ed 480 ns? Is it really worth it?

>> 960 ns actually

>    That table you're looking at (probably in the SLC90E66 datasheet?) 
> must be screwed up. 960 ns is used for command cycles, according to 
> Intel's docs, data cycles run at 600 ns...

    Well, after doublke checking 82371AB datasheet has 660 ns, and ICH PRM 
has 900 ns. Not sure where I got what I've cited now, perhaps in some older 
version of PRM... what a mess indeed. :-/

MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jeff Garzik - Dec. 3, 2009, 9:04 p.m.
On 11/26/2009 12:23 PM, Sergei Shtylyov wrote:
> Bartlomiej Zolnierkiewicz wrote:
>
>>> MWDMA0 timings cannot be met with the PIIX based controller
>>> programming interface.
>
>>> This change should be safe as this is how we have been doing
>>> things in IDE it8213 host driver for years.
>
>>> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>>> ---
>>> Verified with the documentation (similar case as with pata_efar).
>
>> Uhhh, no...
>
>> Too many damn drivers.
>
>> Too much damn duplication.
>
>> Too much damn subtle differences here and there.
>
>> The hardware is probably fine for MWMDA0 when it comes to
>> pata_{efar,it8213},
>> it just not documented properly in the data sheet.
>
> How so with pata_efar? The active/recovery bitfields are still 2-bit
> wide, no?

So....  pata_it8213 is fine for MWDMA0, then?

	Jeff




--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sergei Shtylyov - Dec. 3, 2009, 10:06 p.m.
Hello.

Jeff Garzik wrote:

>>>> MWDMA0 timings cannot be met with the PIIX based controller
>>>> programming interface.
>>
>>>> This change should be safe as this is how we have been doing
>>>> things in IDE it8213 host driver for years.
>>
>>>> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>>>> ---
>>>> Verified with the documentation (similar case as with pata_efar).
>>
>>> Uhhh, no...
>>
>>> Too many damn drivers.
>>
>>> Too much damn duplication.
>>
>>> Too much damn subtle differences here and there.
>>
>>> The hardware is probably fine for MWMDA0 when it comes to
>>> pata_{efar,it8213},
>>> it just not documented properly in the data sheet.
>>
>> How so with pata_efar? The active/recovery bitfields are still 2-bit
>> wide, no?
>
> So....  pata_it8213 is fine for MWDMA0, then?

   No, TTBOMK. I just have no datasheet. However, it's programmed 
overclocked and even in theory the cycle time cannot exceeed 600 ns vs 
480 ns spec'ed.

>     Jeff

MBR, Sergei


--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

Index: b/drivers/ata/pata_it8213.c
===================================================================
--- a/drivers/ata/pata_it8213.c
+++ b/drivers/ata/pata_it8213.c
@@ -227,7 +227,7 @@  static int it8213_init_one (struct pci_d
 	static const struct ata_port_info info = {
 		.flags		= ATA_FLAG_SLAVE_POSS,
 		.pio_mask	= ATA_PIO4,
-		.mwdma_mask	= ATA_MWDMA2,
+		.mwdma_mask	= ATA_MWDMA12_ONLY,
 		.udma_mask 	= ATA_UDMA6,
 		.port_ops	= &it8213_ops,
 	};