Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba826382 authored by Roland Dreier's avatar Roland Dreier
Browse files

Merge branches 'misc', 'nes' and 'srp' into for-next

Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -694,7 +694,7 @@ static int __devinit nes_probe(struct pci_dev *pcidev, const struct pci_device_i
	nesdev->netdev_count++;
	nesdev->nesadapter->netdev_count++;

	printk(KERN_ERR PFX "%s: NetEffect RNIC driver successfully loaded.\n",
	printk(KERN_INFO PFX "%s: NetEffect RNIC driver successfully loaded.\n",
			pci_name(pcidev));
	return 0;

+481 −244

File changed.

Preview size limit exceeded, changes collapsed.

+33 −5
Original line number Diff line number Diff line
@@ -69,9 +69,13 @@ enum {
	SRP_TAG_NO_REQ		= ~0U,
	SRP_TAG_TSK_MGMT	= 1U << 31,

	SRP_FMR_SIZE		= 256,
	SRP_FMR_SIZE		= 512,
	SRP_FMR_MIN_SIZE	= 128,
	SRP_FMR_POOL_SIZE	= 1024,
	SRP_FMR_DIRTY_SIZE	= SRP_FMR_POOL_SIZE / 4
	SRP_FMR_DIRTY_SIZE	= SRP_FMR_POOL_SIZE / 4,

	SRP_MAP_ALLOW_FMR	= 0,
	SRP_MAP_NO_FMR		= 1,
};

enum srp_target_state {
@@ -93,9 +97,9 @@ struct srp_device {
	struct ib_pd	       *pd;
	struct ib_mr	       *mr;
	struct ib_fmr_pool     *fmr_pool;
	int			fmr_page_shift;
	int			fmr_page_size;
	u64			fmr_page_mask;
	int			fmr_page_size;
	int			fmr_max_size;
};

struct srp_host {
@@ -112,7 +116,11 @@ struct srp_request {
	struct list_head	list;
	struct scsi_cmnd       *scmnd;
	struct srp_iu	       *cmd;
	struct ib_pool_fmr     *fmr;
	struct ib_pool_fmr    **fmr_list;
	u64		       *map_page;
	struct srp_direct_buf  *indirect_desc;
	dma_addr_t		indirect_dma_addr;
	short			nfmr;
	short			index;
};

@@ -130,6 +138,10 @@ struct srp_target_port {
	u32			lkey;
	u32			rkey;
	enum srp_target_state	state;
	unsigned int		max_iu_len;
	unsigned int		cmd_sg_cnt;
	unsigned int		indirect_size;
	bool			allow_ext_sg;

	/* Everything above this point is used in the hot path of
	 * command processing. Try to keep them packed into cachelines.
@@ -144,6 +156,7 @@ struct srp_target_port {
	struct Scsi_Host       *scsi_host;
	char			target_name[32];
	unsigned int		scsi_id;
	unsigned int		sg_tablesize;

	struct ib_sa_path_rec	path;
	__be16			orig_dgid[8];
@@ -179,4 +192,19 @@ struct srp_iu {
	enum dma_data_direction	direction;
};

struct srp_map_state {
	struct ib_pool_fmr    **next_fmr;
	struct srp_direct_buf  *desc;
	u64		       *pages;
	dma_addr_t		base_dma_addr;
	u32			fmr_len;
	u32			total_len;
	unsigned int		npages;
	unsigned int		nfmr;
	unsigned int		ndesc;
	struct scatterlist     *unmapped_sg;
	int			unmapped_index;
	dma_addr_t		unmapped_addr;
};

#endif /* IB_SRP_H */