Lines Matching defs:hdev

294 static inline int synthvid_send(struct hv_device *hdev,
303 ret = vmbus_sendpacket(hdev->channel, msg,
316 static int synthvid_send_situ(struct hv_device *hdev)
318 struct fb_info *info = hv_get_drvdata(hdev);
338 synthvid_send(hdev, &msg);
344 static int synthvid_send_ptr(struct hv_device *hdev)
356 synthvid_send(hdev, &msg);
372 synthvid_send(hdev, &msg);
381 struct hv_device *hdev = device_to_hv_device(info->device);
402 synthvid_send(hdev, &msg);
466 static void synthvid_recv_sub(struct hv_device *hdev)
468 struct fb_info *info = hv_get_drvdata(hdev);
490 synthvid_send_ptr(hdev);
491 synthvid_send_situ(hdev);
503 struct hv_device *hdev = ctx;
504 struct fb_info *info = hv_get_drvdata(hdev);
518 ret = vmbus_recvpacket(hdev->channel, recv_buf,
523 synthvid_recv_sub(hdev);
539 static int synthvid_negotiate_ver(struct hv_device *hdev, u32 ver)
541 struct fb_info *info = hv_get_drvdata(hdev);
552 synthvid_send(hdev, msg);
574 static int synthvid_get_supported_resolution(struct hv_device *hdev)
576 struct fb_info *info = hv_get_drvdata(hdev);
590 synthvid_send(hdev, msg);
622 static int synthvid_connect_vsp(struct hv_device *hdev)
624 struct fb_info *info = hv_get_drvdata(hdev);
628 ret = vmbus_open(hdev->channel, RING_BUFSIZE, RING_BUFSIZE,
629 NULL, 0, synthvid_receive, hdev);
639 ret = synthvid_negotiate_ver(hdev, SYNTHVID_VERSION_WIN10);
645 ret = synthvid_negotiate_ver(hdev, SYNTHVID_VERSION_WIN8);
651 ret = synthvid_negotiate_ver(hdev, SYNTHVID_VERSION_WIN7);
654 ret = synthvid_negotiate_ver(hdev, SYNTHVID_VERSION_WIN10);
669 ret = synthvid_get_supported_resolution(hdev);
674 screen_fb_size = hdev->channel->offermsg.offer.
680 vmbus_close(hdev->channel);
685 static int synthvid_send_config(struct hv_device *hdev)
687 struct fb_info *info = hv_get_drvdata(hdev);
700 synthvid_send(hdev, msg);
715 synthvid_send_ptr(hdev);
716 synthvid_send_situ(hdev);
801 struct hv_device *hdev;
807 hdev = device_to_hv_device(info->device);
809 if (hv_ringbuffer_spinlock_busy(hdev->channel))
837 struct hv_device *hdev = device_to_hv_device(info->device);
839 return synthvid_send_situ(hdev);
957 static phys_addr_t hvfb_get_phymem(struct hv_device *hdev,
978 hdev->device.coherent_dma_mask = DMA_BIT_MASK(64);
980 vmem = dma_alloc_coherent(&hdev->device,
995 static void hvfb_release_phymem(struct hv_device *hdev,
1003 dma_free_coherent(&hdev->device,
1011 static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info)
1041 paddr = hvfb_get_phymem(hdev, screen_fb_size);
1067 ret = vmbus_allocate_mmio(&par->mem, hdev, 0, -1,
1126 static void hvfb_putmem(struct hv_device *hdev, struct fb_info *info)
1135 hvfb_release_phymem(hdev, info->fix.smem_start,
1143 static int hvfb_probe(struct hv_device *hdev,
1150 info = framebuffer_alloc(sizeof(struct hvfb_par), &hdev->device);
1167 hv_set_drvdata(hdev, info);
1168 ret = synthvid_connect_vsp(hdev);
1178 ret = hvfb_getmem(hdev, info);
1222 ret = synthvid_send_config(hdev);
1243 hvfb_putmem(hdev, info);
1245 vmbus_close(hdev->channel);
1248 hv_set_drvdata(hdev, NULL);
1254 static int hvfb_remove(struct hv_device *hdev)
1256 struct fb_info *info = hv_get_drvdata(hdev);
1270 vmbus_close(hdev->channel);
1271 hv_set_drvdata(hdev, NULL);
1273 hvfb_putmem(hdev, info);
1279 static int hvfb_suspend(struct hv_device *hdev)
1281 struct fb_info *info = hv_get_drvdata(hdev);
1296 vmbus_close(hdev->channel);
1303 static int hvfb_resume(struct hv_device *hdev)
1305 struct fb_info *info = hv_get_drvdata(hdev);
1311 ret = synthvid_connect_vsp(hdev);
1315 ret = synthvid_send_config(hdev);
1317 vmbus_close(hdev->channel);