Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
ce78ffa3
Commit
ce78ffa3
authored
Aug 03, 2021
by
David S. Miller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
net: really fix the build...
Signed-off-by:
David S. Miller
<
davem@davemloft.net
>
parent
0541a629
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
30 additions
and
8 deletions
+30
-8
drivers/bus/mhi/core/internal.h
drivers/bus/mhi/core/internal.h
+1
-1
drivers/bus/mhi/core/main.c
drivers/bus/mhi/core/main.c
+6
-3
drivers/net/mhi/net.c
drivers/net/mhi/net.c
+1
-1
drivers/net/wwan/mhi_wwan_ctrl.c
drivers/net/wwan/mhi_wwan_ctrl.c
+1
-1
include/linux/mhi.h
include/linux/mhi.h
+6
-1
net/qrtr/mhi.c
net/qrtr/mhi.c
+15
-1
No files found.
drivers/bus/mhi/core/internal.h
View file @
ce78ffa3
...
...
@@ -682,7 +682,7 @@ void mhi_rddm_prepare(struct mhi_controller *mhi_cntrl,
struct
image_info
*
img_info
);
void
mhi_fw_load_handler
(
struct
mhi_controller
*
mhi_cntrl
);
int
mhi_prepare_channel
(
struct
mhi_controller
*
mhi_cntrl
,
struct
mhi_chan
*
mhi_chan
);
struct
mhi_chan
*
mhi_chan
,
unsigned
int
flags
);
int
mhi_init_chan_ctxt
(
struct
mhi_controller
*
mhi_cntrl
,
struct
mhi_chan
*
mhi_chan
);
void
mhi_deinit_chan_ctxt
(
struct
mhi_controller
*
mhi_cntrl
,
...
...
drivers/bus/mhi/core/main.c
View file @
ce78ffa3
...
...
@@ -1430,7 +1430,7 @@ static void mhi_unprepare_channel(struct mhi_controller *mhi_cntrl,
}
int
mhi_prepare_channel
(
struct
mhi_controller
*
mhi_cntrl
,
struct
mhi_chan
*
mhi_chan
)
struct
mhi_chan
*
mhi_chan
,
unsigned
int
flags
)
{
int
ret
=
0
;
struct
device
*
dev
=
&
mhi_chan
->
mhi_dev
->
dev
;
...
...
@@ -1455,6 +1455,9 @@ int mhi_prepare_channel(struct mhi_controller *mhi_cntrl,
if
(
ret
)
goto
error_pm_state
;
if
(
mhi_chan
->
dir
==
DMA_FROM_DEVICE
)
mhi_chan
->
pre_alloc
=
!!
(
flags
&
MHI_CH_INBOUND_ALLOC_BUFS
);
/* Pre-allocate buffer for xfer ring */
if
(
mhi_chan
->
pre_alloc
)
{
int
nr_el
=
get_nr_avail_ring_elements
(
mhi_cntrl
,
...
...
@@ -1610,7 +1613,7 @@ void mhi_reset_chan(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan)
}
/* Move channel to start state */
int
mhi_prepare_for_transfer
(
struct
mhi_device
*
mhi_dev
)
int
mhi_prepare_for_transfer
(
struct
mhi_device
*
mhi_dev
,
unsigned
int
flags
)
{
int
ret
,
dir
;
struct
mhi_controller
*
mhi_cntrl
=
mhi_dev
->
mhi_cntrl
;
...
...
@@ -1621,7 +1624,7 @@ int mhi_prepare_for_transfer(struct mhi_device *mhi_dev)
if
(
!
mhi_chan
)
continue
;
ret
=
mhi_prepare_channel
(
mhi_cntrl
,
mhi_chan
);
ret
=
mhi_prepare_channel
(
mhi_cntrl
,
mhi_chan
,
flags
);
if
(
ret
)
goto
error_open_chan
;
}
...
...
drivers/net/mhi/net.c
View file @
ce78ffa3
...
...
@@ -335,7 +335,7 @@ static int mhi_net_newlink(void *ctxt, struct net_device *ndev, u32 if_id,
u64_stats_init
(
&
mhi_netdev
->
stats
.
tx_syncp
);
/* Start MHI channels */
err
=
mhi_prepare_for_transfer
(
mhi_dev
);
err
=
mhi_prepare_for_transfer
(
mhi_dev
,
0
);
if
(
err
)
goto
out_err
;
...
...
drivers/net/wwan/mhi_wwan_ctrl.c
View file @
ce78ffa3
...
...
@@ -110,7 +110,7 @@ static int mhi_wwan_ctrl_start(struct wwan_port *port)
int
ret
;
/* Start mhi device's channel(s) */
ret
=
mhi_prepare_for_transfer
(
mhiwwan
->
mhi_dev
);
ret
=
mhi_prepare_for_transfer
(
mhiwwan
->
mhi_dev
,
0
);
if
(
ret
)
return
ret
;
...
...
include/linux/mhi.h
View file @
ce78ffa3
...
...
@@ -719,8 +719,13 @@ void mhi_device_put(struct mhi_device *mhi_dev);
* host and device execution environments match and
* channels are in a DISABLED state.
* @mhi_dev: Device associated with the channels
* @flags: MHI channel flags
*/
int
mhi_prepare_for_transfer
(
struct
mhi_device
*
mhi_dev
);
int
mhi_prepare_for_transfer
(
struct
mhi_device
*
mhi_dev
,
unsigned
int
flags
);
/* Automatically allocate and queue inbound buffers */
#define MHI_CH_INBOUND_ALLOC_BUFS BIT(0)
/**
* mhi_unprepare_from_transfer - Reset UL and DL channels for data transfer.
...
...
net/qrtr/mhi.c
View file @
ce78ffa3
...
...
@@ -15,6 +15,7 @@ struct qrtr_mhi_dev {
struct
qrtr_endpoint
ep
;
struct
mhi_device
*
mhi_dev
;
struct
device
*
dev
;
struct
completion
ready
;
};
/* From MHI to QRTR */
...
...
@@ -50,6 +51,10 @@ static int qcom_mhi_qrtr_send(struct qrtr_endpoint *ep, struct sk_buff *skb)
struct
qrtr_mhi_dev
*
qdev
=
container_of
(
ep
,
struct
qrtr_mhi_dev
,
ep
);
int
rc
;
rc
=
wait_for_completion_interruptible
(
&
qdev
->
ready
);
if
(
rc
)
goto
free_skb
;
if
(
skb
->
sk
)
sock_hold
(
skb
->
sk
);
...
...
@@ -79,7 +84,7 @@ static int qcom_mhi_qrtr_probe(struct mhi_device *mhi_dev,
int
rc
;
/* start channels */
rc
=
mhi_prepare_for_transfer
(
mhi_dev
);
rc
=
mhi_prepare_for_transfer
(
mhi_dev
,
0
);
if
(
rc
)
return
rc
;
...
...
@@ -96,6 +101,15 @@ static int qcom_mhi_qrtr_probe(struct mhi_device *mhi_dev,
if
(
rc
)
return
rc
;
/* start channels */
rc
=
mhi_prepare_for_transfer
(
mhi_dev
,
MHI_CH_INBOUND_ALLOC_BUFS
);
if
(
rc
)
{
qrtr_endpoint_unregister
(
&
qdev
->
ep
);
dev_set_drvdata
(
&
mhi_dev
->
dev
,
NULL
);
return
rc
;
}
complete_all
(
&
qdev
->
ready
);
dev_dbg
(
qdev
->
dev
,
"Qualcomm MHI QRTR driver probed
\n
"
);
return
0
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment