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
					
				
			
		
					 1 changed files with 2 additions and 1 deletions
				
			
		|  | @ -2146,7 +2146,8 @@ init_reset(struct nvbios *bios, uint16_t offset, struct init_exec *iexec) | |||
| 	/* no iexec->execute check by design */ | ||||
| 
 | ||||
| 	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); | ||||
| 
 | ||||
| 	udelay(10); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Francisco Jerez
				Francisco Jerez