[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47251744.6090206@s5r6.in-berlin.de>
Date: Mon, 29 Oct 2007 00:12:04 +0100
From: Stefan Richter <stefanr@...6.in-berlin.de>
To: Krzysztof Halasa <khc@...waw.pl>
CC: linux1394-user@...ts.sourceforge.net,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: VIA VT6307 OHCI version?
Krzysztof Halasa wrote:
> Stefan Richter <stefanr@...6.in-berlin.de> writes:
>> # ./a.out 00:0a.3
>> I/O region #1 is at C800
>> It seems your VT6307 chip is connected to 93c46 EEPROM
>
> Interesting, really. Perhaps they aimed at I2C too with 9306 but
> screwed up the silicon? Would have to look at the pinout but for
> now I'm sick and high fever makes it hard.
>
> It's all consistent, amazingly.
>
> 6306#1
>> 00: 00 11 06 00 00 00 E3 32 00 88 00 08 44 00 00 00
>> 10: A1 E4 2F 00 06 11 44 30 03 DF 40 00 00 20 00 73
>> 20: 3C 10 00 00 00 00 FF FF FF FF FF FF D7 57 55 75
>
> Obviously some values are different than these for my 3 vt6307
> (not counting GUID + PCI sub IDs). Though data at 0x20+ is equal.
>
> The last 4 bytes are almost certainly rubbish, that asks the question
> if the contents hasn't been changed through some tests, works on
> the drivers etc, or if the manufacturer did it right (for example
> I somehow managed to clear the GUID on I^2C version before I had the
> code to write to it, quite a mystery (writing correct I^2C sequence
> for it isn't trivial due to the need of non-all-zeros DEVSEL byte
> preceded by the start sequence).
>
> I wonder if the EEPROM has more non-FF data? IIRC the chips addresses
> 0x80 bytes, or maybe 0x100? I limited it to 0x40 in the code because
> the rest is never read by the chip, except if requested by the user.
> (For 93c46 the program could read any location directly but I didn't
> implement that).
This device is a somewhat buggy PCI card which somebody sent me after
unsuccessful attempts to get it properly working under Linux. Among
more serious trouble, ohci1394 reads a bogus maximum async payload (a
zero value) from the BusOptions register during startup. This has
occasionally been reported for some VT6306 in the past. I haven't
really tested this card myself yet, it's currently stuck in a PC which I
don't use anymore.
Bad VT6306 card:
PCI: Found IRQ 11 for device 0000:00:0a.3
PCI: Sharing IRQ 11 with 0000:00:0a.0
PCI: Sharing IRQ 11 with 0000:00:10.1
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[11]
MMIO=[ec101000-ec1017ff] Max Packet=[2] IR/IT contexts=[4/8]
ohci1394: fw-host0: Serial EEPROM has suspicious values, attempting to
set max_packet_size to 512 bytes
ieee1394: Host added: ID:BUS[0-00:1023] GUID[001106000000e332]
VT6306 onboard controller:
PCI: setting IRQ 5 as level-triggered
PCI: Found IRQ 5 for device 0000:00:0c.0
PCI: Sharing IRQ 5 with 0000:00:0a.2
ohci1394: fw-host1: OHCI-1394 1.0 (PCI): IRQ=[5]
MMIO=[ec103000-ec1037ff] Max Packet=[2048] IR/IT contexts=[8/8]
ieee1394: Host added: ID:BUS[1-00:1023] GUID[00301bac00002ba4]
VT6306 CardBus card in my main PC:
ACPI: PCI Interrupt 0000:06:00.0[A] -> GSI 17 (level, low) -> IRQ 18
ohci1394: fw-host2: OHCI-1394 1.0 (PCI): IRQ=[18]
MMIO=[80000000-800007ff] Max Packet=[1024] IR/IT contexts=[4/8]
ieee1394: Host added: ID:BUS[2-00:1023] GUID[00110600000041cc]
The Max Packet value of the CardBus card is OK; all CardBus cards seem
to have this limitation regardless of their link layer chip.
I wonder what's up with the varying number of IR contexts. The
datasheet talks about 8 IR contexts and 8 IR context registers, but also
has a sentence "These registers are Context Control registers for
isochronous Receive Contexts 0-3" which may be an editorial error.
--
Stefan Richter
-=====-=-=== =-=- ===--
http://arcgraph.de/sr/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists