/kernel/linux/linux-5.10/drivers/usb/host/ |
H A D | fhci-hcd.c | 32 #include "fhci.h" 34 void fhci_start_sof_timer(struct fhci_hcd *fhci) in fhci_start_sof_timer() argument 36 fhci_dbg(fhci, "-> %s\n", __func__); in fhci_start_sof_timer() 39 out_be16(&fhci->pram->frame_num, 0); in fhci_start_sof_timer() 41 out_be16(&fhci->regs->usb_ussft, 0); in fhci_start_sof_timer() 42 setbits8(&fhci->regs->usb_usmod, USB_MODE_SFTE); in fhci_start_sof_timer() 44 fhci_dbg(fhci, "<- %s\n", __func__); in fhci_start_sof_timer() 47 void fhci_stop_sof_timer(struct fhci_hcd *fhci) in fhci_stop_sof_timer() argument 49 fhci_dbg(fhci, "-> %s\n", __func__); in fhci_stop_sof_timer() 51 clrbits8(&fhci in fhci_stop_sof_timer() 82 struct fhci_hcd *fhci = usb->fhci; fhci_usb_enable_interrupt() local 102 struct fhci_hcd *fhci = usb->fhci; fhci_usb_disable_interrupt() local 116 fhci_usb_enable(struct fhci_hcd *fhci) fhci_usb_enable() argument 130 fhci_usb_disable(struct fhci_hcd *fhci) fhci_usb_disable() argument 148 fhci_ioports_check_bus_state(struct fhci_hcd *fhci) fhci_ioports_check_bus_state() argument 167 fhci_mem_free(struct fhci_hcd *fhci) fhci_mem_free() argument 191 fhci_mem_init(struct fhci_hcd *fhci) fhci_mem_init() argument 244 struct fhci_hcd *fhci; fhci_usb_free() local 256 fhci_usb_init(struct fhci_hcd *fhci) fhci_usb_init() argument 303 fhci_create_lld(struct fhci_hcd *fhci) fhci_create_lld() argument 324 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_start() local 374 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_stop() local 387 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_urb_enqueue() local 467 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_urb_dequeue() local 510 struct fhci_hcd *fhci; fhci_endpoint_disable() local 530 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_get_frame_number() local 566 struct fhci_hcd *fhci; of_fhci_probe() local 785 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_remove() local [all...] |
H A D | fhci-hub.c | 24 #include "fhci.h" 39 static void fhci_gpio_set_value(struct fhci_hcd *fhci, int gpio_nr, bool on) in fhci_gpio_set_value() argument 41 int gpio = fhci->gpios[gpio_nr]; in fhci_gpio_set_value() 42 bool alow = fhci->alow_gpios[gpio_nr]; in fhci_gpio_set_value() 51 void fhci_config_transceiver(struct fhci_hcd *fhci, in fhci_config_transceiver() argument 54 fhci_dbg(fhci, "-> %s: %d\n", __func__, status); in fhci_config_transceiver() 58 fhci_gpio_set_value(fhci, GPIO_POWER, false); in fhci_config_transceiver() 62 fhci_gpio_set_value(fhci, GPIO_POWER, true); in fhci_config_transceiver() 65 fhci_gpio_set_value(fhci, GPIO_SPEED, false); in fhci_config_transceiver() 68 fhci_gpio_set_value(fhci, GPIO_SPEE in fhci_config_transceiver() 79 fhci_port_disable(struct fhci_hcd *fhci) fhci_port_disable() argument 112 struct fhci_hcd *fhci = usb->fhci; fhci_port_enable() local 128 fhci_io_port_generate_reset(struct fhci_hcd *fhci) fhci_io_port_generate_reset() argument 149 struct fhci_hcd *fhci = usb->fhci; fhci_port_reset() local 179 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_hub_status_data() local 205 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_hub_control() local [all...] |
H A D | fhci-sched.c | 26 #include "fhci.h" 87 fhci_dbg(usb->fhci, "td err fu\n"); in fhci_transaction_confirm() 91 fhci_dbg(usb->fhci, "td err f!u\n"); in fhci_transaction_confirm() 94 fhci_dbg(usb->fhci, "td err !f\n"); in fhci_transaction_confirm() 102 fhci_vdbg(usb->fhci, "td nack\n"); in fhci_transaction_confirm() 131 mode = in_8(&usb->fhci->regs->usb_usmod); in fhci_flush_all_transmissions() 132 clrbits8(&usb->fhci->regs->usb_usmod, USB_MODE_EN); in fhci_flush_all_transmissions() 146 out_be16(&usb->fhci->regs->usb_usber, 0xffff); in fhci_flush_all_transmissions() 148 out_8(&usb->fhci->regs->usb_usmod, mode | USB_MODE_EN); in fhci_flush_all_transmissions() 196 fhci_vdbg(usb->fhci, "no in add_packet() 337 struct fhci_hcd *fhci = usb->fhci; rotate_frames() local 399 sof_interrupt(struct fhci_hcd *fhci) sof_interrupt() argument 424 fhci_device_disconnected_interrupt(struct fhci_hcd *fhci) fhci_device_disconnected_interrupt() argument 449 fhci_device_connected_interrupt(struct fhci_hcd *fhci) fhci_device_connected_interrupt() argument 507 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_frame_limit_timer_irq() local 544 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_irq() local 637 struct fhci_hcd *fhci = (struct fhci_hcd *)data; process_done_list() local 683 fhci_transfer_confirm_callback(struct fhci_hcd *fhci) fhci_transfer_confirm_callback() argument 697 fhci_queue_urb(struct fhci_hcd *fhci, struct urb *urb) fhci_queue_urb() argument [all...] |
H A D | fhci-dbg.c | 20 #include "fhci.h" 22 void fhci_dbg_isr(struct fhci_hcd *fhci, int usb_er) in fhci_dbg_isr() argument 27 fhci->usb_irq_stat[12]++; in fhci_dbg_isr() 33 fhci->usb_irq_stat[i]++; in fhci_dbg_isr() 39 struct fhci_hcd *fhci = s->private; in fhci_dfs_regs_show() local 40 struct qe_usb_ctlr __iomem *regs = fhci->regs; in fhci_dfs_regs_show() 54 fhci_ioports_check_bus_state(fhci)); in fhci_dfs_regs_show() 62 struct fhci_hcd *fhci = s->private; in fhci_dfs_irq_stat_show() local 63 int *usb_irq_stat = fhci->usb_irq_stat; in fhci_dfs_irq_stat_show() 81 void fhci_dfs_create(struct fhci_hcd *fhci) in fhci_dfs_create() argument 93 fhci_dfs_destroy(struct fhci_hcd *fhci) fhci_dfs_destroy() argument [all...] |
H A D | fhci-mem.c | 21 #include "fhci.h" 37 static struct td *get_empty_td(struct fhci_hcd *fhci) in get_empty_td() argument 41 if (!list_empty(&fhci->empty_tds)) { in get_empty_td() 42 td = list_entry(fhci->empty_tds.next, struct td, node); in get_empty_td() 43 list_del(fhci->empty_tds.next); in get_empty_td() 47 fhci_err(fhci, "No memory to allocate to TD\n"); in get_empty_td() 55 void fhci_recycle_empty_td(struct fhci_hcd *fhci, struct td *td) in fhci_recycle_empty_td() argument 58 list_add(&td->node, &fhci->empty_tds); in fhci_recycle_empty_td() 61 struct ed *fhci_get_empty_ed(struct fhci_hcd *fhci) in fhci_get_empty_ed() argument 65 if (!list_empty(&fhci in fhci_get_empty_ed() 79 fhci_recycle_empty_ed(struct fhci_hcd *fhci, struct ed *ed) fhci_recycle_empty_ed() argument 85 fhci_td_fill(struct fhci_hcd *fhci, struct urb *urb, struct urb_priv *urb_priv, struct ed *ed, u16 index, enum fhci_ta_type type, int toggle, u8 *data, u32 len, u16 interval, u16 start_frame, bool ioc) fhci_td_fill() argument [all...] |
H A D | fhci.h | 437 u32 (*transfer_confirm)(struct fhci_hcd *fhci); 439 struct fhci_hcd *fhci; member 446 static inline u16 get_frame_num(struct fhci_hcd *fhci) in get_frame_num() argument 448 return in_be16(&fhci->pram->frame_num) & 0x07ff; in get_frame_num() 451 #define fhci_dbg(fhci, fmt, args...) \ 452 dev_dbg(fhci_to_hcd(fhci)->self.controller, fmt, ##args) 453 #define fhci_vdbg(fhci, fmt, args...) \ 454 dev_vdbg(fhci_to_hcd(fhci)->self.controller, fmt, ##args) 455 #define fhci_err(fhci, fmt, args...) \ 456 dev_err(fhci_to_hcd(fhci) 467 fhci_to_hcd(struct fhci_hcd *fhci) fhci_to_hcd() argument 582 fhci_dbg_isr(struct fhci_hcd *fhci, int usb_er) fhci_dbg_isr() argument 583 fhci_dfs_destroy(struct fhci_hcd *fhci) fhci_dfs_destroy() argument 584 fhci_dfs_create(struct fhci_hcd *fhci) fhci_dfs_create() argument [all...] |
H A D | Makefile | 9 fhci-y := fhci-hcd.o fhci-hub.o fhci-q.o 10 fhci-y += fhci-mem.o fhci-tds.o fhci-sched.o 12 fhci-$(CONFIG_FHCI_DEBUG) += fhci [all...] |
H A D | fhci-q.c | 22 #include "fhci.h" 157 usb->transfer_confirm(usb->fhci); in fhci_move_td_from_ed_to_done_list() 161 static void free_urb_priv(struct fhci_hcd *fhci, struct urb *urb) in free_urb_priv() argument 169 fhci_recycle_empty_td(fhci, urb_priv->tds[i]); in free_urb_priv() 185 fhci->active_urbs--; in free_urb_priv() 189 void fhci_urb_complete_free(struct fhci_hcd *fhci, struct urb *urb) in fhci_urb_complete_free() argument 191 free_urb_priv(fhci, urb); in fhci_urb_complete_free() 201 usb_hcd_unlink_urb_from_ep(fhci_to_hcd(fhci), urb); in fhci_urb_complete_free() 203 spin_unlock(&fhci->lock); in fhci_urb_complete_free() 205 usb_hcd_giveback_urb(fhci_to_hcd(fhci), ur in fhci_urb_complete_free() 265 fhci_del_ed_list(struct fhci_hcd *fhci, struct ed *ed) fhci_del_ed_list() argument [all...] |
H A D | fhci-tds.c | 22 #include "fhci.h" 160 fhci_err(usb->fhci, "illegal TD ring length parameters\n"); in fhci_create_ep() 230 fhci_err(usb->fhci, "no memory for the %s\n", err_for); in fhci_create_ep() 248 out_be16(&usb->fhci->regs->usb_usep[0], in fhci_init_ep_registers() 250 out_be16(&usb->fhci->pram->ep_ptr[0], in fhci_init_ep_registers() 320 fhci_err(usb->fhci, "no frame to confirm\n"); in fhci_td_transaction_confirm() 335 fhci_err(usb->fhci, "illegal error " in fhci_td_transaction_confirm() 346 fhci_err(usb->fhci, "illegal error occurred\n"); in fhci_td_transaction_confirm() 462 out_8(&usb->fhci->regs->usb_uscom, USB_CMD_STR_FIFO); in fhci_host_transaction() 531 mode = in_8(&usb->fhci in fhci_flush_actual_frame() [all...] |
/kernel/linux/linux-6.6/drivers/usb/host/ |
H A D | fhci-hcd.c | 33 #include "fhci.h" 35 void fhci_start_sof_timer(struct fhci_hcd *fhci) in fhci_start_sof_timer() argument 37 fhci_dbg(fhci, "-> %s\n", __func__); in fhci_start_sof_timer() 40 out_be16(&fhci->pram->frame_num, 0); in fhci_start_sof_timer() 42 out_be16(&fhci->regs->usb_ussft, 0); in fhci_start_sof_timer() 43 setbits8(&fhci->regs->usb_usmod, USB_MODE_SFTE); in fhci_start_sof_timer() 45 fhci_dbg(fhci, "<- %s\n", __func__); in fhci_start_sof_timer() 48 void fhci_stop_sof_timer(struct fhci_hcd *fhci) in fhci_stop_sof_timer() argument 50 fhci_dbg(fhci, "-> %s\n", __func__); in fhci_stop_sof_timer() 52 clrbits8(&fhci in fhci_stop_sof_timer() 83 struct fhci_hcd *fhci = usb->fhci; fhci_usb_enable_interrupt() local 103 struct fhci_hcd *fhci = usb->fhci; fhci_usb_disable_interrupt() local 117 fhci_usb_enable(struct fhci_hcd *fhci) fhci_usb_enable() argument 131 fhci_usb_disable(struct fhci_hcd *fhci) fhci_usb_disable() argument 149 fhci_ioports_check_bus_state(struct fhci_hcd *fhci) fhci_ioports_check_bus_state() argument 168 fhci_mem_free(struct fhci_hcd *fhci) fhci_mem_free() argument 192 fhci_mem_init(struct fhci_hcd *fhci) fhci_mem_init() argument 245 struct fhci_hcd *fhci; fhci_usb_free() local 257 fhci_usb_init(struct fhci_hcd *fhci) fhci_usb_init() argument 304 fhci_create_lld(struct fhci_hcd *fhci) fhci_create_lld() argument 325 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_start() local 375 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_stop() local 388 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_urb_enqueue() local 467 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_urb_dequeue() local 510 struct fhci_hcd *fhci; fhci_endpoint_disable() local 530 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_get_frame_number() local 566 struct fhci_hcd *fhci; of_fhci_probe() local 764 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_remove() local [all...] |
H A D | fhci-hub.c | 24 #include "fhci.h" 39 static void fhci_gpio_set_value(struct fhci_hcd *fhci, int gpio_nr, bool on) in fhci_gpio_set_value() argument 41 struct gpio_desc *gpiod = fhci->gpiods[gpio_nr]; in fhci_gpio_set_value() 50 void fhci_config_transceiver(struct fhci_hcd *fhci, in fhci_config_transceiver() argument 53 fhci_dbg(fhci, "-> %s: %d\n", __func__, status); in fhci_config_transceiver() 57 fhci_gpio_set_value(fhci, GPIO_POWER, false); in fhci_config_transceiver() 61 fhci_gpio_set_value(fhci, GPIO_POWER, true); in fhci_config_transceiver() 64 fhci_gpio_set_value(fhci, GPIO_SPEED, false); in fhci_config_transceiver() 67 fhci_gpio_set_value(fhci, GPIO_SPEED, true); in fhci_config_transceiver() 74 fhci_dbg(fhci, "< in fhci_config_transceiver() 78 fhci_port_disable(struct fhci_hcd *fhci) fhci_port_disable() argument 111 struct fhci_hcd *fhci = usb->fhci; fhci_port_enable() local 127 fhci_io_port_generate_reset(struct fhci_hcd *fhci) fhci_io_port_generate_reset() argument 148 struct fhci_hcd *fhci = usb->fhci; fhci_port_reset() local 178 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_hub_status_data() local 204 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_hub_control() local [all...] |
H A D | fhci-sched.c | 26 #include "fhci.h" 87 fhci_dbg(usb->fhci, "td err fu\n"); in fhci_transaction_confirm() 91 fhci_dbg(usb->fhci, "td err f!u\n"); in fhci_transaction_confirm() 94 fhci_dbg(usb->fhci, "td err !f\n"); in fhci_transaction_confirm() 102 fhci_vdbg(usb->fhci, "td nack\n"); in fhci_transaction_confirm() 131 mode = in_8(&usb->fhci->regs->usb_usmod); in fhci_flush_all_transmissions() 132 clrbits8(&usb->fhci->regs->usb_usmod, USB_MODE_EN); in fhci_flush_all_transmissions() 146 out_be16(&usb->fhci->regs->usb_usber, 0xffff); in fhci_flush_all_transmissions() 148 out_8(&usb->fhci->regs->usb_usmod, mode | USB_MODE_EN); in fhci_flush_all_transmissions() 196 fhci_vdbg(usb->fhci, "no in add_packet() 337 struct fhci_hcd *fhci = usb->fhci; rotate_frames() local 399 sof_interrupt(struct fhci_hcd *fhci) sof_interrupt() argument 424 fhci_device_disconnected_interrupt(struct fhci_hcd *fhci) fhci_device_disconnected_interrupt() argument 449 fhci_device_connected_interrupt(struct fhci_hcd *fhci) fhci_device_connected_interrupt() argument 507 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_frame_limit_timer_irq() local 544 struct fhci_hcd *fhci = hcd_to_fhci(hcd); fhci_irq() local 637 struct fhci_hcd *fhci = (struct fhci_hcd *)data; process_done_list() local 683 fhci_transfer_confirm_callback(struct fhci_hcd *fhci) fhci_transfer_confirm_callback() argument 697 fhci_queue_urb(struct fhci_hcd *fhci, struct urb *urb) fhci_queue_urb() argument [all...] |
H A D | fhci-dbg.c | 20 #include "fhci.h" 22 void fhci_dbg_isr(struct fhci_hcd *fhci, int usb_er) in fhci_dbg_isr() argument 27 fhci->usb_irq_stat[12]++; in fhci_dbg_isr() 33 fhci->usb_irq_stat[i]++; in fhci_dbg_isr() 39 struct fhci_hcd *fhci = s->private; in fhci_dfs_regs_show() local 40 struct qe_usb_ctlr __iomem *regs = fhci->regs; in fhci_dfs_regs_show() 54 fhci_ioports_check_bus_state(fhci)); in fhci_dfs_regs_show() 62 struct fhci_hcd *fhci = s->private; in fhci_dfs_irq_stat_show() local 63 int *usb_irq_stat = fhci->usb_irq_stat; in fhci_dfs_irq_stat_show() 81 void fhci_dfs_create(struct fhci_hcd *fhci) in fhci_dfs_create() argument 93 fhci_dfs_destroy(struct fhci_hcd *fhci) fhci_dfs_destroy() argument [all...] |
H A D | fhci-mem.c | 21 #include "fhci.h" 37 static struct td *get_empty_td(struct fhci_hcd *fhci) in get_empty_td() argument 41 if (!list_empty(&fhci->empty_tds)) { in get_empty_td() 42 td = list_entry(fhci->empty_tds.next, struct td, node); in get_empty_td() 43 list_del(fhci->empty_tds.next); in get_empty_td() 47 fhci_err(fhci, "No memory to allocate to TD\n"); in get_empty_td() 55 void fhci_recycle_empty_td(struct fhci_hcd *fhci, struct td *td) in fhci_recycle_empty_td() argument 58 list_add(&td->node, &fhci->empty_tds); in fhci_recycle_empty_td() 61 struct ed *fhci_get_empty_ed(struct fhci_hcd *fhci) in fhci_get_empty_ed() argument 65 if (!list_empty(&fhci in fhci_get_empty_ed() 79 fhci_recycle_empty_ed(struct fhci_hcd *fhci, struct ed *ed) fhci_recycle_empty_ed() argument 85 fhci_td_fill(struct fhci_hcd *fhci, struct urb *urb, struct urb_priv *urb_priv, struct ed *ed, u16 index, enum fhci_ta_type type, int toggle, u8 *data, u32 len, u16 interval, u16 start_frame, bool ioc) fhci_td_fill() argument [all...] |
H A D | fhci.h | 437 u32 (*transfer_confirm)(struct fhci_hcd *fhci); 439 struct fhci_hcd *fhci; member 446 static inline u16 get_frame_num(struct fhci_hcd *fhci) in get_frame_num() argument 448 return in_be16(&fhci->pram->frame_num) & 0x07ff; in get_frame_num() 451 #define fhci_dbg(fhci, fmt, args...) \ 452 dev_dbg(fhci_to_hcd(fhci)->self.controller, fmt, ##args) 453 #define fhci_vdbg(fhci, fmt, args...) \ 454 dev_vdbg(fhci_to_hcd(fhci)->self.controller, fmt, ##args) 455 #define fhci_err(fhci, fmt, args...) \ 456 dev_err(fhci_to_hcd(fhci) 467 fhci_to_hcd(struct fhci_hcd *fhci) fhci_to_hcd() argument 582 fhci_dbg_isr(struct fhci_hcd *fhci, int usb_er) fhci_dbg_isr() argument 583 fhci_dfs_destroy(struct fhci_hcd *fhci) fhci_dfs_destroy() argument 584 fhci_dfs_create(struct fhci_hcd *fhci) fhci_dfs_create() argument [all...] |
H A D | Makefile | 9 fhci-y := fhci-hcd.o fhci-hub.o fhci-q.o 10 fhci-y += fhci-mem.o fhci-tds.o fhci-sched.o 12 fhci-$(CONFIG_FHCI_DEBUG) += fhci [all...] |
H A D | fhci-q.c | 22 #include "fhci.h" 157 usb->transfer_confirm(usb->fhci); in fhci_move_td_from_ed_to_done_list() 161 static void free_urb_priv(struct fhci_hcd *fhci, struct urb *urb) in free_urb_priv() argument 169 fhci_recycle_empty_td(fhci, urb_priv->tds[i]); in free_urb_priv() 185 fhci->active_urbs--; in free_urb_priv() 189 void fhci_urb_complete_free(struct fhci_hcd *fhci, struct urb *urb) in fhci_urb_complete_free() argument 191 free_urb_priv(fhci, urb); in fhci_urb_complete_free() 201 usb_hcd_unlink_urb_from_ep(fhci_to_hcd(fhci), urb); in fhci_urb_complete_free() 203 spin_unlock(&fhci->lock); in fhci_urb_complete_free() 205 usb_hcd_giveback_urb(fhci_to_hcd(fhci), ur in fhci_urb_complete_free() 265 fhci_del_ed_list(struct fhci_hcd *fhci, struct ed *ed) fhci_del_ed_list() argument [all...] |
H A D | fhci-tds.c | 22 #include "fhci.h" 160 fhci_err(usb->fhci, "illegal TD ring length parameters\n"); in fhci_create_ep() 230 fhci_err(usb->fhci, "no memory for the %s\n", err_for); in fhci_create_ep() 248 out_be16(&usb->fhci->regs->usb_usep[0], in fhci_init_ep_registers() 250 out_be16(&usb->fhci->pram->ep_ptr[0], in fhci_init_ep_registers() 320 fhci_err(usb->fhci, "no frame to confirm\n"); in fhci_td_transaction_confirm() 335 fhci_err(usb->fhci, "illegal error " in fhci_td_transaction_confirm() 346 fhci_err(usb->fhci, "illegal error occurred\n"); in fhci_td_transaction_confirm() 462 out_8(&usb->fhci->regs->usb_uscom, USB_CMD_STR_FIFO); in fhci_host_transaction() 531 mode = in_8(&usb->fhci in fhci_flush_actual_frame() [all...] |