Commit 91aaf974 authored by Mathias Nyman's avatar Mathias Nyman Committed by Greg Kroah-Hartman

xhci: dbc: Pass dbc pointer to get_in/out_ep() helper functions to get endpoints

Pass dbc pointer instead of struct xhci_hcd pointer to the get_in_ep() and
get_out_ep() helper functions.

No functional changes
This change helps decoupling xhci and DbC
Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20200723144530.9992-17-mathias.nyman@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b396fa39
...@@ -593,7 +593,7 @@ static void dbc_handle_xfer_event(struct xhci_dbc *dbc, union xhci_trb *event) ...@@ -593,7 +593,7 @@ static void dbc_handle_xfer_event(struct xhci_dbc *dbc, union xhci_trb *event)
remain_length = EVENT_TRB_LEN(le32_to_cpu(event->generic.field[2])); remain_length = EVENT_TRB_LEN(le32_to_cpu(event->generic.field[2]));
ep_id = TRB_TO_EP_ID(le32_to_cpu(event->generic.field[3])); ep_id = TRB_TO_EP_ID(le32_to_cpu(event->generic.field[3]));
dep = (ep_id == EPID_OUT) ? dep = (ep_id == EPID_OUT) ?
get_out_ep(xhci) : get_in_ep(xhci); get_out_ep(dbc) : get_in_ep(dbc);
ring = dep->ring; ring = dep->ring;
switch (comp_code) { switch (comp_code) {
...@@ -710,12 +710,12 @@ static enum evtreturn xhci_dbc_do_handle_events(struct xhci_dbc *dbc) ...@@ -710,12 +710,12 @@ static enum evtreturn xhci_dbc_do_handle_events(struct xhci_dbc *dbc)
dbc->state = DS_STALLED; dbc->state = DS_STALLED;
if (ctrl & DBC_CTRL_HALT_IN_TR) { if (ctrl & DBC_CTRL_HALT_IN_TR) {
dep = get_in_ep(xhci); dep = get_in_ep(dbc);
xhci_dbc_flush_endpoint_requests(dep); xhci_dbc_flush_endpoint_requests(dep);
} }
if (ctrl & DBC_CTRL_HALT_OUT_TR) { if (ctrl & DBC_CTRL_HALT_OUT_TR) {
dep = get_out_ep(xhci); dep = get_out_ep(dbc);
xhci_dbc_flush_endpoint_requests(dep); xhci_dbc_flush_endpoint_requests(dep);
} }
......
...@@ -179,17 +179,13 @@ enum evtreturn { ...@@ -179,17 +179,13 @@ enum evtreturn {
EVT_DISC, EVT_DISC,
}; };
static inline struct dbc_ep *get_in_ep(struct xhci_hcd *xhci) static inline struct dbc_ep *get_in_ep(struct xhci_dbc *dbc)
{ {
struct xhci_dbc *dbc = xhci->dbc;
return &dbc->eps[BULK_IN]; return &dbc->eps[BULK_IN];
} }
static inline struct dbc_ep *get_out_ep(struct xhci_hcd *xhci) static inline struct dbc_ep *get_out_ep(struct xhci_dbc *dbc)
{ {
struct xhci_dbc *dbc = xhci->dbc;
return &dbc->eps[BULK_OUT]; return &dbc->eps[BULK_OUT];
} }
......
...@@ -418,7 +418,7 @@ static const struct tty_port_operations dbc_port_ops = { ...@@ -418,7 +418,7 @@ static const struct tty_port_operations dbc_port_ops = {
}; };
static void static void
xhci_dbc_tty_init_port(struct xhci_hcd *xhci, struct dbc_port *port) xhci_dbc_tty_init_port(struct xhci_dbc *dbc, struct dbc_port *port)
{ {
tty_port_init(&port->port); tty_port_init(&port->port);
spin_lock_init(&port->port_lock); spin_lock_init(&port->port_lock);
...@@ -427,8 +427,8 @@ xhci_dbc_tty_init_port(struct xhci_hcd *xhci, struct dbc_port *port) ...@@ -427,8 +427,8 @@ xhci_dbc_tty_init_port(struct xhci_hcd *xhci, struct dbc_port *port)
INIT_LIST_HEAD(&port->read_queue); INIT_LIST_HEAD(&port->read_queue);
INIT_LIST_HEAD(&port->write_pool); INIT_LIST_HEAD(&port->write_pool);
port->in = get_in_ep(xhci); port->in = get_in_ep(dbc);
port->out = get_out_ep(xhci); port->out = get_out_ep(dbc);
port->port.ops = &dbc_port_ops; port->port.ops = &dbc_port_ops;
port->n_read = 0; port->n_read = 0;
} }
...@@ -446,7 +446,7 @@ int xhci_dbc_tty_register_device(struct xhci_dbc *dbc) ...@@ -446,7 +446,7 @@ int xhci_dbc_tty_register_device(struct xhci_dbc *dbc)
struct device *tty_dev; struct device *tty_dev;
struct dbc_port *port = &dbc->port; struct dbc_port *port = &dbc->port;
xhci_dbc_tty_init_port(xhci, port); xhci_dbc_tty_init_port(dbc, port);
tty_dev = tty_port_register_device(&port->port, tty_dev = tty_port_register_device(&port->port,
dbc_tty_driver, 0, NULL); dbc_tty_driver, 0, NULL);
if (IS_ERR(tty_dev)) { if (IS_ERR(tty_dev)) {
...@@ -497,7 +497,7 @@ void xhci_dbc_tty_unregister_device(struct xhci_dbc *dbc) ...@@ -497,7 +497,7 @@ void xhci_dbc_tty_unregister_device(struct xhci_dbc *dbc)
port->registered = false; port->registered = false;
kfifo_free(&port->write_fifo); kfifo_free(&port->write_fifo);
xhci_dbc_free_requests(get_out_ep(xhci), &port->read_pool); xhci_dbc_free_requests(get_out_ep(dbc), &port->read_pool);
xhci_dbc_free_requests(get_out_ep(xhci), &port->read_queue); xhci_dbc_free_requests(get_out_ep(dbc), &port->read_queue);
xhci_dbc_free_requests(get_in_ep(xhci), &port->write_pool); xhci_dbc_free_requests(get_in_ep(dbc), &port->write_pool);
} }
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