Re: Pack of CAM improvements

From: Andriy Gapon <avg_at_icyb.net.ua>
Date: Fri, 29 Jan 2010 16:17:31 +0200
on 29/01/2010 13:41 Alexander Motin said the following:
> Yamagi Burmeister wrote:
>> On Thu, 28 Jan 2010, Alexander Motin wrote:
>>
>>>>> Yamagi Burmeister wrote:
>>>>>> ahcich0: is 00000002 cs 00000000 ss 00000000 rs 00000001 tfd 50 serr
>>>>>> 00000000
>>>>>> ahcich0: Timeout on slot 0
>>>>> Try to disable MSI interrupts with `hint.ahci.0.msi=0`.
>>>> That fixed the problem. Thank you :)
>>> That's quite strange, as in many other cases IXP700 is working fine.
>>> Different revisions? What is your `pciconf -lvbc` reports?
>> When I helped nox_at_ debugging a problem with timeouts we noticed, that
>> our controlers are of differend revisions. The pciconf output ist:
>>
>> ahci0_at_pci0:0:17:0:      class=0x010601 card=0x43911002 chip=0x43911002
>> rev=0x00 hdr=0x00
>>     vendor     = 'ATI Technologies Inc. / Advanced Micro Devices, Inc.'
>>     device     = 'SB700 SATA Controller [AHCI mode]'
>>     class      = mass storage
>>     subclass   = SATA
>>     bar   [10] = type I/O Port, range 32, base 0xd000, size  8, enabled
>>     bar   [14] = type I/O Port, range 32, base 0xc000, size  4, enabled
>>     bar   [18] = type I/O Port, range 32, base 0xb000, size  8, enabled
>>     bar   [1c] = type I/O Port, range 32, base 0xa000, size  4, enabled
>>     bar   [20] = type I/O Port, range 32, base 0x9000, size 16, enabled
>>     bar   [24] = type Memory, range 32, base 0xfe8ff800, size 1024,
>> enabled
>>     cap 01[60] = powerspec 2  supports D0 D3  current D0
>>     cap 05[50] = MSI supports 4 messages, 64 bit
>>     cap 12[70] = SATA Index-Data Pair
> 
> What's interesting, is that Asus board with the same chipset doesn't
> expose MSI support at all:
> 
> ahci0_at_pci0:0:17:0:      class=0x010601 card=0x43911002 chip=0x43911002
> rev=0x00 hdr=0x00
>     vendor     = 'ATI Technologies Inc. / Advanced Micro Devices, Inc.'
>     device     = 'SB700 SATA Controller [AHCI mode]'
>     class      = mass storage
>     subclass   = SATA
>     bar   [10] = type I/O Port, range 32, base 0xc000, size  8, enabled
>     bar   [14] = type I/O Port, range 32, base 0xb000, size  4, enabled
>     bar   [18] = type I/O Port, range 32, base 0xa000, size  8, enabled
>     bar   [1c] = type I/O Port, range 32, base 0x9000, size  4, enabled
>     bar   [20] = type I/O Port, range 32, base 0x8000, size 16, enabled
>     bar   [24] = type Memory, range 32, base 0xfbcffc00, size 1024, enabled
>     cap 01[60] = powerspec 2  supports D0 D3  current D0
>     cap 12[70] = SATA Index-Data Pair
> 

PCI revision register of SMBus device (0:20:0) gives a particular revision of SB7x0.
SB700 RPR document (section 7.11) says that MSI capability should be disabled if
the revision is 0x39 or 0x3a, it should be enabled for newer revisions (0x3b, 03c).
Those who like to experiment with potentially dangerous things may try playing
with bit 16 of PCI config register 0x50 of SATA controller device.

-- 
Andriy Gapon
Received on Fri Jan 29 2010 - 13:17:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:00 UTC