Lines Matching defs:hdev

286 static inline int synthvid_send(struct hv_device *hdev,
295 ret = vmbus_sendpacket(hdev->channel, msg,
308 static int synthvid_send_situ(struct hv_device *hdev)
310 struct fb_info *info = hv_get_drvdata(hdev);
330 synthvid_send(hdev, &msg);
336 static int synthvid_send_ptr(struct hv_device *hdev)
348 synthvid_send(hdev, &msg);
364 synthvid_send(hdev, &msg);
373 struct hv_device *hdev = device_to_hv_device(info->device);
394 synthvid_send(hdev, &msg);
457 static void synthvid_recv_sub(struct hv_device *hdev)
459 struct fb_info *info = hv_get_drvdata(hdev);
481 synthvid_send_ptr(hdev);
482 synthvid_send_situ(hdev);
494 struct hv_device *hdev = ctx;
495 struct fb_info *info = hv_get_drvdata(hdev);
509 ret = vmbus_recvpacket(hdev->channel, recv_buf,
514 synthvid_recv_sub(hdev);
530 static int synthvid_negotiate_ver(struct hv_device *hdev, u32 ver)
532 struct fb_info *info = hv_get_drvdata(hdev);
543 synthvid_send(hdev, msg);
565 static int synthvid_get_supported_resolution(struct hv_device *hdev)
567 struct fb_info *info = hv_get_drvdata(hdev);
581 synthvid_send(hdev, msg);
613 static int synthvid_connect_vsp(struct hv_device *hdev)
615 struct fb_info *info = hv_get_drvdata(hdev);
619 ret = vmbus_open(hdev->channel, RING_BUFSIZE, RING_BUFSIZE,
620 NULL, 0, synthvid_receive, hdev);
630 ret = synthvid_negotiate_ver(hdev, SYNTHVID_VERSION_WIN10);
636 ret = synthvid_negotiate_ver(hdev, SYNTHVID_VERSION_WIN8);
639 ret = synthvid_negotiate_ver(hdev, SYNTHVID_VERSION_WIN10);
650 ret = synthvid_get_supported_resolution(hdev);
655 screen_fb_size = hdev->channel->offermsg.offer.
661 vmbus_close(hdev->channel);
666 static int synthvid_send_config(struct hv_device *hdev)
668 struct fb_info *info = hv_get_drvdata(hdev);
681 synthvid_send(hdev, msg);
696 synthvid_send_ptr(hdev);
697 synthvid_send_situ(hdev);
782 struct hv_device *hdev;
788 hdev = device_to_hv_device(info->device);
790 if (hv_ringbuffer_spinlock_busy(hdev->channel))
818 struct hv_device *hdev = device_to_hv_device(info->device);
820 return synthvid_send_situ(hdev);
917 static phys_addr_t hvfb_get_phymem(struct hv_device *hdev,
938 hdev->device.coherent_dma_mask = DMA_BIT_MASK(64);
940 vmem = dma_alloc_coherent(&hdev->device,
955 static void hvfb_release_phymem(struct hv_device *hdev,
963 dma_free_coherent(&hdev->device,
971 static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info)
999 paddr = hvfb_get_phymem(hdev, screen_fb_size);
1022 ret = vmbus_allocate_mmio(&par->mem, hdev, 0, -1,
1077 static void hvfb_putmem(struct hv_device *hdev, struct fb_info *info)
1086 hvfb_release_phymem(hdev, info->fix.smem_start,
1094 static int hvfb_probe(struct hv_device *hdev,
1101 info = framebuffer_alloc(sizeof(struct hvfb_par), &hdev->device);
1118 hv_set_drvdata(hdev, info);
1119 ret = synthvid_connect_vsp(hdev);
1129 ret = hvfb_getmem(hdev, info);
1171 ret = synthvid_send_config(hdev);
1200 hvfb_putmem(hdev, info);
1202 vmbus_close(hdev->channel);
1205 hv_set_drvdata(hdev, NULL);
1210 static void hvfb_remove(struct hv_device *hdev)
1212 struct fb_info *info = hv_get_drvdata(hdev);
1226 vmbus_close(hdev->channel);
1227 hv_set_drvdata(hdev, NULL);
1229 hvfb_putmem(hdev, info);
1233 static int hvfb_suspend(struct hv_device *hdev)
1235 struct fb_info *info = hv_get_drvdata(hdev);
1250 vmbus_close(hdev->channel);
1257 static int hvfb_resume(struct hv_device *hdev)
1259 struct fb_info *info = hv_get_drvdata(hdev);
1265 ret = synthvid_connect_vsp(hdev);
1269 ret = synthvid_send_config(hdev);
1271 vmbus_close(hdev->channel);