History

Merge tag 'v5.7-rc4' into core

Linux 5.7-rc4

Joerg Roedel committed 6 years ago

Commit ec9b40c2 parents 3a0ce12 0e698df162 files · +1289 −604Browse files

Showing the changes to include/linux (4 of 162 files). Show all

Unified · Split

4 files
  1. include/linux/dma-buf.h +1 −2
  2. include/linux/dmaengine.h +6 −6
  3. include/linux/nfs_xdr.h +2 −0
  4. include/linux/sunrpc/clnt.h +12 −1
include/linux/dma-buf.h+1−2
@@ -329,13 +329,12 @@ struct dma_buf { · 328 unmodified lines
329329
330330 /**
331331 * struct dma_buf_attach_ops - importer operations for an attachment
332− * @move_notify: [optional] notification that the DMA-buf is moving
333332 *
334333 * Attachment operations implemented by the importer.
335334 */
336335 struct dma_buf_attach_ops {
337336 /**
338− * @move_notify
337+ * @move_notify: [optional] notification that the DMA-buf is moving
339338 *
340339 * If this callback is provided the framework can avoid pinning the
341340 * backing store while mappings exists.
include/linux/dmaengine.h+6−6
@@ -83,9 +83,9 @@ enum dma_transfer_direction { · 82 unmodified lines
8383 /**
8484 * Interleaved Transfer Request
8585 * ----------------------------
86− * A chunk is collection of contiguous bytes to be transfered.
86+ * A chunk is collection of contiguous bytes to be transferred.
8787 * The gap(in bytes) between two chunks is called inter-chunk-gap(ICG).
88− * ICGs may or maynot change between chunks.
88+ * ICGs may or may not change between chunks.
8989 * A FRAME is the smallest series of contiguous {chunk,icg} pairs,
9090 * that when repeated an integral number of times, specifies the transfer.
9191 * A transfer template is specification of a Frame, the number of times
@@ -341,13 +341,11 @@ struct dma_chan { · 249 unmodified lines
341341 * @chan: driver channel device
342342 * @device: sysfs device
343343 * @dev_id: parent dma_device dev_id
344− * @idr_ref: reference count to gate release of dma_device dev_id
345344 */
346345 struct dma_chan_dev {
347346 struct dma_chan *chan;
348347 struct device device;
349348 int dev_id;
350− atomic_t *idr_ref;
351349 };
352350
353351 /**
@@ -835,6 +833,8 @@ struct dma_device { · 481 unmodified lines
835833 int dev_id;
836834 struct device *dev;
837835 struct module *owner;
836+ struct ida chan_ida;
837+ struct mutex chan_mutex; /* to protect chan_ida */
838838
839839 u32 src_addr_widths;
840840 u32 dst_addr_widths;
@@ -1069,7 +1069,7 @@ static inline int dmaengine_terminate_all(struct dma_chan *chan) · 228 unmodified lines
10691069 * dmaengine_synchronize() needs to be called before it is safe to free
10701070 * any memory that is accessed by previously submitted descriptors or before
10711071 * freeing any resources accessed from within the completion callback of any
1072− * perviously submitted descriptors.
1072+ * previously submitted descriptors.
10731073 *
10741074 * This function can be called from atomic context as well as from within a
10751075 * complete callback of a descriptor submitted on the same channel.
@@ -1091,7 +1091,7 @@ static inline int dmaengine_terminate_async(struct dma_chan *chan) · 15 unmodified lines
10911091 *
10921092 * Synchronizes to the DMA channel termination to the current context. When this
10931093 * function returns it is guaranteed that all transfers for previously issued
1094− * descriptors have stopped and and it is safe to free the memory assoicated
1094+ * descriptors have stopped and it is safe to free the memory associated
10951095 * with them. Furthermore it is guaranteed that all complete callback functions
10961096 * for a previously submitted descriptor have finished running and it is safe to
10971097 * free resources accessed from within the complete callbacks.
include/linux/nfs_xdr.h+2−0
@@ -1317,11 +1317,13 @@ struct nfs41_impl_id { · 1316 unmodified lines
13171317 struct nfstime4 date;
13181318 };
13191319
1320+#define MAX_BIND_CONN_TO_SESSION_RETRIES 3
13201321 struct nfs41_bind_conn_to_session_args {
13211322 struct nfs_client *client;
13221323 struct nfs4_sessionid sessionid;
13231324 u32 dir;
13241325 bool use_conn_in_rdma_mode;
1326+ int retries;
13251327 };
13261328
13271329 struct nfs41_bind_conn_to_session_res {
include/linux/sunrpc/clnt.h+12−1
@@ -71,7 +71,13 @@ struct rpc_clnt { · 70 unmodified lines
7171 #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
7272 struct dentry *cl_debugfs; /* debugfs directory */
7373 #endif
74− struct rpc_xprt_iter cl_xpi;
74+ /* cl_work is only needed after cl_xpi is no longer used,
75+ * and that are of similar size
76+ */
77+ union {
78+ struct rpc_xprt_iter cl_xpi;
79+ struct work_struct cl_work;
80+ };
7581 const struct cred *cl_cred;
7682 };
7783
@@ -236,4 +242,9 @@ static inline int rpc_reply_expected(struct rpc_task *task) · 158 unmodified lines
236242 (task->tk_msg.rpc_proc->p_decode != NULL);
237243 }
238244
245+static inline void rpc_task_close_connection(struct rpc_task *task)
246+{
247+ if (task->tk_xprt)
248+ xprt_force_disconnect(task->tk_xprt);
249+}
239250 #endif /* _LINUX_SUNRPC_CLNT_H */