Lines Matching refs:isp1362_hcd
476 struct isp1362_hcd { struct
554 static inline void ALIGNSTAT(struct isp1362_hcd *isp1362_hcd, void *ptr) in ALIGNSTAT() argument
558 isp1362_hcd->stat16++; in ALIGNSTAT()
560 isp1362_hcd->stat8++; in ALIGNSTAT()
562 isp1362_hcd->stat4++; in ALIGNSTAT()
564 isp1362_hcd->stat2++; in ALIGNSTAT()
566 isp1362_hcd->stat1++; in ALIGNSTAT()
569 static inline struct isp1362_hcd *hcd_to_isp1362_hcd(struct usb_hcd *hcd) in hcd_to_isp1362_hcd()
571 return (struct isp1362_hcd *) (hcd->hcd_priv); in hcd_to_isp1362_hcd()
574 static inline struct usb_hcd *isp1362_hcd_to_hcd(struct isp1362_hcd *isp1362_hcd) in isp1362_hcd_to_hcd() argument
576 return container_of((void *)isp1362_hcd, struct usb_hcd, hcd_priv); in isp1362_hcd_to_hcd()
631 static void isp1362_write_addr(struct isp1362_hcd *isp1362_hcd, isp1362_reg_t reg) in isp1362_write_addr() argument
635 writew(ISP1362_REG_NO(reg), isp1362_hcd->addr_reg); in isp1362_write_addr()
637 isp1362_delay(isp1362_hcd, 1); in isp1362_write_addr()
640 static void isp1362_write_data16(struct isp1362_hcd *isp1362_hcd, u16 val) in isp1362_write_data16() argument
643 writew(val, isp1362_hcd->data_reg); in isp1362_write_data16()
646 static u16 isp1362_read_data16(struct isp1362_hcd *isp1362_hcd) in isp1362_read_data16() argument
651 val = readw(isp1362_hcd->data_reg); in isp1362_read_data16()
656 static void isp1362_write_data32(struct isp1362_hcd *isp1362_hcd, u32 val) in isp1362_write_data32() argument
660 writel(val, isp1362_hcd->data_reg); in isp1362_write_data32()
663 writew((u16)val, isp1362_hcd->data_reg); in isp1362_write_data32()
665 writew(val >> 16, isp1362_hcd->data_reg); in isp1362_write_data32()
669 static u32 isp1362_read_data32(struct isp1362_hcd *isp1362_hcd) in isp1362_read_data32() argument
675 val = readl(isp1362_hcd->data_reg); in isp1362_read_data32()
678 val = (u32)readw(isp1362_hcd->data_reg); in isp1362_read_data32()
680 val |= (u32)readw(isp1362_hcd->data_reg) << 16; in isp1362_read_data32()
687 static void isp1362_read_fifo(struct isp1362_hcd *isp1362_hcd, void *buf, u16 len) in isp1362_read_fifo() argument
699 readsl(isp1362_hcd->data_reg, dp, len >> 2); in isp1362_read_fifo()
706 insw((unsigned long)isp1362_hcd->data_reg, dp, len >> 1); in isp1362_read_fifo()
713 data = isp1362_read_data16(isp1362_hcd); in isp1362_read_fifo()
720 static void isp1362_write_fifo(struct isp1362_hcd *isp1362_hcd, void *buf, u16 len) in isp1362_write_fifo() argument
733 isp1362_write_data16(isp1362_hcd, data); in isp1362_write_fifo()
736 isp1362_write_data16(isp1362_hcd, *dp); in isp1362_write_fifo()
744 writesl(isp1362_hcd->data_reg, dp, len >> 2); in isp1362_write_fifo()
751 outsw((unsigned long)isp1362_hcd->data_reg, dp, len >> 1); in isp1362_write_fifo()
764 isp1362_write_data16(isp1362_hcd, data); in isp1362_write_fifo()
841 static void __attribute__((__unused__)) isp1362_show_regs(struct isp1362_hcd *isp1362_hcd) in isp1362_show_regs() argument
843 isp1362_show_reg(isp1362_hcd, HCREVISION); in isp1362_show_regs()
844 isp1362_show_reg(isp1362_hcd, HCCONTROL); in isp1362_show_regs()
845 isp1362_show_reg(isp1362_hcd, HCCMDSTAT); in isp1362_show_regs()
846 isp1362_show_reg(isp1362_hcd, HCINTSTAT); in isp1362_show_regs()
847 isp1362_show_reg(isp1362_hcd, HCINTENB); in isp1362_show_regs()
848 isp1362_show_reg(isp1362_hcd, HCFMINTVL); in isp1362_show_regs()
849 isp1362_show_reg(isp1362_hcd, HCFMREM); in isp1362_show_regs()
850 isp1362_show_reg(isp1362_hcd, HCFMNUM); in isp1362_show_regs()
851 isp1362_show_reg(isp1362_hcd, HCLSTHRESH); in isp1362_show_regs()
852 isp1362_show_reg(isp1362_hcd, HCRHDESCA); in isp1362_show_regs()
853 isp1362_show_reg(isp1362_hcd, HCRHDESCB); in isp1362_show_regs()
854 isp1362_show_reg(isp1362_hcd, HCRHSTATUS); in isp1362_show_regs()
855 isp1362_show_reg(isp1362_hcd, HCRHPORT1); in isp1362_show_regs()
856 isp1362_show_reg(isp1362_hcd, HCRHPORT2); in isp1362_show_regs()
858 isp1362_show_reg(isp1362_hcd, HCHWCFG); in isp1362_show_regs()
859 isp1362_show_reg(isp1362_hcd, HCDMACFG); in isp1362_show_regs()
860 isp1362_show_reg(isp1362_hcd, HCXFERCTR); in isp1362_show_regs()
861 isp1362_show_reg(isp1362_hcd, HCuPINT); in isp1362_show_regs()
865 ISP1362_REG_NO(ISP1362_REG_HCuPINTENB), isp1362_hcd->irqenb); in isp1362_show_regs()
867 isp1362_show_reg(isp1362_hcd, HCuPINTENB); in isp1362_show_regs()
868 isp1362_show_reg(isp1362_hcd, HCCHIPID); in isp1362_show_regs()
869 isp1362_show_reg(isp1362_hcd, HCSCRATCH); in isp1362_show_regs()
870 isp1362_show_reg(isp1362_hcd, HCBUFSTAT); in isp1362_show_regs()
871 isp1362_show_reg(isp1362_hcd, HCDIRADDR); in isp1362_show_regs()
875 isp1362_show_reg(isp1362_hcd, HCISTLBUFSZ); in isp1362_show_regs()
876 isp1362_show_reg(isp1362_hcd, HCISTLRATE); in isp1362_show_regs()
877 isp1362_show_reg(isp1362_hcd, HCINTLBUFSZ); in isp1362_show_regs()
878 isp1362_show_reg(isp1362_hcd, HCINTLBLKSZ); in isp1362_show_regs()
879 isp1362_show_reg(isp1362_hcd, HCINTLDONE); in isp1362_show_regs()
880 isp1362_show_reg(isp1362_hcd, HCINTLSKIP); in isp1362_show_regs()
881 isp1362_show_reg(isp1362_hcd, HCINTLLAST); in isp1362_show_regs()
882 isp1362_show_reg(isp1362_hcd, HCINTLCURR); in isp1362_show_regs()
883 isp1362_show_reg(isp1362_hcd, HCATLBUFSZ); in isp1362_show_regs()
884 isp1362_show_reg(isp1362_hcd, HCATLBLKSZ); in isp1362_show_regs()
888 isp1362_show_reg(isp1362_hcd, HCATLSKIP); in isp1362_show_regs()
889 isp1362_show_reg(isp1362_hcd, HCATLLAST); in isp1362_show_regs()
890 isp1362_show_reg(isp1362_hcd, HCATLCURR); in isp1362_show_regs()
891 isp1362_show_reg(isp1362_hcd, HCATLDTC); in isp1362_show_regs()
892 isp1362_show_reg(isp1362_hcd, HCATLDTCTO); in isp1362_show_regs()
895 static void isp1362_write_diraddr(struct isp1362_hcd *isp1362_hcd, u16 offset, u16 len) in isp1362_write_diraddr() argument
899 isp1362_clr_mask16(isp1362_hcd, HCDMACFG, HCDMACFG_CTR_ENABLE); in isp1362_write_diraddr()
900 isp1362_write_reg32(isp1362_hcd, HCDIRADDR, in isp1362_write_diraddr()
904 static void isp1362_read_buffer(struct isp1362_hcd *isp1362_hcd, void *buf, u16 offset, int len) in isp1362_read_buffer() argument
906 isp1362_write_diraddr(isp1362_hcd, offset, len); in isp1362_read_buffer()
911 isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); in isp1362_read_buffer()
913 isp1362_write_addr(isp1362_hcd, ISP1362_REG_HCDIRDATA); in isp1362_read_buffer()
915 isp1362_read_fifo(isp1362_hcd, buf, len); in isp1362_read_buffer()
916 isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); in isp1362_read_buffer()
919 static void isp1362_write_buffer(struct isp1362_hcd *isp1362_hcd, void *buf, u16 offset, int len) in isp1362_write_buffer() argument
921 isp1362_write_diraddr(isp1362_hcd, offset, len); in isp1362_write_buffer()
926 isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); in isp1362_write_buffer()
928 isp1362_write_addr(isp1362_hcd, ISP1362_REG_HCDIRDATA | ISP1362_REG_WRITE_OFFSET); in isp1362_write_buffer()
929 isp1362_write_fifo(isp1362_hcd, buf, len); in isp1362_write_buffer()
931 isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); in isp1362_write_buffer()