@@ -47,10 +47,10 @@ struct dxghwqueue;
4747 * Driver private data.
4848 * A single /dev/dxg device is created per virtual machine.
4949 */
50- struct dxgdriver {
50+ struct dxgdriver {
5151 struct dxgglobal * dxgglobal ;
52- struct device * dxgdev ;
53- struct pci_driver pci_drv ;
52+ struct device * dxgdev ;
53+ struct pci_driver pci_drv ;
5454 struct hv_driver vmbus_drv ;
5555};
5656extern struct dxgdriver dxgdrv ;
@@ -386,6 +386,8 @@ struct dxgprocess {
386386 struct list_head plistentry ;
387387 pid_t pid ;
388388 pid_t tgid ;
389+ pid_t vpid ; /* pdi from the current namespace */
390+ struct pid_namespace * nspid ; /* namespace id */
389391 /* how many time the process was opened */
390392 struct kref process_kref ;
391393 /* protects the object memory */
@@ -478,6 +480,7 @@ struct dxgadapter {
478480 struct winluid luid ; /* VM bus channel luid */
479481 u16 device_description [80 ];
480482 u16 device_instance_id [WIN_MAX_PATH ];
483+ bool compute_only ;
481484 bool stopping_adapter ;
482485};
483486
@@ -954,7 +957,8 @@ int dxgvmb_send_query_alloc_residency(struct dxgprocess *process,
954957 * args );
955958int dxgvmb_send_escape (struct dxgprocess * process ,
956959 struct dxgadapter * adapter ,
957- struct d3dkmt_escape * args );
960+ struct d3dkmt_escape * args ,
961+ bool user_mode );
958962int dxgvmb_send_query_vidmem_info (struct dxgprocess * process ,
959963 struct dxgadapter * adapter ,
960964 struct d3dkmt_queryvideomemoryinfo * args ,
@@ -984,14 +988,19 @@ int dxgvmb_send_get_stdalloc_data(struct dxgdevice *device,
984988 void * prive_alloc_data ,
985989 u32 * res_priv_data_size ,
986990 void * priv_res_data );
987- int dxgvmb_send_query_statistics (struct dxgprocess * process ,
991+ int dxgvmb_send_query_statistics (struct d3dkmthandle host_process_handle ,
988992 struct dxgadapter * adapter ,
989993 struct d3dkmt_querystatistics * args );
990994int dxgvmb_send_async_msg (struct dxgvmbuschannel * channel ,
991995 void * command ,
992996 u32 cmd_size );
993997int dxgvmb_send_share_object_with_host (struct dxgprocess * process ,
994998 struct d3dkmt_shareobjectwithhost * args );
999+ int dxgvmb_send_invalidate_cache (struct dxgprocess * process ,
1000+ struct dxgadapter * adapter ,
1001+ struct d3dkmt_invalidatecache * args );
1002+ int dxgvmb_send_is_feature_enabled (struct dxgadapter * adapter ,
1003+ struct d3dkmt_isfeatureenabled * args );
9951004
9961005void signal_host_cpu_event (struct dxghostevent * eventhdr );
9971006int ntstatus2int (struct ntstatus status );
0 commit comments