mirror of
				https://gitlab.com/qemu-project/ipxe.git
				synced 2025-11-03 07:59:06 +08:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6d1d28a4cc | 
@ -1067,11 +1067,15 @@ static void realtek_detect ( struct realtek_nic *rtl ) {
 | 
			
		||||
	 * Note that enabling DAC seems to cause bizarre behaviour
 | 
			
		||||
	 * (lockups, garbage data on the wire) on some systems, even
 | 
			
		||||
	 * if only 32-bit addresses are used.
 | 
			
		||||
	 *
 | 
			
		||||
	 * Disable VLAN offload, since some cards seem to have it
 | 
			
		||||
	 * enabled by default.
 | 
			
		||||
	 */
 | 
			
		||||
	cpcr = readw ( rtl->regs + RTL_CPCR );
 | 
			
		||||
	cpcr |= ( RTL_CPCR_MULRW | RTL_CPCR_CPRX | RTL_CPCR_CPTX );
 | 
			
		||||
	if ( sizeof ( physaddr_t ) > sizeof ( uint32_t ) )
 | 
			
		||||
		cpcr |= RTL_CPCR_DAC;
 | 
			
		||||
	cpcr &= ~RTL_CPCR_VLAN;
 | 
			
		||||
	writew ( cpcr, rtl->regs + RTL_CPCR );
 | 
			
		||||
	check_cpcr = readw ( rtl->regs + RTL_CPCR );
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -230,6 +230,7 @@ enum realtek_legacy_status {
 | 
			
		||||
#define RTL_CPCR 0xe0
 | 
			
		||||
#define RTL_CPCR_DAC		0x0010	/**< PCI Dual Address Cycle Enable */
 | 
			
		||||
#define RTL_CPCR_MULRW		0x0008	/**< PCI Multiple Read/Write Enable */
 | 
			
		||||
#define RTL_CPCR_VLAN		0x0040	/**< VLAN tag stripping enable */
 | 
			
		||||
#define RTL_CPCR_CPRX		0x0002	/**< C+ receive enable */
 | 
			
		||||
#define RTL_CPCR_CPTX		0x0001	/**< C+ transmit enable */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user