Keep TX and RX buffers on EFI rather than always allocate new ones.
* include/grub/net.h (grub_net_card_driver): Allow driver to modify card. All users updated. (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy. * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer. (get_card_packet): Likewise. (grub_efinet_findcards): Init new fields.
This commit is contained in:
parent
f695e99a75
commit
3e74723951
6 changed files with 96 additions and 60 deletions
|
@ -32,7 +32,7 @@ struct grub_ofnetcard_data
|
|||
};
|
||||
|
||||
static grub_err_t
|
||||
card_open (const struct grub_net_card *dev)
|
||||
card_open (struct grub_net_card *dev)
|
||||
{
|
||||
int status;
|
||||
struct grub_ofnetcard_data *data = dev->data;
|
||||
|
@ -51,7 +51,7 @@ card_open (const struct grub_net_card *dev)
|
|||
}
|
||||
|
||||
static void
|
||||
card_close (const struct grub_net_card *dev)
|
||||
card_close (struct grub_net_card *dev)
|
||||
{
|
||||
struct grub_ofnetcard_data *data = dev->data;
|
||||
|
||||
|
@ -60,7 +60,7 @@ card_close (const struct grub_net_card *dev)
|
|||
}
|
||||
|
||||
static grub_err_t
|
||||
send_card_buffer (const struct grub_net_card *dev, struct grub_net_buff *pack)
|
||||
send_card_buffer (struct grub_net_card *dev, struct grub_net_buff *pack)
|
||||
{
|
||||
grub_ssize_t actual;
|
||||
int status;
|
||||
|
@ -75,7 +75,7 @@ send_card_buffer (const struct grub_net_card *dev, struct grub_net_buff *pack)
|
|||
}
|
||||
|
||||
static struct grub_net_buff *
|
||||
get_card_packet (const struct grub_net_card *dev)
|
||||
get_card_packet (struct grub_net_card *dev)
|
||||
{
|
||||
grub_ssize_t actual;
|
||||
int rc;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue