mirror of https://gitee.com/openkylin/linux.git
usb: musb: cppi_dma: Clean up cppi41_dma_controller structure
A pointer to musb is now present in the dma_controller structure. Remove the one present in cppi41_dma_controller structure. Signed-off-by: Alexandre Bailon <abailon@baylibre.com> Signed-off-by: Bin Liu <b-liu@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
03158f9015
commit
995ee0eab8
|
@ -30,7 +30,6 @@ struct cppi41_dma_controller {
|
|||
struct dma_controller controller;
|
||||
struct cppi41_dma_channel rx_channel[MUSB_DMA_NUM_CHANNELS];
|
||||
struct cppi41_dma_channel tx_channel[MUSB_DMA_NUM_CHANNELS];
|
||||
struct musb *musb;
|
||||
struct hrtimer early_tx;
|
||||
struct list_head early_tx_list;
|
||||
u32 rx_mode;
|
||||
|
@ -45,7 +44,7 @@ static void save_rx_toggle(struct cppi41_dma_channel *cppi41_channel)
|
|||
|
||||
if (cppi41_channel->is_tx)
|
||||
return;
|
||||
if (!is_host_active(cppi41_channel->controller->musb))
|
||||
if (!is_host_active(cppi41_channel->controller->controller.musb))
|
||||
return;
|
||||
|
||||
csr = musb_readw(cppi41_channel->hw_ep->regs, MUSB_RXCSR);
|
||||
|
@ -78,8 +77,7 @@ static void update_rx_toggle(struct cppi41_dma_channel *cppi41_channel)
|
|||
if (!toggle && toggle == cppi41_channel->usb_toggle) {
|
||||
csr |= MUSB_RXCSR_H_DATATOGGLE | MUSB_RXCSR_H_WR_DATATOGGLE;
|
||||
musb_writew(cppi41_channel->hw_ep->regs, MUSB_RXCSR, csr);
|
||||
musb_dbg(cppi41_channel->controller->musb,
|
||||
"Restoring DATA1 toggle.");
|
||||
musb_dbg(musb, "Restoring DATA1 toggle.");
|
||||
}
|
||||
|
||||
cppi41_channel->usb_toggle = toggle;
|
||||
|
@ -180,7 +178,7 @@ static enum hrtimer_restart cppi41_recheck_tx_req(struct hrtimer *timer)
|
|||
|
||||
controller = container_of(timer, struct cppi41_dma_controller,
|
||||
early_tx);
|
||||
musb = controller->musb;
|
||||
musb = controller->controller.musb;
|
||||
|
||||
spin_lock_irqsave(&musb->lock, flags);
|
||||
list_for_each_entry_safe(cppi41_channel, n, &controller->early_tx_list,
|
||||
|
@ -309,6 +307,7 @@ static void cppi41_set_dma_mode(struct cppi41_dma_channel *cppi41_channel,
|
|||
unsigned mode)
|
||||
{
|
||||
struct cppi41_dma_controller *controller = cppi41_channel->controller;
|
||||
struct musb *musb = controller->controller.musb;
|
||||
u32 port;
|
||||
u32 new_mode;
|
||||
u32 old_mode;
|
||||
|
@ -324,12 +323,10 @@ static void cppi41_set_dma_mode(struct cppi41_dma_channel *cppi41_channel,
|
|||
return;
|
||||
if (cppi41_channel->is_tx) {
|
||||
controller->tx_mode = new_mode;
|
||||
musb_writel(controller->musb->ctrl_base, USB_CTRL_TX_MODE,
|
||||
new_mode);
|
||||
musb_writel(musb->ctrl_base, USB_CTRL_TX_MODE, new_mode);
|
||||
} else {
|
||||
controller->rx_mode = new_mode;
|
||||
musb_writel(controller->musb->ctrl_base, USB_CTRL_RX_MODE,
|
||||
new_mode);
|
||||
musb_writel(musb->ctrl_base, USB_CTRL_RX_MODE, new_mode);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -348,7 +345,8 @@ static void cppi41_set_autoreq_mode(struct cppi41_dma_channel *cppi41_channel,
|
|||
if (new_mode == old_mode)
|
||||
return;
|
||||
controller->auto_req = new_mode;
|
||||
musb_writel(controller->musb->ctrl_base, USB_CTRL_AUTOREQ, new_mode);
|
||||
musb_writel(controller->controller.musb->ctrl_base, USB_CTRL_AUTOREQ,
|
||||
new_mode);
|
||||
}
|
||||
|
||||
static bool cppi41_configure_channel(struct dma_channel *channel,
|
||||
|
@ -359,7 +357,7 @@ static bool cppi41_configure_channel(struct dma_channel *channel,
|
|||
struct dma_chan *dc = cppi41_channel->dc;
|
||||
struct dma_async_tx_descriptor *dma_desc;
|
||||
enum dma_transfer_direction direction;
|
||||
struct musb *musb = cppi41_channel->controller->musb;
|
||||
struct musb *musb = cppi41_channel->controller->controller.musb;
|
||||
unsigned use_gen_rndis = 0;
|
||||
|
||||
cppi41_channel->buf_addr = dma_addr;
|
||||
|
@ -472,7 +470,7 @@ static int cppi41_dma_channel_program(struct dma_channel *channel,
|
|||
BUG_ON(channel->status == MUSB_DMA_STATUS_UNKNOWN ||
|
||||
channel->status == MUSB_DMA_STATUS_BUSY);
|
||||
|
||||
if (is_host_active(cppi41_channel->controller->musb)) {
|
||||
if (is_host_active(cppi41_channel->controller->controller.musb)) {
|
||||
if (cppi41_channel->is_tx)
|
||||
hb_mult = cppi41_channel->hw_ep->out_qh->hb_mult;
|
||||
else
|
||||
|
@ -497,7 +495,7 @@ static int cppi41_is_compatible(struct dma_channel *channel, u16 maxpacket,
|
|||
{
|
||||
struct cppi41_dma_channel *cppi41_channel = channel->private_data;
|
||||
struct cppi41_dma_controller *controller = cppi41_channel->controller;
|
||||
struct musb *musb = controller->musb;
|
||||
struct musb *musb = controller->controller.musb;
|
||||
|
||||
if (is_host_active(musb)) {
|
||||
WARN_ON(1);
|
||||
|
@ -515,7 +513,7 @@ static int cppi41_dma_channel_abort(struct dma_channel *channel)
|
|||
{
|
||||
struct cppi41_dma_channel *cppi41_channel = channel->private_data;
|
||||
struct cppi41_dma_controller *controller = cppi41_channel->controller;
|
||||
struct musb *musb = controller->musb;
|
||||
struct musb *musb = controller->controller.musb;
|
||||
void __iomem *epio = cppi41_channel->hw_ep->regs;
|
||||
int tdbit;
|
||||
int ret;
|
||||
|
@ -600,7 +598,7 @@ static void cppi41_dma_controller_stop(struct cppi41_dma_controller *controller)
|
|||
|
||||
static int cppi41_dma_controller_start(struct cppi41_dma_controller *controller)
|
||||
{
|
||||
struct musb *musb = controller->musb;
|
||||
struct musb *musb = controller->controller.musb;
|
||||
struct device *dev = musb->controller;
|
||||
struct device_node *np = dev->parent->of_node;
|
||||
struct cppi41_dma_channel *cppi41_channel;
|
||||
|
@ -695,7 +693,6 @@ cppi41_dma_controller_create(struct musb *musb, void __iomem *base)
|
|||
hrtimer_init(&controller->early_tx, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
|
||||
controller->early_tx.function = cppi41_recheck_tx_req;
|
||||
INIT_LIST_HEAD(&controller->early_tx_list);
|
||||
controller->musb = musb;
|
||||
|
||||
controller->controller.channel_alloc = cppi41_dma_channel_allocate;
|
||||
controller->controller.channel_release = cppi41_dma_channel_release;
|
||||
|
|
Loading…
Reference in New Issue