mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	virtio: make VIRTIO_F_VERSION_1 a transport bit
Activate VIRTIO_F_VERSION_1 automatically unless legacy_only is set. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
		
							parent
							
								
									df1b57fe59
								
							
						
					
					
						commit
						747ae34a6e
					
				
					 3 changed files with 9 additions and 3 deletions
				
			
		|  | @ -197,7 +197,11 @@ static int virtio_dev_probe(struct device *_d) | |||
| 		driver_features_legacy = driver_features; | ||||
| 	} | ||||
| 
 | ||||
| 	if (driver_features & device_features & (1ULL << VIRTIO_F_VERSION_1)) | ||||
| 	/* Detect legacy-only drivers and disable VIRTIO_F_VERSION_1. */ | ||||
| 	if (drv->legacy_only) | ||||
| 		device_features &= ~(1ULL << VIRTIO_F_VERSION_1); | ||||
| 
 | ||||
| 	if (device_features & (1ULL << VIRTIO_F_VERSION_1)) | ||||
| 		dev->features = driver_features & device_features; | ||||
| 	else | ||||
| 		dev->features = driver_features_legacy & device_features; | ||||
|  |  | |||
|  | @ -780,6 +780,8 @@ void vring_transport_features(struct virtio_device *vdev) | |||
| 			break; | ||||
| 		case VIRTIO_RING_F_EVENT_IDX: | ||||
| 			break; | ||||
| 		case VIRTIO_F_VERSION_1: | ||||
| 			break; | ||||
| 		default: | ||||
| 			/* We don't understand this bit. */ | ||||
| 			__virtio_clear_bit(vdev, i); | ||||
|  |  | |||
|  | @ -43,11 +43,11 @@ | |||
| /* We've given up on this device. */ | ||||
| #define VIRTIO_CONFIG_S_FAILED		0x80 | ||||
| 
 | ||||
| /* Some virtio feature bits (currently bits 28 through 31) are reserved for the
 | ||||
| /* Some virtio feature bits (currently bits 28 through 32) are reserved for the
 | ||||
|  * transport being used (eg. virtio_ring), the rest are per-device feature | ||||
|  * bits. */ | ||||
| #define VIRTIO_TRANSPORT_F_START	28 | ||||
| #define VIRTIO_TRANSPORT_F_END		32 | ||||
| #define VIRTIO_TRANSPORT_F_END		33 | ||||
| 
 | ||||
| /* Do we get callbacks when the ring is completely used, even if we've
 | ||||
|  * suppressed them? */ | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Michael S. Tsirkin
						Michael S. Tsirkin