Lines Matching full:client
17 struct i40e_client *client,
21 struct i40e_client *client,
25 struct i40e_client *client,
29 struct i40e_client *client,
43 * @params: client param struct
75 * i40e_notify_client_of_vf_msg - call the client vf message callback
81 * If there is a client to this VSI, call the client
89 if (!cdev || !cdev->client) in i40e_notify_client_of_vf_msg()
91 if (!cdev->client->ops || !cdev->client->ops->virtchnl_receive) { in i40e_notify_client_of_vf_msg()
93 "Cannot locate client instance virtual channel receive routine\n"); in i40e_notify_client_of_vf_msg()
97 dev_dbg(&pf->pdev->dev, "Client is not open, abort virtchnl_receive\n"); in i40e_notify_client_of_vf_msg()
100 cdev->client->ops->virtchnl_receive(&cdev->lan_info, cdev->client, in i40e_notify_client_of_vf_msg()
105 * i40e_notify_client_of_l2_param_changes - call the client notify callback
108 * If there is a client to this VSI, call the client
116 if (!cdev || !cdev->client) in i40e_notify_client_of_l2_param_changes()
118 if (!cdev->client->ops || !cdev->client->ops->l2_param_change) { in i40e_notify_client_of_l2_param_changes()
120 "Cannot locate client instance l2_param_change routine\n"); in i40e_notify_client_of_l2_param_changes()
124 dev_dbg(&vsi->back->pdev->dev, "Client is not open, abort l2 param change\n"); in i40e_notify_client_of_l2_param_changes()
130 cdev->client->ops->l2_param_change(&cdev->lan_info, cdev->client, in i40e_notify_client_of_l2_param_changes()
135 * i40e_client_release_qvlist - release MSI-X vector mapping for client
163 * i40e_notify_client_of_netdev_close - call the client close callback
167 * If there is a client to this netdev, call the client with close
174 if (!cdev || !cdev->client) in i40e_notify_client_of_netdev_close()
176 if (!cdev->client->ops || !cdev->client->ops->close) { in i40e_notify_client_of_netdev_close()
178 "Cannot locate client instance close routine\n"); in i40e_notify_client_of_netdev_close()
181 cdev->client->ops->close(&cdev->lan_info, cdev->client, reset); in i40e_notify_client_of_netdev_close()
187 * i40e_notify_client_of_vf_reset - call the client vf reset callback
191 * If there is a client attached to this PF, notify when a VF is reset
197 if (!cdev || !cdev->client) in i40e_notify_client_of_vf_reset()
199 if (!cdev->client->ops || !cdev->client->ops->vf_reset) { in i40e_notify_client_of_vf_reset()
201 "Cannot locate client instance VF reset routine\n"); in i40e_notify_client_of_vf_reset()
205 dev_dbg(&pf->pdev->dev, "Client is not open, abort vf-reset\n"); in i40e_notify_client_of_vf_reset()
208 cdev->client->ops->vf_reset(&cdev->lan_info, cdev->client, vf_id); in i40e_notify_client_of_vf_reset()
212 * i40e_notify_client_of_vf_enable - call the client vf notification callback
216 * If there is a client attached to this PF, call its VF notification routine
222 if (!cdev || !cdev->client) in i40e_notify_client_of_vf_enable()
224 if (!cdev->client->ops || !cdev->client->ops->vf_enable) { in i40e_notify_client_of_vf_enable()
226 "Cannot locate client instance VF enable routine\n"); in i40e_notify_client_of_vf_enable()
231 dev_dbg(&pf->pdev->dev, "Client is not open, abort vf-enable\n"); in i40e_notify_client_of_vf_enable()
234 cdev->client->ops->vf_enable(&cdev->lan_info, cdev->client, num_vfs); in i40e_notify_client_of_vf_enable()
238 * i40e_vf_client_capable - ask the client if it likes the specified VF
242 * If there is a client of the specified type attached to this PF, call
250 if (!cdev || !cdev->client) in i40e_vf_client_capable()
252 if (!cdev->client->ops || !cdev->client->ops->vf_capable) { in i40e_vf_client_capable()
254 "Cannot locate client instance VF capability routine\n"); in i40e_vf_client_capable()
260 capable = cdev->client->ops->vf_capable(&cdev->lan_info, in i40e_vf_client_capable()
261 cdev->client, in i40e_vf_client_capable()
271 if (!cdev || !cdev->client) in i40e_client_update_msix_info()
279 * i40e_client_add_instance - add a client instance struct to the instance list
324 cdev->client = registered_client; in i40e_client_add_instance()
331 * i40e_client_del_instance - removes a client instance from the list
343 * i40e_client_subtask - client maintenance work
348 struct i40e_client *client = registered_client; in i40e_client_subtask() local
362 if (!client || !cdev) in i40e_client_subtask()
365 /* Here we handle client opens. If the client is down, and in i40e_client_subtask()
366 * the netdev is registered, then open the client. in i40e_client_subtask()
370 client->ops && client->ops->open) { in i40e_client_subtask()
372 ret = client->ops->open(&cdev->lan_info, client); in i40e_client_subtask()
374 /* Remove failed client instance */ in i40e_client_subtask()
385 i40e_client_update_vsi_ctxt(&cdev->lan_info, client, in i40e_client_subtask()
389 i40e_client_update_vsi_ctxt(&cdev->lan_info, client, in i40e_client_subtask()
425 /* If a client has already been registered, we need to add an instance in i40e_lan_add_device()
454 /* First, remove any client instance. */ in i40e_lan_del_device()
474 * i40e_client_release - release client specific resources
475 * @client: pointer to the registered client
478 static void i40e_client_release(struct i40e_client *client) in i40e_client_release() argument
496 if (client->ops && client->ops->close) in i40e_client_release()
497 client->ops->close(&cdev->lan_info, client, in i40e_client_release()
503 "Client %s instance for PF id %d closed\n", in i40e_client_release()
504 client->name, pf->hw.pf_id); in i40e_client_release()
506 /* delete the client instance */ in i40e_client_release()
508 dev_info(&pf->pdev->dev, "Deleted client instance of Client %s\n", in i40e_client_release()
509 client->name); in i40e_client_release()
516 * i40e_client_prepare - prepare client specific resources
517 * @client: pointer to the registered client
520 static void i40e_client_prepare(struct i40e_client *client) in i40e_client_prepare() argument
529 /* Start the client subtask */ in i40e_client_prepare()
539 * @client: Client pointer
547 struct i40e_client *client, in i40e_client_virtchnl_send() argument
566 * @client: Client pointer.
572 struct i40e_client *client, in i40e_client_setup_qvlist() argument
592 /* Validate vector id belongs to this client */ in i40e_client_setup_qvlist()
639 * @client: Client pointer.
643 struct i40e_client *client, in i40e_client_request_reset() argument
657 "Client for PF id %d requested an unsupported reset: %d.\n", in i40e_client_request_reset()
668 * @client: Client pointer.
677 struct i40e_client *client, in i40e_client_update_vsi_ctxt() argument
717 "Client for PF id %d request an unsupported Config: %x.\n", in i40e_client_update_vsi_ctxt()
735 * i40e_register_client - Register a i40e client driver with the L2 driver
736 * @client: pointer to the i40e_client struct
740 int i40e_register_client(struct i40e_client *client) in i40e_register_client() argument
744 if (!client) { in i40e_register_client()
749 if (strlen(client->name) == 0) { in i40e_register_client()
750 pr_info("i40e: Failed to register client with no name\n"); in i40e_register_client()
756 pr_info("i40e: Client %s has already been registered!\n", in i40e_register_client()
757 client->name); in i40e_register_client()
762 if ((client->version.major != I40E_CLIENT_VERSION_MAJOR) || in i40e_register_client()
763 (client->version.minor != I40E_CLIENT_VERSION_MINOR)) { in i40e_register_client()
764 pr_info("i40e: Failed to register client %s due to mismatched client interface version\n", in i40e_register_client()
765 client->name); in i40e_register_client()
766 pr_info("Client is using version: %02d.%02d.%02d while LAN driver supports %s\n", in i40e_register_client()
767 client->version.major, client->version.minor, in i40e_register_client()
768 client->version.build, in i40e_register_client()
774 registered_client = client; in i40e_register_client()
776 i40e_client_prepare(client); in i40e_register_client()
778 pr_info("i40e: Registered client %s\n", client->name); in i40e_register_client()
785 * i40e_unregister_client - Unregister a i40e client driver with the L2 driver
786 * @client: pointer to the i40e_client struct
790 int i40e_unregister_client(struct i40e_client *client) in i40e_unregister_client() argument
794 if (registered_client != client) { in i40e_unregister_client()
795 pr_info("i40e: Client %s has not been registered\n", in i40e_unregister_client()
796 client->name); in i40e_unregister_client()
802 * a close for each of the client instances that were opened. in i40e_unregister_client()
805 i40e_client_release(client); in i40e_unregister_client()
807 pr_info("i40e: Unregistered client %s\n", client->name); in i40e_unregister_client()