mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 14:06:51 +07:00
drm/nouveau: Don't clear AGPCMD completely on INIT_RESET.
We just need to clear the SBA and ENABLE bits to reset the AGP controller: If the AGP bridge was configured to use "fast writes", clearing the FW bit would break the subsequent MMIO writes and eventually end with a lockup. Note that all the BIOSes I've seen do the same as we did (it works for them because they don't use MMIO), OTOH the blob leaves FW untouched. Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
2fa67f12e7
commit
190a43783f
@ -2146,7 +2146,8 @@ init_reset(struct nvbios *bios, uint16_t offset, struct init_exec *iexec)
|
|||||||
/* no iexec->execute check by design */
|
/* no iexec->execute check by design */
|
||||||
|
|
||||||
pci_nv_19 = bios_rd32(bios, NV_PBUS_PCI_NV_19);
|
pci_nv_19 = bios_rd32(bios, NV_PBUS_PCI_NV_19);
|
||||||
bios_wr32(bios, NV_PBUS_PCI_NV_19, 0);
|
bios_wr32(bios, NV_PBUS_PCI_NV_19, pci_nv_19 & ~0xf00);
|
||||||
|
|
||||||
bios_wr32(bios, reg, value1);
|
bios_wr32(bios, reg, value1);
|
||||||
|
|
||||||
udelay(10);
|
udelay(10);
|
||||||
|
Loading…
Reference in New Issue
Block a user