From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Roese Date: Fri, 26 Mar 2021 07:47:32 +0100 Subject: [PATCH 5/6] drivers: ata: ahci: update max id if it is more than available ports In-Reply-To: <20210326000737.9764-6-tharvey@gateworks.com> References: <20210326000737.9764-1-tharvey@gateworks.com> <20210326000737.9764-6-tharvey@gateworks.com> Message-ID: <0f80bb6f-d8a4-75a1-a2a9-d2639de2040b@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 26.03.21 01:07, Tim Harvey wrote: > From: Suneel Garapati > > After check for maximum between max id and available ports, also check > if available port count is less than max id and update. > > In the case of the CN8030 OcteonTX SoC max_id needs to be reduced to > the number of ports found otherwise the following occurs on a scan: > > GW6404-B> scsi scan > scanning bus for devices... > Target spinup took 0 ms. > AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl SATA mode > flags: 64bit ncq ilck stag pm led clo only pmp fbss pio slum part ccc > apst > Device 0: (0:0) Vendor: ATA Prod.: SanDisk SD8SFAT0 Rev: Z233 > Type: Hard Disk > Capacity: 61057.3 MB = 59.6 GB (125045424 x 512) > "Synchronous Abort" handler, esr 0x96000006 > elr: 000000000052f824 lr : 000000000052fa10 (reloc) > elr: 000000007fee9824 lr : 000000007fee9a10 > x0 : 0000000000000001 x1 : 0000000000000001 > x2 : 000000007bea3528 x3 : 000000007bea3580 > x4 : 0000000000000200 x5 : 0000000000000000 > x6 : 0000000000000002 x7 : 000000007bea3540 > x8 : 00000000fffffff8 x9 : 0000000000000008 > x10: 00000000000186a0 x11: 000000000000000d > x12: 0000000000000006 x13: 000000000001869f > x14: 0000000000000007 x15: 00000000ffffffff > x16: 000000007ff439a5 x17: 000000007ff5730c > x18: 000000007bea9de0 x19: 000000007ff7a580 > x20: 000000007bec79f8 x21: 0000000000000000 > x22: 000000007bea3580 x23: 0000000000000000 > x24: 0000000000000000 x25: 000000007bec7a00 > x26: 00000000ffffffc0 x27: 000000007bec79d0 > x28: 000000007beb51c0 x29: 000000007bea3480 > > Code: 91246800 940130c2 12800000 1400004f (b9402ae0) > Resetting CPU ... > > Signed-off-by: Suneel Garapati Reviewed-by: Stefan Roese Thanks, Stefan > --- > drivers/ata/ahci.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c > index 2ef21ec508..98b288254b 100644 > --- a/drivers/ata/ahci.c > +++ b/drivers/ata/ahci.c > @@ -1190,6 +1190,9 @@ int ahci_probe_scsi(struct udevice *ahci_dev, ulong base) > */ > uc_plat->max_id = max_t(unsigned long, uc_priv->n_ports, > uc_plat->max_id); > + /* If port count is less than max_id, update max_id */ > + if (uc_priv->n_ports < uc_plat->max_id) > + uc_plat->max_id = uc_priv->n_ports; > > return 0; > } > Viele Gr??e, Stefan -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de