@@ -1076,65 +1076,6 @@ int vmbus_sendpacket(struct vmbus_channel *channel, void *buffer,
10761076}
10771077EXPORT_SYMBOL (vmbus_sendpacket );
10781078
1079- /*
1080- * vmbus_sendpacket_pagebuffer - Send a range of single-page buffer
1081- * packets using a GPADL Direct packet type. This interface allows you
1082- * to control notifying the host. This will be useful for sending
1083- * batched data. Also the sender can control the send flags
1084- * explicitly.
1085- */
1086- int vmbus_sendpacket_pagebuffer (struct vmbus_channel * channel ,
1087- struct hv_page_buffer pagebuffers [],
1088- u32 pagecount , void * buffer , u32 bufferlen ,
1089- u64 requestid )
1090- {
1091- int i ;
1092- struct vmbus_channel_packet_page_buffer desc ;
1093- u32 descsize ;
1094- u32 packetlen ;
1095- u32 packetlen_aligned ;
1096- struct kvec bufferlist [3 ];
1097- u64 aligned_data = 0 ;
1098-
1099- if (pagecount > MAX_PAGE_BUFFER_COUNT )
1100- return - EINVAL ;
1101-
1102- /*
1103- * Adjust the size down since vmbus_channel_packet_page_buffer is the
1104- * largest size we support
1105- */
1106- descsize = sizeof (struct vmbus_channel_packet_page_buffer ) -
1107- ((MAX_PAGE_BUFFER_COUNT - pagecount ) *
1108- sizeof (struct hv_page_buffer ));
1109- packetlen = descsize + bufferlen ;
1110- packetlen_aligned = ALIGN (packetlen , sizeof (u64 ));
1111-
1112- /* Setup the descriptor */
1113- desc .type = VM_PKT_DATA_USING_GPA_DIRECT ;
1114- desc .flags = VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED ;
1115- desc .dataoffset8 = descsize >> 3 ; /* in 8-bytes granularity */
1116- desc .length8 = (u16 )(packetlen_aligned >> 3 );
1117- desc .transactionid = VMBUS_RQST_ERROR ; /* will be updated in hv_ringbuffer_write() */
1118- desc .reserved = 0 ;
1119- desc .rangecount = pagecount ;
1120-
1121- for (i = 0 ; i < pagecount ; i ++ ) {
1122- desc .range [i ].len = pagebuffers [i ].len ;
1123- desc .range [i ].offset = pagebuffers [i ].offset ;
1124- desc .range [i ].pfn = pagebuffers [i ].pfn ;
1125- }
1126-
1127- bufferlist [0 ].iov_base = & desc ;
1128- bufferlist [0 ].iov_len = descsize ;
1129- bufferlist [1 ].iov_base = buffer ;
1130- bufferlist [1 ].iov_len = bufferlen ;
1131- bufferlist [2 ].iov_base = & aligned_data ;
1132- bufferlist [2 ].iov_len = (packetlen_aligned - packetlen );
1133-
1134- return hv_ringbuffer_write (channel , bufferlist , 3 , requestid , NULL );
1135- }
1136- EXPORT_SYMBOL_GPL (vmbus_sendpacket_pagebuffer );
1137-
11381079/*
11391080 * vmbus_sendpacket_mpb_desc - Send one or more multi-page buffer packets
11401081 * using a GPADL Direct packet type.
0 commit comments