Ondrej Zary
2015-Sep-30 11:48 UTC
[Nouveau] [PATCH] [resend] nouveau: Disable AGP for SiS 761
SiS 761 chipset does not support AGP cards but has AGP capability (for the onboard video). At least PC Chips A31G board using this chipset has an AGP-like AGPro slot that's wired to the PCI bus. Enabling AGP will fail (GPU lockup and software fbcon, X11 hangs). Add support for matching just the host bridge in nvkm_device_agp_quirks and add entry for SiS 761 with mode 0 (AGP disabled). Signed-off-by: Ondrej Zary <linux at rainbow-software.org> --- drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c index 814cb51..385a90f 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c @@ -35,6 +35,8 @@ static const struct nvkm_device_agp_quirk nvkm_device_agp_quirks[] = { /* VIA Apollo PRO133x / GeForce FX 5600 Ultra - fdo#20341 */ { PCI_VENDOR_ID_VIA, 0x0691, PCI_VENDOR_ID_NVIDIA, 0x0311, 2 }, + /* SiS 761 does not support AGP cards, use PCI mode */ + { PCI_VENDOR_ID_SI, 0x0761, PCI_ANY_ID, PCI_ANY_ID, 0 }, {}, }; @@ -137,8 +139,10 @@ nvkm_agp_ctor(struct nvkm_pci *pci) while (quirk->hostbridge_vendor) { if (info.device->vendor == quirk->hostbridge_vendor && info.device->device == quirk->hostbridge_device && - pci->pdev->vendor == quirk->chip_vendor && - pci->pdev->device == quirk->chip_device) { + (quirk->chip_vendor == (u16)PCI_ANY_ID || + pci->pdev->vendor == quirk->chip_vendor) && + (quirk->chip_device == (u16)PCI_ANY_ID || + pci->pdev->device == quirk->chip_device)) { nvkm_info(subdev, "forcing default agp mode to %dX, " "use NvAGP=<mode> to override\n", quirk->mode); -- Ondrej Zary
Samuel Pitoiset
2015-Sep-30 11:52 UTC
[Nouveau] [PATCH] [resend] nouveau: Disable AGP for SiS 761
This patch has been merged by Ben yesterday. http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=8c713f90a63ffca10d122af09d439f3409c933ed Why do you send a new version ? Is the previous patch wrong? On 09/30/2015 01:48 PM, Ondrej Zary wrote:> SiS 761 chipset does not support AGP cards but has AGP capability (for > the onboard video). At least PC Chips A31G board using this chipset has > an AGP-like AGPro slot that's wired to the PCI bus. Enabling AGP will > fail (GPU lockup and software fbcon, X11 hangs). > > Add support for matching just the host bridge in nvkm_device_agp_quirks > and add entry for SiS 761 with mode 0 (AGP disabled). > > Signed-off-by: Ondrej Zary <linux at rainbow-software.org> > --- > drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c > index 814cb51..385a90f 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.c > @@ -35,6 +35,8 @@ static const struct nvkm_device_agp_quirk > nvkm_device_agp_quirks[] = { > /* VIA Apollo PRO133x / GeForce FX 5600 Ultra - fdo#20341 */ > { PCI_VENDOR_ID_VIA, 0x0691, PCI_VENDOR_ID_NVIDIA, 0x0311, 2 }, > + /* SiS 761 does not support AGP cards, use PCI mode */ > + { PCI_VENDOR_ID_SI, 0x0761, PCI_ANY_ID, PCI_ANY_ID, 0 }, > {}, > }; > > @@ -137,8 +139,10 @@ nvkm_agp_ctor(struct nvkm_pci *pci) > while (quirk->hostbridge_vendor) { > if (info.device->vendor == quirk->hostbridge_vendor && > info.device->device == quirk->hostbridge_device && > - pci->pdev->vendor == quirk->chip_vendor && > - pci->pdev->device == quirk->chip_device) { > + (quirk->chip_vendor == (u16)PCI_ANY_ID || > + pci->pdev->vendor == quirk->chip_vendor) && > + (quirk->chip_device == (u16)PCI_ANY_ID || > + pci->pdev->device == quirk->chip_device)) { > nvkm_info(subdev, "forcing default agp mode to %dX, " > "use NvAGP=<mode> to override\n", > quirk->mode);
Ondrej Zary
2015-Sep-30 12:36 UTC
[Nouveau] [PATCH] [resend] nouveau: Disable AGP for SiS 761
On Wednesday 30 September 2015, Samuel Pitoiset wrote:> This patch has been merged by Ben yesterday. > > http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=8c713f90a63ffca10d >122af09d439f3409c933ed > > Why do you send a new version ? Is the previous patch wrong?Oops, sorry. Didn't notice it was merged. -- Ondrej Zary
Reasonably Related Threads
- AGP cards in PCI mode (fake slots like AGPro, AGP Express, AGI, AGX, XGP)
- AGP cards in PCI mode (fake slots like AGPro, AGP Express, AGI, AGX, XGP)
- [PATCH] drm/nouveau/agp: add a quirk list to limit agp modes
- [PATCH] drm/nouveau/agp: add a quirk list to limit agp modes
- [RFC] Remove AGP support from Radeon/Nouveau/TTM