[Nouveau] [PATCH] [resend] nouveau: Disable AGP for SiS 761
Samuel Pitoiset
samuel.pitoiset at gmail.com
Wed Sep 30 04:52:25 PDT 2015
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);
More information about the dri-devel
mailing list