• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/powerpc/sysdev/qe_lib/

Lines Matching refs:uccs

47 void ucc_slow_poll_transmitter_now(struct ucc_slow_private * uccs)
49 out_be16(&uccs->us_regs->utodr, UCC_SLOW_TOD);
52 void ucc_slow_graceful_stop_tx(struct ucc_slow_private * uccs)
54 struct ucc_slow_info *us_info = uccs->us_info;
63 void ucc_slow_stop_tx(struct ucc_slow_private * uccs)
65 struct ucc_slow_info *us_info = uccs->us_info;
73 void ucc_slow_restart_tx(struct ucc_slow_private * uccs)
75 struct ucc_slow_info *us_info = uccs->us_info;
83 void ucc_slow_enable(struct ucc_slow_private * uccs, enum comm_dir mode)
88 us_regs = uccs->us_regs;
94 uccs->enabled_tx = 1;
98 uccs->enabled_rx = 1;
104 void ucc_slow_disable(struct ucc_slow_private * uccs, enum comm_dir mode)
109 us_regs = uccs->us_regs;
115 uccs->enabled_tx = 0;
119 uccs->enabled_rx = 0;
131 struct ucc_slow_private *uccs;
161 uccs = kzalloc(sizeof(struct ucc_slow_private), GFP_KERNEL);
162 if (!uccs) {
169 uccs->us_info = us_info;
171 uccs->us_regs = ioremap(us_info->regs, sizeof(struct ucc_slow));
172 if (uccs->us_regs == NULL) {
174 kfree(uccs);
178 uccs->saved_uccm = 0;
179 uccs->p_rx_frame = 0;
180 us_regs = uccs->us_regs;
181 uccs->p_ucce = (u16 *) & (us_regs->ucce);
182 uccs->p_uccm = (u16 *) & (us_regs->uccm);
184 uccs->rx_frames = 0;
185 uccs->tx_frames = 0;
186 uccs->rx_discarded = 0;
190 uccs->us_pram_offset =
192 if (IS_ERR_VALUE(uccs->us_pram_offset)) {
194 ucc_slow_free(uccs);
199 uccs->us_pram_offset);
201 uccs->us_pram = qe_muram_addr(uccs->us_pram_offset);
207 ucc_slow_free(uccs);
211 out_be16(&uccs->us_pram->mrblr, us_info->max_rx_buf_length);
213 INIT_LIST_HEAD(&uccs->confQ);
216 uccs->rx_base_offset =
219 if (IS_ERR_VALUE(uccs->rx_base_offset)) {
222 uccs->rx_base_offset = 0;
223 ucc_slow_free(uccs);
227 uccs->tx_base_offset =
230 if (IS_ERR_VALUE(uccs->tx_base_offset)) {
232 uccs->tx_base_offset = 0;
233 ucc_slow_free(uccs);
238 bd = uccs->confBd = uccs->tx_bd = qe_muram_addr(uccs->tx_base_offset);
251 bd = uccs->rx_bd = qe_muram_addr(uccs->rx_base_offset);
301 uccs->us_pram->tbmr = UCC_BMR_BO_BE;
302 uccs->us_pram->rbmr = UCC_BMR_BO_BE;
305 out_be16(&uccs->us_pram->rbase, uccs->rx_base_offset);
306 out_be16(&uccs->us_pram->tbase, uccs->tx_base_offset);
322 ucc_slow_free(uccs);
330 ucc_slow_free(uccs);
355 *uccs_ret = uccs;
360 void ucc_slow_free(struct ucc_slow_private * uccs)
362 if (!uccs)
365 if (uccs->rx_base_offset)
366 qe_muram_free(uccs->rx_base_offset);
368 if (uccs->tx_base_offset)
369 qe_muram_free(uccs->tx_base_offset);
371 if (uccs->us_pram)
372 qe_muram_free(uccs->us_pram_offset);
374 if (uccs->us_regs)
375 iounmap(uccs->us_regs);
377 kfree(uccs);