X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=blobdiff_plain;f=carlfw%2Finclude%2Fusb.h;h=fb258bf16bd37be843d3542f26fa771c921e76b4;hp=cea1d4da90e00ef5eec51edb6f1dad42cc59e670;hb=aad02e753490f33725d407b63b31e76c58f01caa;hpb=3cc117ddbf129dfaad322593cfdd0d1d5190d8fd diff --git a/carlfw/include/usb.h b/carlfw/include/usb.h index cea1d4d..fb258bf 100644 --- a/carlfw/include/usb.h +++ b/carlfw/include/usb.h @@ -141,6 +141,12 @@ static inline __inline void usb_clear_input_ep_toggle(unsigned int ep) ~AR9170_USB_EP_IN_TOGGLE); } +static inline __inline void usb_clear_input_ep_stall(unsigned int ep) +{ + andl(AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH + (ep << 1), + ~AR9170_USB_EP_IN_STALL); +} + static inline __inline void usb_set_input_ep_toggle(unsigned int ep) { orl(AR9170_USB_REG_EP_IN_MAX_SIZE_HIGH + (ep << 1), @@ -159,6 +165,12 @@ static inline __inline void usb_set_output_ep_toggle(unsigned int ep) AR9170_USB_EP_OUT_TOGGLE); } +static inline __inline void usb_clear_output_ep_stall(unsigned int ep) +{ + andl(AR9170_USB_REG_EP_OUT_MAX_SIZE_HIGH + (ep << 1), + ~AR9170_USB_EP_OUT_STALL); +} + static inline void usb_structure_check(void) { BUILD_BUG_ON(sizeof(struct usb_config_descriptor) != USB_DT_CONFIG_SIZE);