Commit 233f519d authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Greg Kroah-Hartman

usb: renesas_usbhs: fixup comment-out

This patch add/modify comment-out of renesas_usbhs.
On this process, usbhs_pkt_init was moved because it was placed under
usbhsf_null_handler which has no relationship it
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 45304e8c
...@@ -21,6 +21,29 @@ ...@@ -21,6 +21,29 @@
#include <linux/sysfs.h> #include <linux/sysfs.h>
#include "./common.h" #include "./common.h"
/*
* image of renesas_usbhs
*
* ex) gadget case
* mod.c
* mod_gadget.c
* mod_host.c pipe.c fifo.c
*
* +-------+ +-----------+
* | pipe0 |------>| fifo pio |
* +------------+ +-------+ +-----------+
* | mod_gadget |=====> | pipe1 |--+
* +------------+ +-------+ | +-----------+
* | pipe2 | | +-| fifo dma0 |
* +------------+ +-------+ | | +-----------+
* | mod_host | | pipe3 |<-|--+
* +------------+ +-------+ | +-----------+
* | .... | +--->| fifo dma1 |
* | .... | +-----------+
*/
#define USBHSF_RUNTIME_PWCTRL (1 << 0) #define USBHSF_RUNTIME_PWCTRL (1 << 0)
/* status */ /* status */
......
...@@ -26,7 +26,16 @@ ...@@ -26,7 +26,16 @@
#define usbhsf_fifo_is_busy(f) ((f)->pipe) /* see usbhs_pipe_select_fifo */ #define usbhsf_fifo_is_busy(f) ((f)->pipe) /* see usbhs_pipe_select_fifo */
/* /*
* packet info function * packet initialize
*/
void usbhs_pkt_init(struct usbhs_pkt *pkt)
{
pkt->dma = DMA_ADDR_INVALID;
INIT_LIST_HEAD(&pkt->node);
}
/*
* packet control function
*/ */
static int usbhsf_null_handle(struct usbhs_pkt *pkt, int *is_done) static int usbhsf_null_handle(struct usbhs_pkt *pkt, int *is_done)
{ {
...@@ -43,12 +52,6 @@ static struct usbhs_pkt_handle usbhsf_null_handler = { ...@@ -43,12 +52,6 @@ static struct usbhs_pkt_handle usbhsf_null_handler = {
.try_run = usbhsf_null_handle, .try_run = usbhsf_null_handle,
}; };
void usbhs_pkt_init(struct usbhs_pkt *pkt)
{
pkt->dma = DMA_ADDR_INVALID;
INIT_LIST_HEAD(&pkt->node);
}
void usbhs_pkt_push(struct usbhs_pipe *pipe, struct usbhs_pkt *pkt, void usbhs_pkt_push(struct usbhs_pipe *pipe, struct usbhs_pkt *pkt,
struct usbhs_pkt_handle *handler, struct usbhs_pkt_handle *handler,
void *buf, int len, int zero) void *buf, int len, int zero)
...@@ -293,7 +296,7 @@ static int usbhsf_fifo_select(struct usbhs_pipe *pipe, ...@@ -293,7 +296,7 @@ static int usbhsf_fifo_select(struct usbhs_pipe *pipe,
} }
/* /*
* PIO fifo functions * PIO push handler
*/ */
static int usbhsf_pio_try_push(struct usbhs_pkt *pkt, int *is_done) static int usbhsf_pio_try_push(struct usbhs_pkt *pkt, int *is_done)
{ {
...@@ -395,6 +398,9 @@ struct usbhs_pkt_handle usbhs_fifo_pio_push_handler = { ...@@ -395,6 +398,9 @@ struct usbhs_pkt_handle usbhs_fifo_pio_push_handler = {
.try_run = usbhsf_pio_try_push, .try_run = usbhsf_pio_try_push,
}; };
/*
* PIO pop handler
*/
static int usbhsf_prepare_pop(struct usbhs_pkt *pkt, int *is_done) static int usbhsf_prepare_pop(struct usbhs_pkt *pkt, int *is_done)
{ {
struct usbhs_pipe *pipe = pkt->pipe; struct usbhs_pipe *pipe = pkt->pipe;
...@@ -497,7 +503,7 @@ struct usbhs_pkt_handle usbhs_fifo_pio_pop_handler = { ...@@ -497,7 +503,7 @@ struct usbhs_pkt_handle usbhs_fifo_pio_pop_handler = {
}; };
/* /*
* handler function * DCP ctrol statge handler
*/ */
static int usbhsf_ctrl_stage_end(struct usbhs_pkt *pkt, int *is_done) static int usbhsf_ctrl_stage_end(struct usbhs_pkt *pkt, int *is_done)
{ {
...@@ -614,6 +620,9 @@ static void usbhsf_dma_prepare_tasklet(unsigned long data) ...@@ -614,6 +620,9 @@ static void usbhsf_dma_prepare_tasklet(unsigned long data)
dma_async_issue_pending(chan); dma_async_issue_pending(chan);
} }
/*
* DMA push handler
*/
static int usbhsf_dma_prepare_push(struct usbhs_pkt *pkt, int *is_done) static int usbhsf_dma_prepare_push(struct usbhs_pkt *pkt, int *is_done)
{ {
struct usbhs_pipe *pipe = pkt->pipe; struct usbhs_pipe *pipe = pkt->pipe;
...@@ -686,6 +695,9 @@ struct usbhs_pkt_handle usbhs_fifo_dma_push_handler = { ...@@ -686,6 +695,9 @@ struct usbhs_pkt_handle usbhs_fifo_dma_push_handler = {
.dma_done = usbhsf_dma_push_done, .dma_done = usbhsf_dma_push_done,
}; };
/*
* DMA pop handler
*/
static int usbhsf_dma_try_pop(struct usbhs_pkt *pkt, int *is_done) static int usbhsf_dma_try_pop(struct usbhs_pkt *pkt, int *is_done)
{ {
struct usbhs_pipe *pipe = pkt->pipe; struct usbhs_pipe *pipe = pkt->pipe;
......
...@@ -114,7 +114,7 @@ struct usbhsg_recip_handle { ...@@ -114,7 +114,7 @@ struct usbhsg_recip_handle {
#define usbhsg_status_has(gp, b) (gp->status & b) #define usbhsg_status_has(gp, b) (gp->status & b)
/* /*
* list push/pop * queue push/pop
*/ */
static void usbhsg_queue_push(struct usbhsg_uep *uep, static void usbhsg_queue_push(struct usbhsg_uep *uep,
struct usbhsg_request *ureq) struct usbhsg_request *ureq)
...@@ -160,6 +160,9 @@ static void usbhsg_queue_done(struct usbhs_pkt *pkt) ...@@ -160,6 +160,9 @@ static void usbhsg_queue_done(struct usbhs_pkt *pkt)
usbhsg_queue_pop(uep, ureq, 0); usbhsg_queue_pop(uep, ureq, 0);
} }
/*
* dma map/unmap
*/
static int usbhsg_dma_map(struct device *dev, static int usbhsg_dma_map(struct device *dev,
struct usbhs_pkt *pkt, struct usbhs_pkt *pkt,
enum dma_data_direction dir) enum dma_data_direction dir)
...@@ -473,6 +476,11 @@ static int usbhsg_ep_enable(struct usb_ep *ep, ...@@ -473,6 +476,11 @@ static int usbhsg_ep_enable(struct usb_ep *ep,
uep->pipe = pipe; uep->pipe = pipe;
pipe->mod_private = uep; pipe->mod_private = uep;
/*
* usbhs_fifo_dma_push/pop_handler try to
* use dmaengine if possible.
* It will use pio handler if impossible.
*/
if (usb_endpoint_dir_in(desc)) if (usb_endpoint_dir_in(desc))
uep->handler = &usbhs_fifo_dma_push_handler; uep->handler = &usbhs_fifo_dma_push_handler;
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment