Re: ICH8 CF timeout (regression)...

From: Kristen Carlson Accardi
Date: Mon Aug 06 2007 - 13:31:52 EST


On Sat, 04 Aug 2007 15:04:54 +0900
Tejun Heo <htejun@xxxxxxxxx> wrote:

> Daniel J Blueman wrote:
> > Tejun,
> >
> > On 03/08/07, Tejun Heo <htejun@xxxxxxxxx> wrote:
> >> Daniel J Blueman wrote:
> >>> The ICH8 south-bridge I have is the mobile variant and does come
> >>> equipped with native parallel IDE - see page 447:
> >>> http://download.intel.com/design/chipsets/datashts/31305603.pdf . I do
> >>> see 35MB/s with DMA enabled from my CF on the 1 in 15 times the
> >>> libata-kernel does work.
> >>>
> >>> I can dump off and decode the configuration registers for the timing
> >>> and bus master registers in the working and non-working libata cases,
> >>> and the legacy ATA working case and see what's different.
> >> Does the attached patch change anything?
> >
> > This addresses the issue 100%!
> >
> > Due to the differences between the ICH8 non-mobile and mobile
> > variants, I've cooked the change into a new initialisation structure
> > for the ICH8M in the attached patch, if that helps at all.
> >
> > The changes thus affect (correct) behaviour on the ICH8M in IDE mode
> > only...so should be safe for inclusion. There may be a similar
> > situation with ICH9Ms also.
>
> [cc'ing Kristen, hello]
>
> I think [P0 P2 IDE IDE] is correct for MAP 01b but can't find anything
> about it in the datasheet or spec update. Kristen, can you please
> verify this. The following bug is also fixed by using [P0 P2 IDE IDE].
>
> http://bugzilla.kernel.org/show_bug.cgi?id=8809
>
> Thanks.
>
> --
> tejun
>


In the data sheet in section 5.15.2.3 it describes a value of map.mv of
1 as meaning that the SATA controller is emulating the logical secondary
channel, and the PATA channel will be the primary. For a value of
map.mv == 2, we have the SATA controller being primary, and the PATA
is secondary. So, if I'm understanding the way ata_piix does mapping,
it seems like for a value of 2, we should have [p0, p2, ide, ide] and
for a value of 1 we should have [ide, ide, p0, p2] - although for ICH8M
it seems like 1 should not be a valid value. My reading the ICH8 spec is
that ICH8M only implements a map value of 2, and 1 should be reserved
(see section 12.1.33).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/