Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Fwd: port-amd64/43309: VX800 and CN896-VT8237S is not configured in RAID mode
On Wed, May 29, 2019 at 2:57 PM Michael van Elst <mlelstv%serpens.de@localhost> wrote:
>
> vezhlys%gmail.com@localhost (Andrius V) writes:
>
> >current-users, possibly it will have better visibility here. I wrote a
> >small patch which should fix:
> >* VX800 IDE will set correct UDMA mode. (VX855 should too, but can't test)
>
>
> That shouldn't be a problem to apply.
So I think I can be quite confident about this patch only (so at least
UDMA mode is correct on IDE mode):
--- a/sys/dev/pci/viaide.c
+++ b/sys/dev/pci/viaide.c
@@ -309,6 +309,16 @@ static const struct pciide_product_desc
pciide_via_products[] = {
NULL,
via_chip_map,
},
+ { PCI_PRODUCT_VIATECH_VX855,
+ 0,
+ NULL,
+ via_chip_map,
+ },
+ { PCI_PRODUCT_VIATECH_VX800,
+ 0,
+ NULL,
+ via_chip_map,
+ },
{ PCI_PRODUCT_VIATECH_VX900_IDE,
0,
NULL,
@@ -546,6 +556,14 @@ via_chip_map(struct pciide_softc *sc, const
struct pci_attach_args *pa)
aprint_normal("VT8251 ATA133 controller\n");
sc->sc_wdcdev.sc_atac.atac_udma_cap = 6;
break;
+ case PCI_PRODUCT_VIATECH_VX800:
+ aprint_normal("VX800 ATA133 controller\n");
+ sc->sc_wdcdev.sc_atac.atac_udma_cap = 6;
+ break;
+ case PCI_PRODUCT_VIATECH_VX855:
+ aprint_normal("VX855 ATA133 controller\n");
+ sc->sc_wdcdev.sc_atac.atac_udma_cap = 6;
+ break;
default:
unknown:
aprint_normal("unknown VIA ATA controller\n");
--- a/sys/dev/pci/pcidevs
+++ b/sys/dev/pci/pcidevs
@@ -7704,6 +7704,7 @@ product VIATECH VT8231_PWR 0x8235 VT8231
Power Management Controller
product VIATECH VT8363_PPB 0x8305 VT8363 (Apollo KT133) PCI to AGP Bridge
product VIATECH CX700 0x8324 CX700 PCI-LPC Bridge
product VIATECH VX800 0x8353 VX800/VX820 PCI-LPC Bridge
+product VIATECH VX855 0x8409 VX855 PCI-LPC Bridge
product VIATECH VT8371_PPB 0x8391 VT8371 (Apollo KX133) PCI-PCI Bridge
product VIATECH VT8501AGP 0x8501 VT8501 (Apollo MVP4) CPU-AGP Bridge
product VIATECH VT82C597AGP 0x8597 VT82C597 (Apollo VP3) CPU-AGP Bridge
> >* If RAID mode is selected in BIOS (in my board), disks will be
> >recognized and attached. Possibly should fix id:7372 of 8237S variant
> >too (can't test).
>
> I wonder how enabling UDMA makes that possible.
On my "patch", I used via_sata_chip_map_new method for VX800 which was
actually written for VT6421 controller. Apparently it "fits" to some
extent for VX800 to recognize disk on AHCI mode. A hack, so, I will
need to understand better and rewrite, removed it for now... Since, I
can't test 8237S (7372), I removed it as well (used
via_sata_chip_map_7).
> >* There's caveat that I am getting these errors below depending on
> >BIOS config for viaide0 or/and viaide1:
> >viaide1: autoconfiguration error: couldn't map SATA regs
> >viaide1: bus-master DMA support present, but unused (couldn't map registers)
> >viaide1: autoconfiguration error: couldn't map native-PCI interrupt
>
> Looks like both share the same registers and interrupt and viaide(4) doesn't
> handle this, or maybe viaide1 doesn't really exist. You can use pcictl to
> dump the configuration space, in particular the BAR entries to shine a
> light on this.
I am quite immature at all this, if possible, please, provide more
specific command and a bit of info on what to look at? Though, yes, I
believe viaide1 doesn't exist.
Thank you for the help.
> --
> Michael van Elst
> Internet: mlelstv%serpens.de@localhost
> "A potential Snark may lurk in every tree."
Home |
Main Index |
Thread Index |
Old Index