Lines Matching refs:isp1362_hcd
431 struct isp1362_hcd { struct
509 static inline void ALIGNSTAT(struct isp1362_hcd *isp1362_hcd, void *ptr) in ALIGNSTAT() argument
513 isp1362_hcd->stat16++; in ALIGNSTAT()
515 isp1362_hcd->stat8++; in ALIGNSTAT()
517 isp1362_hcd->stat4++; in ALIGNSTAT()
519 isp1362_hcd->stat2++; in ALIGNSTAT()
521 isp1362_hcd->stat1++; in ALIGNSTAT()
524 static inline struct isp1362_hcd *hcd_to_isp1362_hcd(struct usb_hcd *hcd) in hcd_to_isp1362_hcd()
526 return (struct isp1362_hcd *) (hcd->hcd_priv); in hcd_to_isp1362_hcd()
529 static inline struct usb_hcd *isp1362_hcd_to_hcd(struct isp1362_hcd *isp1362_hcd) in isp1362_hcd_to_hcd() argument
531 return container_of((void *)isp1362_hcd, struct usb_hcd, hcd_priv); in isp1362_hcd_to_hcd()
586 static void isp1362_write_addr(struct isp1362_hcd *isp1362_hcd, isp1362_reg_t reg) in isp1362_write_addr() argument
590 writew(ISP1362_REG_NO(reg), isp1362_hcd->addr_reg); in isp1362_write_addr()
592 isp1362_delay(isp1362_hcd, 1); in isp1362_write_addr()
595 static void isp1362_write_data16(struct isp1362_hcd *isp1362_hcd, u16 val) in isp1362_write_data16() argument
598 writew(val, isp1362_hcd->data_reg); in isp1362_write_data16()
601 static u16 isp1362_read_data16(struct isp1362_hcd *isp1362_hcd) in isp1362_read_data16() argument
606 val = readw(isp1362_hcd->data_reg); in isp1362_read_data16()
611 static void isp1362_write_data32(struct isp1362_hcd *isp1362_hcd, u32 val) in isp1362_write_data32() argument
615 writel(val, isp1362_hcd->data_reg); in isp1362_write_data32()
618 writew((u16)val, isp1362_hcd->data_reg); in isp1362_write_data32()
620 writew(val >> 16, isp1362_hcd->data_reg); in isp1362_write_data32()
624 static u32 isp1362_read_data32(struct isp1362_hcd *isp1362_hcd) in isp1362_read_data32() argument
630 val = readl(isp1362_hcd->data_reg); in isp1362_read_data32()
633 val = (u32)readw(isp1362_hcd->data_reg); in isp1362_read_data32()
635 val |= (u32)readw(isp1362_hcd->data_reg) << 16; in isp1362_read_data32()
642 static void isp1362_read_fifo(struct isp1362_hcd *isp1362_hcd, void *buf, u16 len) in isp1362_read_fifo() argument
654 readsl(isp1362_hcd->data_reg, dp, len >> 2); in isp1362_read_fifo()
661 insw((unsigned long)isp1362_hcd->data_reg, dp, len >> 1); in isp1362_read_fifo()
668 data = isp1362_read_data16(isp1362_hcd); in isp1362_read_fifo()
675 static void isp1362_write_fifo(struct isp1362_hcd *isp1362_hcd, void *buf, u16 len) in isp1362_write_fifo() argument
688 isp1362_write_data16(isp1362_hcd, data); in isp1362_write_fifo()
691 isp1362_write_data16(isp1362_hcd, *dp); in isp1362_write_fifo()
699 writesl(isp1362_hcd->data_reg, dp, len >> 2); in isp1362_write_fifo()
706 outsw((unsigned long)isp1362_hcd->data_reg, dp, len >> 1); in isp1362_write_fifo()
719 isp1362_write_data16(isp1362_hcd, data); in isp1362_write_fifo()
796 static void __attribute__((__unused__)) isp1362_show_regs(struct isp1362_hcd *isp1362_hcd) in isp1362_show_regs() argument
798 isp1362_show_reg(isp1362_hcd, HCREVISION); in isp1362_show_regs()
799 isp1362_show_reg(isp1362_hcd, HCCONTROL); in isp1362_show_regs()
800 isp1362_show_reg(isp1362_hcd, HCCMDSTAT); in isp1362_show_regs()
801 isp1362_show_reg(isp1362_hcd, HCINTSTAT); in isp1362_show_regs()
802 isp1362_show_reg(isp1362_hcd, HCINTENB); in isp1362_show_regs()
803 isp1362_show_reg(isp1362_hcd, HCFMINTVL); in isp1362_show_regs()
804 isp1362_show_reg(isp1362_hcd, HCFMREM); in isp1362_show_regs()
805 isp1362_show_reg(isp1362_hcd, HCFMNUM); in isp1362_show_regs()
806 isp1362_show_reg(isp1362_hcd, HCLSTHRESH); in isp1362_show_regs()
807 isp1362_show_reg(isp1362_hcd, HCRHDESCA); in isp1362_show_regs()
808 isp1362_show_reg(isp1362_hcd, HCRHDESCB); in isp1362_show_regs()
809 isp1362_show_reg(isp1362_hcd, HCRHSTATUS); in isp1362_show_regs()
810 isp1362_show_reg(isp1362_hcd, HCRHPORT1); in isp1362_show_regs()
811 isp1362_show_reg(isp1362_hcd, HCRHPORT2); in isp1362_show_regs()
813 isp1362_show_reg(isp1362_hcd, HCHWCFG); in isp1362_show_regs()
814 isp1362_show_reg(isp1362_hcd, HCDMACFG); in isp1362_show_regs()
815 isp1362_show_reg(isp1362_hcd, HCXFERCTR); in isp1362_show_regs()
816 isp1362_show_reg(isp1362_hcd, HCuPINT); in isp1362_show_regs()
820 ISP1362_REG_NO(ISP1362_REG_HCuPINTENB), isp1362_hcd->irqenb); in isp1362_show_regs()
822 isp1362_show_reg(isp1362_hcd, HCuPINTENB); in isp1362_show_regs()
823 isp1362_show_reg(isp1362_hcd, HCCHIPID); in isp1362_show_regs()
824 isp1362_show_reg(isp1362_hcd, HCSCRATCH); in isp1362_show_regs()
825 isp1362_show_reg(isp1362_hcd, HCBUFSTAT); in isp1362_show_regs()
826 isp1362_show_reg(isp1362_hcd, HCDIRADDR); in isp1362_show_regs()
830 isp1362_show_reg(isp1362_hcd, HCISTLBUFSZ); in isp1362_show_regs()
831 isp1362_show_reg(isp1362_hcd, HCISTLRATE); in isp1362_show_regs()
832 isp1362_show_reg(isp1362_hcd, HCINTLBUFSZ); in isp1362_show_regs()
833 isp1362_show_reg(isp1362_hcd, HCINTLBLKSZ); in isp1362_show_regs()
834 isp1362_show_reg(isp1362_hcd, HCINTLDONE); in isp1362_show_regs()
835 isp1362_show_reg(isp1362_hcd, HCINTLSKIP); in isp1362_show_regs()
836 isp1362_show_reg(isp1362_hcd, HCINTLLAST); in isp1362_show_regs()
837 isp1362_show_reg(isp1362_hcd, HCINTLCURR); in isp1362_show_regs()
838 isp1362_show_reg(isp1362_hcd, HCATLBUFSZ); in isp1362_show_regs()
839 isp1362_show_reg(isp1362_hcd, HCATLBLKSZ); in isp1362_show_regs()
843 isp1362_show_reg(isp1362_hcd, HCATLSKIP); in isp1362_show_regs()
844 isp1362_show_reg(isp1362_hcd, HCATLLAST); in isp1362_show_regs()
845 isp1362_show_reg(isp1362_hcd, HCATLCURR); in isp1362_show_regs()
846 isp1362_show_reg(isp1362_hcd, HCATLDTC); in isp1362_show_regs()
847 isp1362_show_reg(isp1362_hcd, HCATLDTCTO); in isp1362_show_regs()
850 static void isp1362_write_diraddr(struct isp1362_hcd *isp1362_hcd, u16 offset, u16 len) in isp1362_write_diraddr() argument
854 isp1362_clr_mask16(isp1362_hcd, HCDMACFG, HCDMACFG_CTR_ENABLE); in isp1362_write_diraddr()
855 isp1362_write_reg32(isp1362_hcd, HCDIRADDR, in isp1362_write_diraddr()
859 static void isp1362_read_buffer(struct isp1362_hcd *isp1362_hcd, void *buf, u16 offset, int len) in isp1362_read_buffer() argument
861 isp1362_write_diraddr(isp1362_hcd, offset, len); in isp1362_read_buffer()
866 isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); in isp1362_read_buffer()
868 isp1362_write_addr(isp1362_hcd, ISP1362_REG_HCDIRDATA); in isp1362_read_buffer()
870 isp1362_read_fifo(isp1362_hcd, buf, len); in isp1362_read_buffer()
871 isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); in isp1362_read_buffer()
874 static void isp1362_write_buffer(struct isp1362_hcd *isp1362_hcd, void *buf, u16 offset, int len) in isp1362_write_buffer() argument
876 isp1362_write_diraddr(isp1362_hcd, offset, len); in isp1362_write_buffer()
881 isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); in isp1362_write_buffer()
883 isp1362_write_addr(isp1362_hcd, ISP1362_REG_HCDIRDATA | ISP1362_REG_WRITE_OFFSET); in isp1362_write_buffer()
884 isp1362_write_fifo(isp1362_hcd, buf, len); in isp1362_write_buffer()
886 isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_EOT); in isp1362_write_buffer()