Lines Matching refs:hdev

240 static inline int synthvid_send(struct hv_device *hdev,  in synthvid_send()  argument
249 ret = vmbus_sendpacket(hdev->channel, msg, in synthvid_send()
262 static int synthvid_send_situ(struct hv_device *hdev) in synthvid_send_situ() argument
264 struct fb_info *info = hv_get_drvdata(hdev); in synthvid_send_situ()
284 synthvid_send(hdev, &msg); in synthvid_send_situ()
290 static int synthvid_send_ptr(struct hv_device *hdev) in synthvid_send_ptr() argument
302 synthvid_send(hdev, &msg); in synthvid_send_ptr()
318 synthvid_send(hdev, &msg); in synthvid_send_ptr()
326 struct hv_device *hdev = device_to_hv_device(info->device); in synthvid_update() local
341 synthvid_send(hdev, &msg); in synthvid_update()
352 static void synthvid_recv_sub(struct hv_device *hdev) in synthvid_recv_sub() argument
354 struct fb_info *info = hv_get_drvdata(hdev); in synthvid_recv_sub()
375 synthvid_send_ptr(hdev); in synthvid_recv_sub()
376 synthvid_send_situ(hdev); in synthvid_recv_sub()
388 struct hv_device *hdev = ctx; in synthvid_receive() local
389 struct fb_info *info = hv_get_drvdata(hdev); in synthvid_receive()
403 ret = vmbus_recvpacket(hdev->channel, recv_buf, in synthvid_receive()
408 synthvid_recv_sub(hdev); in synthvid_receive()
413 static int synthvid_negotiate_ver(struct hv_device *hdev, u32 ver) in synthvid_negotiate_ver() argument
415 struct fb_info *info = hv_get_drvdata(hdev); in synthvid_negotiate_ver()
426 synthvid_send(hdev, msg); in synthvid_negotiate_ver()
446 static int synthvid_connect_vsp(struct hv_device *hdev) in synthvid_connect_vsp() argument
448 struct fb_info *info = hv_get_drvdata(hdev); in synthvid_connect_vsp()
452 ret = vmbus_open(hdev->channel, RING_BUFSIZE, RING_BUFSIZE, in synthvid_connect_vsp()
453 NULL, 0, synthvid_receive, hdev); in synthvid_connect_vsp()
462 ret = synthvid_negotiate_ver(hdev, SYNTHVID_VERSION_WIN7); in synthvid_connect_vsp()
464 ret = synthvid_negotiate_ver(hdev, SYNTHVID_VERSION_WIN8); in synthvid_connect_vsp()
476 screen_fb_size = hdev->channel->offermsg.offer. in synthvid_connect_vsp()
482 vmbus_close(hdev->channel); in synthvid_connect_vsp()
487 static int synthvid_send_config(struct hv_device *hdev) in synthvid_send_config() argument
489 struct fb_info *info = hv_get_drvdata(hdev); in synthvid_send_config()
502 synthvid_send(hdev, msg); in synthvid_send_config()
517 synthvid_send_ptr(hdev); in synthvid_send_config()
518 synthvid_send_situ(hdev); in synthvid_send_config()
573 struct hv_device *hdev = device_to_hv_device(info->device); in hvfb_set_par() local
575 return synthvid_send_situ(hdev); in hvfb_set_par()
770 static int hvfb_probe(struct hv_device *hdev, in hvfb_probe() argument
777 info = framebuffer_alloc(sizeof(struct hvfb_par), &hdev->device); in hvfb_probe()
790 hv_set_drvdata(hdev, info); in hvfb_probe()
791 ret = synthvid_connect_vsp(hdev); in hvfb_probe()
842 ret = synthvid_send_config(hdev); in hvfb_probe()
864 vmbus_close(hdev->channel); in hvfb_probe()
867 hv_set_drvdata(hdev, NULL); in hvfb_probe()
873 static int hvfb_remove(struct hv_device *hdev) in hvfb_remove() argument
875 struct fb_info *info = hv_get_drvdata(hdev); in hvfb_remove()
887 vmbus_close(hdev->channel); in hvfb_remove()
888 hv_set_drvdata(hdev, NULL); in hvfb_remove()