Re: Bug report for ahci-mvebu driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



December 9, 2022 4:58 AM, "Damien Le Moal" <damien.lemoal@xxxxxxxxxxxxxxxxxx> wrote:

> On 12/9/22 03:06, marius@xxxxxxxxxxxxxx wrote:
> 
> Checking the specs for the SoC again, it does say:
> 
> Gen3 Serial ATA PHY (6 Gbps) with speed negotiation to Gen1, Gen2
> 
> So with your gen2 (3gbps) pmp box, clearly, the speed negotiation is not
> working but limiting it to 1.5gbps seems ok. Could you add the following
> print to see what the HW is saying it supports ?
> 
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 884ae73b11ea..b3925239b8b0 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -5271,6 +5271,9 @@ int sata_link_init_spd(struct ata_link *link)
> if (rc)
> return rc;
> 
> + ata_link_info(link, "SCR_CONTROL = 0x%x\n",
> + link->saved_scontrol);
> +
> spd = (link->saved_scontrol >> 4) & 0xf;
> if (spd)
> link->hw_sata_spd_limit &= (1 << spd) - 1;
> 
> --
> Damien Le Moal
> Western Digital Research


Without libata.force=2:1.5Gbps, the extra debug message appears only during boot.
Cable connected or not - doesn't matter - the messages are the same.

[    4.480888][    T1] scsi host1: ahci-mvebu
[    4.485149][    T1] device: 'host1': device_add
[    4.489728][    T1] bus: 'scsi': add device host1
[    4.494544][    T1] device: 'host1': device_add
[    4.499589][    T1] ata1: SCR_CONTROL = 0x0
[    4.503822][    T1] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 42
[    4.512480][    T1] ata2: SCR_CONTROL = 0x0
[    4.516704][    T1] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 42
[    4.525443][    T1] driver: 'ahci-mvebu': driver_bound: bound to device 'f10a8000.sata'
[    4.533599][    T1] bus: 'platform': really_probe: bound device f10a8000.sata to driver ahci-mvebu


With libata.force=2:1.5Gbps, the same message appears during boot, but then, when the device is detected:

[   17.624417][  T113] hardreset, Online=>Offline
[   17.625498][  T113] resume, do loop
[   17.853273][  T113] resume, after do loop
[   17.913272][  T113] debounce, SCR=0x113
[   17.973271][  T113] debounce, SCR=0x113
[   18.033271][  T113] debounce, SCR=0x113
[   18.093271][  T113] debounce, SCR=0x113
[   18.153271][  T113] debounce, SCR=0x113
[   18.213270][  T113] debounce, SCR=0x113
[   18.273270][  T113] debounce, SCR=0x113
[   18.333270][  T113] debounce, SCR=0x113
[   18.393271][  T113] debounce, SCR=0x113
[   18.397130][  T113] resume, return at end of function
[   18.400987][  T113] hardreset, Offline=>Online
[   18.410547][  T113] hardreset, sata_pmp_supported, before check_ready
[   18.583275][  T113] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   18.597005][  T113] ata2.15: Port Multiplier 1.2, 0x197b:0x0325 r193, 8 ports, feat 0xf/0x1f
[   18.605655][  T113] device: 'link2.0': device_add
[   18.610473][  T113] device: 'link2.0': device_add
[   18.615504][  T113] device: 'dev2.0.0': device_add
[   18.620352][  T113] device: 'dev2.0.0': device_add
[   18.625852][  T113] device: 'link2.1': device_add
[   18.630625][  T113] device: 'link2.1': device_add
[   18.635522][  T113] device: 'dev2.1.0': device_add
[   18.640371][  T113] device: 'dev2.1.0': device_add
[   18.646031][  T113] device: 'link2.2': device_add
[   18.650796][  T113] device: 'link2.2': device_add
[   18.656012][  T113] device: 'dev2.2.0': device_add
[   18.660865][  T113] device: 'dev2.2.0': device_add
[   18.666438][  T113] device: 'link2.3': device_add
[   18.671204][  T113] device: 'link2.3': device_add
[   18.676113][  T113] device: 'dev2.3.0': device_add
[   18.680962][  T113] device: 'dev2.3.0': device_add
[   18.686775][  T113] device: 'link2.4': device_add
[   18.691544][  T113] device: 'link2.4': device_add
[   18.696469][  T113] device: 'dev2.4.0': device_add
[   18.701319][  T113] device: 'dev2.4.0': device_add
[   18.706341][  T113] device: 'link2.5': device_add
[   18.711109][  T113] device: 'link2.5': device_add
[   18.716036][  T113] device: 'dev2.5.0': device_add
[   18.720888][  T113] device: 'dev2.5.0': device_add
[   18.726475][  T113] device: 'link2.6': device_add
[   18.731243][  T113] device: 'link2.6': device_add
[   18.736445][  T113] device: 'dev2.6.0': device_add
[   18.741300][  T113] device: 'dev2.6.0': device_add
[   18.746642][  T113] device: 'link2.7': device_add
[   18.751412][  T113] device: 'link2.7': device_add
[   18.756871][  T113] device: 'dev2.7.0': device_add
[   18.761730][  T113] device: 'dev2.7.0': device_add
[   18.766760][  T113] device: 'link2.8': device_add
[   18.771528][  T113] device: 'link2.8': device_add
[   18.776986][  T113] device: 'dev2.8.0': device_add
[   18.781847][  T113] device: 'dev2.8.0': device_add
[   18.787176][  T113] device: 'link2.9': device_add
[   18.791951][  T113] device: 'link2.9': device_add
[   18.796844][  T113] device: 'dev2.9.0': device_add
[   18.801967][  T113] device: 'dev2.9.0': device_add
[   18.807019][  T113] device: 'link2.10': device_add
[   18.811877][  T113] device: 'link2.10': device_add
[   18.817156][  T113] device: 'dev2.10.0': device_add
[   18.822104][  T113] device: 'dev2.10.0': device_add
[   18.827544][  T113] device: 'link2.11': device_add
[   18.832406][  T113] device: 'link2.11': device_add
[   18.837713][  T113] device: 'dev2.11.0': device_add
[   18.842661][  T113] device: 'dev2.11.0': device_add
[   18.848594][  T113] device: 'link2.12': device_add
[   18.853474][  T113] device: 'link2.12': device_add
[   18.858472][  T113] device: 'dev2.12.0': device_add
[   18.863433][  T113] device: 'dev2.12.0': device_add
[   18.869167][  T113] device: 'link2.13': device_add
[   18.874050][  T113] device: 'link2.13': device_add
[   18.879039][  T113] device: 'dev2.13.0': device_add
[   18.884013][  T113] device: 'dev2.13.0': device_add
[   18.889113][  T113] device: 'link2.14': device_add
[   18.893992][  T113] device: 'link2.14': device_add
[   18.898985][  T113] device: 'dev2.14.0': device_add
[   18.903948][  T113] device: 'dev2.14.0': device_add
[   18.909642][  T113] ahci-mvebu f10a8000.sata: FBS is enabled
[   18.915398][  T113] ata2.00: SCR_CONTROL = 0x300
[   18.920044][  T113] ata2.00: FORCE: PHY spd limit set to 1.5Gbps
[   18.926149][  T113] ata2.01: SCR_CONTROL = 0x300
[   18.930795][  T113] ata2.01: FORCE: PHY spd limit set to 1.5Gbps
[   18.936889][  T113] ata2.02: SCR_CONTROL = 0x300
[   18.941533][  T113] ata2.02: FORCE: PHY spd limit set to 1.5Gbps
[   18.947634][  T113] ata2.03: SCR_CONTROL = 0x300
[   18.952277][  T113] ata2.03: FORCE: PHY spd limit set to 1.5Gbps
[   18.958371][  T113] ata2.04: SCR_CONTROL = 0x300
[   18.963015][  T113] ata2.04: FORCE: PHY spd limit set to 1.5Gbps
[   18.969111][  T113] ata2.05: SCR_CONTROL = 0x300
[   18.973775][  T113] ata2.05: FORCE: PHY spd limit set to 1.5Gbps
[   18.979846][  T113] ata2.06: SCR_CONTROL = 0x300
[   18.984515][  T113] ata2.06: FORCE: PHY spd limit set to 1.5Gbps
[   18.990586][  T113] ata2.07: SCR_CONTROL = 0x300
[   18.995251][  T113] ata2.07: FORCE: PHY spd limit set to 1.5Gbps
[   19.001401][  T113] ata2.00: hard resetting link
[   19.006066][  T113] hardreset, Online=>Offline
[   19.006105][  T113] Reconfig spd
[   19.011857][  T113] resume, do loop
[   19.243309][  T113] resume, after do loop
[   19.251950][  T113] debounce, SCR=0x123
[   19.261104][  T113] debounce, SCR=0x123
[   19.270082][  T113] debounce, SCR=0x123
[   19.279059][  T113] debounce, SCR=0x123
[   19.288018][  T113] debounce, SCR=0x123
[   19.296978][  T113] debounce, SCR=0x123
[   19.305937][  T113] debounce, SCR=0x123
[   19.314896][  T113] debounce, SCR=0x123
[   19.323855][  T113] debounce, SCR=0x123
[   19.332813][  T113] debounce, SCR=0x123
[   19.341790][  T113] debounce, SCR=0x123
[   19.350768][  T113] debounce, SCR=0x123
[   19.354706][  T113] resume, return at end of function
[   19.358595][  T113] hardreset, Offline=>Online
[   19.368155][  T113] hardreset, after check_ready
[   19.368372][  T113] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[   19.380239][  T113] ata2.01: hard resetting link
[   19.384903][  T113] hardreset, Online=>Offline
[   19.384940][  T113] Reconfig spd
[   19.390688][  T113] resume, do loop
[   19.623306][  T113] resume, after do loop
[   19.631947][  T113] debounce, SCR=0x123
[   19.641098][  T113] debounce, SCR=0x123
[   19.650075][  T113] debounce, SCR=0x123
[   19.659053][  T113] debounce, SCR=0x123
[   19.668011][  T113] debounce, SCR=0x123
[   19.676970][  T113] debounce, SCR=0x123
[   19.685929][  T113] debounce, SCR=0x123
[   19.694889][  T113] debounce, SCR=0x123
[   19.703847][  T113] debounce, SCR=0x123
[   19.712805][  T113] debounce, SCR=0x123
[   19.721782][  T113] debounce, SCR=0x123
[   19.730760][  T113] debounce, SCR=0x123
[   19.734699][  T113] resume, return at end of function
[   19.738587][  T113] hardreset, Offline=>Online
[   19.748146][  T113] hardreset, after check_ready
[   19.748363][  T113] ata2.01: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
...


I had the impression that speed always starts low and is negociated up (1.5 -> 3 -> 6), not starting high and decreased. How would negociation work if the speed is too high and one of the devices can't communicate?

I tried the pmp box on other computers. ATI/AMD AHCI, Jmicron PATA/SATA combo card, Intel ICH7. None of these have any errors in the log.

Marius Dinu





[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux