Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI updates from James Bottomley: "This is mostly updates to the usual drivers: ufs, qedf, mpt3sas, lpfc, xfcp, hisi_sas, cxlflash, qla2xxx. In the absence of Nic, we're also taking target updates which are mostly minor except for the tcmu refactor. The only real core change to worry about is the removal of high page bouncing (in sas, storvsc and iscsi). This has been well tested and no problems have shown up so far" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (268 commits) scsi: lpfc: update driver version to 12.0.0.4 scsi: lpfc: Fix port initialization failure. scsi: lpfc: Fix 16gb hbas failing cq create. scsi: lpfc: Fix crash in blk_mq layer when executing modprobe -r lpfc scsi: lpfc: correct oversubscription of nvme io requests for an adapter scsi: lpfc: Fix MDS diagnostics failure (Rx < Tx) scsi: hisi_sas: Mark PHY as in reset for nexus reset scsi: hisi_sas: Fix return value when get_free_slot() failed scsi: hisi_sas: Terminate STP reject quickly for v2 hw scsi: hisi_sas: Add v2 hw force PHY function for internal ATA command scsi: hisi_sas: Include TMF elements in struct hisi_sas_slot scsi: hisi_sas: Try wait commands before before controller reset scsi: hisi_sas: Init disks after controller reset scsi: hisi_sas: Create a scsi_host_template per HW module scsi: hisi_sas: Reset disks when discovered scsi: hisi_sas: Add LED feature for v3 hw scsi: hisi_sas: Change common allocation mode of device id scsi: hisi_sas: change slot index allocation mode scsi: hisi_sas: Introduce hisi_sas_phy_set_linkrate() scsi: hisi_sas: fix a typo in hisi_sas_task_prep() ...
This commit is contained in:
@@ -189,7 +189,6 @@ struct netvsc_device;
|
||||
struct net_device_context;
|
||||
|
||||
extern u32 netvsc_ring_bytes;
|
||||
extern struct reciprocal_value netvsc_ring_reciprocal;
|
||||
|
||||
struct netvsc_device *netvsc_device_add(struct hv_device *device,
|
||||
const struct netvsc_device_info *info);
|
||||
|
@@ -31,7 +31,6 @@
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
#include <linux/prefetch.h>
|
||||
#include <linux/reciprocal_div.h>
|
||||
|
||||
#include <asm/sync_bitops.h>
|
||||
|
||||
@@ -635,17 +634,6 @@ void netvsc_device_remove(struct hv_device *device)
|
||||
#define RING_AVAIL_PERCENT_HIWATER 20
|
||||
#define RING_AVAIL_PERCENT_LOWATER 10
|
||||
|
||||
/*
|
||||
* Get the percentage of available bytes to write in the ring.
|
||||
* The return value is in range from 0 to 100.
|
||||
*/
|
||||
static u32 hv_ringbuf_avail_percent(const struct hv_ring_buffer_info *ring_info)
|
||||
{
|
||||
u32 avail_write = hv_get_bytes_to_write(ring_info);
|
||||
|
||||
return reciprocal_divide(avail_write * 100, netvsc_ring_reciprocal);
|
||||
}
|
||||
|
||||
static inline void netvsc_free_send_slot(struct netvsc_device *net_device,
|
||||
u32 index)
|
||||
{
|
||||
@@ -694,8 +682,8 @@ static void netvsc_send_tx_complete(struct net_device *ndev,
|
||||
struct netdev_queue *txq = netdev_get_tx_queue(ndev, q_idx);
|
||||
|
||||
if (netif_tx_queue_stopped(txq) &&
|
||||
(hv_ringbuf_avail_percent(&channel->outbound) > RING_AVAIL_PERCENT_HIWATER ||
|
||||
queue_sends < 1)) {
|
||||
(hv_get_avail_to_write_percent(&channel->outbound) >
|
||||
RING_AVAIL_PERCENT_HIWATER || queue_sends < 1)) {
|
||||
netif_tx_wake_queue(txq);
|
||||
ndev_ctx->eth_stats.wake_queue++;
|
||||
}
|
||||
@@ -802,7 +790,7 @@ static inline int netvsc_send_pkt(
|
||||
struct netdev_queue *txq = netdev_get_tx_queue(ndev, packet->q_idx);
|
||||
u64 req_id;
|
||||
int ret;
|
||||
u32 ring_avail = hv_ringbuf_avail_percent(&out_channel->outbound);
|
||||
u32 ring_avail = hv_get_avail_to_write_percent(&out_channel->outbound);
|
||||
|
||||
nvmsg.hdr.msg_type = NVSP_MSG1_TYPE_SEND_RNDIS_PKT;
|
||||
if (skb)
|
||||
|
@@ -35,7 +35,6 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
#include <linux/netpoll.h>
|
||||
#include <linux/reciprocal_div.h>
|
||||
|
||||
#include <net/arp.h>
|
||||
#include <net/route.h>
|
||||
@@ -59,7 +58,6 @@ static unsigned int ring_size __ro_after_init = 128;
|
||||
module_param(ring_size, uint, 0444);
|
||||
MODULE_PARM_DESC(ring_size, "Ring buffer size (# of pages)");
|
||||
unsigned int netvsc_ring_bytes __ro_after_init;
|
||||
struct reciprocal_value netvsc_ring_reciprocal __ro_after_init;
|
||||
|
||||
static const u32 default_msg = NETIF_MSG_DRV | NETIF_MSG_PROBE |
|
||||
NETIF_MSG_LINK | NETIF_MSG_IFUP |
|
||||
@@ -2130,7 +2128,6 @@ static int __init netvsc_drv_init(void)
|
||||
ring_size);
|
||||
}
|
||||
netvsc_ring_bytes = ring_size * PAGE_SIZE;
|
||||
netvsc_ring_reciprocal = reciprocal_value(netvsc_ring_bytes);
|
||||
|
||||
ret = vmbus_driver_register(&netvsc_drv);
|
||||
if (ret)
|
||||
|
Reference in New Issue
Block a user